Merge "Implement equals and hashCode" into rvc-dev
diff --git a/Android.bp b/Android.bp
index 03a6af5..bd30de2 100644
--- a/Android.bp
+++ b/Android.bp
@@ -273,9 +273,6 @@
         // etc.
         ":framework-javastream-protos",
         ":statslog-framework-java-gen", // FrameworkStatsLog.java
-
-        // telephony annotations
-        ":framework-telephony-annotations",
     ],
 }
 
@@ -942,6 +939,7 @@
 
 aidl_interface {
     name: "libincremental_aidl",
+    unstable: true,
     srcs: [
         ":incremental_aidl",
     ],
@@ -960,6 +958,7 @@
 
 aidl_interface {
     name: "libdataloader_aidl",
+    unstable: true,
     srcs: [
         ":dataloader_aidl",
     ],
@@ -981,6 +980,7 @@
 
 aidl_interface {
     name: "libincremental_manager_aidl",
+    unstable: true,
     srcs: [
         ":incremental_manager_aidl",
     ],
@@ -1222,71 +1222,4 @@
 build = [
     "StubLibraries.bp",
     "ApiDocs.bp",
-]
-
-// TODO(b/147699819): move to frameworks/base/telephony/ folder
-droidstubs {
-    name: "framework-telephony-stubs-srcs",
-    srcs: [
-        ":framework-telephony-sources",
-        ":framework_native_aidl",
-        ":framework-javastream-protos",
-    ],
-    aidl: {
-        local_include_dirs: [
-            "core/java",
-            "telecomm/java"
-        ],
-    },
-    libs: [
-        "framework-annotations-lib",
-        "android.hardware.radio-V1.5-java",
-    ],
-    check_api: {
-        current: {
-            // TODO(b/147699819): remove telephony prefix when moved
-            api_file: "telephony/api/system-current.txt",
-            removed_api_file: "telephony/api/system-removed.txt",
-        },
-    },
-    // TODO: make telephony inherit the shared stubs and remove this
-    args: "--show-annotation android.annotation.SystemApi\\(" +
-            "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
-        "\\) " +
-        "--error UnhiddenSystemApi " +
-        "--hide BroadcastBehavior " +
-        "--hide DeprecationMismatch " +
-        "--hide HiddenSuperclass " +
-        "--hide HiddenTypedefConstant " +
-        "--hide HiddenTypeParameter " +
-        "--hide MissingPermission " +
-        "--hide RequiresPermission " +
-        "--hide SdkConstant " +
-        "--hide Todo " +
-        "--hide Typo " +
-        "--hide UnavailableSymbol ",
-    filter_packages: ["android.telephony"],
-    sdk_version: "system_current",
-}
-
-java_library {
-    name: "framework-telephony-stubs",
-    srcs: [":framework-telephony-stubs-srcs"],
-    // TODO(b/147699819): move public aidls to a separate folder and potentially remove
-    // below aidl exports.
-    aidl: {
-        export_include_dirs: ["telephony/java"],
-    },
-    sdk_version: "module_current",
-}
-
-filegroup {
-    // TODO (b/147690217): move to frameworks/base/telephony/common.
-    name: "framework-telephony-annotations",
-    srcs: ["telephony/java/android/telephony/Annotation.java"],
-}
-
-filegroup {
-    name: "framework-telephony-jarjar-rules",
-    srcs: ["telephony/framework-telephony-jarjar-rules.txt"],
-}
+]
\ No newline at end of file
diff --git a/Android.mk b/Android.mk
index 3b30714..d3627e1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -36,10 +36,6 @@
 # always included.
 INTERNAL_SDK_SOURCE_DIRS := $(addprefix $(LOCAL_PATH)/,$(dirs_to_document))
 
-$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_API_FILE))
-$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_SYSTEM_API_FILE))
-$(call dist-for-goals,sdk,$(INTERNAL_PLATFORM_TEST_API_FILE))
-
 # sdk.atree needs to copy the whole dir: $(OUT_DOCS)/offline-sdk to the final zip.
 # So keep offline-sdk-timestamp target here, and unzip offline-sdk-docs.zip to
 # $(OUT_DOCS)/offline-sdk.
diff --git a/StubLibraries.bp b/StubLibraries.bp
index f06f279..270c160 100644
--- a/StubLibraries.bp
+++ b/StubLibraries.bp
@@ -76,9 +76,14 @@
     name: "metalava-non-updatable-api-stubs-default",
     defaults: ["metalava-base-api-stubs-default"],
     sdk_version: "core_platform",
-    libs: ["framework-all"],
+    // There are a few classes from modules used as type arguments that
+    // need to be resolved by metalava. For now, we can use a previously
+    // finalized stub library to resolve them. If a new class gets added,
+    // this may be need to be revisited to use a manually maintained stub
+    // library with empty classes in order to resolve those references.
+    libs: ["sdk_system_29_android"],
     aidl: {
-        local_include_dirs: ["apex/media/framework/java"],
+        local_include_dirs: ["apex/media/aidl/stable"],
     },
 }
 
@@ -293,7 +298,7 @@
     name: "android_module_lib_stubs_current",
     srcs: [ ":module-lib-api-stubs-docs" ],
     defaults: ["android_defaults_stubs_current"],
-    libs: ["android_system_stubs_current"],
+    libs: ["sdk_system_29_android"],
 }
 
 /////////////////////////////////////////////////////////////////////
diff --git a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java
index f8b2f32..ac58f3d 100644
--- a/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java
+++ b/apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java
@@ -1224,7 +1224,7 @@
                 IDLE_FACTOR = mParser.getFloat(KEY_IDLE_FACTOR,
                         2f);
                 MIN_TIME_TO_ALARM = mParser.getDurationMillis(KEY_MIN_TIME_TO_ALARM,
-                        !COMPRESS_TIME ? 60 * 60 * 1000L : 6 * 60 * 1000L);
+                        !COMPRESS_TIME ? 30 * 60 * 1000L : 6 * 60 * 1000L);
                 MAX_TEMP_APP_WHITELIST_DURATION = mParser.getDurationMillis(
                         KEY_MAX_TEMP_APP_WHITELIST_DURATION, 5 * 60 * 1000L);
                 MMS_TEMP_APP_WHITELIST_DURATION = mParser.getDurationMillis(
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index 07a9908..2aa2275 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -2182,17 +2182,18 @@
         }
 
         final boolean jobExists = mJobs.containsJob(job);
-
         final boolean userStarted = areUsersStartedLocked(job);
+        final boolean backingUp = mBackingUpUids.indexOfKey(job.getSourceUid()) >= 0;
 
         if (DEBUG) {
             Slog.v(TAG, "isReadyToBeExecutedLocked: " + job.toShortString()
-                    + " exists=" + jobExists + " userStarted=" + userStarted);
+                    + " exists=" + jobExists + " userStarted=" + userStarted
+                    + " backingUp=" + backingUp);
         }
 
         // These are also fairly cheap to check, though they typically will not
         // be conditions we fail.
-        if (!jobExists || !userStarted) {
+        if (!jobExists || !userStarted || backingUp) {
             return false;
         }
 
@@ -2265,15 +2266,17 @@
 
         final boolean jobExists = mJobs.containsJob(job);
         final boolean userStarted = areUsersStartedLocked(job);
+        final boolean backingUp = mBackingUpUids.indexOfKey(job.getSourceUid()) >= 0;
 
         if (DEBUG) {
             Slog.v(TAG, "areComponentsInPlaceLocked: " + job.toShortString()
-                    + " exists=" + jobExists + " userStarted=" + userStarted);
+                    + " exists=" + jobExists + " userStarted=" + userStarted
+                    + " backingUp=" + backingUp);
         }
 
         // These are also fairly cheap to check, though they typically will not
         // be conditions we fail.
-        if (!jobExists || !userStarted) {
+        if (!jobExists || !userStarted || backingUp) {
             return false;
         }
 
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java
index f74eb3b..e2c8f64 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/idle/DeviceIdlenessTracker.java
@@ -19,10 +19,12 @@
 import static com.android.server.job.JobSchedulerService.sElapsedRealtimeClock;
 
 import android.app.AlarmManager;
+import android.app.UiModeManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.os.PowerManager;
 import android.util.Log;
 import android.util.Slog;
 import android.util.proto.ProtoOutputStream;
@@ -39,6 +41,7 @@
             || Log.isLoggable(TAG, Log.DEBUG);
 
     private AlarmManager mAlarm;
+    private PowerManager mPowerManager;
 
     // After construction, mutations of idle/screen-on state will only happen
     // on the main looper thread, either in onReceive() or in an alarm callback.
@@ -47,6 +50,7 @@
     private boolean mIdle;
     private boolean mScreenOn;
     private boolean mDockIdle;
+    private boolean mInCarMode;
     private IdlenessListener mIdleListener;
 
     private AlarmManager.OnAlarmListener mIdleAlarmListener = () -> {
@@ -59,6 +63,7 @@
         mIdle = false;
         mScreenOn = true;
         mDockIdle = false;
+        mInCarMode = false;
     }
 
     @Override
@@ -74,6 +79,7 @@
         mIdleWindowSlop = context.getResources().getInteger(
                 com.android.internal.R.integer.config_jobSchedulerIdleWindowSlop);
         mAlarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        mPowerManager = context.getSystemService(PowerManager.class);
 
         IntentFilter filter = new IntentFilter();
 
@@ -92,6 +98,10 @@
         filter.addAction(Intent.ACTION_DOCK_IDLE);
         filter.addAction(Intent.ACTION_DOCK_ACTIVE);
 
+        // Car mode
+        filter.addAction(UiModeManager.ACTION_ENTER_CAR_MODE_PRIORITIZED);
+        filter.addAction(UiModeManager.ACTION_EXIT_CAR_MODE_PRIORITIZED);
+
         context.registerReceiver(this, filter);
     }
 
@@ -100,6 +110,8 @@
         pw.print("  mIdle: "); pw.println(mIdle);
         pw.print("  mScreenOn: "); pw.println(mScreenOn);
         pw.print("  mDockIdle: "); pw.println(mDockIdle);
+        pw.print("  mInCarMode: ");
+        pw.println(mInCarMode);
     }
 
     @Override
@@ -116,6 +128,9 @@
         proto.write(
                 StateControllerProto.IdleController.IdlenessTracker.DeviceIdlenessTracker.IS_DOCK_IDLE,
                 mDockIdle);
+        proto.write(
+                StateControllerProto.IdleController.IdlenessTracker.DeviceIdlenessTracker.IN_CAR_MODE,
+                mInCarMode);
 
         proto.end(diToken);
         proto.end(token);
@@ -124,63 +139,90 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         final String action = intent.getAction();
-        if (action.equals(Intent.ACTION_SCREEN_ON)
-                || action.equals(Intent.ACTION_DREAMING_STOPPED)
-                || action.equals(Intent.ACTION_DOCK_ACTIVE)) {
-            if (action.equals(Intent.ACTION_DOCK_ACTIVE)) {
+        if (DEBUG) {
+            Slog.v(TAG, "Received action: " + action);
+        }
+        switch (action) {
+            case Intent.ACTION_DOCK_ACTIVE:
                 if (!mScreenOn) {
                     // Ignore this intent during screen off
                     return;
-                } else {
-                    mDockIdle = false;
                 }
-            } else {
+                // Intentional fallthrough
+            case Intent.ACTION_DREAMING_STOPPED:
+                if (!mPowerManager.isInteractive()) {
+                    // Ignore this intent if the device isn't interactive.
+                    return;
+                }
+                // Intentional fallthrough
+            case Intent.ACTION_SCREEN_ON:
                 mScreenOn = true;
                 mDockIdle = false;
-            }
-            if (DEBUG) {
-                Slog.v(TAG,"exiting idle : " + action);
-            }
-            //cancel the alarm
-            mAlarm.cancel(mIdleAlarmListener);
-            if (mIdle) {
-            // possible transition to not-idle
-                mIdle = false;
-                mIdleListener.reportNewIdleState(mIdle);
-            }
-        } else if (action.equals(Intent.ACTION_SCREEN_OFF)
-                || action.equals(Intent.ACTION_DREAMING_STARTED)
-                || action.equals(Intent.ACTION_DOCK_IDLE)) {
-            // when the screen goes off or dreaming starts or wireless charging dock in idle,
-            // we schedule the alarm that will tell us when we have decided the device is
-            // truly idle.
-            if (action.equals(Intent.ACTION_DOCK_IDLE)) {
-                if (!mScreenOn) {
-                    // Ignore this intent during screen off
-                    return;
-                } else {
-                    mDockIdle = true;
+                if (DEBUG) {
+                    Slog.v(TAG, "exiting idle");
                 }
-            } else {
-                mScreenOn = false;
-                mDockIdle = false;
-            }
+                cancelIdlenessCheck();
+                if (mIdle) {
+                    mIdle = false;
+                    mIdleListener.reportNewIdleState(mIdle);
+                }
+                break;
+            case Intent.ACTION_SCREEN_OFF:
+            case Intent.ACTION_DREAMING_STARTED:
+            case Intent.ACTION_DOCK_IDLE:
+                // when the screen goes off or dreaming starts or wireless charging dock in idle,
+                // we schedule the alarm that will tell us when we have decided the device is
+                // truly idle.
+                if (action.equals(Intent.ACTION_DOCK_IDLE)) {
+                    if (!mScreenOn) {
+                        // Ignore this intent during screen off
+                        return;
+                    } else {
+                        mDockIdle = true;
+                    }
+                } else {
+                    mScreenOn = false;
+                    mDockIdle = false;
+                }
+                maybeScheduleIdlenessCheck(action);
+                break;
+            case UiModeManager.ACTION_ENTER_CAR_MODE_PRIORITIZED:
+                mInCarMode = true;
+                cancelIdlenessCheck();
+                if (mIdle) {
+                    mIdle = false;
+                    mIdleListener.reportNewIdleState(mIdle);
+                }
+                break;
+            case UiModeManager.ACTION_EXIT_CAR_MODE_PRIORITIZED:
+                mInCarMode = false;
+                maybeScheduleIdlenessCheck(action);
+                break;
+            case ActivityManagerService.ACTION_TRIGGER_IDLE:
+                handleIdleTrigger();
+                break;
+        }
+    }
+
+    private void maybeScheduleIdlenessCheck(String reason) {
+        if ((!mScreenOn || mDockIdle) && !mInCarMode) {
             final long nowElapsed = sElapsedRealtimeClock.millis();
             final long when = nowElapsed + mInactivityIdleThreshold;
             if (DEBUG) {
-                Slog.v(TAG, "Scheduling idle : " + action + " now:" + nowElapsed + " when="
-                        + when);
+                Slog.v(TAG, "Scheduling idle : " + reason + " now:" + nowElapsed + " when=" + when);
             }
             mAlarm.setWindow(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                     when, mIdleWindowSlop, "JS idleness", mIdleAlarmListener, null);
-        } else if (action.equals(ActivityManagerService.ACTION_TRIGGER_IDLE)) {
-            handleIdleTrigger();
         }
     }
 
+    private void cancelIdlenessCheck() {
+        mAlarm.cancel(mIdleAlarmListener);
+    }
+
     private void handleIdleTrigger() {
         // idle time starts now. Do not set mIdle if screen is on.
-        if (!mIdle && (!mScreenOn || mDockIdle)) {
+        if (!mIdle && (!mScreenOn || mDockIdle) && !mInCarMode) {
             if (DEBUG) {
                 Slog.v(TAG, "Idle trigger fired @ " + sElapsedRealtimeClock.millis());
             }
@@ -189,7 +231,7 @@
         } else {
             if (DEBUG) {
                 Slog.v(TAG, "TRIGGER_IDLE received but not changing state; idle="
-                        + mIdle + " screen=" + mScreenOn);
+                        + mIdle + " screen=" + mScreenOn + " car=" + mInCarMode);
             }
         }
     }
diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
index 1ab7938..3c1fafb 100644
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
@@ -172,8 +172,7 @@
             COMPRESS_TIME ?  1 * ONE_MINUTE : 12 * ONE_HOUR,
             COMPRESS_TIME ?  4 * ONE_MINUTE : 24 * ONE_HOUR,
             COMPRESS_TIME ? 16 * ONE_MINUTE : 48 * ONE_HOUR,
-            // TODO(149050681): increase timeout to 30+ days
-            COMPRESS_TIME ? 32 * ONE_MINUTE : 4 * ONE_DAY
+            COMPRESS_TIME ? 32 * ONE_MINUTE : 30 * ONE_DAY
     };
 
     /** The minimum allowed values for each index in {@link #ELAPSED_TIME_THRESHOLDS}. */
diff --git a/apex/media/framework/java/android/media/MediaParser.java b/apex/media/framework/java/android/media/MediaParser.java
index e533b7a..50f4ddd 100644
--- a/apex/media/framework/java/android/media/MediaParser.java
+++ b/apex/media/framework/java/android/media/MediaParser.java
@@ -21,14 +21,15 @@
 import android.annotation.Nullable;
 import android.annotation.StringDef;
 import android.media.MediaCodec.CryptoInfo;
-import android.net.Uri;
 import android.text.TextUtils;
+import android.util.Log;
 import android.util.Pair;
 import android.util.SparseArray;
 
 import com.google.android.exoplayer2.C;
 import com.google.android.exoplayer2.Format;
 import com.google.android.exoplayer2.ParserException;
+import com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
 import com.google.android.exoplayer2.extractor.DefaultExtractorInput;
 import com.google.android.exoplayer2.extractor.Extractor;
 import com.google.android.exoplayer2.extractor.ExtractorInput;
@@ -51,18 +52,17 @@
 import com.google.android.exoplayer2.extractor.ts.PsExtractor;
 import com.google.android.exoplayer2.extractor.ts.TsExtractor;
 import com.google.android.exoplayer2.extractor.wav.WavExtractor;
-import com.google.android.exoplayer2.upstream.DataSource;
-import com.google.android.exoplayer2.upstream.DataSpec;
-import com.google.android.exoplayer2.upstream.TransferListener;
+import com.google.android.exoplayer2.upstream.DataReader;
 import com.google.android.exoplayer2.util.ParsableByteArray;
 import com.google.android.exoplayer2.util.Util;
 import com.google.android.exoplayer2.video.ColorInfo;
 
 import java.io.EOFException;
 import java.io.IOException;
-import java.io.InterruptedIOException;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -70,6 +70,7 @@
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * Parses media container formats and extracts contained media samples and metadata.
@@ -711,6 +712,7 @@
 
     // Private constants.
 
+    private static final String TAG = "MediaParser";
     private static final Map<String, ExtractorFactory> EXTRACTOR_FACTORIES_BY_NAME;
     private static final Map<String, Class> EXPECTED_TYPE_BY_PARAMETER_NAME;
     private static final String TS_MODE_SINGLE_PMT = "single_pmt";
@@ -847,14 +849,16 @@
     private final OutputConsumer mOutputConsumer;
     private final String[] mParserNamesPool;
     private final PositionHolder mPositionHolder;
-    private final InputReadingDataSource mDataSource;
-    private final ExtractorInputAdapter mScratchExtractorInputAdapter;
+    private final InputReadingDataReader mExoDataReader;
+    private final DataReaderAdapter mScratchDataReaderAdapter;
     private final ParsableByteArrayAdapter mScratchParsableByteArrayAdapter;
-    private String mExtractorName;
+    @Nullable private final Constructor<DrmInitData.SchemeInitData> mSchemeInitDataConstructor;
+    private String mParserName;
     private Extractor mExtractor;
     private ExtractorInput mExtractorInput;
     private long mPendingSeekPosition;
     private long mPendingSeekTimeMicros;
+    private boolean mLoggedSchemeInitDataCreationException;
 
     // Public methods.
 
@@ -924,7 +928,7 @@
     @NonNull
     @ParserName
     public String getParserName() {
-        return mExtractorName;
+        return mParserName;
     }
 
     /**
@@ -950,33 +954,29 @@
             // clearBuffers() method, or similar.
             mExtractorInput =
                     new DefaultExtractorInput(
-                            mDataSource,
+                            mExoDataReader,
                             seekableInputReader.getPosition(),
                             seekableInputReader.getLength());
         }
-        mDataSource.mInputReader = seekableInputReader;
+        mExoDataReader.mInputReader = seekableInputReader;
 
         // TODO: Apply parameters when creating extractor instances.
         if (mExtractor == null) {
-            if (!mExtractorName.equals(PARSER_NAME_UNKNOWN)) {
-                mExtractor = EXTRACTOR_FACTORIES_BY_NAME.get(mExtractorName).createInstance();
+            if (!mParserName.equals(PARSER_NAME_UNKNOWN)) {
+                mExtractor = createExtractor(mParserName);
                 mExtractor.init(new ExtractorOutputAdapter());
             } else {
                 for (String parserName : mParserNamesPool) {
                     Extractor extractor = createExtractor(parserName);
                     try {
                         if (extractor.sniff(mExtractorInput)) {
-                            mExtractorName = parserName;
+                            mParserName = parserName;
                             mExtractor = extractor;
                             mExtractor.init(new ExtractorOutputAdapter());
                             break;
                         }
                     } catch (EOFException e) {
                         // Do nothing.
-                    } catch (InterruptedException e) {
-                        // TODO: Remove this exception replacement once we update the ExoPlayer
-                        // version.
-                        throw new InterruptedIOException();
                     } finally {
                         mExtractorInput.resetPeekPosition();
                     }
@@ -999,9 +999,6 @@
             result = mExtractor.read(mExtractorInput, mPositionHolder);
         } catch (ParserException e) {
             throw new ParsingException(e);
-        } catch (InterruptedException e) {
-            // TODO: Remove this exception replacement once we update the ExoPlayer version.
-            throw new InterruptedIOException();
         }
         if (result == Extractor.RESULT_END_OF_INPUT) {
             return false;
@@ -1051,12 +1048,13 @@
         mParserParameters = new HashMap<>();
         mOutputConsumer = outputConsumer;
         mParserNamesPool = parserNamesPool;
-        mExtractorName = sniff ? PARSER_NAME_UNKNOWN : parserNamesPool[0];
+        mParserName = sniff ? PARSER_NAME_UNKNOWN : parserNamesPool[0];
         mPositionHolder = new PositionHolder();
-        mDataSource = new InputReadingDataSource();
+        mExoDataReader = new InputReadingDataReader();
         removePendingSeek();
-        mScratchExtractorInputAdapter = new ExtractorInputAdapter();
+        mScratchDataReaderAdapter = new DataReaderAdapter();
         mScratchParsableByteArrayAdapter = new ParsableByteArrayAdapter();
+        mSchemeInitDataConstructor = getSchemeInitDataConstructor();
     }
 
     private boolean isPendingSeek() {
@@ -1097,7 +1095,7 @@
                         getBooleanParameter(PARAMETER_MP4_IGNORE_EDIT_LISTS)
                                 ? Mp4Extractor.FLAG_WORKAROUND_IGNORE_EDIT_LISTS
                                 : 0;
-                return new Mp4Extractor();
+                return new Mp4Extractor(flags);
             case PARSER_NAME_MP3:
                 flags |=
                         getBooleanParameter(PARAMETER_MP3_DISABLE_ID3)
@@ -1188,38 +1186,53 @@
 
     // Private classes.
 
-    private static final class InputReadingDataSource implements DataSource {
+    private static final class InputReadingDataReader implements DataReader {
 
         public InputReader mInputReader;
 
         @Override
-        public void addTransferListener(TransferListener transferListener) {
-            // Do nothing.
-        }
-
-        @Override
-        public long open(DataSpec dataSpec) {
-            throw new UnsupportedOperationException();
-        }
-
-        @Override
         public int read(byte[] buffer, int offset, int readLength) throws IOException {
             return mInputReader.read(buffer, offset, readLength);
         }
+    }
+
+    private final class MediaParserDrmInitData extends DrmInitData {
+
+        private final SchemeInitData[] mSchemeDatas;
+
+        private MediaParserDrmInitData(com.google.android.exoplayer2.drm.DrmInitData exoDrmInitData)
+                throws IllegalAccessException, InstantiationException, InvocationTargetException {
+            mSchemeDatas = new SchemeInitData[exoDrmInitData.schemeDataCount];
+            for (int i = 0; i < mSchemeDatas.length; i++) {
+                mSchemeDatas[i] = toFrameworkSchemeInitData(exoDrmInitData.get(i));
+            }
+        }
 
         @Override
-        public Uri getUri() {
+        @Nullable
+        public SchemeInitData get(UUID schemeUuid) {
+            for (SchemeInitData schemeInitData : mSchemeDatas) {
+                if (schemeInitData.uuid.equals(schemeUuid)) {
+                    return schemeInitData;
+                }
+            }
             return null;
         }
 
         @Override
-        public Map<String, List<String>> getResponseHeaders() {
-            return null;
+        public SchemeInitData getSchemeInitDataAt(int index) {
+            return mSchemeDatas[index];
         }
 
         @Override
-        public void close() {
-            throw new UnsupportedOperationException();
+        public int getSchemeInitDataCount() {
+            return mSchemeDatas.length;
+        }
+
+        private DrmInitData.SchemeInitData toFrameworkSchemeInitData(SchemeData exoSchemeData)
+                throws IllegalAccessException, InvocationTargetException, InstantiationException {
+            return mSchemeInitDataConstructor.newInstance(
+                    exoSchemeData.uuid, exoSchemeData.mimeType, exoSchemeData.data);
         }
     }
 
@@ -1270,12 +1283,12 @@
         }
 
         @Override
-        public int sampleData(ExtractorInput input, int length, boolean allowEndOfInput)
+        public int sampleData(DataReader input, int length, boolean allowEndOfInput)
                 throws IOException {
-            mScratchExtractorInputAdapter.setExtractorInput(input, length);
-            long positionBeforeReading = mScratchExtractorInputAdapter.getPosition();
-            mOutputConsumer.onSampleDataFound(mTrackIndex, mScratchExtractorInputAdapter);
-            return (int) (mScratchExtractorInputAdapter.getPosition() - positionBeforeReading);
+            mScratchDataReaderAdapter.setDataReader(input, length);
+            long positionBeforeReading = mScratchDataReaderAdapter.getPosition();
+            mOutputConsumer.onSampleDataFound(mTrackIndex, mScratchDataReaderAdapter);
+            return (int) (mScratchDataReaderAdapter.getPosition() - positionBeforeReading);
         }
 
         @Override
@@ -1297,14 +1310,14 @@
         }
     }
 
-    private static final class ExtractorInputAdapter implements InputReader {
+    private static final class DataReaderAdapter implements InputReader {
 
-        private ExtractorInput mExtractorInput;
+        private DataReader mDataReader;
         private int mCurrentPosition;
         private long mLength;
 
-        public void setExtractorInput(ExtractorInput extractorInput, long length) {
-            mExtractorInput = extractorInput;
+        public void setDataReader(DataReader dataReader, long length) {
+            mDataReader = dataReader;
             mCurrentPosition = 0;
             mLength = length;
         }
@@ -1314,12 +1327,7 @@
         @Override
         public int read(byte[] buffer, int offset, int readLength) throws IOException {
             int readBytes = 0;
-            try {
-                readBytes = mExtractorInput.read(buffer, offset, readLength);
-            } catch (InterruptedException e) {
-                // TODO: Remove this exception replacement once we update the ExoPlayer version.
-                throw new InterruptedIOException();
-            }
+            readBytes = mDataReader.read(buffer, offset, readLength);
             mCurrentPosition += readBytes;
             return readBytes;
         }
@@ -1404,16 +1412,16 @@
         setOptionalMediaFormatInt(result, MediaFormat.KEY_HEIGHT, format.height);
 
         List<byte[]> initData = format.initializationData;
-        if (initData != null) {
-            for (int i = 0; i < initData.size(); i++) {
-                result.setByteBuffer("csd-" + i, ByteBuffer.wrap(initData.get(i)));
-            }
+        for (int i = 0; i < initData.size(); i++) {
+            result.setByteBuffer("csd-" + i, ByteBuffer.wrap(initData.get(i)));
         }
+        setPcmEncoding(format, result);
         setOptionalMediaFormatString(result, MediaFormat.KEY_LANGUAGE, format.language);
         setOptionalMediaFormatInt(result, MediaFormat.KEY_MAX_INPUT_SIZE, format.maxInputSize);
-        setOptionalMediaFormatInt(result, MediaFormat.KEY_PCM_ENCODING, format.pcmEncoding);
         setOptionalMediaFormatInt(result, MediaFormat.KEY_ROTATION, format.rotationDegrees);
         setOptionalMediaFormatInt(result, MediaFormat.KEY_SAMPLE_RATE, format.sampleRate);
+        setOptionalMediaFormatInt(
+                result, MediaFormat.KEY_CAPTION_SERVICE_NUMBER, format.accessibilityChannel);
 
         int selectionFlags = format.selectionFlags;
         result.setInteger(
@@ -1439,18 +1447,40 @@
             result.setInteger(MediaFormat.KEY_PIXEL_ASPECT_RATIO_HEIGHT, parHeight);
             result.setFloat("pixel-width-height-ratio-float", format.pixelWidthHeightRatio);
         }
-
+        if (format.drmInitData != null) {
+            // The crypto mode is propagated along with sample metadata. We also include it in the
+            // format for convenient use from ExoPlayer.
+            result.setString("crypto-mode-fourcc", format.drmInitData.schemeType);
+        }
         // LACK OF SUPPORT FOR:
-        //    format.accessibilityChannel;
         //    format.containerMimeType;
         //    format.id;
         //    format.metadata;
-        //    format.roleFlags;
         //    format.stereoMode;
-        //    format.subsampleOffsetUs;
         return result;
     }
 
+    private static void setPcmEncoding(Format format, MediaFormat result) {
+        int exoPcmEncoding = format.pcmEncoding;
+        setOptionalMediaFormatInt(result, "exo-pcm-encoding", format.pcmEncoding);
+        int mediaFormatPcmEncoding;
+        switch (exoPcmEncoding) {
+            case C.ENCODING_PCM_8BIT:
+                mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_8BIT;
+                break;
+            case C.ENCODING_PCM_16BIT:
+                mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_16BIT;
+                break;
+            case C.ENCODING_PCM_FLOAT:
+                mediaFormatPcmEncoding = AudioFormat.ENCODING_PCM_FLOAT;
+                break;
+            default:
+                // No matching value. Do nothing.
+                return;
+        }
+        result.setInteger(MediaFormat.KEY_PCM_ENCODING, mediaFormatPcmEncoding);
+    }
+
     private static void setOptionalMediaFormatInt(MediaFormat mediaFormat, String key, int value) {
         if (value != Format.NO_VALUE) {
             mediaFormat.setInteger(key, value);
@@ -1464,10 +1494,19 @@
         }
     }
 
-    private static DrmInitData toFrameworkDrmInitData(
-            com.google.android.exoplayer2.drm.DrmInitData drmInitData) {
-        // TODO: Implement.
-        return null;
+    private DrmInitData toFrameworkDrmInitData(
+            com.google.android.exoplayer2.drm.DrmInitData exoDrmInitData) {
+        try {
+            return exoDrmInitData != null && mSchemeInitDataConstructor != null
+                    ? new MediaParserDrmInitData(exoDrmInitData)
+                    : null;
+        } catch (Throwable e) {
+            if (!mLoggedSchemeInitDataCreationException) {
+                mLoggedSchemeInitDataCreationException = true;
+                Log.e(TAG, "Unable to create SchemeInitData instance.");
+            }
+            return null;
+        }
     }
 
     private static CryptoInfo toCryptoInfo(TrackOutput.CryptoData encryptionData) {
@@ -1494,6 +1533,19 @@
         }
     }
 
+    @Nullable
+    private static Constructor<DrmInitData.SchemeInitData> getSchemeInitDataConstructor() {
+        // TODO: Use constructor statically when available.
+        Constructor<DrmInitData.SchemeInitData> constructor;
+        try {
+            return DrmInitData.SchemeInitData.class.getConstructor(
+                    UUID.class, String.class, byte[].class);
+        } catch (Throwable e) {
+            Log.e(TAG, "Unable to get SchemeInitData constructor.");
+            return null;
+        }
+    }
+
     // Static initialization.
 
     static {
diff --git a/apex/sdkextensions/framework/java/android/os/ext/SdkExtensions.java b/apex/sdkextensions/framework/java/android/os/ext/SdkExtensions.java
index 103b53e..c268ff4 100644
--- a/apex/sdkextensions/framework/java/android/os/ext/SdkExtensions.java
+++ b/apex/sdkextensions/framework/java/android/os/ext/SdkExtensions.java
@@ -62,7 +62,11 @@
         if (sdk < VERSION_CODES.R) {
             throw new IllegalArgumentException(String.valueOf(sdk) + " does not have extensions");
         }
-        return R_EXTENSION_INT;
+
+        if (sdk == VERSION_CODES.R) {
+            return R_EXTENSION_INT;
+        }
+        return 0;
     }
 
 }
diff --git a/apex/statsd/aidl/Android.bp b/apex/statsd/aidl/Android.bp
index 404c632..04339e6 100644
--- a/apex/statsd/aidl/Android.bp
+++ b/apex/statsd/aidl/Android.bp
@@ -20,6 +20,7 @@
 
 aidl_interface {
     name: "statsd-aidl",
+    unstable: true,
     srcs: [
         "android/os/IPendingIntentRef.aidl",
         "android/os/IPullAtomCallback.aidl",
diff --git a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
index ce5309e..93e6c10 100644
--- a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
+++ b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
@@ -166,13 +166,6 @@
     }
 
     private static void informAllUids(Context context) {
-        UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        PackageManager pm = context.getPackageManager();
-        final List<UserHandle> users = um.getUserHandles(true);
-        if (DEBUG) {
-            Log.d(TAG, "Iterating over " + users.size() + " userHandles.");
-        }
-
         ParcelFileDescriptor[] fds;
         try {
             fds = ParcelFileDescriptor.createPipe();
@@ -185,6 +178,12 @@
         backgroundThread.start();
         Handler handler = new Handler(backgroundThread.getLooper());
         handler.post(() -> {
+            UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
+            PackageManager pm = context.getPackageManager();
+            final List<UserHandle> users = um.getUserHandles(true);
+            if (DEBUG) {
+                Log.d(TAG, "Iterating over " + users.size() + " userHandles.");
+            }
             IStatsd statsd = getStatsdNonblocking();
             if (statsd == null) {
                 return;
@@ -699,8 +698,6 @@
             deathRecipient.addRegisteredBroadcastReceivers(
                     List.of(appUpdateReceiver, userUpdateReceiver, shutdownEventReceiver));
 
-            final long token = Binder.clearCallingIdentity();
-
             // Used so we can call statsd.bootComplete() outside of the lock.
             boolean shouldSendBootComplete = false;
             synchronized (sStatsdLock) {
@@ -713,13 +710,10 @@
                 statsd.bootCompleted();
             }
 
-            try {
-                // Pull the latest state of UID->app name, version mapping when
-                // statsd starts.
-                informAllUids(mContext);
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
+            // Pull the latest state of UID->app name, version mapping when
+            // statsd starts.
+            informAllUids(mContext);
+
             Log.i(TAG, "Told statsd that StatsCompanionService is alive.");
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to inform statsd that statscompanion is ready", e);
diff --git a/api/test-current.txt b/api/test-current.txt
index 0dff41b..755380e 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -107,6 +107,7 @@
   }
 
   public class ActivityOptions {
+    method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
     method public static void setExitTransitionTimeout(long);
     method public void setLaunchActivityType(int);
     method public void setLaunchTaskId(int);
@@ -115,6 +116,14 @@
     method public void setTaskOverlay(boolean, boolean);
   }
 
+  public static interface ActivityOptions.OnAnimationFinishedListener {
+    method public void onAnimationFinished();
+  }
+
+  public static interface ActivityOptions.OnAnimationStartedListener {
+    method public void onAnimationStarted();
+  }
+
   public class ActivityTaskManager {
     method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
     method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public String listAllStacks();
@@ -142,6 +151,7 @@
     ctor public ActivityView(android.content.Context, android.util.AttributeSet);
     ctor public ActivityView(android.content.Context, android.util.AttributeSet, int);
     ctor public ActivityView(android.content.Context, android.util.AttributeSet, int, boolean);
+    ctor public ActivityView(@NonNull android.content.Context, @NonNull android.util.AttributeSet, int, boolean, boolean);
     method public int getVirtualDisplayId();
     method public void onLayout(boolean, int, int, int, int);
     method public void onLocationChanged();
@@ -1311,6 +1321,34 @@
 
 }
 
+package android.hardware.soundtrigger {
+
+  public class KeyphraseEnrollmentInfo {
+    ctor public KeyphraseEnrollmentInfo(@NonNull android.content.pm.PackageManager);
+    method @Nullable public android.hardware.soundtrigger.KeyphraseMetadata getKeyphraseMetadata(@NonNull String, @NonNull java.util.Locale);
+    method @Nullable public android.content.Intent getManageKeyphraseIntent(int, @NonNull String, @NonNull java.util.Locale);
+    method @NonNull public String getParseError();
+    method @NonNull public java.util.Collection<android.hardware.soundtrigger.KeyphraseMetadata> listKeyphraseMetadata();
+    field public static final int MANAGE_ACTION_ENROLL = 0; // 0x0
+    field public static final int MANAGE_ACTION_RE_ENROLL = 1; // 0x1
+    field public static final int MANAGE_ACTION_UN_ENROLL = 2; // 0x2
+  }
+
+  public final class KeyphraseMetadata implements android.os.Parcelable {
+    ctor public KeyphraseMetadata(int, @NonNull String, @NonNull java.util.Set<java.util.Locale>, int);
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public String getKeyphrase();
+    method public int getRecognitionModeFlags();
+    method @NonNull public java.util.Set<java.util.Locale> getSupportedLocales();
+    method public boolean supportsLocale(@Nullable java.util.Locale);
+    method public boolean supportsPhrase(@Nullable String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.KeyphraseMetadata> CREATOR;
+  }
+
+}
+
 package android.location {
 
   public final class GnssClock implements android.os.Parcelable {
@@ -2263,7 +2301,11 @@
 
   public class Environment {
     method public static java.io.File buildPath(java.io.File, java.lang.String...);
+    method @NonNull public static java.io.File getOdmDirectory();
+    method @NonNull public static java.io.File getOemDirectory();
     method @NonNull public static java.io.File getProductDirectory();
+    method @NonNull public static java.io.File getSystemExtDirectory();
+    method @NonNull public static java.io.File getVendorDirectory();
   }
 
   public final class FileUtils {
diff --git a/cmds/idmap2/Android.bp b/cmds/idmap2/Android.bp
index 645dc93..ef5c4ce 100644
--- a/cmds/idmap2/Android.bp
+++ b/cmds/idmap2/Android.bp
@@ -261,6 +261,7 @@
 
 aidl_interface {
     name: "overlayable_policy_aidl",
+    unstable: true,
     srcs: [":overlayable_policy_aidl_files"],
 }
 
diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp
index 4410f1c..bb32dd2 100644
--- a/cmds/screencap/screencap.cpp
+++ b/cmds/screencap/screencap.cpp
@@ -105,7 +105,7 @@
     char *cmd[] = {
         (char*) "am",
         (char*) "broadcast",
-        (char*) "am",
+        (char*) "-a",
         (char*) "android.intent.action.MEDIA_SCANNER_SCAN_FILE",
         (char*) "-d",
         &filePath[0],
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index b357904..acd9ec3 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -104,6 +104,7 @@
         "src/subscriber/IncidentdReporter.cpp",
         "src/subscriber/SubscriberReporter.cpp",
         "src/uid_data.proto",
+        "src/utils/NamedLatch.cpp",
     ],
 
     local_include_dirs: [
@@ -290,7 +291,11 @@
 cc_test {
     name: "statsd_test",
     defaults: ["statsd_defaults"],
-    test_suites: ["device-tests"],
+    test_suites: ["device-tests", "mts"],
+
+    //TODO(b/153588990): Remove when the build system properly separates
+    //32bit and 64bit architectures.
+    compile_multilib: "prefer32",
 
     cflags: [
         "-Wall",
@@ -361,6 +366,7 @@
         "tests/StatsService_test.cpp",
         "tests/storage/StorageManager_test.cpp",
         "tests/UidMap_test.cpp",
+        "tests/utils/NamedLatch_test.cpp",
     ],
 
     static_libs: [
diff --git a/cmds/statsd/src/FieldValue.h b/cmds/statsd/src/FieldValue.h
index 92e09ea..e251399 100644
--- a/cmds/statsd/src/FieldValue.h
+++ b/cmds/statsd/src/FieldValue.h
@@ -181,6 +181,7 @@
 
         return false;
     }
+
     bool matches(const Matcher& that) const;
 };
 
@@ -360,7 +361,9 @@
 
 class Annotations {
 public:
-    Annotations() {}
+    Annotations() {
+        setNested(true);  // Nested = true by default
+    }
 
     // This enum stores where particular annotations can be found in the
     // bitmask. Note that these pos do not correspond to annotation ids.
@@ -379,7 +382,9 @@
 
     inline void setUidField(bool isUid) { setBitmaskAtPos(UID_POS, isUid); }
 
-    inline void setResetState(int resetState) { mResetState = resetState; }
+    inline void setResetState(int32_t resetState) {
+        mResetState = resetState;
+    }
 
     // Default value = false
     inline bool isNested() const { return getValueFromBitmask(NESTED_POS); }
@@ -395,7 +400,9 @@
 
     // If a reset state is not sent in the StatsEvent, returns -1. Note that a
     // reset satate is only sent if and only if a reset should be triggered.
-    inline int getResetState() const { return mResetState; }
+    inline int32_t getResetState() const {
+        return mResetState;
+    }
 
 private:
     inline void setBitmaskAtPos(int pos, bool value) {
@@ -411,7 +418,7 @@
     // there are only 4 booleans, just one byte is required.
     uint8_t mBooleanBitmask = 0;
 
-    int mResetState = -1;
+    int32_t mResetState = -1;
 };
 
 /**
diff --git a/cmds/statsd/src/HashableDimensionKey.cpp b/cmds/statsd/src/HashableDimensionKey.cpp
index 29249f4..eba66e0 100644
--- a/cmds/statsd/src/HashableDimensionKey.cpp
+++ b/cmds/statsd/src/HashableDimensionKey.cpp
@@ -180,6 +180,23 @@
     return num_matches > 0;
 }
 
+bool filterPrimaryKey(const std::vector<FieldValue>& values, HashableDimensionKey* output) {
+    size_t num_matches = 0;
+    const int32_t simpleFieldMask = 0xff7f0000;
+    const int32_t attributionUidFieldMask = 0xff7f7f7f;
+    for (const auto& value : values) {
+        if (value.mAnnotations.isPrimaryField()) {
+            output->addValue(value);
+            output->mutableValue(num_matches)->mField.setTag(value.mField.getTag());
+            const int32_t mask =
+                    isAttributionUidField(value) ? attributionUidFieldMask : simpleFieldMask;
+            output->mutableValue(num_matches)->mField.setField(value.mField.getField() & mask);
+            num_matches++;
+        }
+    }
+    return num_matches > 0;
+}
+
 void filterGaugeValues(const std::vector<Matcher>& matcherFields,
                        const std::vector<FieldValue>& values, std::vector<FieldValue>* output) {
     for (const auto& field : matcherFields) {
diff --git a/cmds/statsd/src/HashableDimensionKey.h b/cmds/statsd/src/HashableDimensionKey.h
index 33a5024..bd01100 100644
--- a/cmds/statsd/src/HashableDimensionKey.h
+++ b/cmds/statsd/src/HashableDimensionKey.h
@@ -154,6 +154,18 @@
                   HashableDimensionKey* output);
 
 /**
+ * Creating HashableDimensionKeys from State Primary Keys in FieldValues.
+ *
+ * This function may make modifications to the Field if the matcher has Position=FIRST,LAST or ALL
+ * in it. This is because: for example, when we create dimension from last uid in attribution chain,
+ * In one event, uid 1000 is at position 5 and it's the last
+ * In another event, uid 1000 is at position 6, and it's the last
+ * these 2 events should be mapped to the same dimension.  So we will remove the original position
+ * from the dimension key for the uid field (by applying 0x80 bit mask).
+ */
+bool filterPrimaryKey(const std::vector<FieldValue>& values, HashableDimensionKey* output);
+
+/**
  * Filter the values from FieldValues using the matchers.
  *
  * In contrast to the above function, this function will not do any modification to the original
diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp
index 325cbc7..d914ab2 100644
--- a/cmds/statsd/src/StatsLogProcessor.cpp
+++ b/cmds/statsd/src/StatsLogProcessor.cpp
@@ -139,8 +139,7 @@
 }
 
 void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const {
-    if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) !=
-        android::util::AtomsInfo::kAtomsWithAttributionChain.end()) {
+    if (event->getAttributionChainIndex() != -1) {
         for (auto& value : *(event->getMutableValues())) {
             if (value.mField.getPosAtDepth(0) > kAttributionField) {
                 break;
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index dd1d400..ae7a8d0 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -118,8 +118,9 @@
                   }
               })),
       mEventQueue(queue),
-      mStatsCompanionServiceDeathRecipient(AIBinder_DeathRecipient_new(
-              StatsService::statsCompanionServiceDied)) {
+      mBootCompleteLatch({kBootCompleteTag, kUidMapReceivedTag, kAllPullersRegisteredTag}),
+      mStatsCompanionServiceDeathRecipient(
+              AIBinder_DeathRecipient_new(StatsService::statsCompanionServiceDied)) {
     mUidMap = UidMap::getInstance();
     mPullerManager = new StatsPullerManager();
     StatsPuller::SetUidMap(mUidMap);
@@ -164,6 +165,12 @@
         std::thread pushedEventThread([this] { readLogs(); });
         pushedEventThread.detach();
     }
+
+    std::thread bootCompletedThread([this] {
+        mBootCompleteLatch.wait();
+        VLOG("In the boot completed thread");
+    });
+    bootCompletedThread.detach();
 }
 
 StatsService::~StatsService() {
@@ -939,6 +946,7 @@
                        packageNames,
                        installers);
 
+    mBootCompleteLatch.countDown(kUidMapReceivedTag);
     VLOG("StatsService::informAllUidData UidData proto parsed successfully.");
     return Status::ok();
 }
@@ -1058,7 +1066,7 @@
     ENFORCE_UID(AID_SYSTEM);
 
     VLOG("StatsService::bootCompleted was called");
-
+    mBootCompleteLatch.countDown(kBootCompleteTag);
     return Status::ok();
 }
 
@@ -1227,7 +1235,7 @@
     ENFORCE_UID(AID_SYSTEM);
 
     VLOG("StatsService::allPullersFromBootRegistered was called");
-
+    mBootCompleteLatch.countDown(kAllPullersRegisteredTag);
     return Status::ok();
 }
 
diff --git a/cmds/statsd/src/StatsService.h b/cmds/statsd/src/StatsService.h
index 23d4c1b..79324d8 100644
--- a/cmds/statsd/src/StatsService.h
+++ b/cmds/statsd/src/StatsService.h
@@ -17,7 +17,14 @@
 #ifndef STATS_SERVICE_H
 #define STATS_SERVICE_H
 
+#include <aidl/android/os/BnStatsd.h>
+#include <aidl/android/os/IPendingIntentRef.h>
+#include <aidl/android/os/IPullAtomCallback.h>
 #include <gtest/gtest_prod.h>
+#include <utils/Looper.h>
+
+#include <mutex>
+
 #include "StatsLogProcessor.h"
 #include "anomaly/AlarmMonitor.h"
 #include "config/ConfigManager.h"
@@ -26,13 +33,7 @@
 #include "packages/UidMap.h"
 #include "shell/ShellSubscriber.h"
 #include "statscompanion_util.h"
-
-#include <aidl/android/os/BnStatsd.h>
-#include <aidl/android/os/IPendingIntentRef.h>
-#include <aidl/android/os/IPullAtomCallback.h>
-#include <utils/Looper.h>
-
-#include <mutex>
+#include "utils/NamedLatch.h"
 
 using namespace android;
 using namespace android::os;
@@ -385,6 +386,11 @@
     mutable mutex mShellSubscriberMutex;
     std::shared_ptr<LogEventQueue> mEventQueue;
 
+    NamedLatch mBootCompleteLatch;
+    static const inline string kBootCompleteTag = "BOOT_COMPLETE";
+    static const inline string kUidMapReceivedTag = "UID_MAP";
+    static const inline string kAllPullersRegisteredTag = "PULLERS_REGISTERED";
+
     ScopedAIBinder_DeathRecipient mStatsCompanionServiceDeathRecipient;
 
     FRIEND_TEST(StatsLogProcessorTest, TestActivationsPersistAcrossSystemServerRestart);
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 453ddeb..13e7ac1 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -421,7 +421,12 @@
         TvSettingsUIInteracted tvsettings_ui_interacted = 261 [(module) = "tv_settings"];
         LauncherStaticLayout launcher_snapshot = 262 [(module) = "sysui"];
         PackageInstallerV2Reported package_installer_v2_reported = 263 [(module) = "framework"];
+        UserLifecycleJourneyReported user_lifecycle_journey_reported = 264 [(module) = "framework"];
+        UserLifecycleEventOccurred user_lifecycle_event_occurred = 265 [(module) = "framework"];
         SdkExtensionStatus sdk_extension_status = 354;
+
+        // StatsdStats tracks platform atoms with ids upto 500.
+        // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
     }
 
     // Pulled events will start at field 10000.
@@ -9249,12 +9254,13 @@
     optional bool is_workprofile = 7;
 
     enum SharesheetPreviewType {  // Constants from ChooserActivity.java
+        CONTENT_PREVIEW_TYPE_UNKNOWN = 0;  // Default for proto 2 / 3 compatibility.
         CONTENT_PREVIEW_IMAGE = 1;  // The preview shown in the sharesheet is an image.
         CONTENT_PREVIEW_FILE = 2;  // The preview shown in the sharesheet is a file.
         CONTENT_PREVIEW_TEXT = 3;  // The preview shown in the sharesheet is text.
     }
     // How the sharesheet preview is presented.
-    optional SharesheetPreviewType previewType = 8;
+    optional SharesheetPreviewType preview_type = 8;
 
     enum ResolverActivityIntent { // Intents handled by ResolverActivity.java
         INTENT_DEFAULT = 0;
@@ -9267,7 +9273,7 @@
         INTENT_ACTION_MAIN = 7;
     }
     // The intent being processed (only SEND and SEND_MULTIPLE are system sharesheet)
-    optional ResolverActivityIntent intentType = 9;
+    optional ResolverActivityIntent intent_type = 9;
 }
 
 /**
@@ -9356,3 +9362,82 @@
     // Android user index. 0 for primary user, 10, 11 for secondary or profile user
     optional int32 user_id = 7;
 }
+
+/**
+ * An event logged to indicate that a user journey is about to be performed. This atom includes
+ * relevant information about the users involved in the journey. A UserLifecycleEventOccurred event
+ * will immediately follow this atom which will describe the event(s) and its state.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/am/UserController.java
+ *   frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
+ */
+message UserLifecycleJourneyReported {
+    // An identifier to track a chain of user lifecycle events occurring (referenced in the
+    // UserLifecycleEventOccurred atom)
+    optional int64 session_id = 1;
+
+    // Indicates what type of user journey this session is related to
+    enum Journey {
+        UNKNOWN = 0; // Undefined user lifecycle journey
+        USER_SWITCH_UI = 1; // A user switch journey where a UI is shown
+        USER_SWITCH_FG = 2; // A user switch journey without a UI shown
+        USER_START = 3; // A user start journey
+        USER_CREATE = 4; // A user creation journey
+    }
+    optional Journey journey = 2;
+    // Which user the journey is originating from - could be -1 for certain phases (eg USER_CREATE)
+    // This integer is a UserIdInt (eg 0 for the system user, 10 for secondary/guest)
+    optional int32 origin_user = 3;
+    // Which user the journey is targeting
+    // This integer is a UserIdInt (eg 0 for the system user, 10 for secondary/guest)
+    optional int32 target_user = 4;
+
+    // What is the user type of the target user
+    // These should be in sync with USER_TYPE_* flags defined in UserManager.java
+    enum UserType {
+        TYPE_UNKNOWN = 0;
+        FULL_SYSTEM = 1;
+        FULL_SECONDARY = 2;
+        FULL_GUEST = 3;
+        FULL_DEMO = 4;
+        FULL_RESTRICTED = 5;
+        PROFILE_MANAGED = 6;
+        SYSTEM_HEADLESS = 7;
+    }
+    optional UserType user_type = 5;
+    // What are the flags attached to the target user
+    optional int32 user_flags = 6;
+}
+
+/**
+ * An event logged when a specific user lifecycle event is performed. These events should be
+ * correlated with a UserLifecycleJourneyReported atom via the session_id.
+ * Note: journeys can span over multiple events, hence some events may share a single session id.
+ *
+ * Logged from:
+ *   frameworks/base/services/core/java/com/android/server/am/UserController.java
+ *   frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
+ */
+message UserLifecycleEventOccurred {
+    // An id which links back to user details (reported in the UserLifecycleJourneyReported atom)
+    optional int64 session_id = 1;
+    // The target user for this event (same as target_user in the UserLifecycleJourneyReported atom)
+    // This integer is a UserIdInt (eg 0 for the system user, 10 for secondary/guest)
+    optional int32 user_id = 2;
+
+    enum Event {
+        UNKNOWN = 0; // Indicates that the associated user journey timed-out or resulted in an error
+        SWITCH_USER = 1; // Indicates that this is a user switch event
+        START_USER = 2; // Indicates that this is a user start event
+        CREATE_USER = 3; // Indicates that this is a user create event
+    }
+    optional Event event = 3;
+
+    enum State {
+        NONE = 0; // Indicates the associated event has no start/end defined
+        BEGIN = 1;
+        FINISH = 2;
+    }
+    optional State state = 4; // Represents the state of an event (beginning/ending)
+}
diff --git a/cmds/statsd/src/external/puller_util.cpp b/cmds/statsd/src/external/puller_util.cpp
index 90247cf..9e72a23 100644
--- a/cmds/statsd/src/external/puller_util.cpp
+++ b/cmds/statsd/src/external/puller_util.cpp
@@ -49,11 +49,9 @@
  */
 void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<UidMap>& uidMap,
                                       int tagId, const vector<int>& additiveFieldsVec) {
-    bool hasAttributionChain = (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) !=
-                                android::util::AtomsInfo::kAtomsWithAttributionChain.end());
-    // To check if any LogEvent has a uid field, we can just check the first
-    // LogEvent because all atoms with this tagId should have the uid
-    // annotation.
+    // Check the first LogEvent for attribution chain or a uid field as either all atoms with this
+    // tagId have them or none of them do.
+    const bool hasAttributionChain = data[0]->getAttributionChainIndex() != -1;
     bool hasUidField = (data[0]->getUidFieldIndex() != -1);
 
     if (!hasAttributionChain && !hasUidField) {
@@ -67,8 +65,7 @@
             ALOGE("Wrong atom. Expecting %d, got %d", tagId, event->GetTagId());
             return;
         }
-        if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) !=
-            android::util::AtomsInfo::kAtomsWithAttributionChain.end()) {
+        if (event->getAttributionChainIndex() != -1) {
             for (auto& value : *(event->getMutableValues())) {
                 if (value.mField.getPosAtDepth(0) > kAttributionField) {
                     break;
diff --git a/cmds/statsd/src/guardrail/StatsdStats.cpp b/cmds/statsd/src/guardrail/StatsdStats.cpp
index 2bd13d7..db637b1 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.cpp
+++ b/cmds/statsd/src/guardrail/StatsdStats.cpp
@@ -119,7 +119,7 @@
 };
 
 StatsdStats::StatsdStats() {
-    mPushedAtomStats.resize(android::util::kMaxPushedAtomId + 1);
+    mPushedAtomStats.resize(kMaxPushedAtomId + 1);
     mStartTimeSec = getWallClockSec();
 }
 
@@ -448,7 +448,7 @@
 void StatsdStats::noteAtomLogged(int atomId, int32_t timeSec) {
     lock_guard<std::mutex> lock(mLock);
 
-    if (atomId <= android::util::kMaxPushedAtomId) {
+    if (atomId <= kMaxPushedAtomId) {
         mPushedAtomStats[atomId]++;
     } else {
         if (mNonPlatformPushedAtomStats.size() < kMaxNonPlatformPushedAtoms) {
diff --git a/cmds/statsd/src/guardrail/StatsdStats.h b/cmds/statsd/src/guardrail/StatsdStats.h
index 25794c8..ff31e9e 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.h
+++ b/cmds/statsd/src/guardrail/StatsdStats.h
@@ -166,6 +166,10 @@
     // Maximum number of pushed atoms statsd stats will track above kMaxPushedAtomId.
     static const int kMaxNonPlatformPushedAtoms = 100;
 
+    // Maximum atom id value that we consider a platform pushed atom.
+    // This should be updated once highest pushed atom id in atoms.proto approaches this value.
+    static const int kMaxPushedAtomId = 500;
+
     // Atom id that is the start of the pulled atoms.
     static const int kPullAtomStartTag = 10000;
 
diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp
index 8b6a864..61cd017 100644
--- a/cmds/statsd/src/logd/LogEvent.cpp
+++ b/cmds/statsd/src/logd/LogEvent.cpp
@@ -293,7 +293,8 @@
     }
 
     const bool exclusiveState = readNextValue<uint8_t>();
-    mValues[mValues.size() - 1].mAnnotations.setExclusiveState(exclusiveState);
+    mExclusiveStateFieldIndex = mValues.size() - 1;
+    mValues[getExclusiveStateFieldIndex()].mAnnotations.setExclusiveState(exclusiveState);
 }
 
 void LogEvent::parseTriggerStateResetAnnotation(uint8_t annotationType) {
diff --git a/cmds/statsd/src/logd/LogEvent.h b/cmds/statsd/src/logd/LogEvent.h
index 4eeb7d6..41fdcc2 100644
--- a/cmds/statsd/src/logd/LogEvent.h
+++ b/cmds/statsd/src/logd/LogEvent.h
@@ -145,7 +145,7 @@
     }
 
     // Default value = false
-    inline bool shouldTruncateTimestamp() {
+    inline bool shouldTruncateTimestamp() const {
         return mTruncateTimestamp;
     }
 
@@ -170,6 +170,20 @@
         return mAttributionChainIndex;
     }
 
+    // Returns the index of the exclusive state field within the FieldValues vector if
+    // an exclusive state exists. If there is no exclusive state field, returns -1.
+    //
+    // If the index within the atom definition is desired, do the following:
+    //    int vectorIndex = LogEvent.getExclusiveStateFieldIndex();
+    //    if (vectorIndex != -1) {
+    //        FieldValue& v = LogEvent.getValues()[vectorIndex];
+    //        int atomIndex = v.mField.getPosAtDepth(0);
+    //    }
+    // Note that atomIndex is 1-indexed.
+    inline int getExclusiveStateFieldIndex() const {
+        return mExclusiveStateFieldIndex;
+    }
+
     inline LogEvent makeCopy() {
         return LogEvent(*this);
     }
@@ -297,6 +311,7 @@
     bool mTruncateTimestamp = false;
     int mUidFieldIndex = -1;
     int mAttributionChainIndex = -1;
+    int mExclusiveStateFieldIndex = -1;
 };
 
 void writeExperimentIdsToProto(const std::vector<int64_t>& experimentIds, std::vector<uint8_t>* protoOut);
diff --git a/cmds/statsd/src/main.cpp b/cmds/statsd/src/main.cpp
index d79b6a2..e394533 100644
--- a/cmds/statsd/src/main.cpp
+++ b/cmds/statsd/src/main.cpp
@@ -38,20 +38,27 @@
 
 shared_ptr<StatsService> gStatsService = nullptr;
 
-void sigHandler(int sig) {
-    if (gStatsService != nullptr) {
-        gStatsService->Terminate();
+void signalHandler(int sig) {
+    if (sig == SIGPIPE) {
+        // ShellSubscriber uses SIGPIPE as a signal to detect the end of the
+        // client process. Don't prematurely exit(1) here. Instead, ignore the
+        // signal and allow the write call to return EPIPE.
+        ALOGI("statsd received SIGPIPE. Ignoring signal.");
+        return;
     }
+
+    if (gStatsService != nullptr) gStatsService->Terminate();
     ALOGW("statsd terminated on receiving signal %d.", sig);
     exit(1);
 }
 
-void registerSigHandler()
+void registerSignalHandlers()
 {
     struct sigaction sa;
     sigemptyset(&sa.sa_mask);
     sa.sa_flags = 0;
-    sa.sa_handler = sigHandler;
+    sa.sa_handler = signalHandler;
+    sigaction(SIGPIPE, &sa, nullptr);
     sigaction(SIGHUP, &sa, nullptr);
     sigaction(SIGINT, &sa, nullptr);
     sigaction(SIGQUIT, &sa, nullptr);
@@ -79,7 +86,7 @@
         return -1;
     }
 
-    registerSigHandler();
+    registerSignalHandlers();
 
     gStatsService->sayHiToStatsCompanion();
 
diff --git a/cmds/statsd/src/metrics/EventMetricProducer.cpp b/cmds/statsd/src/metrics/EventMetricProducer.cpp
index 6833f8d..d68f64a 100644
--- a/cmds/statsd/src/metrics/EventMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/EventMetricProducer.cpp
@@ -151,8 +151,7 @@
 
     uint64_t wrapperToken =
             mProto->start(FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DATA);
-    const int64_t elapsedTimeNs = truncateTimestampIfNecessary(
-            event.GetTagId(), event.GetElapsedTimestampNs());
+    const int64_t elapsedTimeNs = truncateTimestampIfNecessary(event);
     mProto->write(FIELD_TYPE_INT64 | FIELD_ID_ELAPSED_TIMESTAMP_NANOS, (long long) elapsedTimeNs);
 
     uint64_t eventToken = mProto->start(FIELD_TYPE_MESSAGE | FIELD_ID_ATOMS);
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
index 42bbd8e..c4bd054 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
@@ -270,11 +270,9 @@
                     protoOutput->end(atomsToken);
                 }
                 for (const auto& atom : bucket.mGaugeAtoms) {
-                    const int64_t elapsedTimestampNs =
-                            truncateTimestampIfNecessary(mAtomId, atom.mElapsedTimestamps);
-                    protoOutput->write(
-                        FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED | FIELD_ID_ELAPSED_ATOM_TIMESTAMP,
-                        (long long)elapsedTimestampNs);
+                    protoOutput->write(FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED |
+                                               FIELD_ID_ELAPSED_ATOM_TIMESTAMP,
+                                       (long long)atom.mElapsedTimestampNs);
                 }
             }
             protoOutput->end(bucketInfoToken);
@@ -477,7 +475,9 @@
     if ((*mCurrentSlicedBucket)[eventKey].size() >= mGaugeAtomsPerDimensionLimit) {
         return;
     }
-    GaugeAtom gaugeAtom(getGaugeFields(event), eventTimeNs);
+
+    const int64_t truncatedElapsedTimestampNs = truncateTimestampIfNecessary(event);
+    GaugeAtom gaugeAtom(getGaugeFields(event), truncatedElapsedTimestampNs);
     (*mCurrentSlicedBucket)[eventKey].push_back(gaugeAtom);
     // Anomaly detection on gauge metric only works when there is one numeric
     // field specified.
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.h b/cmds/statsd/src/metrics/GaugeMetricProducer.h
index 79ec711..aa0cae2 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.h
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.h
@@ -35,10 +35,10 @@
 
 struct GaugeAtom {
     GaugeAtom(std::shared_ptr<vector<FieldValue>> fields, int64_t elapsedTimeNs)
-        : mFields(fields), mElapsedTimestamps(elapsedTimeNs) {
+        : mFields(fields), mElapsedTimestampNs(elapsedTimeNs) {
     }
     std::shared_ptr<vector<FieldValue>> mFields;
-    int64_t mElapsedTimestamps;
+    int64_t mElapsedTimestampNs;
 };
 
 struct GaugeBucket {
diff --git a/cmds/statsd/src/metrics/MetricProducer.h b/cmds/statsd/src/metrics/MetricProducer.h
index 4550e65..6aba13ca 100644
--- a/cmds/statsd/src/metrics/MetricProducer.h
+++ b/cmds/statsd/src/metrics/MetricProducer.h
@@ -451,7 +451,7 @@
     std::vector<int32_t> mSlicedStateAtoms;
 
     // Maps atom ids and state values to group_ids (<atom_id, <value, group_id>>).
-    std::unordered_map<int32_t, std::unordered_map<int, int64_t>> mStateGroupMap;
+    const std::unordered_map<int32_t, std::unordered_map<int, int64_t>> mStateGroupMap;
 
     // MetricStateLinks defined in statsd_config that link fields in the state
     // atom to fields in the "what" atom.
diff --git a/cmds/statsd/src/metrics/metrics_manager_util.cpp b/cmds/statsd/src/metrics/metrics_manager_util.cpp
index 2fcb13b..88616dd 100644
--- a/cmds/statsd/src/metrics/metrics_manager_util.cpp
+++ b/cmds/statsd/src/metrics/metrics_manager_util.cpp
@@ -795,9 +795,7 @@
     for (const auto& it : allMetricProducers) {
         // Register metrics to StateTrackers
         for (int atomId : it->getSlicedStateAtoms()) {
-            if (!StateManager::getInstance().registerListener(atomId, it)) {
-                return false;
-            }
+            StateManager::getInstance().registerListener(atomId, it);
         }
     }
     return true;
diff --git a/cmds/statsd/src/state/StateManager.cpp b/cmds/statsd/src/state/StateManager.cpp
index ea776fa..5514b446 100644
--- a/cmds/statsd/src/state/StateManager.cpp
+++ b/cmds/statsd/src/state/StateManager.cpp
@@ -38,20 +38,12 @@
     }
 }
 
-bool StateManager::registerListener(const int32_t atomId, wp<StateListener> listener) {
+void StateManager::registerListener(const int32_t atomId, wp<StateListener> listener) {
     // Check if state tracker already exists.
     if (mStateTrackers.find(atomId) == mStateTrackers.end()) {
-        // Create a new state tracker iff atom is a state atom.
-        auto it = android::util::AtomsInfo::kStateAtomsFieldOptions.find(atomId);
-        if (it != android::util::AtomsInfo::kStateAtomsFieldOptions.end()) {
-            mStateTrackers[atomId] = new StateTracker(atomId, it->second);
-        } else {
-            ALOGE("StateManager cannot register listener, Atom %d is not a state atom", atomId);
-            return false;
-        }
+        mStateTrackers[atomId] = new StateTracker(atomId);
     }
     mStateTrackers[atomId]->registerListener(listener);
-    return true;
 }
 
 void StateManager::unregisterListener(const int32_t atomId, wp<StateListener> listener) {
diff --git a/cmds/statsd/src/state/StateManager.h b/cmds/statsd/src/state/StateManager.h
index 8b3a421..577a0f5 100644
--- a/cmds/statsd/src/state/StateManager.h
+++ b/cmds/statsd/src/state/StateManager.h
@@ -45,10 +45,11 @@
     // Notifies the correct StateTracker of an event.
     void onLogEvent(const LogEvent& event);
 
-    // Returns true if atomId is being tracked and is associated with a state
-    // atom. StateManager notifies the correct StateTracker to register listener.
+    // Notifies the StateTracker for the given atomId to register listener.
     // If the correct StateTracker does not exist, a new StateTracker is created.
-    bool registerListener(const int32_t atomId, wp<StateListener> listener);
+    // Note: StateTrackers can be created for non-state atoms. They are essentially empty and
+    // do not perform any actions.
+    void registerListener(const int32_t atomId, wp<StateListener> listener);
 
     // Notifies the correct StateTracker to unregister a listener
     // and removes the tracker if it no longer has any listeners.
diff --git a/cmds/statsd/src/state/StateTracker.cpp b/cmds/statsd/src/state/StateTracker.cpp
index ab86127..b7f314a 100644
--- a/cmds/statsd/src/state/StateTracker.cpp
+++ b/cmds/statsd/src/state/StateTracker.cpp
@@ -25,81 +25,43 @@
 namespace os {
 namespace statsd {
 
-StateTracker::StateTracker(const int32_t atomId, const util::StateAtomFieldOptions& stateAtomInfo)
-    : mAtomId(atomId),
-      mStateField(getSimpleMatcher(atomId, stateAtomInfo.exclusiveField)),
-      mNested(stateAtomInfo.nested) {
-    // create matcher for each primary field
-    for (const auto& primaryField : stateAtomInfo.primaryFields) {
-        if (primaryField == util::FIRST_UID_IN_CHAIN) {
-            Matcher matcher = getFirstUidMatcher(atomId);
-            mPrimaryFields.push_back(matcher);
-        } else {
-            Matcher matcher = getSimpleMatcher(atomId, primaryField);
-            mPrimaryFields.push_back(matcher);
-        }
-    }
-
-    if (stateAtomInfo.defaultState != util::UNSET_VALUE) {
-        mDefaultState = stateAtomInfo.defaultState;
-    }
-
-    if (stateAtomInfo.resetState != util::UNSET_VALUE) {
-        mResetState = stateAtomInfo.resetState;
-    }
+StateTracker::StateTracker(const int32_t atomId) : mField(atomId, 0) {
 }
 
 void StateTracker::onLogEvent(const LogEvent& event) {
-    int64_t eventTimeNs = event.GetElapsedTimestampNs();
+    const int64_t eventTimeNs = event.GetElapsedTimestampNs();
 
     // Parse event for primary field values i.e. primary key.
     HashableDimensionKey primaryKey;
-    if (mPrimaryFields.size() > 0) {
-        if (!filterValues(mPrimaryFields, event.getValues(), &primaryKey) ||
-            primaryKey.getValues().size() != mPrimaryFields.size()) {
-            ALOGE("StateTracker error extracting primary key from log event.");
-            handleReset(eventTimeNs);
-            return;
-        }
-    } else {
-        // Use an empty HashableDimensionKey if atom has no primary fields.
-        primaryKey = DEFAULT_DIMENSION_KEY;
+    filterPrimaryKey(event.getValues(), &primaryKey);
+
+    FieldValue stateValue;
+    if (!getStateFieldValueFromLogEvent(event, &stateValue)) {
+        ALOGE("StateTracker error extracting state from log event. Missing exclusive state field.");
+        clearStateForPrimaryKey(eventTimeNs, primaryKey);
+        return;
     }
 
-    // Parse event for state value.
-    FieldValue stateValue;
-    if (!filterValues(mStateField, event.getValues(), &stateValue) ||
-        stateValue.mValue.getType() != INT) {
+    mField.setField(stateValue.mField.getField());
+
+    if (stateValue.mValue.getType() != INT) {
         ALOGE("StateTracker error extracting state from log event. Type: %d",
               stateValue.mValue.getType());
-        handlePartialReset(eventTimeNs, primaryKey);
+        clearStateForPrimaryKey(eventTimeNs, primaryKey);
         return;
     }
 
-    int32_t state = stateValue.mValue.int_value;
-    if (state == mResetState) {
-        VLOG("StateTracker Reset state: %s", stateValue.mValue.toString().c_str());
-        handleReset(eventTimeNs);
+    const int32_t resetState = stateValue.mAnnotations.getResetState();
+    if (resetState != -1) {
+        VLOG("StateTracker new reset state: %d", resetState);
+        handleReset(eventTimeNs, resetState);
         return;
     }
 
-    // Track and update state.
-    int32_t oldState = 0;
-    int32_t newState = 0;
-    updateState(primaryKey, state, &oldState, &newState);
-
-    // Notify all listeners if state has changed.
-    if (oldState != newState) {
-        VLOG("StateTracker updated state");
-        for (auto listener : mListeners) {
-            auto sListener = listener.promote();  // safe access to wp<>
-            if (sListener != nullptr) {
-                sListener->onStateChanged(eventTimeNs, mAtomId, primaryKey, oldState, newState);
-            }
-        }
-    } else {
-        VLOG("StateTracker NO updated state");
-    }
+    const int32_t newState = stateValue.mValue.int_value;
+    const bool nested = stateValue.mAnnotations.isNested();
+    StateValueInfo* stateValueInfo = &mStateMap[primaryKey];
+    updateStateForPrimaryKey(eventTimeNs, primaryKey, newState, nested, stateValueInfo);
 }
 
 void StateTracker::registerListener(wp<StateListener> listener) {
@@ -111,81 +73,62 @@
 }
 
 bool StateTracker::getStateValue(const HashableDimensionKey& queryKey, FieldValue* output) const {
-    output->mField = mStateField.mMatcher;
+    output->mField = mField;
 
-    // Check that the query key has the correct number of primary fields.
-    if (queryKey.getValues().size() == mPrimaryFields.size()) {
-        auto it = mStateMap.find(queryKey);
-        if (it != mStateMap.end()) {
-            output->mValue = it->second.state;
-            return true;
-        }
-    } else if (queryKey.getValues().size() > mPrimaryFields.size()) {
-        ALOGE("StateTracker query key size %zu > primary key size %zu is illegal",
-              queryKey.getValues().size(), mPrimaryFields.size());
-    } else {
-        ALOGE("StateTracker query key size %zu < primary key size %zu is not supported",
-              queryKey.getValues().size(), mPrimaryFields.size());
+    if (const auto it = mStateMap.find(queryKey); it != mStateMap.end()) {
+        output->mValue = it->second.state;
+        return true;
     }
 
-    // Set the state value to default state if:
-    // - query key size is incorrect
-    // - query key is not found in state map
-    output->mValue = mDefaultState;
+    // Set the state value to kStateUnknown if query key is not found in state map.
+    output->mValue = kStateUnknown;
     return false;
 }
 
-void StateTracker::handleReset(const int64_t eventTimeNs) {
+void StateTracker::handleReset(const int64_t eventTimeNs, const int32_t newState) {
     VLOG("StateTracker handle reset");
-    for (const auto pair : mStateMap) {
-        for (auto l : mListeners) {
-            auto sl = l.promote();
-            if (sl != nullptr) {
-                sl->onStateChanged(eventTimeNs, mAtomId, pair.first, pair.second.state,
-                                   mDefaultState);
-            }
-        }
-    }
-    mStateMap.clear();
-}
-
-void StateTracker::handlePartialReset(const int64_t eventTimeNs,
-                                      const HashableDimensionKey& primaryKey) {
-    VLOG("StateTracker handle partial reset");
-    if (mStateMap.find(primaryKey) != mStateMap.end()) {
-        for (auto l : mListeners) {
-            auto sl = l.promote();
-            if (sl != nullptr) {
-                sl->onStateChanged(eventTimeNs, mAtomId, primaryKey,
-                                   mStateMap.find(primaryKey)->second.state, mDefaultState);
-            }
-        }
-        mStateMap.erase(primaryKey);
+    for (auto& [primaryKey, stateValueInfo] : mStateMap) {
+        updateStateForPrimaryKey(eventTimeNs, primaryKey, newState,
+                                 false /* nested; treat this state change as not nested */,
+                                 &stateValueInfo);
     }
 }
 
-void StateTracker::updateState(const HashableDimensionKey& primaryKey, const int32_t eventState,
-                               int32_t* oldState, int32_t* newState) {
-    // get old state (either current state in map or default state)
-    auto it = mStateMap.find(primaryKey);
+void StateTracker::clearStateForPrimaryKey(const int64_t eventTimeNs,
+                                           const HashableDimensionKey& primaryKey) {
+    VLOG("StateTracker clear state for primary key");
+    const std::unordered_map<HashableDimensionKey, StateValueInfo>::iterator it =
+            mStateMap.find(primaryKey);
+
+    // If there is no entry for the primaryKey in mStateMap, then the state is already
+    // kStateUnknown.
     if (it != mStateMap.end()) {
-        *oldState = it->second.state;
-    } else {
-        *oldState = mDefaultState;
+        updateStateForPrimaryKey(eventTimeNs, primaryKey, kStateUnknown,
+                                 false /* nested; treat this state change as not nested */,
+                                 &it->second);
+    }
+}
+
+void StateTracker::updateStateForPrimaryKey(const int64_t eventTimeNs,
+                                            const HashableDimensionKey& primaryKey,
+                                            const int32_t newState, const bool nested,
+                                            StateValueInfo* stateValueInfo) {
+    const int32_t oldState = stateValueInfo->state;
+
+    if (kStateUnknown == newState) {
+        mStateMap.erase(primaryKey);
     }
 
     // Update state map for non-nested counting case.
     // Every state event triggers a state overwrite.
-    if (!mNested) {
-        if (eventState == mDefaultState) {
-            // remove (key, state) pair if state returns to default state
-            VLOG("\t StateTracker changed to default state")
-            mStateMap.erase(primaryKey);
-        } else {
-            mStateMap[primaryKey].state = eventState;
-            mStateMap[primaryKey].count = 1;
+    if (!nested) {
+        stateValueInfo->state = newState;
+        stateValueInfo->count = 1;
+
+        // Notify listeners if state has changed.
+        if (oldState != newState) {
+            notifyListeners(eventTimeNs, primaryKey, oldState, newState);
         }
-        *newState = eventState;
         return;
     }
 
@@ -197,31 +140,47 @@
     // number of OFF events as ON events.
     //
     // In atoms.proto, a state atom with nested counting enabled
-    // must only have 2 states and one of the states must be the default state.
-    it = mStateMap.find(primaryKey);
-    if (it != mStateMap.end()) {
-        *newState = it->second.state;
-        if (eventState == it->second.state) {
-            it->second.count++;
-        } else if (eventState == mDefaultState) {
-            if ((--it->second.count) == 0) {
-                mStateMap.erase(primaryKey);
-                *newState = mDefaultState;
-            }
-        } else {
-            ALOGE("StateTracker Nest counting state has a third state instead of the binary state "
-                  "limit.");
-            return;
+    // must only have 2 states. There is no enforcemnt here of this requirement.
+    // The atom must be logged correctly.
+    if (kStateUnknown == newState) {
+        if (kStateUnknown != oldState) {
+            notifyListeners(eventTimeNs, primaryKey, oldState, newState);
         }
-    } else {
-        if (eventState != mDefaultState) {
-            mStateMap[primaryKey].state = eventState;
-            mStateMap[primaryKey].count = 1;
-        }
-        *newState = eventState;
+    } else if (oldState == kStateUnknown) {
+        stateValueInfo->state = newState;
+        stateValueInfo->count = 1;
+        notifyListeners(eventTimeNs, primaryKey, oldState, newState);
+    } else if (oldState == newState) {
+        stateValueInfo->count++;
+    } else if (--stateValueInfo->count == 0) {
+        stateValueInfo->state = newState;
+        stateValueInfo->count = 1;
+        notifyListeners(eventTimeNs, primaryKey, oldState, newState);
     }
 }
 
+void StateTracker::notifyListeners(const int64_t eventTimeNs,
+                                   const HashableDimensionKey& primaryKey, const int32_t oldState,
+                                   const int32_t newState) {
+    for (auto l : mListeners) {
+        auto sl = l.promote();
+        if (sl != nullptr) {
+            sl->onStateChanged(eventTimeNs, mField.getTag(), primaryKey, oldState, newState);
+        }
+    }
+}
+
+bool getStateFieldValueFromLogEvent(const LogEvent& event, FieldValue* output) {
+    const int exclusiveStateFieldIndex = event.getExclusiveStateFieldIndex();
+    if (-1 == exclusiveStateFieldIndex) {
+        ALOGE("error extracting state from log event. Missing exclusive state field.");
+        return false;
+    }
+
+    *output = event.getValues()[exclusiveStateFieldIndex];
+    return true;
+}
+
 }  // namespace statsd
 }  // namespace os
 }  // namespace android
diff --git a/cmds/statsd/src/state/StateTracker.h b/cmds/statsd/src/state/StateTracker.h
index 154750e..c5f6315 100644
--- a/cmds/statsd/src/state/StateTracker.h
+++ b/cmds/statsd/src/state/StateTracker.h
@@ -15,7 +15,6 @@
  */
 #pragma once
 
-#include <atoms_info.h>
 #include <utils/RefBase.h>
 #include "HashableDimensionKey.h"
 #include "logd/LogEvent.h"
@@ -30,7 +29,7 @@
 
 class StateTracker : public virtual RefBase {
 public:
-    StateTracker(const int32_t atomId, const android::util::StateAtomFieldOptions& stateAtomInfo);
+    StateTracker(const int32_t atomId);
 
     virtual ~StateTracker(){};
 
@@ -60,21 +59,11 @@
 
 private:
     struct StateValueInfo {
-        int32_t state;  // state value
-        int count;      // nested count (only used for binary states)
+        int32_t state = kStateUnknown;  // state value
+        int count = 0;                  // nested count (only used for binary states)
     };
 
-    const int32_t mAtomId;  // id of the state atom being tracked
-
-    Matcher mStateField;  // matches the atom's exclusive state field
-
-    std::vector<Matcher> mPrimaryFields;  // matches the atom's primary fields
-
-    int32_t mDefaultState = kStateUnknown;
-
-    int32_t mResetState = kStateUnknown;
-
-    const bool mNested;
+    Field mField;
 
     // Maps primary key to state value info
     std::unordered_map<HashableDimensionKey, StateValueInfo> mStateMap;
@@ -82,20 +71,24 @@
     // Set of all StateListeners (objects listening for state changes)
     std::set<wp<StateListener>> mListeners;
 
-    // Reset all state values in map to default state.
-    void handleReset(const int64_t eventTimeNs);
+    // Reset all state values in map to the given state.
+    void handleReset(const int64_t eventTimeNs, const int32_t newState);
 
-    // Reset only the state value mapped to the given primary key to default state.
-    // Partial resets are used when we only need to update the state of one primary
-    // key instead of clearing/reseting every key in the map.
-    void handlePartialReset(const int64_t eventTimeNs, const HashableDimensionKey& primaryKey);
+    // Clears the state value mapped to the given primary key by setting it to kStateUnknown.
+    void clearStateForPrimaryKey(const int64_t eventTimeNs, const HashableDimensionKey& primaryKey);
 
     // Update the StateMap based on the received state value.
-    // Store the old and new states.
-    void updateState(const HashableDimensionKey& primaryKey, const int32_t eventState,
-                     int32_t* oldState, int32_t* newState);
+    void updateStateForPrimaryKey(const int64_t eventTimeNs, const HashableDimensionKey& primaryKey,
+                                  const int32_t newState, const bool nested,
+                                  StateValueInfo* stateValueInfo);
+
+    // Notify registered state listeners of state change.
+    void notifyListeners(const int64_t eventTimeNs, const HashableDimensionKey& primaryKey,
+                         const int32_t oldState, const int32_t newState);
 };
 
+bool getStateFieldValueFromLogEvent(const LogEvent& event, FieldValue* output);
+
 }  // namespace statsd
 }  // namespace os
 }  // namespace android
diff --git a/cmds/statsd/src/stats_log_util.cpp b/cmds/statsd/src/stats_log_util.cpp
index 77a3eb3..5635313 100644
--- a/cmds/statsd/src/stats_log_util.cpp
+++ b/cmds/statsd/src/stats_log_util.cpp
@@ -549,14 +549,13 @@
     return time(nullptr) * MS_PER_SEC;
 }
 
-int64_t truncateTimestampIfNecessary(int atomId, int64_t timestampNs) {
-    if (AtomsInfo::kTruncatingTimestampAtomBlackList.find(atomId) !=
-            AtomsInfo::kTruncatingTimestampAtomBlackList.end() ||
-        (atomId >= StatsdStats::kTimestampTruncationStartTag &&
-         atomId <= StatsdStats::kTimestampTruncationEndTag)) {
-        return timestampNs / NS_PER_SEC / (5 * 60) * NS_PER_SEC * (5 * 60);
+int64_t truncateTimestampIfNecessary(const LogEvent& event) {
+    if (event.shouldTruncateTimestamp() ||
+        (event.GetTagId() >= StatsdStats::kTimestampTruncationStartTag &&
+         event.GetTagId() <= StatsdStats::kTimestampTruncationEndTag)) {
+        return event.GetElapsedTimestampNs() / NS_PER_SEC / (5 * 60) * NS_PER_SEC * (5 * 60);
     } else {
-        return timestampNs;
+        return event.GetElapsedTimestampNs();
     }
 }
 
diff --git a/cmds/statsd/src/stats_log_util.h b/cmds/statsd/src/stats_log_util.h
index ade25d6..20d93b5 100644
--- a/cmds/statsd/src/stats_log_util.h
+++ b/cmds/statsd/src/stats_log_util.h
@@ -17,11 +17,12 @@
 #pragma once
 
 #include <android/util/ProtoOutputStream.h>
+
 #include "FieldValue.h"
 #include "HashableDimensionKey.h"
-#include "atoms_info.h"
 #include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
 #include "guardrail/StatsdStats.h"
+#include "logd/LogEvent.h"
 
 using android::util::ProtoOutputStream;
 
@@ -93,9 +94,9 @@
     return message->ParseFromArray(pbBytes.c_str(), pbBytes.size());
 }
 
-// Checks the blacklist of atoms as well as the blacklisted range of 300,000 - 304,999.
+// Checks the truncate timestamp annotation as well as the blacklisted range of 300,000 - 304,999.
 // Returns the truncated timestamp to the nearest 5 minutes if needed.
-int64_t truncateTimestampIfNecessary(int atomId, int64_t timestampNs);
+int64_t truncateTimestampIfNecessary(const LogEvent& event);
 
 // Checks permission for given pid and uid.
 bool checkPermissionForIds(const char* permission, pid_t pid, uid_t uid);
diff --git a/cmds/statsd/src/utils/NamedLatch.cpp b/cmds/statsd/src/utils/NamedLatch.cpp
new file mode 100644
index 0000000..6e77977
--- /dev/null
+++ b/cmds/statsd/src/utils/NamedLatch.cpp
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+#define DEBUG false  // STOPSHIP if true
+
+#include "NamedLatch.h"
+
+using namespace std;
+
+namespace android {
+namespace os {
+namespace statsd {
+
+NamedLatch::NamedLatch(const set<string>& eventNames) : mRemainingEventNames(eventNames) {
+}
+
+void NamedLatch::countDown(const string& eventName) {
+    bool notify = false;
+    {
+        lock_guard<mutex> lg(mMutex);
+        mRemainingEventNames.erase(eventName);
+        notify = mRemainingEventNames.empty();
+    }
+    if (notify) {
+        mConditionVariable.notify_all();
+    }
+}
+
+void NamedLatch::wait() const {
+    unique_lock<mutex> unique_lk(mMutex);
+    mConditionVariable.wait(unique_lk, [this] { return mRemainingEventNames.empty(); });
+}
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
diff --git a/cmds/statsd/src/utils/NamedLatch.h b/cmds/statsd/src/utils/NamedLatch.h
new file mode 100644
index 0000000..70238370
--- /dev/null
+++ b/cmds/statsd/src/utils/NamedLatch.h
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+#pragma once
+
+#include <gtest/gtest_prod.h>
+
+#include <condition_variable>
+#include <mutex>
+#include <set>
+
+namespace android {
+namespace os {
+namespace statsd {
+
+/**
+ * This class provides a threading primitive similar to a latch.
+ * The primary difference is that it waits for named events to occur instead of waiting for
+ * N threads to reach a certain point.
+ *
+ * It uses a condition variable under the hood.
+ */
+class NamedLatch {
+public:
+    explicit NamedLatch(const std::set<std::string>& eventNames);
+
+    NamedLatch(const NamedLatch&) = delete;
+    NamedLatch& operator=(const NamedLatch&) = delete;
+
+    // Mark a specific event as completed. If this event has called countDown already or if the
+    // event was not specified in the constructor, the function is a no-op.
+    void countDown(const std::string& eventName);
+
+    // Blocks the calling thread until all events in eventNames have called countDown.
+    void wait() const;
+
+private:
+    mutable std::mutex mMutex;
+    mutable std::condition_variable mConditionVariable;
+    std::set<std::string> mRemainingEventNames;
+
+    FRIEND_TEST(NamedLatchTest, TestCountDownCalledBySameEventName);
+};
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
diff --git a/cmds/statsd/tests/e2e/CountMetric_e2e_test.cpp b/cmds/statsd/tests/e2e/CountMetric_e2e_test.cpp
index a5da9c8..b1461a1 100644
--- a/cmds/statsd/tests/e2e/CountMetric_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/CountMetric_e2e_test.cpp
@@ -232,7 +232,7 @@
     StateMap map = state.map();
     for (auto group : map.group()) {
         for (auto value : group.value()) {
-            EXPECT_EQ(metricProducer->mStateGroupMap[SCREEN_STATE_ATOM_ID][value],
+            EXPECT_EQ(metricProducer->mStateGroupMap.at(SCREEN_STATE_ATOM_ID).at(value),
                       group.group_id());
         }
     }
@@ -614,7 +614,7 @@
     StateMap map = state1.map();
     for (auto group : map.group()) {
         for (auto value : group.value()) {
-            EXPECT_EQ(metricProducer->mStateGroupMap[SCREEN_STATE_ATOM_ID][value],
+            EXPECT_EQ(metricProducer->mStateGroupMap.at(SCREEN_STATE_ATOM_ID).at(value),
                       group.group_id());
         }
     }
diff --git a/cmds/statsd/tests/e2e/DurationMetric_e2e_test.cpp b/cmds/statsd/tests/e2e/DurationMetric_e2e_test.cpp
index ba09a35..d59ec3e 100644
--- a/cmds/statsd/tests/e2e/DurationMetric_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/DurationMetric_e2e_test.cpp
@@ -921,18 +921,18 @@
                bucket #1                      bucket #2
     |       1       2       3       4       5     6     7     8  (minutes)
     |---------------------------------------|------------------
-         ON                              OFF    ON             (BatterySaverMode)
+             ON                          OFF    ON             (BatterySaverMode)
                   T            F    T                          (DeviceUnpluggedPredicate)
-             |          |              |                       (ScreenIsOnEvent)
+         |              |              |                       (ScreenIsOnEvent)
                 |           |                       |          (ScreenIsOffEvent)
                                 |                              (ScreenDozeEvent)
     */
     // Initialize log events.
     std::vector<std::unique_ptr<LogEvent>> events;
-    events.push_back(CreateBatterySaverOnEvent(bucketStartTimeNs + 20 * NS_PER_SEC));  // 0:30
     events.push_back(CreateScreenStateChangedEvent(
-            bucketStartTimeNs + 60 * NS_PER_SEC,
-            android::view::DisplayStateEnum::DISPLAY_STATE_ON));  // 1:10
+            bucketStartTimeNs + 20 * NS_PER_SEC,
+            android::view::DisplayStateEnum::DISPLAY_STATE_ON));                       // 0:30
+    events.push_back(CreateBatterySaverOnEvent(bucketStartTimeNs + 60 * NS_PER_SEC));  // 1:10
     events.push_back(CreateScreenStateChangedEvent(
             bucketStartTimeNs + 80 * NS_PER_SEC,
             android::view::DisplayStateEnum::DISPLAY_STATE_OFF));  // 1:30
diff --git a/cmds/statsd/tests/guardrail/StatsdStats_test.cpp b/cmds/statsd/tests/guardrail/StatsdStats_test.cpp
index 00e8397..129fafa 100644
--- a/cmds/statsd/tests/guardrail/StatsdStats_test.cpp
+++ b/cmds/statsd/tests/guardrail/StatsdStats_test.cpp
@@ -254,8 +254,8 @@
 TEST(StatsdStatsTest, TestNonPlatformAtomLog) {
     StatsdStats stats;
     time_t now = time(nullptr);
-    int newAtom1 = android::util::kMaxPushedAtomId + 1;
-    int newAtom2 = android::util::kMaxPushedAtomId + 2;
+    int newAtom1 = StatsdStats::kMaxPushedAtomId + 1;
+    int newAtom2 = StatsdStats::kMaxPushedAtomId + 2;
 
     stats.noteAtomLogged(newAtom1, now + 1);
     stats.noteAtomLogged(newAtom1, now + 2);
diff --git a/cmds/statsd/tests/state/StateTracker_test.cpp b/cmds/statsd/tests/state/StateTracker_test.cpp
index 78c80bc..ba2a4cf 100644
--- a/cmds/statsd/tests/state/StateTracker_test.cpp
+++ b/cmds/statsd/tests/state/StateTracker_test.cpp
@@ -19,6 +19,7 @@
 
 #include "state/StateListener.h"
 #include "state/StateManager.h"
+#include "state/StateTracker.h"
 #include "stats_event.h"
 #include "tests/statsd_test_util.h"
 
@@ -127,23 +128,23 @@
 
     // Register listener to non-existing StateTracker
     EXPECT_EQ(0, mgr.getStateTrackersCount());
-    EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1));
+    mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1);
     EXPECT_EQ(1, mgr.getStateTrackersCount());
     EXPECT_EQ(1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
 
     // Register listener to existing StateTracker
-    EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2));
+    mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2);
     EXPECT_EQ(1, mgr.getStateTrackersCount());
     EXPECT_EQ(2, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
 
     // Register already registered listener to existing StateTracker
-    EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2));
+    mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2);
     EXPECT_EQ(1, mgr.getStateTrackersCount());
     EXPECT_EQ(2, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
 
     // Register listener to non-state atom
-    EXPECT_FALSE(mgr.registerListener(util::BATTERY_LEVEL_CHANGED, listener2));
-    EXPECT_EQ(1, mgr.getStateTrackersCount());
+    mgr.registerListener(util::BATTERY_LEVEL_CHANGED, listener2);
+    EXPECT_EQ(2, mgr.getStateTrackersCount());
 }
 
 /**
@@ -249,6 +250,9 @@
     EXPECT_EQ(1, listener->updates.size());
     EXPECT_EQ(1000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
     EXPECT_EQ(BleScanStateChanged::ON, listener->updates[0].mState);
+    FieldValue stateFieldValue;
+    mgr.getStateValue(util::BLE_SCAN_STATE_CHANGED, listener->updates[0].mKey, &stateFieldValue);
+    EXPECT_EQ(BleScanStateChanged::ON, stateFieldValue.mValue.int_value);
     listener->updates.clear();
 
     std::unique_ptr<LogEvent> event2 =
@@ -258,6 +262,8 @@
     EXPECT_EQ(1, listener->updates.size());
     EXPECT_EQ(2000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
     EXPECT_EQ(BleScanStateChanged::ON, listener->updates[0].mState);
+    mgr.getStateValue(util::BLE_SCAN_STATE_CHANGED, listener->updates[0].mKey, &stateFieldValue);
+    EXPECT_EQ(BleScanStateChanged::ON, stateFieldValue.mValue.int_value);
     listener->updates.clear();
 
     std::unique_ptr<LogEvent> event3 =
@@ -265,8 +271,12 @@
                                            BleScanStateChanged::RESET, false, false, false);
     mgr.onLogEvent(*event3);
     EXPECT_EQ(2, listener->updates.size());
-    EXPECT_EQ(BleScanStateChanged::OFF, listener->updates[0].mState);
-    EXPECT_EQ(BleScanStateChanged::OFF, listener->updates[1].mState);
+    for (const TestStateListener::Update& update : listener->updates) {
+        EXPECT_EQ(BleScanStateChanged::OFF, update.mState);
+
+        mgr.getStateValue(util::BLE_SCAN_STATE_CHANGED, update.mKey, &stateFieldValue);
+        EXPECT_EQ(BleScanStateChanged::OFF, stateFieldValue.mValue.int_value);
+    }
 }
 
 /**
@@ -352,13 +362,13 @@
     // No state stored for this query key.
     HashableDimensionKey queryKey2;
     getPartialWakelockKey(1002 /* uid */, "tag1", &queryKey2);
-    EXPECT_EQ(WakelockStateChanged::RELEASE,
+    EXPECT_EQ(-1 /*StateTracker::kStateUnknown*/,
               getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey2));
 
     // Partial query fails.
     HashableDimensionKey queryKey3;
     getPartialWakelockKey(1001 /* uid */, &queryKey3);
-    EXPECT_EQ(WakelockStateChanged::RELEASE,
+    EXPECT_EQ(-1 /*StateTracker::kStateUnknown*/,
               getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey3));
 }
 
diff --git a/cmds/statsd/tests/statsd_test_util.cpp b/cmds/statsd/tests/statsd_test_util.cpp
index 687014f..7216e1d 100644
--- a/cmds/statsd/tests/statsd_test_util.cpp
+++ b/cmds/statsd/tests/statsd_test_util.cpp
@@ -569,6 +569,8 @@
     AStatsEvent_setAtomId(statsEvent, util::SCREEN_STATE_CHANGED);
     AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
     AStatsEvent_writeInt32(statsEvent, state);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_EXCLUSIVE_STATE, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_STATE_NESTED, false);
 
     std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0);
     parseStatsEventToLogEvent(statsEvent, logEvent.get());
@@ -662,9 +664,14 @@
     AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
 
     writeAttribution(statsEvent, attributionUids, attributionTags);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID, true);
     AStatsEvent_writeInt32(statsEvent, android::os::WakeLockLevelEnum::PARTIAL_WAKE_LOCK);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
     AStatsEvent_writeString(statsEvent, wakelockName.c_str());
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
     AStatsEvent_writeInt32(statsEvent, state);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_EXCLUSIVE_STATE, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_STATE_NESTED, true);
 
     std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0);
     parseStatsEventToLogEvent(statsEvent, logEvent.get());
@@ -803,7 +810,11 @@
     AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
 
     AStatsEvent_writeInt32(statsEvent, uid);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_IS_UID, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
     AStatsEvent_writeInt32(statsEvent, state);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_EXCLUSIVE_STATE, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_STATE_NESTED, false);
 
     std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0);
     parseStatsEventToLogEvent(statsEvent, logEvent.get());
@@ -821,10 +832,20 @@
     AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
 
     writeAttribution(statsEvent, attributionUids, attributionTags);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID, true);
     AStatsEvent_writeInt32(statsEvent, state);
-    AStatsEvent_writeInt32(statsEvent, filtered);       // filtered
-    AStatsEvent_writeInt32(statsEvent, firstMatch);     // first match
-    AStatsEvent_writeInt32(statsEvent, opportunistic);  // opportunistic
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_EXCLUSIVE_STATE, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_STATE_NESTED, true);
+    if (state == util::BLE_SCAN_STATE_CHANGED__STATE__RESET) {
+        AStatsEvent_addInt32Annotation(statsEvent, ANNOTATION_ID_TRIGGER_STATE_RESET,
+                                       util::BLE_SCAN_STATE_CHANGED__STATE__OFF);
+    }
+    AStatsEvent_writeBool(statsEvent, filtered);  // filtered
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
+    AStatsEvent_writeBool(statsEvent, firstMatch);  // first match
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
+    AStatsEvent_writeBool(statsEvent, opportunistic);  // opportunistic
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
 
     std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0);
     parseStatsEventToLogEvent(statsEvent, logEvent.get());
@@ -840,9 +861,14 @@
     AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
 
     AStatsEvent_writeInt32(statsEvent, uid);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_IS_UID, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
     AStatsEvent_writeString(statsEvent, packageName.c_str());
-    AStatsEvent_writeInt32(statsEvent, usingAlertWindow);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_PRIMARY_FIELD, true);
+    AStatsEvent_writeBool(statsEvent, usingAlertWindow);
     AStatsEvent_writeInt32(statsEvent, state);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_EXCLUSIVE_STATE, true);
+    AStatsEvent_addBoolAnnotation(statsEvent, util::ANNOTATION_ID_STATE_NESTED, false);
 
     std::unique_ptr<LogEvent> logEvent = std::make_unique<LogEvent>(/*uid=*/0, /*pid=*/0);
     parseStatsEventToLogEvent(statsEvent, logEvent.get());
diff --git a/cmds/statsd/tests/utils/NamedLatch_test.cpp b/cmds/statsd/tests/utils/NamedLatch_test.cpp
new file mode 100644
index 0000000..de48a13
--- /dev/null
+++ b/cmds/statsd/tests/utils/NamedLatch_test.cpp
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+#include "utils/NamedLatch.h"
+
+#include <gtest/gtest.h>
+
+#include <chrono>
+#include <set>
+#include <thread>
+#include <vector>
+
+#ifdef __ANDROID__
+
+using namespace std;
+using std::this_thread::sleep_for;
+
+namespace android {
+namespace os {
+namespace statsd {
+
+TEST(NamedLatchTest, TestWait) {
+    int numEvents = 5;
+    string t1 = "t1", t2 = "t2", t3 = "t3", t4 = "t4", t5 = "t5";
+    set<string> eventNames = {t1, t2, t3, t4, t5};
+
+    NamedLatch latch(eventNames);
+    vector<thread> threads;
+    vector<bool> done(numEvents, false);
+
+    int i = 0;
+    for (const string& eventName : eventNames) {
+        threads.emplace_back([&done, &eventName, &latch, i] {
+            sleep_for(chrono::milliseconds(3));
+            done[i] = true;
+            latch.countDown(eventName);
+        });
+        i++;
+    }
+
+    latch.wait();
+
+    for (i = 0; i < numEvents; i++) {
+        EXPECT_EQ(done[i], 1);
+    }
+
+    for (i = 0; i < numEvents; i++) {
+        threads[i].join();
+    }
+}
+
+TEST(NamedLatchTest, TestNoWorkers) {
+    NamedLatch latch({});
+    latch.wait();
+    // Ensure that latch does not wait if no events need to countDown.
+}
+
+TEST(NamedLatchTest, TestCountDownCalledBySameEventName) {
+    string t1 = "t1", t2 = "t2";
+    set<string> eventNames = {t1, t2};
+
+    NamedLatch latch(eventNames);
+
+    thread waiterThread([&latch] { latch.wait(); });
+
+    latch.countDown(t1);
+    latch.countDown(t1);
+
+    // Ensure that the latch's remaining threads still has t2.
+    latch.mMutex.lock();
+    ASSERT_EQ(latch.mRemainingEventNames.size(), 1);
+    EXPECT_NE(latch.mRemainingEventNames.find(t2), latch.mRemainingEventNames.end());
+    latch.mMutex.unlock();
+
+    latch.countDown(t2);
+    waiterThread.join();
+}
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
+#else
+GTEST_LOG_(INFO) << "This test does nothing.\n";
+#endif
diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt
index 23a68c7..5f45d69 100644
--- a/config/boot-image-profile.txt
+++ b/config/boot-image-profile.txt
@@ -26,14 +26,6 @@
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->initFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->isDirectBootAware()Z
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/accounts/AbstractAccountAuthenticator$Transport;-><init>(Landroid/accounts/AbstractAccountAuthenticator;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator$Transport;-><init>(Landroid/accounts/AbstractAccountAuthenticator;Landroid/accounts/AbstractAccountAuthenticator$1;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator$Transport;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator$Transport;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator;-><init>(Landroid/content/Context;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator;->access$000(Landroid/accounts/AbstractAccountAuthenticator;)V
-HSPLandroid/accounts/AbstractAccountAuthenticator;->checkBinderPermission()V
-HSPLandroid/accounts/AbstractAccountAuthenticator;->getIBinder()Landroid/os/IBinder;
 HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/Account;
 HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/accounts/Account$1;->newArray(I)[Landroid/accounts/Account;
@@ -56,47 +48,23 @@
 HSPLandroid/accounts/AccountManager$16;-><init>(Landroid/accounts/AccountManager;Landroid/accounts/OnAccountsUpdateListener;[Landroid/accounts/Account;)V
 HSPLandroid/accounts/AccountManager$16;->run()V
 HSPLandroid/accounts/AccountManager$18;-><init>(Landroid/accounts/AccountManager;)V
-HSPLandroid/accounts/AccountManager$2;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Landroid/accounts/Account;[Ljava/lang/String;)V
-HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Boolean;
-HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$2;->doWork()V
-HSPLandroid/accounts/AccountManager$3;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager$3;->doWork()V
 HSPLandroid/accounts/AccountManager$8;-><init>(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
 HSPLandroid/accounts/AccountManager$8;->doWork()V
 HSPLandroid/accounts/AccountManager$AmsTask$1;-><init>(Landroid/accounts/AccountManager;)V
-HSPLandroid/accounts/AccountManager$AmsTask$Response;-><init>(Landroid/accounts/AccountManager$AmsTask;)V
 HSPLandroid/accounts/AccountManager$AmsTask$Response;-><init>(Landroid/accounts/AccountManager$AmsTask;Landroid/accounts/AccountManager$1;)V
 HSPLandroid/accounts/AccountManager$AmsTask$Response;->onResult(Landroid/os/Bundle;)V
 HSPLandroid/accounts/AccountManager$AmsTask;-><init>(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
 HSPLandroid/accounts/AccountManager$AmsTask;->done()V
 HSPLandroid/accounts/AccountManager$AmsTask;->getResult()Landroid/os/Bundle;
 HSPLandroid/accounts/AccountManager$AmsTask;->getResult()Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$AmsTask;->getResult(JLjava/util/concurrent/TimeUnit;)Landroid/os/Bundle;
-HSPLandroid/accounts/AccountManager$AmsTask;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLandroid/accounts/AccountManager$AmsTask;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Landroid/os/Bundle;
 HSPLandroid/accounts/AccountManager$AmsTask;->set(Landroid/os/Bundle;)V
 HSPLandroid/accounts/AccountManager$AmsTask;->start()Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager$BaseFutureTask$1;-><init>(Landroid/accounts/AccountManager;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;-><init>(Landroid/accounts/AccountManager$BaseFutureTask;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;->onResult(Landroid/os/Bundle;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;->access$1000(Landroid/accounts/AccountManager$BaseFutureTask;Ljava/lang/Object;)V
 HSPLandroid/accounts/AccountManager$BaseFutureTask;->startTask()V
-HSPLandroid/accounts/AccountManager$Future2Task;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
 HSPLandroid/accounts/AccountManager$Future2Task;->done()V
-HSPLandroid/accounts/AccountManager$Future2Task;->getResult()Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$Future2Task;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$Future2Task;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$Future2Task;->start()Landroid/accounts/AccountManager$Future2Task;
 HSPLandroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
 HSPLandroid/accounts/AccountManager;->access$000(Landroid/accounts/AccountManager;)Landroid/accounts/IAccountManager;
-HSPLandroid/accounts/AccountManager;->access$100(Landroid/accounts/AccountManager;)Landroid/content/Context;
 HSPLandroid/accounts/AccountManager;->access$200(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
-HSPLandroid/accounts/AccountManager;->access$300(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
-HSPLandroid/accounts/AccountManager;->access$500(Landroid/accounts/AccountManager;)V
 HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z)V
 HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z[Ljava/lang/String;)V
 HSPLandroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
@@ -105,29 +73,11 @@
 HSPLandroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAccountsAsUser(I)[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager;->getAccountsByTypeAsUser(Ljava/lang/String;Landroid/os/UserHandle;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager;->getAuthenticatorTypes()[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AccountManager;->getAuthenticatorTypesAsUser(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/accounts/AccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/AccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->postToHandler(Landroid/os/Handler;Landroid/accounts/OnAccountsUpdateListener;[Landroid/accounts/Account;)V
-HSPLandroid/accounts/AccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/AccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/accounts/AccountManagerInternal;-><init>()V
-HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/accounts/AuthenticatorDescription$1;->newArray(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AuthenticatorDescription$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;Landroid/accounts/AuthenticatorDescription$1;)V
 HSPLandroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;)V
 HSPLandroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;Ljava/lang/String;IIIIZ)V
 HSPLandroid/accounts/AuthenticatorDescription;->equals(Ljava/lang/Object;)Z
@@ -137,32 +87,18 @@
 HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountAuthenticator$Stub;-><init>()V
-HSPLandroid/accounts/IAccountAuthenticator$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator;
-HSPLandroid/accounts/IAccountAuthenticator$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticatorResponse;
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->onAccountAccessed(Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/accounts/IAccountManager$Stub;-><init>()V
 HSPLandroid/accounts/IAccountManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManager;
+PLandroid/accounts/IAccountManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/accounts/IAccountManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -265,7 +201,6 @@
 HSPLandroid/animation/AnimatorSet$SeekState;->updateSeekDirection(Z)V
 HSPLandroid/animation/AnimatorSet;-><init>()V
 HSPLandroid/animation/AnimatorSet;->access$100(Landroid/animation/AnimatorSet;)Landroid/util/ArrayMap;
-HSPLandroid/animation/AnimatorSet;->access$200(Landroid/animation/AnimatorSet;)J
 HSPLandroid/animation/AnimatorSet;->access$300(Landroid/animation/AnimatorSet;)Z
 HSPLandroid/animation/AnimatorSet;->access$402(Landroid/animation/AnimatorSet;Z)Z
 HSPLandroid/animation/AnimatorSet;->access$500(Landroid/animation/AnimatorSet;Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node;
@@ -346,7 +281,6 @@
 HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe;
 HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe;
 HSPLandroid/animation/Keyframe$ObjectKeyframe;->getValue()Ljava/lang/Object;
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->setValue(Ljava/lang/Object;)V
 HSPLandroid/animation/Keyframe;-><init>()V
 HSPLandroid/animation/Keyframe;->getFraction()F
 HSPLandroid/animation/Keyframe;->getInterpolator()Landroid/animation/TimeInterpolator;
@@ -544,8 +478,6 @@
 HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V
 HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V
 HSPLandroid/animation/RectEvaluator;-><init>(Landroid/graphics/Rect;)V
-HSPLandroid/animation/RevealAnimator;-><init>(Landroid/view/View;IIFF)V
-HSPLandroid/animation/RevealAnimator;->onFinished()V
 HSPLandroid/animation/StateListAnimator$1;-><init>(Landroid/animation/StateListAnimator;)V
 HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;-><init>(Landroid/animation/StateListAnimator;)V
@@ -627,6 +559,7 @@
 HSPLandroid/animation/ValueAnimator;->resolveDurationScale()F
 HSPLandroid/animation/ValueAnimator;->reverse()V
 HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V
+HSPLandroid/animation/ValueAnimator;->setAnimationHandler(Landroid/animation/AnimationHandler;)V
 HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V
 HSPLandroid/animation/ValueAnimator;->setCurrentPlayTime(J)V
 HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/Animator;
@@ -664,8 +597,6 @@
 HSPLandroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;-><init>(Landroid/app/ActivityThread;)V
 HSPLandroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/-$$Lambda$AppOpsManager$2$t9yQjThS21ls97TonVuHm6nv4N8;-><init>(Landroid/app/AppOpsManager$OnOpActiveChangedListener;IILjava/lang/String;Z)V
-HSPLandroid/app/-$$Lambda$AppOpsManager$2$t9yQjThS21ls97TonVuHm6nv4N8;->run()V
 HSPLandroid/app/-$$Lambda$AppOpsManager$4Zbi7CSLEt0nvOmfJBVYtJkauTQ;-><init>(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
 HSPLandroid/app/-$$Lambda$AppOpsManager$4Zbi7CSLEt0nvOmfJBVYtJkauTQ;->onResult(Landroid/os/Bundle;)V
 HSPLandroid/app/-$$Lambda$AppOpsManager$HistoricalOp$DkVcBvqB32SMHlxw0sWQPh3GL1A;-><init>(Landroid/app/AppOpsManager$HistoricalOp;)V
@@ -684,6 +615,9 @@
 HSPLandroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;->test(Ljava/lang/Object;)Z
 HSPLandroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;-><init>(Landroid/app/SharedPreferencesImpl$EditorImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;)V
 HSPLandroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;->run()V
+HSPLandroid/app/-$$Lambda$SystemServiceRegistry$16$s6mZ42tuGUunhKa_5iwjLY5FGdM;-><clinit>()V
+HSPLandroid/app/-$$Lambda$SystemServiceRegistry$16$s6mZ42tuGUunhKa_5iwjLY5FGdM;-><init>()V
+HSPLandroid/app/-$$Lambda$SystemServiceRegistry$16$s6mZ42tuGUunhKa_5iwjLY5FGdM;->get()Ljava/lang/Object;
 HSPLandroid/app/-$$Lambda$SystemServiceRegistry$17$DBwvhMLzjNnBFkaOY1OxllrybH4;-><clinit>()V
 HSPLandroid/app/-$$Lambda$SystemServiceRegistry$17$DBwvhMLzjNnBFkaOY1OxllrybH4;-><init>()V
 HSPLandroid/app/-$$Lambda$SystemServiceRegistry$17$DBwvhMLzjNnBFkaOY1OxllrybH4;->get()Ljava/lang/Object;
@@ -712,14 +646,12 @@
 HSPLandroid/app/Activity;->access$100(Landroid/app/Activity;)Landroid/app/ActivityManager$TaskDescription;
 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;)V
 HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/app/Activity;->autofillClientFindViewByAutofillIdTraversal(Landroid/view/autofill/AutofillId;)Landroid/view/View;
 HSPLandroid/app/Activity;->autofillClientGetActivityToken()Landroid/os/IBinder;
 HSPLandroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
 HSPLandroid/app/Activity;->autofillClientIsFillUiShowing()Z
 HSPLandroid/app/Activity;->autofillClientRequestHideFillUi()Z
 HSPLandroid/app/Activity;->autofillClientResetableStateAvailable()V
 HSPLandroid/app/Activity;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
-HSPLandroid/app/Activity;->canStartActivityForResult()Z
 HSPLandroid/app/Activity;->cancelInputsAndStartExitTransition(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
 HSPLandroid/app/Activity;->dispatchActivityCreated(Landroid/os/Bundle;)V
@@ -753,13 +685,11 @@
 HSPLandroid/app/Activity;->finish()V
 HSPLandroid/app/Activity;->finish(I)V
 HSPLandroid/app/Activity;->finishAfterTransition()V
-HSPLandroid/app/Activity;->finishAndRemoveTask()V
 HSPLandroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions;
 HSPLandroid/app/Activity;->getActivityToken()Landroid/os/IBinder;
 HSPLandroid/app/Activity;->getApplication()Landroid/app/Application;
 HSPLandroid/app/Activity;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
 HSPLandroid/app/Activity;->getAutofillManager()Landroid/view/autofill/AutofillManager;
-HSPLandroid/app/Activity;->getCallingActivity()Landroid/content/ComponentName;
 HSPLandroid/app/Activity;->getCallingPackage()Ljava/lang/String;
 HSPLandroid/app/Activity;->getComponentName()Landroid/content/ComponentName;
 HSPLandroid/app/Activity;->getContentCaptureManager()Landroid/view/contentcapture/ContentCaptureManager;
@@ -773,10 +703,8 @@
 HSPLandroid/app/Activity;->getReferrer()Landroid/net/Uri;
 HSPLandroid/app/Activity;->getRequestedOrientation()I
 HSPLandroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/app/Activity;->getTaskId()I
 HSPLandroid/app/Activity;->getTitle()Ljava/lang/CharSequence;
 HSPLandroid/app/Activity;->getTitleColor()I
-HSPLandroid/app/Activity;->getVolumeControlStream()I
 HSPLandroid/app/Activity;->getWindow()Landroid/view/Window;
 HSPLandroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
 HSPLandroid/app/Activity;->initWindowDecorActionBar()V
@@ -789,9 +717,6 @@
 HSPLandroid/app/Activity;->isTaskRoot()Z
 HSPLandroid/app/Activity;->makeVisible()V
 HSPLandroid/app/Activity;->notifyContentCaptureManagerIfNeeded(I)V
-HSPLandroid/app/Activity;->onActionModeFinished(Landroid/view/ActionMode;)V
-HSPLandroid/app/Activity;->onActionModeStarted(Landroid/view/ActionMode;)V
-HSPLandroid/app/Activity;->onActivityResult(IILandroid/content/Intent;)V
 HSPLandroid/app/Activity;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V
 HSPLandroid/app/Activity;->onAttachFragment(Landroid/app/Fragment;)V
 HSPLandroid/app/Activity;->onAttachedToWindow()V
@@ -802,7 +727,6 @@
 HSPLandroid/app/Activity;->onCreateDescription()Ljava/lang/CharSequence;
 HSPLandroid/app/Activity;->onCreateOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/Activity;->onCreatePanelMenu(ILandroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onCreatePanelView(I)Landroid/view/View;
 HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/app/Activity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/app/Activity;->onDestroy()V
@@ -811,10 +735,7 @@
 HSPLandroid/app/Activity;->onKeyDown(ILandroid/view/KeyEvent;)Z
 HSPLandroid/app/Activity;->onKeyUp(ILandroid/view/KeyEvent;)Z
 HSPLandroid/app/Activity;->onLowMemory()V
-HSPLandroid/app/Activity;->onMenuItemSelected(ILandroid/view/MenuItem;)Z
 HSPLandroid/app/Activity;->onNewIntent(Landroid/content/Intent;)V
-HSPLandroid/app/Activity;->onOptionsItemSelected(Landroid/view/MenuItem;)Z
-HSPLandroid/app/Activity;->onPanelClosed(ILandroid/view/Menu;)V
 HSPLandroid/app/Activity;->onPause()V
 HSPLandroid/app/Activity;->onPictureInPictureRequested()V
 HSPLandroid/app/Activity;->onPictureInPictureRequested()Z
@@ -839,8 +760,6 @@
 HSPLandroid/app/Activity;->onUserLeaveHint()V
 HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/app/Activity;->onWindowFocusChanged(Z)V
-HSPLandroid/app/Activity;->onWindowStartingActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;
-HSPLandroid/app/Activity;->onWindowStartingActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
 HSPLandroid/app/Activity;->overridePendingTransition(II)V
 HSPLandroid/app/Activity;->performCreate(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->performCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
@@ -857,7 +776,6 @@
 HSPLandroid/app/Activity;->performUserLeaving()V
 HSPLandroid/app/Activity;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
 HSPLandroid/app/Activity;->reportFullyDrawn()V
-HSPLandroid/app/Activity;->requestWindowFeature(I)Z
 HSPLandroid/app/Activity;->restoreHasCurrentPermissionRequest(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->restoreManagedDialogs(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->retainNonConfigurationInstances()Landroid/app/Activity$NonConfigurationInstances;
@@ -867,13 +785,11 @@
 HSPLandroid/app/Activity;->setContentView(Landroid/view/View;)V
 HSPLandroid/app/Activity;->setIntent(Landroid/content/Intent;)V
 HSPLandroid/app/Activity;->setRequestedOrientation(I)V
-HSPLandroid/app/Activity;->setResult(I)V
 HSPLandroid/app/Activity;->setResult(ILandroid/content/Intent;)V
 HSPLandroid/app/Activity;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/Activity;->setTheme(I)V
 HSPLandroid/app/Activity;->setTitle(I)V
 HSPLandroid/app/Activity;->setTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/app/Activity;->setVolumeControlStream(I)V
 HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;)V
 HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
@@ -882,8 +798,6 @@
 HSPLandroid/app/Activity;->transferSpringboardActivityOptions(Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/app/ActivityManager$1;->create()Landroid/app/IActivityManager;
 HSPLandroid/app/ActivityManager$1;->create()Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$AppTask;-><init>(Landroid/app/IAppTask;)V
-HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
 HSPLandroid/app/ActivityManager$MemoryInfo;-><init>()V
 HSPLandroid/app/ActivityManager$MemoryInfo;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/app/ActivityManager$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
@@ -909,9 +823,6 @@
 HPLandroid/app/ActivityManager$RunningAppProcessInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningServiceInfo;
 HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/ActivityManager$RunningServiceInfo;-><init>()V
-HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
 HSPLandroid/app/ActivityManager$RunningServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/app/ActivityManager$RunningServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningTaskInfo;
@@ -934,8 +845,8 @@
 HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
-HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;I)V
 HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;ILjava/lang/String;IIIIZZIII)V
+HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/drawable/Icon;IIIIZZIII)V
 HSPLandroid/app/ActivityManager$TaskDescription;->copyFrom(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->copyFromPreserveHiddenFields(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I
@@ -951,13 +862,12 @@
 HSPLandroid/app/ActivityManager$TaskDescription;->getStatusBarColor()I
 HSPLandroid/app/ActivityManager$TaskDescription;->loadTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
 HSPLandroid/app/ActivityManager$TaskDescription;->readFromParcel(Landroid/os/Parcel;)V
-HPLandroid/app/ActivityManager$TaskDescription;->restoreFromXml(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/app/ActivityManager$TaskDescription;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setBackgroundColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureNavigationBarContrastWhenTransparent(Z)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureStatusBarContrastWhenTransparent(Z)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(Landroid/graphics/Bitmap;)V
+HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(Landroid/graphics/drawable/Icon;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setIconFilename(Ljava/lang/String;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setMinHeight(I)V
@@ -972,7 +882,6 @@
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;-><init>()V
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->build()Landroid/app/ActivityManager$TaskSnapshot;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->getPixelFormat()I
-HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->getScaleFraction()F
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setColorSpace(Landroid/graphics/ColorSpace;)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setContentInsets(Landroid/graphics/Rect;)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setId(J)Landroid/app/ActivityManager$TaskSnapshot$Builder;
@@ -980,8 +889,7 @@
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setIsTranslucent(Z)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setOrientation(I)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setPixelFormat(I)Landroid/app/ActivityManager$TaskSnapshot$Builder;
-HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setReducedResolution(Z)Landroid/app/ActivityManager$TaskSnapshot$Builder;
-HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setScaleFraction(F)Landroid/app/ActivityManager$TaskSnapshot$Builder;
+HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setRotation(I)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setSnapshot(Landroid/graphics/GraphicBuffer;)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setSystemUiVisibility(I)Landroid/app/ActivityManager$TaskSnapshot$Builder;
 HPLandroid/app/ActivityManager$TaskSnapshot$Builder;->setTopActivityComponent(Landroid/content/ComponentName;)Landroid/app/ActivityManager$TaskSnapshot$Builder;
@@ -996,6 +904,7 @@
 HSPLandroid/app/ActivityManager$TaskSnapshot;->getScale()F
 HSPLandroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer;
 HSPLandroid/app/ActivityManager$TaskSnapshot;->getSystemUiVisibility()I
+HSPLandroid/app/ActivityManager$TaskSnapshot;->getTaskSize()Landroid/graphics/Point;
 HPLandroid/app/ActivityManager$TaskSnapshot;->getTopActivityComponent()Landroid/content/ComponentName;
 HSPLandroid/app/ActivityManager$TaskSnapshot;->getWindowingMode()I
 HSPLandroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z
@@ -1011,7 +920,6 @@
 HSPLandroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;II)V
 HSPLandroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I
 HSPLandroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
-HSPLandroid/app/ActivityManager;->getAppTasks()Ljava/util/List;
 HSPLandroid/app/ActivityManager;->getCurrentUser()I
 HSPLandroid/app/ActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
 HSPLandroid/app/ActivityManager;->getLauncherLargeIconSize()I
@@ -1050,13 +958,14 @@
 HSPLandroid/app/ActivityManagerInternal;-><init>()V
 HSPLandroid/app/ActivityOptions;-><init>()V
 HSPLandroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
+HPLandroid/app/ActivityOptions;->abort()V
 HPLandroid/app/ActivityOptions;->abort(Landroid/app/ActivityOptions;)V
 HSPLandroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
 HSPLandroid/app/ActivityOptions;->freezeRecentTasksReordering()Z
 HSPLandroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
 HSPLandroid/app/ActivityOptions;->getAnimationType()I
 HSPLandroid/app/ActivityOptions;->getAvoidMoveToFront()Z
-PLandroid/app/ActivityOptions;->getCallerDisplayId()I
+HPLandroid/app/ActivityOptions;->getCallerDisplayId()I
 HPLandroid/app/ActivityOptions;->getLaunchActivityType()I
 HSPLandroid/app/ActivityOptions;->getLaunchBounds()Landroid/graphics/Rect;
 HSPLandroid/app/ActivityOptions;->getLaunchDisplayId()I
@@ -1137,7 +1046,6 @@
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
 PLandroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
@@ -1152,7 +1060,6 @@
 HSPLandroid/app/ActivityThread$ApplicationThread;->setProcessState(I)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->updateHttpProxy()V
-HSPLandroid/app/ActivityThread$ApplicationThread;->updateTimeZone()V
 HSPLandroid/app/ActivityThread$BindServiceData;-><init>()V
 HSPLandroid/app/ActivityThread$ContextCleanupInfo;-><init>()V
 HSPLandroid/app/ActivityThread$CreateBackupAgentData;-><init>()V
@@ -1271,7 +1178,6 @@
 HSPLandroid/app/ActivityThread;->handleDumpProvider(Landroid/app/ActivityThread$DumpComponentInfo;)V
 HSPLandroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
 HSPLandroid/app/ActivityThread;->handleEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
 HSPLandroid/app/ActivityThread;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
 HPLandroid/app/ActivityThread;->handleLowMemory()V
 HSPLandroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;)V
@@ -1358,7 +1264,6 @@
 HSPLandroid/app/ActivityTransitionState;->saveState(Landroid/os/Bundle;)V
 HSPLandroid/app/ActivityTransitionState;->setEnterActivityOptions(Landroid/app/Activity;Landroid/app/ActivityOptions;)V
 HSPLandroid/app/ActivityTransitionState;->startExitBackTransition(Landroid/app/Activity;)Z
-HSPLandroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
 HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AlarmManager$AlarmClockInfo;
 HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/AlarmManager$AlarmClockInfo;-><init>(Landroid/os/Parcel;)V
@@ -1373,21 +1278,18 @@
 HSPLandroid/app/AlarmManager;->access$100()Landroid/util/ArrayMap;
 HSPLandroid/app/AlarmManager;->cancel(Landroid/app/AlarmManager$OnAlarmListener;)V
 HSPLandroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
-HSPLandroid/app/AlarmManager;->getNextAlarmClock()Landroid/app/AlarmManager$AlarmClockInfo;
 HSPLandroid/app/AlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
 HPLandroid/app/AlarmManager;->getNextWakeFromIdleTime()J
 HSPLandroid/app/AlarmManager;->legacyExactLength()J
-HSPLandroid/app/AlarmManager;->set(IJJJLandroid/app/PendingIntent;Landroid/os/WorkSource;)V
 HSPLandroid/app/AlarmManager;->set(IJJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
 HSPLandroid/app/AlarmManager;->set(IJLandroid/app/PendingIntent;)V
 HSPLandroid/app/AlarmManager;->set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
-HSPLandroid/app/AlarmManager;->setAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
 HSPLandroid/app/AlarmManager;->setExact(IJLandroid/app/PendingIntent;)V
 HSPLandroid/app/AlarmManager;->setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
 HSPLandroid/app/AlarmManager;->setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
 HSPLandroid/app/AlarmManager;->setImpl(IJJJILandroid/app/PendingIntent;Landroid/app/AlarmManager$OnAlarmListener;Ljava/lang/String;Landroid/os/Handler;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
 HSPLandroid/app/AlarmManager;->setInexactRepeating(IJJLandroid/app/PendingIntent;)V
-HSPLandroid/app/AlarmManager;->setWindow(IJJLandroid/app/PendingIntent;)V
+PLandroid/app/AlarmManager;->setTime(J)V
 HSPLandroid/app/AlarmManager;->setWindow(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
 HSPLandroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;I)V
@@ -1398,7 +1300,6 @@
 HSPLandroid/app/AlertDialog;->access$000(Landroid/app/AlertDialog;)Lcom/android/internal/app/AlertController;
 HSPLandroid/app/AlertDialog;->onCreate(Landroid/os/Bundle;)V
 HSPLandroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-HSPLandroid/app/AlertDialog;->setTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/app/AlertDialog;->setView(Landroid/view/View;)V
 HSPLandroid/app/AppCompatCallbacks;-><init>([J)V
 HSPLandroid/app/AppCompatCallbacks;->install([J)V
@@ -1416,37 +1317,20 @@
 HSPLandroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
 HSPLandroid/app/AppGlobals;->getPermissionManager()Landroid/permission/IPermissionManager;
 HSPLandroid/app/AppOpsManager$1;-><init>(Landroid/app/AppOpsManager;Landroid/app/AppOpsManager$OnOpChangedListener;)V
+HSPLandroid/app/AppOpsManager$1;->onSelfNoted(Landroid/app/SyncNotedAppOp;)V
 HSPLandroid/app/AppOpsManager$1;->opChanged(IILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager$1;->reportStackTraceIfNeeded(Landroid/app/SyncNotedAppOp;)V
+HSPLandroid/app/AppOpsManager$2;-><init>(Landroid/app/AppOpsManager;Landroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager$2;-><init>(Landroid/app/AppOpsManager;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
-HSPLandroid/app/AppOpsManager$2;->lambda$opActiveChanged$0(Landroid/app/AppOpsManager$OnOpActiveChangedListener;IILjava/lang/String;Z)V
-HSPLandroid/app/AppOpsManager$2;->opActiveChanged(IILjava/lang/String;Z)V
-HSPLandroid/app/AppOpsManager$3;->opNoted(IILjava/lang/String;I)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps$1;-><init>()V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;-><clinit>()V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;-><init>(Ljava/lang/String;)V
-HPLandroid/app/AppOpsManager$HistoricalFeatureOps;-><init>(Ljava/lang/String;Landroid/util/ArrayMap;)V
-HPLandroid/app/AppOpsManager$HistoricalFeatureOps;->access$2900(Landroid/app/AppOpsManager$HistoricalFeatureOps;Landroid/app/AppOpsManager$HistoricalFeatureOps;)V
-HPLandroid/app/AppOpsManager$HistoricalFeatureOps;->access$3200(Landroid/app/AppOpsManager$HistoricalFeatureOps;)Z
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->access$3300(Landroid/app/AppOpsManager$HistoricalFeatureOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->access$3400(Landroid/app/AppOpsManager$HistoricalFeatureOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->access$3500(Landroid/app/AppOpsManager$HistoricalFeatureOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->getFeatureId()Ljava/lang/String;
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->getOp(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalOp;
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->getOpAt(I)Landroid/app/AppOpsManager$HistoricalOp;
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->getOpCount()I
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->getOrCreateHistoricalOp(I)Landroid/app/AppOpsManager$HistoricalOp;
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->increaseAccessCount(IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->increaseAccessDuration(IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->increaseRejectCount(IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->isEmpty()Z
-HSPLandroid/app/AppOpsManager$HistoricalFeatureOps;->merge(Landroid/app/AppOpsManager$HistoricalFeatureOps;)V
-HPLandroid/app/AppOpsManager$HistoricalFeatureOps;->splice(D)Landroid/app/AppOpsManager$HistoricalFeatureOps;
+HSPLandroid/app/AppOpsManager$2;->opChanged(IILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager$3;-><init>(Landroid/app/AppOpsManager;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
+HSPLandroid/app/AppOpsManager$4;-><init>(Landroid/app/AppOpsManager;Landroid/app/AppOpsManager$OnOpNotedListener;)V
+HSPLandroid/app/AppOpsManager$4;->opNoted(IILjava/lang/String;I)V
+HSPLandroid/app/AppOpsManager$AttributedOpEntry$1;-><init>()V
+HSPLandroid/app/AppOpsManager$AttributedOpEntry$LongSparseArrayParceling;-><init>()V
+HSPLandroid/app/AppOpsManager$AttributedOpEntry$LongSparseArrayParceling;-><init>(Landroid/app/AppOpsManager$1;)V
+HSPLandroid/app/AppOpsManager$AttributedOpEntry;-><clinit>()V
 HSPLandroid/app/AppOpsManager$HistoricalOp;-><init>(I)V
-HPLandroid/app/AppOpsManager$HistoricalOp;->access$3700(Landroid/app/AppOpsManager$HistoricalOp;Landroid/app/AppOpsManager$HistoricalOp;)V
-HPLandroid/app/AppOpsManager$HistoricalOp;->access$4100(Landroid/app/AppOpsManager$HistoricalOp;)Z
-HSPLandroid/app/AppOpsManager$HistoricalOp;->access$4200(Landroid/app/AppOpsManager$HistoricalOp;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOp;->access$4300(Landroid/app/AppOpsManager$HistoricalOp;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOp;->access$4400(Landroid/app/AppOpsManager$HistoricalOp;IIJ)V
 HSPLandroid/app/AppOpsManager$HistoricalOp;->getOpName()Ljava/lang/String;
 HSPLandroid/app/AppOpsManager$HistoricalOp;->getOrCreateAccessCount()Landroid/util/LongSparseLongArray;
 HSPLandroid/app/AppOpsManager$HistoricalOp;->getOrCreateAccessDuration()Landroid/util/LongSparseLongArray;
@@ -1477,7 +1361,6 @@
 HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseRejectCount(IILjava/lang/String;Ljava/lang/String;IIJ)V
 HSPLandroid/app/AppOpsManager$HistoricalOps;->isEmpty()Z
 HSPLandroid/app/AppOpsManager$HistoricalOps;->merge(Landroid/app/AppOpsManager$HistoricalOps;)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->offsetBeginAndEndTime(J)V
 HSPLandroid/app/AppOpsManager$HistoricalOps;->round(D)D
 HSPLandroid/app/AppOpsManager$HistoricalOps;->setBeginAndEndTime(JJ)V
 HSPLandroid/app/AppOpsManager$HistoricalOps;->setEndTime(J)V
@@ -1488,13 +1371,6 @@
 HSPLandroid/app/AppOpsManager$HistoricalOpsRequest;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;IJJILandroid/app/AppOpsManager$1;)V
 HSPLandroid/app/AppOpsManager$HistoricalOpsRequest;->access$5900(Landroid/app/AppOpsManager$HistoricalOpsRequest;)I
 HSPLandroid/app/AppOpsManager$HistoricalPackageOps;-><init>(Ljava/lang/String;)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2200(Landroid/app/AppOpsManager$HistoricalPackageOps;ILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2300(Landroid/app/AppOpsManager$HistoricalPackageOps;ILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2400(Landroid/app/AppOpsManager$HistoricalPackageOps;ILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getFeatureCount()I
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getFeatureOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalFeatureOps;
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getFeatureOpsAt(I)Landroid/app/AppOpsManager$HistoricalFeatureOps;
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getOrCreateHistoricalFeatureOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalFeatureOps;
 HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getPackageName()Ljava/lang/String;
 HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->increaseAccessCount(ILjava/lang/String;IIJ)V
 HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->increaseAccessDuration(ILjava/lang/String;IIJ)V
@@ -1503,9 +1379,6 @@
 HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->merge(Landroid/app/AppOpsManager$HistoricalPackageOps;)V
 HPLandroid/app/AppOpsManager$HistoricalPackageOps;->splice(D)Landroid/app/AppOpsManager$HistoricalPackageOps;
 HSPLandroid/app/AppOpsManager$HistoricalUidOps;-><init>(I)V
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->access$1100(Landroid/app/AppOpsManager$HistoricalUidOps;ILjava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->access$1200(Landroid/app/AppOpsManager$HistoricalUidOps;ILjava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->access$1300(Landroid/app/AppOpsManager$HistoricalUidOps;ILjava/lang/String;Ljava/lang/String;IIJ)V
 HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getOrCreateHistoricalPackageOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalPackageOps;
 HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getPackageCount()I
 HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getPackageOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalPackageOps;
@@ -1536,7 +1409,6 @@
 HSPLandroid/app/AppOpsManager$OpEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/AppOpsManager$OpEntry;-><init>(IILjava/util/Map;)V
 HSPLandroid/app/AppOpsManager$OpEntry;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/AppOpsManager$OpEntry;->getFeatures()Ljava/util/Map;
 HSPLandroid/app/AppOpsManager$OpEntry;->getMode()I
 HSPLandroid/app/AppOpsManager$OpEntry;->getOp()I
 HSPLandroid/app/AppOpsManager$OpEntry;->isRunning()Z
@@ -1545,8 +1417,7 @@
 HSPLandroid/app/AppOpsManager$OpEventProxyInfo;-><clinit>()V
 HSPLandroid/app/AppOpsManager$OpEventProxyInfo;-><init>(ILjava/lang/String;Ljava/lang/String;)V
 HPLandroid/app/AppOpsManager$OpEventProxyInfo;-><init>(Landroid/app/AppOpsManager$OpEventProxyInfo;)V
-PLandroid/app/AppOpsManager$OpEventProxyInfo;->getFeatureId()Ljava/lang/String;
-PLandroid/app/AppOpsManager$OpEventProxyInfo;->getPackageName()Ljava/lang/String;
+HSPLandroid/app/AppOpsManager$OpEventProxyInfo;->getPackageName()Ljava/lang/String;
 PLandroid/app/AppOpsManager$OpEventProxyInfo;->getUid()I
 HPLandroid/app/AppOpsManager$OpEventProxyInfo;->reinit(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$1;-><init>()V
@@ -1554,21 +1425,12 @@
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;-><init>()V
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;-><init>(Landroid/app/AppOpsManager$1;)V
-HPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;->parcel(Landroid/util/LongSparseArray;Landroid/os/Parcel;I)V
-HPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;->parcel(Ljava/lang/Object;Landroid/os/Parcel;I)V
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;->unparcel(Landroid/os/Parcel;)Landroid/util/LongSparseArray;
 HSPLandroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;->unparcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/AppOpsManager$OpFeatureEntry;-><clinit>()V
-HPLandroid/app/AppOpsManager$OpFeatureEntry;-><init>(IZLandroid/util/LongSparseArray;Landroid/util/LongSparseArray;)V
 HSPLandroid/app/AppOpsManager$OpFeatureEntry;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->collectKeys()Landroid/util/ArraySet;
 HSPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastAccessEvent(III)Landroid/app/AppOpsManager$NoteOpEvent;
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastAccessTime(III)J
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastDuration(III)J
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastProxyInfo(III)Landroid/app/AppOpsManager$OpEventProxyInfo;
 HSPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastRejectEvent(III)Landroid/app/AppOpsManager$NoteOpEvent;
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->getLastRejectTime(III)J
-HPLandroid/app/AppOpsManager$OpFeatureEntry;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AppOpsManager$PackageOps;
 HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/AppOpsManager$PackageOps;-><init>(Landroid/os/Parcel;)V
@@ -1578,31 +1440,37 @@
 HSPLandroid/app/AppOpsManager$PackageOps;->getUid()I
 HPLandroid/app/AppOpsManager$PackageOps;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
+HSPLandroid/app/AppOpsManager;->access$000()Lcom/android/internal/app/MessageSamplingConfig;
 HSPLandroid/app/AppOpsManager;->access$000(Landroid/util/LongSparseArray;III)Landroid/app/AppOpsManager$NoteOpEvent;
+HSPLandroid/app/AppOpsManager;->access$002(Lcom/android/internal/app/MessageSamplingConfig;)Lcom/android/internal/app/MessageSamplingConfig;
+HSPLandroid/app/AppOpsManager;->access$100()Ljava/lang/String;
+HSPLandroid/app/AppOpsManager;->access$200()Lcom/android/internal/app/IAppOpsService;
 HSPLandroid/app/AppOpsManager;->access$200()[Ljava/lang/String;
+HSPLandroid/app/AppOpsManager;->access$500()[Ljava/lang/String;
 HPLandroid/app/AppOpsManager;->checkAudioOpNoThrow(IIILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkPackage(ILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->collectNoteOpCallsForValidation(I)V
 HSPLandroid/app/AppOpsManager;->collectNotedOpForSelf(ILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->extractFlagsFromKey(J)I
 HSPLandroid/app/AppOpsManager;->extractUidStateFromKey(J)I
 HSPLandroid/app/AppOpsManager;->finishOp(IILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->finishOp(IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/AppOpsManager;->finishOp(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->getClientId()Landroid/os/IBinder;
 HSPLandroid/app/AppOpsManager;->getFormattedStackTrace()Ljava/lang/String;
 HSPLandroid/app/AppOpsManager;->getHistoricalOps(Landroid/app/AppOpsManager$HistoricalOpsRequest;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
 HSPLandroid/app/AppOpsManager;->getLastEvent(Landroid/util/LongSparseArray;III)Landroid/app/AppOpsManager$NoteOpEvent;
 HSPLandroid/app/AppOpsManager;->getNotedOpCollectionMode(ILjava/lang/String;I)I
-HSPLandroid/app/AppOpsManager;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
 HSPLandroid/app/AppOpsManager;->getPackagesForOps([I)Ljava/util/List;
+HSPLandroid/app/AppOpsManager;->getService()Lcom/android/internal/app/IAppOpsService;
 HSPLandroid/app/AppOpsManager;->getToken(Lcom/android/internal/app/IAppOpsService;)Landroid/os/IBinder;
 HSPLandroid/app/AppOpsManager;->isCollectingNotedAppOps()Z
 HPLandroid/app/AppOpsManager;->isOperationActive(IILjava/lang/String;)Z
 HSPLandroid/app/AppOpsManager;->lambda$getHistoricalOps$0(Ljava/util/function/Consumer;Landroid/app/AppOpsManager$HistoricalOps;)V
 HSPLandroid/app/AppOpsManager;->lambda$getHistoricalOps$1(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+HSPLandroid/app/AppOpsManager;->leftCircularDistance(III)I
 HSPLandroid/app/AppOpsManager;->makeKey(II)J
 HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
@@ -1614,8 +1482,6 @@
 HSPLandroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->opToDefaultMode(I)I
 HSPLandroid/app/AppOpsManager;->opToPermission(I)Ljava/lang/String;
 HSPLandroid/app/AppOpsManager;->opToPublicName(I)Ljava/lang/String;
@@ -1630,22 +1496,21 @@
 HSPLandroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->setUidMode(Ljava/lang/String;II)V
 HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;)I
-HPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;Z)I
 HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;ZLjava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->startWatchingActive([ILandroid/app/AppOpsManager$OnOpActiveChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingActive([Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
-HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingNoted([ILandroid/app/AppOpsManager$OnOpNotedListener;)V
 HSPLandroid/app/AppOpsManager;->stopWatchingMode(Landroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I
+HPLandroid/app/AppOpsManager;->sumForFlagsInStates(Landroid/util/LongSparseLongArray;III)J
 HSPLandroid/app/AppOpsManager;->unsafeCheckOp(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(IILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManagerInternal;-><init>()V
 HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
 HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostDestroyed(Landroid/app/Activity;)V
@@ -1706,6 +1571,8 @@
 HPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Ljava/lang/Throwable;)V
 HSPLandroid/app/ApplicationErrorReport;-><init>()V
+HSPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;
+HSPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
 HSPLandroid/app/ApplicationErrorReport;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ApplicationExitInfo$1;-><init>()V
 HSPLandroid/app/ApplicationExitInfo;-><clinit>()V
@@ -1752,7 +1619,6 @@
 HSPLandroid/app/ApplicationPackageManager$HasSystemFeatureQuery;-><init>(Ljava/lang/String;I)V
 HSPLandroid/app/ApplicationPackageManager$HasSystemFeatureQuery;->equals(Ljava/lang/Object;)Z
 HSPLandroid/app/ApplicationPackageManager$HasSystemFeatureQuery;->hashCode()I
-HSPLandroid/app/ApplicationPackageManager$MoveCallbackDelegate;-><init>(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Looper;)V
 HSPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;-><init>(Landroid/app/ApplicationPackageManager;Landroid/content/pm/PackageManager$OnPermissionsChangedListener;Landroid/os/Looper;)V
 HSPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->handleMessage(Landroid/os/Message;)Z
 HSPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->onPermissionsChanged(I)V
@@ -1766,7 +1632,6 @@
 HSPLandroid/app/ApplicationPackageManager;->access$000(Landroid/app/ApplicationPackageManager;Ljava/lang/String;I)Z
 HSPLandroid/app/ApplicationPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
 HSPLandroid/app/ApplicationPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/ApplicationPackageManager;->checkSignatures(II)I
 HSPLandroid/app/ApplicationPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/ApplicationPackageManager;->configurationChanged()V
 HSPLandroid/app/ApplicationPackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
@@ -1780,7 +1645,9 @@
 HSPLandroid/app/ApplicationPackageManager;->getCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/app/ApplicationPackageManager;->getCachedString(Landroid/app/ApplicationPackageManager$ResourceName;)Ljava/lang/CharSequence;
 HSPLandroid/app/ApplicationPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;)I
+HSPLandroid/app/ApplicationPackageManager;->getContentCaptureServicePackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
+HSPLandroid/app/ApplicationPackageManager;->getDefaultTextClassifierPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/app/ApplicationPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
 HSPLandroid/app/ApplicationPackageManager;->getInstalledApplications(I)Ljava/util/List;
@@ -1802,6 +1669,8 @@
 HSPLandroid/app/ApplicationPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
 HSPLandroid/app/ApplicationPackageManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+PLandroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
+HSPLandroid/app/ApplicationPackageManager;->getProfileIconForDensity(Landroid/os/UserHandle;II)Landroid/graphics/drawable/Drawable;
 HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
 HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;
 HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
@@ -1810,9 +1679,7 @@
 HSPLandroid/app/ApplicationPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getSetupWizardPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;
 HSPLandroid/app/ApplicationPackageManager;->getSystemCaptionsServicePackageName()Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
 HSPLandroid/app/ApplicationPackageManager;->getUserBadgeColor(Landroid/os/UserHandle;)I
 HSPLandroid/app/ApplicationPackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;
@@ -1836,6 +1703,7 @@
 HSPLandroid/app/ApplicationPackageManager;->putCachedString(Landroid/app/ApplicationPackageManager$ResourceName;Ljava/lang/CharSequence;)V
 HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;II)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;
@@ -1854,8 +1722,6 @@
 HSPLandroid/app/ApplicationPackageManager;->updateFlagsForComponent(IILandroid/content/Intent;)I
 HSPLandroid/app/ApplicationPackageManager;->updateFlagsForPackage(II)I
 HSPLandroid/app/ApplicationPackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V
-HSPLandroid/app/AsyncNotedAppOp$1;-><init>()V
-HSPLandroid/app/AsyncNotedAppOp;-><clinit>()V
 HPLandroid/app/AsyncNotedAppOp;-><init>(IILjava/lang/String;Ljava/lang/String;J)V
 HSPLandroid/app/BackStackRecord$Op;-><init>(ILandroid/app/Fragment;)V
 HSPLandroid/app/BackStackRecord;-><init>(Landroid/app/FragmentManagerImpl;)V
@@ -1863,7 +1729,6 @@
 HSPLandroid/app/BackStackRecord;->addOp(Landroid/app/BackStackRecord$Op;)V
 HSPLandroid/app/BackStackRecord;->bumpBackStackNesting(I)V
 HSPLandroid/app/BackStackRecord;->commit()I
-HSPLandroid/app/BackStackRecord;->commitAllowingStateLoss()I
 HSPLandroid/app/BackStackRecord;->commitInternal(Z)I
 HSPLandroid/app/BackStackRecord;->doAddOp(ILandroid/app/Fragment;Ljava/lang/String;I)V
 HSPLandroid/app/BackStackRecord;->executeOps()V
@@ -1894,8 +1759,6 @@
 HSPLandroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;Landroid/app/ContentProviderHolder$1;)V
 HSPLandroid/app/ContentProviderHolder;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ContextImpl$1;-><init>(Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;-><init>(Landroid/content/Context;Landroid/app/ActivityThread;)V
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
@@ -1918,11 +1781,11 @@
 HSPLandroid/app/ContextImpl;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
 HSPLandroid/app/ContextImpl;->checkSelfPermission(Ljava/lang/String;)I
 HSPLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;III)I
-HSPLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
 HSPLandroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
+HSPLandroid/app/ContextImpl;->createAttributionContext(Ljava/lang/String;)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createContextAsUser(Landroid/os/UserHandle;I)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createCredentialProtectedStorageContext()Landroid/content/Context;
@@ -1936,10 +1799,8 @@
 HSPLandroid/app/ContextImpl;->createSystemContext(Landroid/app/ActivityThread;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;I)Landroid/app/ContextImpl;
-HSPLandroid/app/ContextImpl;->databaseList()[Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->deleteDatabase(Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl;->deleteFile(Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl;->deleteSharedPreferences(Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl;->enforce(Ljava/lang/String;IZILjava/lang/String;)V
 HSPLandroid/app/ContextImpl;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
@@ -1949,11 +1810,11 @@
 HSPLandroid/app/ContextImpl;->ensurePrivateCacheDirExists(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;)Ljava/io/File;
 HSPLandroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;IILjava/lang/String;)Ljava/io/File;
-HSPLandroid/app/ContextImpl;->fileList()[Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder;
 HSPLandroid/app/ContextImpl;->getApplicationContext()Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/app/ContextImpl;->getAssets()Landroid/content/res/AssetManager;
+HSPLandroid/app/ContextImpl;->getAttributionTag()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
 HSPLandroid/app/ContextImpl;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLandroid/app/ContextImpl;->getBasePackageName()Ljava/lang/String;
@@ -1988,7 +1849,6 @@
 HSPLandroid/app/ContextImpl;->getPackageCodePath()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getPackageManager()Landroid/content/pm/PackageManager;
 HSPLandroid/app/ContextImpl;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/ContextImpl;->getPackageResourcePath()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->getResources()Landroid/content/res/Resources;
@@ -2002,7 +1862,6 @@
 HSPLandroid/app/ContextImpl;->getThemeResId()I
 HSPLandroid/app/ContextImpl;->getUser()Landroid/os/UserHandle;
 HSPLandroid/app/ContextImpl;->getUserId()I
-HSPLandroid/app/ContextImpl;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
 HSPLandroid/app/ContextImpl;->initializeTheme()V
 HSPLandroid/app/ContextImpl;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
 HSPLandroid/app/ContextImpl;->isCredentialProtectedStorage()Z
@@ -2011,21 +1870,15 @@
 HSPLandroid/app/ContextImpl;->isUiComponent(Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl;->isUiContext()Z
 HSPLandroid/app/ContextImpl;->makeFilename(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/app/ContextImpl;->moveFiles(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)I
-HSPLandroid/app/ContextImpl;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
 HSPLandroid/app/ContextImpl;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/app/ContextImpl;->performFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
-HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiverForAllUsers(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiverInternal(Landroid/content/BroadcastReceiver;ILandroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;Landroid/content/Context;I)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->resolveUserId(Landroid/net/Uri;)I
-HSPLandroid/app/ContextImpl;->revokeUriPermission(Landroid/net/Uri;I)V
 HSPLandroid/app/ContextImpl;->scheduleFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;)V
 HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
@@ -2034,9 +1887,6 @@
 HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
 HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/app/ContextImpl;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
@@ -2079,7 +1929,6 @@
 HSPLandroid/app/Dialog;->dismiss()V
 HSPLandroid/app/Dialog;->dismissDialog()V
 HSPLandroid/app/Dialog;->dispatchOnCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Dialog;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/app/Dialog;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/app/Dialog;->findViewById(I)Landroid/view/View;
 HSPLandroid/app/Dialog;->getContext()Landroid/content/Context;
@@ -2106,30 +1955,9 @@
 HSPLandroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V
 HSPLandroid/app/Dialog;->setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V
 HSPLandroid/app/Dialog;->setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V
-HSPLandroid/app/Dialog;->setOwnerActivity(Landroid/app/Activity;)V
 HSPLandroid/app/Dialog;->setTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/app/Dialog;->show()V
-HSPLandroid/app/DownloadManager$CursorTranslator;-><init>(Landroid/database/Cursor;Landroid/net/Uri;Z)V
-HSPLandroid/app/DownloadManager$CursorTranslator;->getInt(I)I
-HSPLandroid/app/DownloadManager$CursorTranslator;->getLong(I)J
-HSPLandroid/app/DownloadManager$CursorTranslator;->translateStatus(I)I
-HSPLandroid/app/DownloadManager$Query;-><init>()V
-HSPLandroid/app/DownloadManager$Query;->joinStrings(Ljava/lang/String;Ljava/lang/Iterable;)Ljava/lang/String;
-HSPLandroid/app/DownloadManager$Query;->runQuery(Landroid/content/ContentResolver;[Ljava/lang/String;Landroid/net/Uri;)Landroid/database/Cursor;
-HSPLandroid/app/DownloadManager$Query;->setFilterById([J)Landroid/app/DownloadManager$Query;
-HSPLandroid/app/DownloadManager$Query;->setFilterByStatus(I)Landroid/app/DownloadManager$Query;
-HSPLandroid/app/DownloadManager$Request;-><init>(Landroid/net/Uri;)V
-HSPLandroid/app/DownloadManager$Request;->putIfNonNull(Landroid/content/ContentValues;Ljava/lang/String;Ljava/lang/Object;)V
-HSPLandroid/app/DownloadManager$Request;->setNotificationVisibility(I)Landroid/app/DownloadManager$Request;
-HSPLandroid/app/DownloadManager$Request;->setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;
-HSPLandroid/app/DownloadManager$Request;->toContentValues(Ljava/lang/String;)Landroid/content/ContentValues;
 HSPLandroid/app/DownloadManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/DownloadManager;->enqueue(Landroid/app/DownloadManager$Request;)J
-HSPLandroid/app/DownloadManager;->getWhereClauseForIds([J)Ljava/lang/String;
-HSPLandroid/app/DownloadManager;->markRowDeleted([J)I
-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/DownloadManager;->remove([J)I
 HSPLandroid/app/EventLogTags;->writeWmOnActivityResultCalled(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/EventLogTags;->writeWmOnCreateCalled(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/EventLogTags;->writeWmOnDestroyCalled(ILjava/lang/String;Ljava/lang/String;)V
@@ -2159,7 +1987,6 @@
 HSPLandroid/app/Fragment;->initState()V
 HSPLandroid/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
 HSPLandroid/app/Fragment;->instantiateChildFragmentManager()V
-HSPLandroid/app/Fragment;->isAdded()Z
 HSPLandroid/app/Fragment;->isPostponed()Z
 HSPLandroid/app/Fragment;->noteStateNotSaved()V
 HSPLandroid/app/Fragment;->onActivityCreated(Landroid/os/Bundle;)V
@@ -2173,6 +2000,7 @@
 HSPLandroid/app/Fragment;->onDestroyView()V
 HSPLandroid/app/Fragment;->onDetach()V
 HSPLandroid/app/Fragment;->onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
+HSPLandroid/app/Fragment;->onLowMemory()V
 HSPLandroid/app/Fragment;->onPause()V
 HSPLandroid/app/Fragment;->onResume()V
 HSPLandroid/app/Fragment;->onSaveInstanceState(Landroid/os/Bundle;)V
@@ -2190,7 +2018,7 @@
 HSPLandroid/app/Fragment;->performDestroyView()V
 HSPLandroid/app/Fragment;->performDetach()V
 HSPLandroid/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-HSPLandroid/app/Fragment;->performOptionsItemSelected(Landroid/view/MenuItem;)Z
+HSPLandroid/app/Fragment;->performLowMemory()V
 HSPLandroid/app/Fragment;->performPause()V
 HSPLandroid/app/Fragment;->performPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/Fragment;->performResume()V
@@ -2204,7 +2032,6 @@
 HSPLandroid/app/Fragment;->setIndex(ILandroid/app/Fragment;)V
 HSPLandroid/app/Fragment;->setNextAnim(I)V
 HSPLandroid/app/Fragment;->setNextTransition(II)V
-HSPLandroid/app/Fragment;->setRetainInstance(Z)V
 HSPLandroid/app/Fragment;->toString()Ljava/lang/String;
 HSPLandroid/app/FragmentContainer;-><init>()V
 HSPLandroid/app/FragmentContainer;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
@@ -2217,7 +2044,6 @@
 HSPLandroid/app/FragmentController;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
 HSPLandroid/app/FragmentController;->dispatchDestroy()V
 HSPLandroid/app/FragmentController;->dispatchLowMemory()V
-HSPLandroid/app/FragmentController;->dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z
 HSPLandroid/app/FragmentController;->dispatchPause()V
 HSPLandroid/app/FragmentController;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/FragmentController;->dispatchResume()V
@@ -2294,7 +2120,6 @@
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentStopped(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewCreated(Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewDestroyed(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z
 HSPLandroid/app/FragmentManagerImpl;->dispatchPause()V
 HSPLandroid/app/FragmentManagerImpl;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/FragmentManagerImpl;->dispatchResume()V
@@ -2376,7 +2201,6 @@
 HSPLandroid/app/IActivityManager$Stub$Proxy;->bindIsolatedService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->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;ILandroid/os/Bundle;ZZI)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->cancelIntentSender(Landroid/content/IIntentSender;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
@@ -2389,33 +2213,25 @@
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getProviderMimeTypeAsync(Landroid/net/Uri;ILandroid/os/RemoteCallback;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getRunningAppProcesses()Ljava/util/List;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;I)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserAMonkey()Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->refContentProvider(Landroid/os/IBinder;II)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerReceiverWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->resumeAppSwitches()V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;III)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->setHasTopUi(Z)V
@@ -2446,8 +2262,6 @@
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityTopResumedStateLost()V
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
 HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDisplayId(Landroid/os/IBinder;)I
@@ -2496,16 +2310,14 @@
 HSPLandroid/app/IAlarmManager$Stub$Proxy;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
 HSPLandroid/app/IAlarmManager$Stub;-><init>()V
 HSPLandroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager;
+PLandroid/app/IAlarmManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/app/IAlarmManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAppTask$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/app/IAppTask$Stub$Proxy;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/IAppTask$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAppTask;
 HPLandroid/app/IAppTask$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;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)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->clearDnsCache()V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
@@ -2529,11 +2341,9 @@
 HSPLandroid/app/IBackupAgent$Stub;-><init>()V
 HSPLandroid/app/IBackupAgent$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IBackupAgent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/app/IInstantAppResolver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/app/IInstantAppResolver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/pm/InstantAppRequestInfo;ILandroid/os/IRemoteCallback;)V
-HSPLandroid/app/IInstantAppResolver$Stub;-><init>()V
-PLandroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
-HSPLandroid/app/IInstantAppResolver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
 HSPLandroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher;
 HSPLandroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z
@@ -2543,28 +2353,26 @@
 HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->enqueueTextOrCustomToast(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;IIZ)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->finishToken(Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getEffectsSuppressor()Landroid/content/ComponentName;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getPrivateNotificationsAllowed()Z
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenMode()I
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenRules()Ljava/util/List;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
 HSPLandroid/app/INotificationManager$Stub$Proxy;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-PLandroid/app/INotificationManager$Stub$Proxy;->setPrivateNotificationsAllowed(Z)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
 HSPLandroid/app/INotificationManager$Stub;-><init>()V
 HSPLandroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
+PLandroid/app/INotificationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/app/INotificationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/app/IProcessObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/app/IProcessObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -2579,7 +2387,6 @@
 HSPLandroid/app/IRequestFinishCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/ISearchManager$Stub;-><init>()V
 HSPLandroid/app/ISearchManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ISearchManager;
-PLandroid/app/ISearchManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/IServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IServiceConnection$Stub$Proxy;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
@@ -2623,13 +2430,12 @@
 HSPLandroid/app/IUidObserver$Stub;-><init>()V
 HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IUidObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUidObserver;
-HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IUriGrantsManager$Stub;-><init>()V
 HSPLandroid/app/IUriGrantsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUriGrantsManager;
 HPLandroid/app/IUriGrantsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
+HPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
 HSPLandroid/app/IUserSwitchObserver$Stub;-><init>()V
 HSPLandroid/app/IUserSwitchObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IUserSwitchObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUserSwitchObserver;
@@ -2648,25 +2454,11 @@
 HSPLandroid/app/IWallpaperManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
+HPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
 HSPLandroid/app/IWallpaperManagerCallback$Stub;-><init>()V
 HSPLandroid/app/IWallpaperManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IWallpaperManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManagerCallback;
-HSPLandroid/app/InstantAppResolverService$1;-><init>(Landroid/app/InstantAppResolverService;)V
-HSPLandroid/app/InstantAppResolverService$1;->getInstantAppResolveInfoList(Landroid/content/pm/InstantAppRequestInfo;ILandroid/os/IRemoteCallback;)V
-HSPLandroid/app/InstantAppResolverService$InstantAppResolutionCallback;-><init>(ILandroid/os/IRemoteCallback;)V
-HSPLandroid/app/InstantAppResolverService$InstantAppResolutionCallback;->onInstantAppResolveInfo(Ljava/util/List;)V
-HSPLandroid/app/InstantAppResolverService$ServiceHandler;-><init>(Landroid/app/InstantAppResolverService;Landroid/os/Looper;)V
-HSPLandroid/app/InstantAppResolverService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/app/InstantAppResolverService;-><clinit>()V
-HSPLandroid/app/InstantAppResolverService;-><init>()V
-HSPLandroid/app/InstantAppResolverService;->access$000()Z
-HSPLandroid/app/InstantAppResolverService;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/app/InstantAppResolverService;->getLooper()Landroid/os/Looper;
-HSPLandroid/app/InstantAppResolverService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/app/InstantAppResolverService;->onGetInstantAppResolveInfo(Landroid/content/Intent;[ILandroid/os/UserHandle;Ljava/lang/String;Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;)V
-HSPLandroid/app/InstantAppResolverService;->onGetInstantAppResolveInfo(Landroid/content/Intent;[ILjava/lang/String;Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;)V
-HSPLandroid/app/InstantAppResolverService;->onGetInstantAppResolveInfo(Landroid/content/pm/InstantAppRequestInfo;Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;)V
+HSPLandroid/app/IWallpaperManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/Instrumentation;-><init>()V
 HSPLandroid/app/Instrumentation;->basicInit(Landroid/app/ActivityThread;)V
 HSPLandroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
@@ -2694,14 +2486,12 @@
 HSPLandroid/app/Instrumentation;->postPerformCreate(Landroid/app/Activity;)V
 HSPLandroid/app/Instrumentation;->prePerformCreate(Landroid/app/Activity;)V
 HSPLandroid/app/IntentReceiverLeaked;-><init>(Ljava/lang/String;)V
-HSPLandroid/app/IntentService$ServiceHandler;-><init>(Landroid/app/IntentService;Landroid/os/Looper;)V
 HSPLandroid/app/IntentService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/app/IntentService;-><init>(Ljava/lang/String;)V
 HSPLandroid/app/IntentService;->onCreate()V
 HSPLandroid/app/IntentService;->onDestroy()V
 HSPLandroid/app/IntentService;->onStart(Landroid/content/Intent;I)V
 HSPLandroid/app/IntentService;->onStartCommand(Landroid/content/Intent;II)I
-HSPLandroid/app/IntentService;->setIntentRedelivery(Z)V
 HSPLandroid/app/JobSchedulerImpl;-><init>(Landroid/app/job/IJobScheduler;)V
 HSPLandroid/app/JobSchedulerImpl;->cancel(I)V
 HSPLandroid/app/JobSchedulerImpl;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
@@ -2718,7 +2508,6 @@
 HSPLandroid/app/KeyguardManager;->isDeviceSecure(I)Z
 HSPLandroid/app/KeyguardManager;->isKeyguardLocked()Z
 HSPLandroid/app/KeyguardManager;->isKeyguardSecure()Z
-PLandroid/app/KeyguardManager;->setPrivateNotificationsAllowed(Z)V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable;
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args()V
@@ -2776,7 +2565,6 @@
 HSPLandroid/app/LoadedApk;->getResDir()Ljava/lang/String;
 HSPLandroid/app/LoadedApk;->getResources()Landroid/content/res/Resources;
 HSPLandroid/app/LoadedApk;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
-HSPLandroid/app/LoadedApk;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/content/Context;Ljava/util/concurrent/Executor;I)Landroid/app/IServiceConnection;
 HSPLandroid/app/LoadedApk;->getServiceDispatcherCommon(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;Ljava/util/concurrent/Executor;I)Landroid/app/IServiceConnection;
 HSPLandroid/app/LoadedApk;->getSplitClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
 HSPLandroid/app/LoadedApk;->getSplitPaths(Ljava/lang/String;)[Ljava/lang/String;
@@ -2793,14 +2581,12 @@
 HSPLandroid/app/LoadedApk;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
 HSPLandroid/app/LoadedApk;->setupJitProfileSupport()V
 HSPLandroid/app/LoadedApk;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-HSPLandroid/app/LoaderManagerImpl;->doStop()V
 HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification;
 HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification$Action;
 HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/Notification$Action$1;->newArray(I)[Landroid/app/Notification$Action;
 HSPLandroid/app/Notification$Action$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/app/Notification$Action$Builder;-><init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V
 HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
 HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZI)V
 HSPLandroid/app/Notification$Action$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;
@@ -2841,21 +2627,17 @@
 HSPLandroid/app/Notification$BubbleMetadata$Builder;-><init>()V
 HSPLandroid/app/Notification$BubbleMetadata$Builder;->build()Landroid/app/Notification$BubbleMetadata;
 HSPLandroid/app/Notification$BubbleMetadata$Builder;->setDesiredHeight(I)Landroid/app/Notification$BubbleMetadata$Builder;
-HSPLandroid/app/Notification$BubbleMetadata;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/graphics/drawable/Icon;IILjava/lang/String;)V
 HSPLandroid/app/Notification$BubbleMetadata;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/graphics/drawable/Icon;IILjava/lang/String;Landroid/app/Notification$1;)V
 HSPLandroid/app/Notification$BubbleMetadata;->setFlags(I)V
 HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Landroid/app/Notification;)V
 HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLandroid/app/Notification$Builder;->access$2300(Landroid/app/Notification$Builder;ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->access$2900(Landroid/app/Notification$Builder;)Ljava/util/ArrayList;
 HSPLandroid/app/Notification$Builder;->access$300(Landroid/app/Notification$Builder;)Landroid/app/Notification;
 HSPLandroid/app/Notification$Builder;->access$3400(Landroid/app/Notification$Builder;)Landroid/content/Context;
 HSPLandroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->addPerson(Landroid/app/Person;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->addPerson(Ljava/lang/String;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
@@ -2876,6 +2658,7 @@
 HSPLandroid/app/Notification$Builder;->buildUnstyled()Landroid/app/Notification;
 HSPLandroid/app/Notification$Builder;->calculateMarginEnd(ZZ)I
 HSPLandroid/app/Notification$Builder;->createBigContentView()Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->createContentView()Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->createContentView(Z)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->createHeadsUpContentView(Z)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$Builder;->createSummaryText()Ljava/lang/CharSequence;
@@ -2885,7 +2668,6 @@
 HSPLandroid/app/Notification$Builder;->getAllExtras()Landroid/os/Bundle;
 HSPLandroid/app/Notification$Builder;->getBackgroundColor(Landroid/app/Notification$StandardTemplateParams;)I
 HSPLandroid/app/Notification$Builder;->getBaseLayoutResource()I
-HSPLandroid/app/Notification$Builder;->getBigBaseLayoutResource()I
 HSPLandroid/app/Notification$Builder;->getHeadsUpStatusBarText(Z)Ljava/lang/CharSequence;
 HSPLandroid/app/Notification$Builder;->getNeutralColor(Landroid/app/Notification$StandardTemplateParams;)I
 HSPLandroid/app/Notification$Builder;->getPrimaryTextColor(Landroid/app/Notification$StandardTemplateParams;)I
@@ -2980,10 +2762,7 @@
 HSPLandroid/app/Notification$InboxStyle;->makeBigContentView()Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$InboxStyle;->restoreFromExtras(Landroid/os/Bundle;)V
 HSPLandroid/app/Notification$MediaStyle;-><init>()V
-HSPLandroid/app/Notification$MediaStyle;->addExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MediaStyle;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
 HSPLandroid/app/Notification$MediaStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MediaStyle;->setShowActionsInCompactView([I)Landroid/app/Notification$MediaStyle;
 HSPLandroid/app/Notification$MessagingStyle$Message;-><init>(Ljava/lang/CharSequence;JLandroid/app/Person;Z)V
 HSPLandroid/app/Notification$MessagingStyle$Message;->access$3500(Landroid/app/Notification$MessagingStyle$Message;)Ljava/lang/CharSequence;
 HSPLandroid/app/Notification$MessagingStyle$Message;->access$3600(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Person;
@@ -2992,26 +2771,31 @@
 HSPLandroid/app/Notification$MessagingStyle$Message;->getExtras()Landroid/os/Bundle;
 HSPLandroid/app/Notification$MessagingStyle$Message;->getMessageFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$MessagingStyle$Message;
 HSPLandroid/app/Notification$MessagingStyle$Message;->getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;
+HSPLandroid/app/Notification$MessagingStyle$Message;->getSender()Ljava/lang/CharSequence;
 HSPLandroid/app/Notification$MessagingStyle$Message;->getSenderPerson()Landroid/app/Person;
 HSPLandroid/app/Notification$MessagingStyle$Message;->getText()Ljava/lang/CharSequence;
 HSPLandroid/app/Notification$MessagingStyle$Message;->getTimestamp()J
+HSPLandroid/app/Notification$MessagingStyle$Message;->isRemoteInputHistory()Z
 HSPLandroid/app/Notification$MessagingStyle$Message;->toBundle()Landroid/os/Bundle;
 HSPLandroid/app/Notification$MessagingStyle;-><init>()V
 HSPLandroid/app/Notification$MessagingStyle;->addExtras(Landroid/os/Bundle;)V
 HSPLandroid/app/Notification$MessagingStyle;->findLatestIncomingMessage()Landroid/app/Notification$MessagingStyle$Message;
 HSPLandroid/app/Notification$MessagingStyle;->findLatestIncomingMessage(Ljava/util/List;)Landroid/app/Notification$MessagingStyle$Message;
 HSPLandroid/app/Notification$MessagingStyle;->fixTitleAndTextExtras(Landroid/os/Bundle;)V
+HSPLandroid/app/Notification$MessagingStyle;->getHeadsUpStatusBarText()Ljava/lang/CharSequence;
 HSPLandroid/app/Notification$MessagingStyle;->getMessages()Ljava/util/List;
+HSPLandroid/app/Notification$MessagingStyle;->isGroupConversation()Z
+HSPLandroid/app/Notification$MessagingStyle;->makeBigContentView()Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$MessagingStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$MessagingStyle;->makeMessagingView(ZZ)Landroid/widget/RemoteViews;
 HSPLandroid/app/Notification$MessagingStyle;->restoreFromExtras(Landroid/os/Bundle;)V
+HSPLandroid/app/Notification$MessagingStyle;->setConversationTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;
 HSPLandroid/app/Notification$MessagingStyle;->validate(Landroid/content/Context;)V
 HSPLandroid/app/Notification$StandardTemplateParams;-><init>()V
 HSPLandroid/app/Notification$StandardTemplateParams;-><init>(Landroid/app/Notification$1;)V
 HSPLandroid/app/Notification$StandardTemplateParams;->fillTextsFrom(Landroid/app/Notification$Builder;)Landroid/app/Notification$StandardTemplateParams;
 HSPLandroid/app/Notification$StandardTemplateParams;->reset()Landroid/app/Notification$StandardTemplateParams;
 HSPLandroid/app/Notification$StandardTemplateParams;->setMaxRemoteInputHistory(I)Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification$StandardTemplateParams;->text(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
 HSPLandroid/app/Notification$Style;-><init>()V
 HSPLandroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
 HSPLandroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
@@ -3027,14 +2811,12 @@
 HSPLandroid/app/Notification$Style;->restoreFromExtras(Landroid/os/Bundle;)V
 HSPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V
 HSPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V
-HSPLandroid/app/Notification$TemplateBindResult;-><init>()V
 HSPLandroid/app/Notification$TemplateBindResult;-><init>(Landroid/app/Notification$1;)V
 HSPLandroid/app/Notification$TemplateBindResult;->getIconMarginEnd()I
 HSPLandroid/app/Notification$TemplateBindResult;->setIconMarginEnd(I)V
 HSPLandroid/app/Notification$TemplateBindResult;->setRightIconContainerVisible(Z)V
 HSPLandroid/app/Notification;-><init>()V
 HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/Notification;->access$1002(Landroid/app/Notification;Landroid/app/Notification$BubbleMetadata;)Landroid/app/Notification$BubbleMetadata;
 HSPLandroid/app/Notification;->access$1102(Landroid/app/Notification;J)J
 HSPLandroid/app/Notification;->access$1300(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
 HSPLandroid/app/Notification;->access$1302(Landroid/app/Notification;Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Icon;
@@ -3045,18 +2827,15 @@
 HSPLandroid/app/Notification;->access$1800(Landroid/app/Notification;)Z
 HSPLandroid/app/Notification;->access$2002(Landroid/app/Notification;J)J
 HSPLandroid/app/Notification;->access$2100(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
-HSPLandroid/app/Notification;->access$2202(Landroid/app/Notification;Z)Z
 HSPLandroid/app/Notification;->access$502(Landroid/app/Notification;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/Notification;->access$600(Landroid/app/Notification;)Ljava/lang/String;
-HSPLandroid/app/Notification;->access$602(Landroid/app/Notification;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/Notification;->access$802(Landroid/app/Notification;I)I
 HSPLandroid/app/Notification;->access$902(Landroid/app/Notification;I)I
 HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/Context;Landroid/app/Notification;)V
 HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V
 HPLandroid/app/Notification;->areActionsVisiblyDifferent(Landroid/app/Notification;Landroid/app/Notification;)Z
 HPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
 HPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)Z
-HPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
+HSPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
 HSPLandroid/app/Notification;->clone()Landroid/app/Notification;
 HSPLandroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
 HSPLandroid/app/Notification;->findRemoteInputActionPair(Z)Landroid/util/Pair;
@@ -3125,11 +2904,10 @@
 HSPLandroid/app/NotificationChannel;->getUserLockedFields()I
 HSPLandroid/app/NotificationChannel;->getVibrationPattern()[J
 HSPLandroid/app/NotificationChannel;->hasUserSetImportance()Z
+HSPLandroid/app/NotificationChannel;->hashCode()I
 HSPLandroid/app/NotificationChannel;->isBlockableSystem()Z
 HSPLandroid/app/NotificationChannel;->isDeleted()Z
-HSPLandroid/app/NotificationChannel;->isDemoted()Z
 HSPLandroid/app/NotificationChannel;->isFgServiceShown()Z
-PLandroid/app/NotificationChannel;->isImportanceLockedByOEM()Z
 HSPLandroid/app/NotificationChannel;->lockFields(I)V
 HSPLandroid/app/NotificationChannel;->longArrayToString([J)Ljava/lang/String;
 HSPLandroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
@@ -3210,6 +2988,7 @@
 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>(IIIII)V
+HSPLandroid/app/NotificationManager$Policy;-><init>(IIIIII)V
 HSPLandroid/app/NotificationManager$Policy;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/NotificationManager$Policy;->allowAlarms()Z
 HSPLandroid/app/NotificationManager$Policy;->allowCalls()Z
@@ -3243,12 +3022,10 @@
 HSPLandroid/app/NotificationManager;->fixNotification(Landroid/app/Notification;)Landroid/app/Notification;
 HSPLandroid/app/NotificationManager;->from(Landroid/content/Context;)Landroid/app/NotificationManager;
 HSPLandroid/app/NotificationManager;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
-HSPLandroid/app/NotificationManager;->getAutomaticZenRules()Ljava/util/Map;
 HSPLandroid/app/NotificationManager;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/NotificationManager;->getCurrentInterruptionFilter()I
 HSPLandroid/app/NotificationManager;->getEffectsSuppressor()Landroid/content/ComponentName;
 HSPLandroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/app/NotificationManager;->getNotificationChannelGroup(Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
 HSPLandroid/app/NotificationManager;->getNotificationChannelGroups()Ljava/util/List;
 HSPLandroid/app/NotificationManager;->getNotificationChannels()Ljava/util/List;
 HSPLandroid/app/NotificationManager;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
@@ -3272,7 +3049,6 @@
 HSPLandroid/app/PendingIntent;->cancel()V
 HSPLandroid/app/PendingIntent;->describeContents()I
 HSPLandroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/PendingIntent;->getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
@@ -3285,7 +3061,6 @@
 HSPLandroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getTag(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/app/PendingIntent;->getTarget()Landroid/content/IIntentSender;
-HSPLandroid/app/PendingIntent;->getTargetPackage()Ljava/lang/String;
 HSPLandroid/app/PendingIntent;->hashCode()I
 HSPLandroid/app/PendingIntent;->isActivity()Z
 HPLandroid/app/PendingIntent;->isBroadcast()Z
@@ -3325,18 +3100,13 @@
 HSPLandroid/app/Person;->getIcon()Landroid/graphics/drawable/Icon;
 HSPLandroid/app/Person;->getKey()Ljava/lang/String;
 HSPLandroid/app/Person;->getName()Ljava/lang/CharSequence;
+HPLandroid/app/Person;->resolveToLegacyUri()Ljava/lang/String;
 HSPLandroid/app/Person;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/PictureInPictureParams$Builder;-><init>()V
 HSPLandroid/app/PictureInPictureParams$Builder;->build()Landroid/app/PictureInPictureParams;
 HSPLandroid/app/PictureInPictureParams;-><init>(Landroid/util/Rational;Ljava/util/List;Landroid/graphics/Rect;)V
-PLandroid/app/ProcessMemoryState$1;-><init>()V
-PLandroid/app/ProcessMemoryState;-><clinit>()V
-HPLandroid/app/ProcessMemoryState;-><init>(IILjava/lang/String;I)V
 HSPLandroid/app/ProgressDialog;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/ProgressDialog;->initFormats()V
-HSPLandroid/app/ProgressDialog;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/ProgressDialog;->onProgressChanged()V
-HSPLandroid/app/ProgressDialog;->onStart()V
 HSPLandroid/app/ProgressDialog;->setIndeterminate(Z)V
 HSPLandroid/app/ProgressDialog;->setMessage(Ljava/lang/CharSequence;)V
 HSPLandroid/app/PropertyInvalidatedCache$1;-><init>(Landroid/app/PropertyInvalidatedCache;IFZI)V
@@ -3377,7 +3147,6 @@
 HSPLandroid/app/RemoteInput;->getAllowFreeFormInput()Z
 HSPLandroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
 HSPLandroid/app/RemoteInput;->getEditChoicesBeforeSending()I
-HSPLandroid/app/RemoteInput;->getLabel()Ljava/lang/CharSequence;
 HSPLandroid/app/RemoteInput;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ResourcesManager$ActivityResources;-><init>()V
 HSPLandroid/app/ResourcesManager$ActivityResources;-><init>(Landroid/app/ResourcesManager$1;)V
@@ -3387,7 +3156,6 @@
 HSPLandroid/app/ResourcesManager$UpdateHandler;-><init>(Landroid/app/ResourcesManager;)V
 HSPLandroid/app/ResourcesManager$UpdateHandler;-><init>(Landroid/app/ResourcesManager;Landroid/app/ResourcesManager$1;)V
 HSPLandroid/app/ResourcesManager;-><init>()V
-HSPLandroid/app/ResourcesManager;->appendLibAssetsForMainAssetPath(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/app/ResourcesManager;->applyCompatConfigurationLocked(ILandroid/content/res/Configuration;)Z
 HSPLandroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Z
 HSPLandroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;Landroid/content/res/ResourcesKey;Landroid/content/res/ResourcesImpl;)V
@@ -3397,6 +3165,7 @@
 HSPLandroid/app/ResourcesManager;->createAssetManager(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
 HSPLandroid/app/ResourcesManager;->createBaseActivityResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->createBaseActivityResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;Ljava/util/List;)Landroid/content/res/Resources;
+HSPLandroid/app/ResourcesManager;->createBaseTokenResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;Ljava/util/List;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->createResources(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->createResourcesForActivityLocked(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
@@ -3519,7 +3288,6 @@
 HSPLandroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V
 HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
 HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
-HSPLandroid/app/StatsManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/StatusBarManager;->disable(I)V
 HSPLandroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService;
@@ -3528,8 +3296,7 @@
 HSPLandroid/app/SyncNotedAppOp;-><init>(ILjava/lang/String;)V
 HSPLandroid/app/SyncNotedAppOp;->getOp()Ljava/lang/String;
 HSPLandroid/app/SynchronousUserSwitchObserver;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$100;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
+HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/CrossProfileApps;
 HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
 HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -3539,7 +3306,6 @@
 HSPLandroid/app/SystemServiceRegistry$104;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$105;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager;
 HSPLandroid/app/SystemServiceRegistry$105;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$106;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
 HSPLandroid/app/SystemServiceRegistry$106;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionControllerManager;
 HSPLandroid/app/SystemServiceRegistry$106;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$107;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
@@ -3576,81 +3342,90 @@
 HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/content/Context;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$15;->createService()Landroid/os/IBinder;
 HSPLandroid/app/SystemServiceRegistry$15;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$16;->createService(Landroid/app/ContextImpl;)Landroid/net/TetheringManager;
+HSPLandroid/app/SystemServiceRegistry$16;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$16;->lambda$createService$0()Landroid/os/IBinder;
 HSPLandroid/app/SystemServiceRegistry$17;->createService(Landroid/app/ContextImpl;)Landroid/net/TetheringManager;
 HSPLandroid/app/SystemServiceRegistry$17;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$17;->lambda$createService$0()Landroid/os/IBinder;
 HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/AccessibilityManager;
 HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
-HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
 HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$22;->createService()Landroid/location/CountryDetector;
 HSPLandroid/app/SystemServiceRegistry$22;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
+HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
 HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
 HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
 HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
+HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
 HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
 HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$26;->createService()Landroid/hardware/input/InputManager;
-HSPLandroid/app/SystemServiceRegistry$26;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
 HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/nfc/NfcManager;
 HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$27;->createService()Landroid/hardware/input/InputManager;
+HSPLandroid/app/SystemServiceRegistry$27;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
 HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/os/DropBoxManager;
 HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$28;->createService()Landroid/hardware/input/InputManager;
 HSPLandroid/app/SystemServiceRegistry$28;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$28;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
-HSPLandroid/app/SystemServiceRegistry$28;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
+HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
 HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/app/SystemServiceRegistry$29;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager;
 HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
 HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/ColorDisplayManager;
-HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
 HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$30;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
+HSPLandroid/app/SystemServiceRegistry$30;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
+HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
 HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$31;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/app/SystemServiceRegistry$31;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
 HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
+HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
 HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
-HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
 HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
 HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
 HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
+HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
 HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
 HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
 HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
 HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$37;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
 HSPLandroid/app/SystemServiceRegistry$37;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
 HSPLandroid/app/SystemServiceRegistry$37;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
+HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
 HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Landroid/accounts/AccountManager;
 HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
 HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
 HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
 HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
+HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
 HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
 HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
@@ -3660,10 +3435,7 @@
 HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/StorageStatsManager;
 HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Landroid/os/SystemUpdateManager;
-HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager;
 HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
 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;
@@ -3671,17 +3443,18 @@
 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;)Landroid/app/UiModeManager;
 HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
 HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 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;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
 HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
 HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
 HSPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
 HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
 HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
@@ -3705,29 +3478,33 @@
 HSPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
 HSPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Landroid/app/AppOpsManager;
+HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
 HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/LauncherApps;
 HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
 HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$65;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/LauncherApps;
 HSPLandroid/app/SystemServiceRegistry$65;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
 HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
 HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
 HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$71;->createService()Landroid/app/trust/TrustManager;
 HSPLandroid/app/SystemServiceRegistry$71;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
 HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Landroid/hardware/face/FaceManager;
 HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$74;->createService(Landroid/app/ContextImpl;)Landroid/hardware/biometrics/BiometricManager;
+HSPLandroid/app/SystemServiceRegistry$74;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Landroid/hardware/biometrics/BiometricManager;
 HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$76;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
 HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
 HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$79;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
 HSPLandroid/app/SystemServiceRegistry$79;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
@@ -3736,9 +3513,6 @@
 HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
 HSPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
-HSPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
 HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
 HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -3755,8 +3529,8 @@
 HSPLandroid/app/SystemServiceRegistry$91;->createService(Landroid/app/ContextImpl;)Landroid/os/health/SystemHealthManager;
 HSPLandroid/app/SystemServiceRegistry$91;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
+HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Landroid/os/health/SystemHealthManager;
 HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
 HSPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
 HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -3786,6 +3560,7 @@
 HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HSPLandroid/app/TaskStackListener;->onTaskDisplayChanged(II)V
+HSPLandroid/app/TaskStackListener;->onTaskFocusChanged(IZ)V
 HSPLandroid/app/TaskStackListener;->onTaskMovedToFront(I)V
 HSPLandroid/app/TaskStackListener;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HSPLandroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
@@ -3810,6 +3585,7 @@
 HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperInfo;
 HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/WallpaperInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/WallpaperInfo;->supportsAmbientMode()Z
 HSPLandroid/app/WallpaperManager$ColorManagementProxy;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/WallpaperManager$Globals;-><init>(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
 HSPLandroid/app/WallpaperManager$Globals;->access$200(Landroid/app/WallpaperManager$Globals;)Landroid/app/IWallpaperManager;
@@ -3889,39 +3665,26 @@
 HSPLandroid/app/admin/DevicePolicyEventLogger;-><init>(I)V
 HSPLandroid/app/admin/DevicePolicyEventLogger;->createEvent(I)Landroid/app/admin/DevicePolicyEventLogger;
 HPLandroid/app/admin/DevicePolicyEventLogger;->setAdmin(Landroid/content/ComponentName;)Landroid/app/admin/DevicePolicyEventLogger;
-PLandroid/app/admin/DevicePolicyEventLogger;->setAdmin(Ljava/lang/String;)Landroid/app/admin/DevicePolicyEventLogger;
 PLandroid/app/admin/DevicePolicyEventLogger;->setBoolean(Z)Landroid/app/admin/DevicePolicyEventLogger;
 HSPLandroid/app/admin/DevicePolicyEventLogger;->setStrings([Ljava/lang/String;)Landroid/app/admin/DevicePolicyEventLogger;
 HSPLandroid/app/admin/DevicePolicyEventLogger;->stringArrayValueToBytes([Ljava/lang/String;)[B
 HSPLandroid/app/admin/DevicePolicyEventLogger;->write()V
 HSPLandroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;)V
 HSPLandroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;Z)V
-HSPLandroid/app/admin/DevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
 HSPLandroid/app/admin/DevicePolicyManager;->getActiveAdmins()Ljava/util/List;
 HSPLandroid/app/admin/DevicePolicyManager;->getActiveAdminsAsUser(I)Ljava/util/List;
 HSPLandroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
 HSPLandroid/app/admin/DevicePolicyManager;->getCurrentFailedPasswordAttempts(I)I
-HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwner()Ljava/lang/String;
 HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentInner(Z)Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnAnyUser()Landroid/content/ComponentName;
-HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
 HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerUser()Landroid/os/UserHandle;
 HSPLandroid/app/admin/DevicePolicyManager;->getGuestUserDisabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;)I
 HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I
 HSPLandroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J
-HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
-HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwner()Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
-HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus()I
-HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I
-HSPLandroid/app/admin/DevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
 HSPLandroid/app/admin/DevicePolicyManager;->hasDeviceIdentifierAccess(Ljava/lang/String;II)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
 HSPLandroid/app/admin/DevicePolicyManager;->isDeviceManaged()Z
 HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerApp(Ljava/lang/String;)Z
 HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnAnyUserInner(Ljava/lang/String;Z)Z
@@ -3929,7 +3692,6 @@
 HSPLandroid/app/admin/DevicePolicyManager;->isLogoutEnabled()Z
 HSPLandroid/app/admin/DevicePolicyManager;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
 HSPLandroid/app/admin/DevicePolicyManager;->isProfileOwnerApp(Ljava/lang/String;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isSecondaryLockscreenEnabled(I)Z
 HSPLandroid/app/admin/DevicePolicyManager;->myUserId()I
 HSPLandroid/app/admin/DevicePolicyManager;->reportKeyguardDismissed(I)V
 HSPLandroid/app/admin/DevicePolicyManager;->reportKeyguardSecured(I)V
@@ -3948,34 +3710,24 @@
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStorageEncryptionStatus(Ljava/lang/String;I)I
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLogoutEnabled()Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isSecondaryLockscreenEnabled(I)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportKeyguardDismissed(I)V
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportKeyguardSecured(I)V
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportSuccessfulBiometricAttempt(I)V
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportSuccessfulPasswordAttempt(I)V
 HSPLandroid/app/admin/IDevicePolicyManager$Stub;-><init>()V
 HSPLandroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
+HPLandroid/app/admin/IDevicePolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact$setApplicationRestrictions$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
 HPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact$setUninstallBlocked$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
+HPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact$setUserRestriction$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/admin/IKeyguardCallback$Stub;-><init>()V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket$1;-><init>(Ljava/lang/String;II)V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket$2;-><init>(Ljava/lang/String;II)V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket$3;-><init>(Ljava/lang/String;II)V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket$4;-><init>(Ljava/lang/String;II)V
 PLandroid/app/admin/PasswordMetrics$ComplexityBucket$4;->allowsCredType(I)Z
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket;-><clinit>()V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket;-><init>(Ljava/lang/String;II)V
-PLandroid/app/admin/PasswordMetrics$ComplexityBucket;-><init>(Ljava/lang/String;IILandroid/app/admin/PasswordMetrics$1;)V
 PLandroid/app/admin/PasswordMetrics$ComplexityBucket;->forComplexity(I)Landroid/app/admin/PasswordMetrics$ComplexityBucket;
 HPLandroid/app/admin/PasswordMetrics$ComplexityBucket;->values()[Landroid/app/admin/PasswordMetrics$ComplexityBucket;
 HPLandroid/app/admin/PasswordMetrics;-><init>(I)V
@@ -4014,6 +3766,7 @@
 HSPLandroid/app/assist/AssistStructure$SendChannel;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/assist/AssistStructure$ViewNode;-><init>()V
 HSPLandroid/app/assist/AssistStructure$ViewNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;I)V
+HSPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillHints()[Ljava/lang/String;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillType()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;
@@ -4022,47 +3775,35 @@
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getContentDescription()Ljava/lang/CharSequence;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getHeight()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getHint()Ljava/lang/String;
+HSPLandroid/app/assist/AssistStructure$ViewNode;->getHtmlInfo()Landroid/view/ViewStructure$HtmlInfo;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getIdEntry()Ljava/lang/String;
+HSPLandroid/app/assist/AssistStructure$ViewNode;->getInputType()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getLeft()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getScrollX()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getScrollY()I
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getText()Ljava/lang/CharSequence;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getTop()I
-HSPLandroid/app/assist/AssistStructure$ViewNode;->getVisibility()I
+HSPLandroid/app/assist/AssistStructure$ViewNode;->getWebDomain()Ljava/lang/String;
 HSPLandroid/app/assist/AssistStructure$ViewNode;->getWidth()I
-HSPLandroid/app/assist/AssistStructure$ViewNode;->isClickable()Z
-HSPLandroid/app/assist/AssistStructure$ViewNode;->isFocused()Z
 HSPLandroid/app/assist/AssistStructure$ViewNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;Z[F)I
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;-><init>(Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistStructure$ViewNode;Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getChildCount()I
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getNodeText()Landroid/app/assist/AssistStructure$ViewNodeText;
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->newChild(I)Landroid/view/ViewStructure;
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillHints([Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillId(Landroid/view/autofill/AutofillId;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillType(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setChildCount(I)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClassName(Ljava/lang/String;)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClickable(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setContentDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDataIsSensitive(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDimens(IIIIII)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setEnabled(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocusable(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocused(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setHint(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setHintIdEntry(Ljava/lang/String;)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setImportantForAutofill(I)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setInputType(I)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setLongClickable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextEms(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextLength(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMinTextEms(I)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setOpaque(Z)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setSelected(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setText(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextIdEntry(Ljava/lang/String;)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setVisibility(I)V
 HSPLandroid/app/assist/AssistStructure$ViewNodeText;-><init>()V
 HSPLandroid/app/assist/AssistStructure$ViewNodeText;-><init>(Landroid/os/Parcel;Z)V
@@ -4077,7 +3818,6 @@
 HSPLandroid/app/assist/AssistStructure$WindowNode;->getTitle()Ljava/lang/CharSequence;
 HSPLandroid/app/assist/AssistStructure$WindowNode;->getTop()I
 HSPLandroid/app/assist/AssistStructure$WindowNode;->getWidth()I
-HSPLandroid/app/assist/AssistStructure$WindowNode;->resolveViewAutofillFlags(Landroid/content/Context;I)I
 HSPLandroid/app/assist/AssistStructure$WindowNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;[F)V
 HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)V
 HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/os/Parcel;)V
@@ -4093,11 +3833,13 @@
 HSPLandroid/app/assist/AssistStructure;->access$500(Landroid/app/assist/AssistStructure;)Ljava/util/ArrayList;
 HSPLandroid/app/assist/AssistStructure;->clearSendChannel()V
 HSPLandroid/app/assist/AssistStructure;->ensureData()V
-HSPLandroid/app/assist/AssistStructure;->getActivityComponent()Landroid/content/ComponentName;
 HSPLandroid/app/assist/AssistStructure;->getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;
 HSPLandroid/app/assist/AssistStructure;->getWindowNodeCount()I
 HSPLandroid/app/assist/AssistStructure;->setAcquisitionEndTime(J)V
 HSPLandroid/app/assist/AssistStructure;->setAcquisitionStartTime(J)V
+PLandroid/app/assist/AssistStructure;->setActivityComponent(Landroid/content/ComponentName;)V
+PLandroid/app/assist/AssistStructure;->setHomeActivity(Z)V
+PLandroid/app/assist/AssistStructure;->setTaskId(I)V
 HSPLandroid/app/assist/AssistStructure;->waitForReady()Z
 HSPLandroid/app/assist/AssistStructure;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/backup/BackupAgent$BackupServiceBinder;-><init>(Landroid/app/backup/BackupAgent;)V
@@ -4141,23 +3883,8 @@
 HSPLandroid/app/backup/BackupManager;->checkServiceBinder()V
 HSPLandroid/app/backup/BackupManager;->dataChanged()V
 HSPLandroid/app/backup/BackupManager;->dataChanged(Ljava/lang/String;)V
-HSPLandroid/app/backup/BackupManager;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/BackupManager;->isBackupEnabled()Z
-HSPLandroid/app/backup/BackupManager;->isBackupServiceActive(Landroid/os/UserHandle;)Z
-HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/app/backup/BackupTransport$TransportImpl;-><init>(Landroid/app/backup/BackupTransport;)V
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->configurationIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->currentDestinationString()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntentLabel()Ljava/lang/CharSequence;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->name()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->transportDirName()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport;-><init>()V
-HSPLandroid/app/backup/BackupTransport;->configurationIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport;->dataManagementIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport;->dataManagementIntentLabel()Ljava/lang/CharSequence;
-HSPLandroid/app/backup/BackupTransport;->getBinder()Landroid/os/IBinder;
+HSPLandroid/app/backup/FileBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
+HSPLandroid/app/backup/FileBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HSPLandroid/app/backup/FileBackupHelperBase;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/backup/FileBackupHelperBase;->finalize()V
 HSPLandroid/app/backup/FileBackupHelperBase;->performBackup_checked(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)V
@@ -4167,20 +3894,18 @@
 HSPLandroid/app/backup/IBackupCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupCallback;
 HSPLandroid/app/backup/IBackupManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupEnabled()Z
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupServiceActive(I)Z
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
 HSPLandroid/app/backup/IBackupManager$Stub;-><init>()V
-PLandroid/app/backup/IBackupManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/backup/IBackupManager$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
 HPLandroid/app/backup/IBackupManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/backup/SharedPreferencesBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
 HSPLandroid/app/backup/SharedPreferencesBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HSPLandroid/app/blob/IBlobStoreManager$Stub;-><init>()V
-HPLandroid/app/blob/IBlobStoreManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/compat/ChangeIdStateCache;-><clinit>()V
+HSPLandroid/app/compat/ChangeIdStateCache;-><init>()V
+HSPLandroid/app/compat/CompatChanges;-><clinit>()V
+HSPLandroid/app/compat/CompatChanges;->isChangeEnabled(J)Z
 HSPLandroid/app/contentsuggestions/IContentSuggestionsManager$Stub;-><init>()V
-HPLandroid/app/contentsuggestions/IContentSuggestionsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/job/-$$Lambda$FpGlzN9oJcl8o5soW-gU-DyTvXM;->createService(Landroid/content/Context;)Ljava/lang/Object;
 HSPLandroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0;->createService(Landroid/content/Context;Landroid/os/IBinder;)Ljava/lang/Object;
 HSPLandroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$RHUxgww0pZFMmfQWKgaRAx0YFqA;->createService(Landroid/os/IBinder;)Ljava/lang/Object;
@@ -4199,7 +3924,6 @@
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getAllPendingJobs()Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getPendingJob(I)Landroid/app/job/JobInfo;
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->schedule(Landroid/app/job/JobInfo;)I
-HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/job/IJobScheduler$Stub;-><init>()V
 HSPLandroid/app/job/IJobScheduler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobScheduler;
 HSPLandroid/app/job/IJobScheduler$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -4258,7 +3982,6 @@
 HSPLandroid/app/job/JobInfo$Builder;->setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setTransientExtras(Landroid/os/Bundle;)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo$Builder;->setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo$TriggerContentUri;
 HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/JobInfo$TriggerContentUri;
@@ -4309,7 +4032,6 @@
 HPLandroid/app/job/JobInfo;->isPrefetch()Z
 HSPLandroid/app/job/JobInfo;->isRequireCharging()Z
 HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
-HPLandroid/app/job/JobInfo;->kindofEqualsBundle(Landroid/os/BaseBundle;Landroid/os/BaseBundle;)Z
 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;
@@ -4393,10 +4115,10 @@
 HSPLandroid/app/prediction/IPredictionManager$Stub;-><init>()V
 HPLandroid/app/prediction/IPredictionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/role/-$$Lambda$9DeAxmM9lUVr3-FTSefyo-BW8DY;-><init>(Lcom/android/internal/infra/AndroidFuture;)V
-PLandroid/app/role/-$$Lambda$9DeAxmM9lUVr3-FTSefyo-BW8DY;->onResult(Landroid/os/Bundle;)V
-PLandroid/app/role/-$$Lambda$RoleControllerManager$Jsb4ev7pHUqel8_lglNSRLiUzpg;->run(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/app/role/-$$Lambda$9DeAxmM9lUVr3-FTSefyo-BW8DY;->onResult(Landroid/os/Bundle;)V
+HPLandroid/app/role/-$$Lambda$RoleControllerManager$Jsb4ev7pHUqel8_lglNSRLiUzpg;->run(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/role/-$$Lambda$RoleControllerManager$hbh627Rh8mtJykW3vb1FWR34mIQ;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/String;Ljava/util/function/Consumer;)V
-PLandroid/app/role/-$$Lambda$RoleControllerManager$hbh627Rh8mtJykW3vb1FWR34mIQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/app/role/-$$Lambda$RoleControllerManager$hbh627Rh8mtJykW3vb1FWR34mIQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HPLandroid/app/role/-$$Lambda$RoleControllerManager$mCMKfoPdye0sMu6efs963HCR1Xk;-><init>(Ljava/lang/Throwable;Ljava/lang/String;Ljava/util/function/Consumer;Landroid/os/Bundle;)V
 HPLandroid/app/role/-$$Lambda$RoleControllerManager$mCMKfoPdye0sMu6efs963HCR1Xk;->run()V
 HSPLandroid/app/role/-$$Lambda$Z0BwIRmLFQVA4XrF_I5nxvuecWE;-><clinit>()V
@@ -4404,10 +4126,10 @@
 PLandroid/app/role/-$$Lambda$Z0BwIRmLFQVA4XrF_I5nxvuecWE;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/app/role/IOnRoleHoldersChangedListener$Stub;-><init>()V
 HSPLandroid/app/role/IOnRoleHoldersChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/app/role/IRoleController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/app/role/IRoleController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/app/role/IRoleController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/role/IRoleController$Stub$Proxy;->grantDefaultRoles(Landroid/os/RemoteCallback;)V
-PLandroid/app/role/IRoleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/role/IRoleController;
+HPLandroid/app/role/IRoleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/role/IRoleController;
 HSPLandroid/app/role/IRoleManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/role/IRoleManager$Stub$Proxy;->getDefaultSmsPackage(I)Ljava/lang/String;
 HSPLandroid/app/role/IRoleManager$Stub;-><init>()V
@@ -4418,7 +4140,7 @@
 HSPLandroid/app/role/RoleControllerManager;-><init>(Landroid/content/ComponentName;Landroid/os/Handler;Landroid/content/Context;)V
 PLandroid/app/role/RoleControllerManager;->createWithInitializedRemoteServiceComponentName(Landroid/os/Handler;Landroid/content/Context;)Landroid/app/role/RoleControllerManager;
 HSPLandroid/app/role/RoleControllerManager;->getRemoteServiceComponentName(Landroid/content/Context;)Landroid/content/ComponentName;
-PLandroid/app/role/RoleControllerManager;->grantDefaultRoles(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
+HPLandroid/app/role/RoleControllerManager;->grantDefaultRoles(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
 HSPLandroid/app/role/RoleControllerManager;->initializeRemoteServiceComponentName(Landroid/content/Context;)V
 HPLandroid/app/role/RoleControllerManager;->lambda$grantDefaultRoles$0(Landroid/app/role/IRoleController;)Ljava/util/concurrent/CompletableFuture;
 HPLandroid/app/role/RoleControllerManager;->lambda$propagateCallback$7(Ljava/lang/Throwable;Ljava/lang/String;Ljava/util/function/Consumer;Landroid/os/Bundle;)V
@@ -4445,11 +4167,9 @@
 HSPLandroid/app/servertransaction/ActivityLifecycleItem;->recycle()V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityRelaunchItem;
 HSPLandroid/app/servertransaction/ActivityRelaunchItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/ActivityRelaunchItem;-><init>()V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/ActivityRelaunchItem$1;)V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ActivityRelaunchItem;->obtain(Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/servertransaction/ActivityRelaunchItem;
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HSPLandroid/app/servertransaction/ActivityRelaunchItem;->recycle()V
@@ -4612,17 +4332,13 @@
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->pathInvolvesDestruction(Landroid/util/IntArray;)Z
 HSPLandroid/app/slice/-$$Lambda$SliceProvider$bIgM5f4PsMvz_YYWEeFTjvTqevw;-><init>(Landroid/app/slice/SliceProvider;)V
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
 HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
 HSPLandroid/app/slice/ISliceManager$Stub;-><init>()V
 HSPLandroid/app/slice/ISliceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/slice/ISliceManager;
 HPLandroid/app/slice/ISliceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/slice/Slice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/slice/Slice;
-HSPLandroid/app/slice/Slice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/slice/Slice$Builder;-><init>(Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V
 HSPLandroid/app/slice/Slice$Builder;->addAction(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;
 HSPLandroid/app/slice/Slice$Builder;->addHints(Ljava/util/List;)Landroid/app/slice/Slice$Builder;
@@ -4632,17 +4348,13 @@
 HSPLandroid/app/slice/Slice$Builder;->addSubSlice(Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;
 HSPLandroid/app/slice/Slice$Builder;->addText(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;
 HSPLandroid/app/slice/Slice$Builder;->build()Landroid/app/slice/Slice;
-HSPLandroid/app/slice/Slice;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/slice/Slice;-><init>(Ljava/util/ArrayList;[Ljava/lang/String;Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V
 HSPLandroid/app/slice/Slice;->access$002(Landroid/app/slice/Slice;Landroid/app/slice/SliceSpec;)Landroid/app/slice/SliceSpec;
 HSPLandroid/app/slice/Slice;->getHints()Ljava/util/List;
 HSPLandroid/app/slice/Slice;->getItems()Ljava/util/List;
 HSPLandroid/app/slice/Slice;->getSpec()Landroid/app/slice/SliceSpec;
 HSPLandroid/app/slice/Slice;->getUri()Landroid/net/Uri;
-HSPLandroid/app/slice/SliceItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/slice/SliceItem;
-HSPLandroid/app/slice/SliceItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/slice/SliceItem;-><init>(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/app/slice/SliceItem;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/slice/SliceItem;-><init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/app/slice/SliceItem;-><init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/app/slice/SliceItem;->getAction()Landroid/app/PendingIntent;
@@ -4655,14 +4367,11 @@
 HSPLandroid/app/slice/SliceItem;->getSlice()Landroid/app/slice/Slice;
 HSPLandroid/app/slice/SliceItem;->getSubType()Ljava/lang/String;
 HSPLandroid/app/slice/SliceItem;->getText()Ljava/lang/CharSequence;
-HSPLandroid/app/slice/SliceItem;->readObj(Ljava/lang/String;Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/slice/SliceManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
 HSPLandroid/app/slice/SliceManager;->bindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;
-HSPLandroid/app/slice/SliceManager;->checkSlicePermission(Landroid/net/Uri;II)I
 HSPLandroid/app/slice/SliceManager;->enforceSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)V
 HSPLandroid/app/slice/SliceManager;->getPinnedSlices()Ljava/util/List;
 HSPLandroid/app/slice/SliceManager;->getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;
-HSPLandroid/app/slice/SliceManager;->grantSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V
 HSPLandroid/app/slice/SliceManager;->pinSlice(Landroid/net/Uri;Ljava/util/Set;)V
 HSPLandroid/app/slice/SliceManager;->unpinSlice(Landroid/net/Uri;)V
 HSPLandroid/app/slice/SliceProvider;-><init>([Ljava/lang/String;)V
@@ -4685,23 +4394,20 @@
 HSPLandroid/app/timedetector/ITimeDetectorService$Stub;-><init>()V
 HSPLandroid/app/timedetector/ITimeDetectorService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/timedetector/ITimeDetectorService;
 HPLandroid/app/timedetector/ITimeDetectorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/app/timedetector/NetworkTimeSuggestion$1;-><init>()V
-PLandroid/app/timedetector/NetworkTimeSuggestion;-><clinit>()V
 HPLandroid/app/timedetector/NetworkTimeSuggestion;-><init>(Landroid/os/TimestampedValue;)V
 HPLandroid/app/timedetector/NetworkTimeSuggestion;->addDebugInfo([Ljava/lang/String;)V
 PLandroid/app/timedetector/NetworkTimeSuggestion;->getUtcTime()Landroid/os/TimestampedValue;
 HPLandroid/app/timedetector/NetworkTimeSuggestion;->toString()Ljava/lang/String;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;-><init>(I)V
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;->access$100(Landroid/app/timedetector/PhoneTimeSuggestion$Builder;)I
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;->access$200(Landroid/app/timedetector/PhoneTimeSuggestion$Builder;)Landroid/os/TimestampedValue;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;->access$300(Landroid/app/timedetector/PhoneTimeSuggestion$Builder;)Ljava/util/List;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;->build()Landroid/app/timedetector/PhoneTimeSuggestion;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion$Builder;->setUtcTime(Landroid/os/TimestampedValue;)Landroid/app/timedetector/PhoneTimeSuggestion$Builder;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion;-><init>(Landroid/app/timedetector/PhoneTimeSuggestion$Builder;)V
-HSPLandroid/app/timedetector/PhoneTimeSuggestion;-><init>(Landroid/app/timedetector/PhoneTimeSuggestion$Builder;Landroid/app/timedetector/PhoneTimeSuggestion$1;)V
-HSPLandroid/app/timedetector/PhoneTimeSuggestion;->getUtcTime()Landroid/os/TimestampedValue;
-HSPLandroid/app/timedetector/PhoneTimeSuggestion;->toString()Ljava/lang/String;
-HSPLandroid/app/timedetector/TimeDetector;-><init>()V
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;-><init>(I)V
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;->access$100(Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;)I
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;->access$200(Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;)Landroid/os/TimestampedValue;
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;->access$300(Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;)Ljava/util/List;
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;->build()Landroid/app/timedetector/TelephonyTimeSuggestion;
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion$Builder;->setUtcTime(Landroid/os/TimestampedValue;)Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion;-><init>(Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;)V
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion;-><init>(Landroid/app/timedetector/TelephonyTimeSuggestion$Builder;Landroid/app/timedetector/TelephonyTimeSuggestion$1;)V
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion;->getUtcTime()Landroid/os/TimestampedValue;
+HSPLandroid/app/timedetector/TelephonyTimeSuggestion;->toString()Ljava/lang/String;
 HSPLandroid/app/timedetector/TimeDetectorImpl;-><init>()V
 HSPLandroid/app/timezonedetector/ITimeZoneDetectorService$Stub;-><init>()V
 HPLandroid/app/timezonedetector/ITimeZoneDetectorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -4721,6 +4427,20 @@
 HSPLandroid/app/timezonedetector/PhoneTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion$Builder;)V
 HSPLandroid/app/timezonedetector/PhoneTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion$Builder;Landroid/app/timezonedetector/PhoneTimeZoneSuggestion$1;)V
 HSPLandroid/app/timezonedetector/PhoneTimeZoneSuggestion;->toString()Ljava/lang/String;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;-><init>(I)V
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->access$100(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)I
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->access$200(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)Ljava/lang/String;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->access$300(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)I
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->access$400(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)I
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->access$500(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)Ljava/util/List;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->build()Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->setMatchType(I)Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->setQuality(I)Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->setZoneId(Ljava/lang/String;)Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;->validate()V
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;)V
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$Builder;Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$1;)V
+HSPLandroid/app/timezonedetector/TelephonyTimeZoneSuggestion;->toString()Ljava/lang/String;
 HSPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->onStrongAuthRequiredChanged(II)V
@@ -4731,7 +4451,6 @@
 HSPLandroid/app/trust/ITrustListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustChanged(ZII)V
 HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustManagedChanged(ZI)V
-HSPLandroid/app/trust/ITrustListener$Stub;-><init>()V
 HSPLandroid/app/trust/ITrustListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/trust/ITrustListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/ITrustListener;
 HSPLandroid/app/trust/ITrustListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -4746,7 +4465,6 @@
 HSPLandroid/app/trust/ITrustManager$Stub;-><init>()V
 HSPLandroid/app/trust/ITrustManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/ITrustManager;
 HSPLandroid/app/trust/ITrustManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/trust/TrustManager$1;-><init>(Landroid/app/trust/TrustManager;Landroid/app/trust/TrustManager$TrustListener;)V
 HSPLandroid/app/trust/TrustManager$1;->onTrustChanged(ZII)V
 HSPLandroid/app/trust/TrustManager$1;->onTrustManagedChanged(ZI)V
 HSPLandroid/app/trust/TrustManager$2;-><init>(Landroid/app/trust/TrustManager;Landroid/os/Looper;)V
@@ -4764,6 +4482,16 @@
 HSPLandroid/app/usage/AppStandbyInfo;-><init>(Landroid/os/Parcel;Landroid/app/usage/AppStandbyInfo$1;)V
 HSPLandroid/app/usage/AppStandbyInfo;-><init>(Ljava/lang/String;I)V
 HSPLandroid/app/usage/AppStandbyInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/usage/CacheQuotaHint$Builder;-><init>()V
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->access$000(Landroid/app/usage/CacheQuotaHint$Builder;)Ljava/lang/String;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->access$100(Landroid/app/usage/CacheQuotaHint$Builder;)I
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->access$200(Landroid/app/usage/CacheQuotaHint$Builder;)Landroid/app/usage/UsageStats;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->access$300(Landroid/app/usage/CacheQuotaHint$Builder;)J
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->build()Landroid/app/usage/CacheQuotaHint;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->setQuota(J)Landroid/app/usage/CacheQuotaHint$Builder;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->setUid(I)Landroid/app/usage/CacheQuotaHint$Builder;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;->setVolumeUuid(Ljava/lang/String;)Landroid/app/usage/CacheQuotaHint$Builder;
+HSPLandroid/app/usage/CacheQuotaHint;-><init>(Landroid/app/usage/CacheQuotaHint$Builder;)V
 HPLandroid/app/usage/ConfigurationStats;-><init>()V
 HPLandroid/app/usage/EventList;-><init>()V
 HPLandroid/app/usage/EventList;->firstIndexOnOrAfter(J)I
@@ -4779,57 +4507,18 @@
 HSPLandroid/app/usage/IStorageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IStorageStatsManager;
 HPLandroid/app/usage/IStorageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->isAppInactive(Ljava/lang/String;I)Z
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
 HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/usage/IUsageStatsManager$Stub;-><init>()V
 HSPLandroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager;
 HPLandroid/app/usage/IUsageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/usage/NetworkStats$Bucket;-><init>()V
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$000(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$102(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1102(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1302(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1402(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1502(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1602(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1702(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$1802(Landroid/app/usage/NetworkStats$Bucket;J)J
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$200(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$302(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$400(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$502(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$702(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->access$902(Landroid/app/usage/NetworkStats$Bucket;I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->convertSet(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->convertTag(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->convertUid(I)I
-HSPLandroid/app/usage/NetworkStats$Bucket;->getRxBytes()J
-HSPLandroid/app/usage/NetworkStats$Bucket;->getStartTimeStamp()J
-HSPLandroid/app/usage/NetworkStats$Bucket;->getTxBytes()J
-HSPLandroid/app/usage/NetworkStats;-><init>(Landroid/content/Context;Landroid/net/NetworkTemplate;IJJLandroid/net/INetworkStatsService;)V
-HSPLandroid/app/usage/NetworkStats;->close()V
-HSPLandroid/app/usage/NetworkStats;->finalize()V
-HSPLandroid/app/usage/NetworkStats;->getNextBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
-HSPLandroid/app/usage/NetworkStats;->getNextHistoryBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
-HSPLandroid/app/usage/NetworkStats;->getUid()I
-HSPLandroid/app/usage/NetworkStats;->hasNextUid()Z
-HSPLandroid/app/usage/NetworkStats;->isUidEnumeration()Z
-HSPLandroid/app/usage/NetworkStats;->setSingleUidTagState(III)V
-HSPLandroid/app/usage/NetworkStats;->startHistoryEnumeration(III)V
 HSPLandroid/app/usage/NetworkStatsManager$CallbackHandler;-><init>(Landroid/os/Looper;ILjava/lang/String;Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
-HPLandroid/app/usage/NetworkStatsManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/String;)Ljava/lang/Object;
-HPLandroid/app/usage/NetworkStatsManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/usage/NetworkStatsManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/String;)Ljava/lang/Object;
+HSPLandroid/app/usage/NetworkStatsManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/app/usage/NetworkStatsManager$UsageCallback;-><init>()V
 HSPLandroid/app/usage/NetworkStatsManager$UsageCallback;->access$000(Landroid/app/usage/NetworkStatsManager$UsageCallback;)Landroid/net/DataUsageRequest;
 HSPLandroid/app/usage/NetworkStatsManager$UsageCallback;->access$002(Landroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/net/DataUsageRequest;)Landroid/net/DataUsageRequest;
 HSPLandroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;Landroid/net/INetworkStatsService;)V
-HSPLandroid/app/usage/NetworkStatsManager;->createTemplate(ILjava/lang/String;)Landroid/net/NetworkTemplate;
-HSPLandroid/app/usage/NetworkStatsManager;->queryDetailsForUidTag(ILjava/lang/String;JJII)Landroid/app/usage/NetworkStats;
-HSPLandroid/app/usage/NetworkStatsManager;->queryDetailsForUidTagState(ILjava/lang/String;JJIII)Landroid/app/usage/NetworkStats;
-HSPLandroid/app/usage/NetworkStatsManager;->queryDetailsForUidTagState(Landroid/net/NetworkTemplate;JJIII)Landroid/app/usage/NetworkStats;
 HSPLandroid/app/usage/NetworkStatsManager;->registerUsageCallback(Landroid/net/NetworkTemplate;IJLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V
 HSPLandroid/app/usage/NetworkStatsManager;->setPollOnOpen(Z)V
 HSPLandroid/app/usage/NetworkStatsManager;->unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
@@ -4846,6 +4535,8 @@
 HPLandroid/app/usage/StorageStatsManager;->getCacheQuotaBytes(Ljava/lang/String;I)J
 HSPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/lang/String;)Z
 HSPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/util/UUID;)Z
+PLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
+PLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
 HSPLandroid/app/usage/StorageStatsManager;->queryStatsForPackage(Ljava/util/UUID;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;
 PLandroid/app/usage/TimeSparseArray;-><init>()V
 HPLandroid/app/usage/TimeSparseArray;->closestIndexOnOrAfter(J)I
@@ -4857,7 +4548,6 @@
 HSPLandroid/app/usage/UsageEvents$Event;-><init>(IJ)V
 HPLandroid/app/usage/UsageEvents$Event;->copyFrom(Landroid/app/usage/UsageEvents$Event;)V
 HSPLandroid/app/usage/UsageEvents$Event;->getClassName()Ljava/lang/String;
-PLandroid/app/usage/UsageEvents$Event;->getConfiguration()Landroid/content/res/Configuration;
 HSPLandroid/app/usage/UsageEvents$Event;->getEventType()I
 HSPLandroid/app/usage/UsageEvents$Event;->getInstanceId()I
 HSPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
@@ -4880,7 +4570,6 @@
 HPLandroid/app/usage/UsageStats;->anyForegroundServiceStarted()Z
 HPLandroid/app/usage/UsageStats;->eventMapToBundle(Landroid/util/ArrayMap;)Landroid/os/Bundle;
 HSPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/usage/UsageStats;->getTotalTimeInForeground()J
 HPLandroid/app/usage/UsageStats;->hasVisibleActivity()Z
 PLandroid/app/usage/UsageStats;->incrementServiceTimeUsed(J)V
 HPLandroid/app/usage/UsageStats;->incrementTimeUsed(J)V
@@ -4891,18 +4580,13 @@
 HPLandroid/app/usage/UsageStats;->writeSparseIntArray(Landroid/os/Parcel;Landroid/util/SparseIntArray;)V
 HPLandroid/app/usage/UsageStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/usage/UsageStatsManager;-><init>(Landroid/content/Context;Landroid/app/usage/IUsageStatsManager;)V
-HSPLandroid/app/usage/UsageStatsManager;->getAppStandbyBucket(Ljava/lang/String;)I
-HSPLandroid/app/usage/UsageStatsManager;->isAppInactive(Ljava/lang/String;)Z
-HSPLandroid/app/usage/UsageStatsManager;->queryEvents(JJ)Landroid/app/usage/UsageEvents;
 HSPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
 HPLandroid/app/usage/UsageStatsManager;->reasonToString(I)Ljava/lang/String;
-PLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
-HSPLandroid/app/usage/UsageStatsManager;->whitelistAppTemporarily(Ljava/lang/String;JLandroid/os/UserHandle;)V
+HPLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
 HSPLandroid/appwidget/AppWidgetManager;-><init>(Landroid/content/Context;Lcom/android/internal/appwidget/IAppWidgetService;)V
 HSPLandroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;
 HSPLandroid/appwidget/AppWidgetManager;->isBoundWidgetPackage(Ljava/lang/String;I)Z
 HSPLandroid/appwidget/AppWidgetManagerInternal;-><init>()V
-HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>()V
 HSPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle;
 HSPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/bluetooth/-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4;-><init>(Landroid/bluetooth/BluetoothAdapter$2;)V
@@ -4911,8 +4595,6 @@
 HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
 HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
 HSPLandroid/bluetooth/BluetoothA2dp;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothA2dp;->close()V
-HSPLandroid/bluetooth/BluetoothA2dp;->finalize()V
 HSPLandroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothA2dp;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothA2dp;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
@@ -4928,11 +4610,7 @@
 HSPLandroid/bluetooth/BluetoothAdapter$2;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/bluetooth/BluetoothAdapter$2;->recompute(Ljava/lang/Void;)Ljava/lang/Integer;
 HSPLandroid/bluetooth/BluetoothAdapter$3;-><init>(Landroid/bluetooth/BluetoothAdapter;ILjava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothAdapter$3;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothAdapter$3;->recompute(Ljava/lang/Void;)Ljava/lang/Boolean;
 HSPLandroid/bluetooth/BluetoothAdapter$4;-><init>(Landroid/bluetooth/BluetoothAdapter;ILjava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothAdapter$4;->recompute(Ljava/lang/Integer;)Ljava/lang/Integer;
-HSPLandroid/bluetooth/BluetoothAdapter$4;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/bluetooth/BluetoothAdapter$5;-><init>(Landroid/bluetooth/BluetoothAdapter;)V
 HSPLandroid/bluetooth/BluetoothAdapter$5;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
 HSPLandroid/bluetooth/BluetoothAdapter;-><init>(Landroid/bluetooth/IBluetoothManager;)V
@@ -4945,31 +4623,20 @@
 HSPLandroid/bluetooth/BluetoothAdapter;->access$500()Landroid/bluetooth/le/BluetoothLeAdvertiser;
 HSPLandroid/bluetooth/BluetoothAdapter;->access$600()Landroid/bluetooth/le/BluetoothLeScanner;
 HSPLandroid/bluetooth/BluetoothAdapter;->checkBluetoothAddress(Ljava/lang/String;)Z
-HSPLandroid/bluetooth/BluetoothAdapter;->closeProfileProxy(ILandroid/bluetooth/BluetoothProfile;)V
-HSPLandroid/bluetooth/BluetoothAdapter;->enableBLE()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;
 HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothManager()Landroid/bluetooth/IBluetoothManager;
 HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothService(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
 HSPLandroid/bluetooth/BluetoothAdapter;->getBondedDevices()Ljava/util/Set;
 HSPLandroid/bluetooth/BluetoothAdapter;->getConnectionState()I
 HSPLandroid/bluetooth/BluetoothAdapter;->getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;
-HSPLandroid/bluetooth/BluetoothAdapter;->getFeatureId()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->getLeAccess()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->getLeState()I
-HSPLandroid/bluetooth/BluetoothAdapter;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->getOpPackageName()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothAdapter;->getProfileConnectionState(I)I
 HSPLandroid/bluetooth/BluetoothAdapter;->getProfileProxy(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)Z
 HSPLandroid/bluetooth/BluetoothAdapter;->getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothAdapter;->getState()I
 HSPLandroid/bluetooth/BluetoothAdapter;->getSupportedProfiles()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothAdapter;->getUuids()[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/BluetoothAdapter;->isBleScanAlwaysAvailable()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->isEnabled()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->isHearingAidProfileSupported()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->isLeEnabled()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->isOffloadedFilteringSupported()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->nameForState(I)Ljava/lang/String;
 HPLandroid/bluetooth/BluetoothAdapter;->requestControllerActivityEnergyInfo(Landroid/os/ResultReceiver;)V
 HSPLandroid/bluetooth/BluetoothAdapter;->setContext(Landroid/content/Context;)V
@@ -4984,7 +4651,10 @@
 HSPLandroid/bluetooth/BluetoothDevice$2;->newArray(I)[Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothDevice$2;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/bluetooth/BluetoothDevice$3;-><init>(Landroid/bluetooth/BluetoothDevice;ILjava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothDevice$3;->recompute(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/Integer;
+HSPLandroid/bluetooth/BluetoothDevice$3;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/bluetooth/BluetoothDevice;-><init>(Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothDevice;->access$000()Landroid/bluetooth/IBluetooth;
 HSPLandroid/bluetooth/BluetoothDevice;->equals(Ljava/lang/Object;)Z
 HSPLandroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothDevice;->getAlias()Ljava/lang/String;
@@ -4994,14 +4664,12 @@
 HSPLandroid/bluetooth/BluetoothDevice;->getName()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothDevice;->getPhonebookAccessPermission()I
 HSPLandroid/bluetooth/BluetoothDevice;->getService()Landroid/bluetooth/IBluetooth;
-HSPLandroid/bluetooth/BluetoothDevice;->getType()I
 HSPLandroid/bluetooth/BluetoothDevice;->getUuids()[Landroid/os/ParcelUuid;
 HSPLandroid/bluetooth/BluetoothDevice;->hashCode()I
 HSPLandroid/bluetooth/BluetoothDevice;->isBluetoothEnabled()Z
 HSPLandroid/bluetooth/BluetoothDevice;->isConnected()Z
 HSPLandroid/bluetooth/BluetoothDevice;->toString()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothDevice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/BluetoothGattCallback;-><init>()V
 HSPLandroid/bluetooth/BluetoothHeadset$1;-><init>(Landroid/bluetooth/BluetoothHeadset;)V
 HSPLandroid/bluetooth/BluetoothHeadset$1;->onBluetoothStateChange(Z)V
 HSPLandroid/bluetooth/BluetoothHeadset$2;-><init>(Landroid/bluetooth/BluetoothHeadset;)V
@@ -5015,7 +4683,6 @@
 HSPLandroid/bluetooth/BluetoothHeadset;->access$202(Landroid/bluetooth/BluetoothHeadset;Landroid/bluetooth/IBluetoothHeadset;)Landroid/bluetooth/IBluetoothHeadset;
 HSPLandroid/bluetooth/BluetoothHeadset;->access$300(Landroid/bluetooth/BluetoothHeadset;)Landroid/os/Handler;
 HSPLandroid/bluetooth/BluetoothHeadset;->access$400(Landroid/bluetooth/BluetoothHeadset;)Landroid/bluetooth/BluetoothProfile$ServiceListener;
-HSPLandroid/bluetooth/BluetoothHeadset;->close()V
 HSPLandroid/bluetooth/BluetoothHeadset;->doBind()Z
 HSPLandroid/bluetooth/BluetoothHeadset;->doUnbind()V
 HSPLandroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
@@ -5048,7 +4715,6 @@
 HSPLandroid/bluetooth/BluetoothHidHost;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothHidHost;->getService()Landroid/bluetooth/IBluetoothHidHost;
 HSPLandroid/bluetooth/BluetoothHidHost;->isEnabled()Z
-HSPLandroid/bluetooth/BluetoothInputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
 HSPLandroid/bluetooth/BluetoothManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/bluetooth/BluetoothManager;->getAdapter()Landroid/bluetooth/BluetoothAdapter;
 HSPLandroid/bluetooth/BluetoothMap$1;-><init>(Landroid/bluetooth/BluetoothMap;Landroid/bluetooth/BluetoothProfile;ILjava/lang/String;Ljava/lang/String;)V
@@ -5059,9 +4725,7 @@
 HSPLandroid/bluetooth/BluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/BluetoothMap;->getService()Landroid/bluetooth/IBluetoothMap;
 HSPLandroid/bluetooth/BluetoothMap;->isEnabled()Z
-HSPLandroid/bluetooth/BluetoothMap;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z
 HSPLandroid/bluetooth/BluetoothMap;->log(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothOutputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
 HSPLandroid/bluetooth/BluetoothPan$1;-><init>(Landroid/bluetooth/BluetoothPan;Landroid/bluetooth/BluetoothProfile;ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/bluetooth/BluetoothPan$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPan;
 HSPLandroid/bluetooth/BluetoothPan$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
@@ -5088,7 +4752,6 @@
 HSPLandroid/bluetooth/BluetoothProfileConnector;->access$500(Landroid/bluetooth/BluetoothProfileConnector;)I
 HSPLandroid/bluetooth/BluetoothProfileConnector;->access$600(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile;
 HSPLandroid/bluetooth/BluetoothProfileConnector;->connect(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothProfileConnector;->disconnect()V
 HSPLandroid/bluetooth/BluetoothProfileConnector;->doBind()Z
 HSPLandroid/bluetooth/BluetoothProfileConnector;->doUnbind()V
 HSPLandroid/bluetooth/BluetoothProfileConnector;->getService()Ljava/lang/Object;
@@ -5101,19 +4764,8 @@
 HSPLandroid/bluetooth/BluetoothSap;->getService()Landroid/bluetooth/IBluetoothSap;
 HSPLandroid/bluetooth/BluetoothSap;->isEnabled()Z
 HSPLandroid/bluetooth/BluetoothSap;->log(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothServerSocket;->accept()Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothServerSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;)V
-HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;ZZ)V
-HSPLandroid/bluetooth/BluetoothSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothSocket;->getSecurityFlags()I
-HSPLandroid/bluetooth/BluetoothSocket;->readAll(Ljava/io/InputStream;[B)I
-HSPLandroid/bluetooth/BluetoothSocket;->readInt(Ljava/io/InputStream;)I
-HSPLandroid/bluetooth/BluetoothSocket;->waitSocketSignal(Ljava/io/InputStream;)Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothUuid;->containsAnyUuid([Landroid/os/ParcelUuid;[Landroid/os/ParcelUuid;)Z
-HSPLandroid/bluetooth/BluetoothUuid;->is16BitUuid(Landroid/os/ParcelUuid;)Z
 HSPLandroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/BluetoothUuid;->uuidToBytes(Landroid/os/ParcelUuid;)[B
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->enable(Z)Z
@@ -5124,7 +4776,6 @@
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getName()Ljava/lang/String;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getProfileConnectionState(I)I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
@@ -5132,7 +4783,6 @@
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getState()I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getSupportedProfiles()J
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getUuids()[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
 PLandroid/bluetooth/IBluetooth$Stub$Proxy;->onLeServiceUp()V
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
@@ -5147,10 +4797,6 @@
 HSPLandroid/bluetooth/IBluetoothCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScan(I)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterScanner(I)V
 HSPLandroid/bluetooth/IBluetoothGatt$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGatt;
 HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
@@ -5173,16 +4819,10 @@
 HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidHost;
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isHearingAidProfileSupported()Z
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
 HSPLandroid/bluetooth/IBluetoothManager$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothManager;
 HSPLandroid/bluetooth/IBluetoothManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -5212,7 +4852,6 @@
 HSPLandroid/bluetooth/IBluetoothSap$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/IBluetoothSap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/IBluetoothSap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSap;
-HSPLandroid/bluetooth/IBluetoothSocketManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSocketManager;
 HPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->onBluetoothStateChange(Z)V
@@ -5220,104 +4859,35 @@
 HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothStateChangeCallback;
 HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;-><init>(Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;Landroid/bluetooth/le/ScanResult;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;->run()V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;-><init>(Landroid/bluetooth/le/BluetoothLeScanner;Landroid/bluetooth/IBluetoothGatt;Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Ljava/util/List;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->access$400(Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;)Landroid/bluetooth/le/ScanCallback;
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScannerRegistered(II)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->startRegistration()V
-HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->stopLeScan()V
-HSPLandroid/bluetooth/le/BluetoothLeScanner;-><init>(Landroid/bluetooth/IBluetoothManager;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->access$100(Landroid/bluetooth/le/BluetoothLeScanner;)Ljava/util/Map;
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->access$200(Landroid/bluetooth/le/BluetoothLeScanner;)Ljava/lang/String;
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->access$300(Landroid/bluetooth/le/BluetoothLeScanner;)Ljava/lang/String;
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->isHardwareResourcesAvailableForScan(Landroid/bluetooth/le/ScanSettings;)Z
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->isSettingsAndFilterComboAllowed(Landroid/bluetooth/le/ScanSettings;Ljava/util/List;)Z
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->isSettingsConfigAllowedForScan(Landroid/bluetooth/le/ScanSettings;)Z
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Landroid/app/PendingIntent;Ljava/util/List;)I
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScanFromSource(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;)V
-HSPLandroid/bluetooth/le/BluetoothLeScanner;->stopScan(Landroid/bluetooth/le/ScanCallback;)V
-HSPLandroid/bluetooth/le/BluetoothLeUtils;->checkAdapterStateOn(Landroid/bluetooth/BluetoothAdapter;)V
-HSPLandroid/bluetooth/le/IScannerCallback$Stub;-><init>()V
-HSPLandroid/bluetooth/le/IScannerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/le/IScannerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/le/ScanCallback;-><init>()V
 HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanFilter;
 HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/bluetooth/le/ScanFilter$Builder;-><init>()V
 HSPLandroid/bluetooth/le/ScanFilter$Builder;->build()Landroid/bluetooth/le/ScanFilter;
 HSPLandroid/bluetooth/le/ScanFilter$Builder;->setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;
 HSPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[B)V
 HSPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[BLandroid/bluetooth/le/ScanFilter$1;)V
 HSPLandroid/bluetooth/le/ScanFilter;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/bluetooth/le/ScanRecord;-><init>(Ljava/util/List;Ljava/util/List;Landroid/util/SparseArray;Ljava/util/Map;IILjava/lang/String;[B)V
 HSPLandroid/bluetooth/le/ScanRecord;->extractBytes([BII)[B
 HSPLandroid/bluetooth/le/ScanRecord;->getBytes()[B
-HSPLandroid/bluetooth/le/ScanRecord;->getManufacturerSpecificData(I)[B
-HSPLandroid/bluetooth/le/ScanRecord;->getServiceData(Landroid/os/ParcelUuid;)[B
 HSPLandroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
 HSPLandroid/bluetooth/le/ScanRecord;->parseServiceUuid([BIIILjava/util/List;)I
 HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanResult;
 HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;Landroid/bluetooth/le/ScanResult$1;)V
-HSPLandroid/bluetooth/le/ScanResult;->getDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/le/ScanResult;->getRssi()I
-HSPLandroid/bluetooth/le/ScanResult;->getScanRecord()Landroid/bluetooth/le/ScanRecord;
 HSPLandroid/bluetooth/le/ScanResult;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/le/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/le/ScanSettings$Builder;-><init>()V
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->build()Landroid/bluetooth/le/ScanSettings;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->isValidCallbackType(I)Z
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZI)V
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZILandroid/bluetooth/le/ScanSettings$1;)V
-HSPLandroid/bluetooth/le/ScanSettings;->getCallbackType()I
-HSPLandroid/bluetooth/le/ScanSettings;->getReportDelayMillis()J
-HSPLandroid/bluetooth/le/ScanSettings;->getScanMode()I
-HSPLandroid/bluetooth/le/ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/companion/ICompanionDeviceManager$Stub;-><init>()V
 HSPLandroid/companion/ICompanionDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceManager;
-HPLandroid/companion/ICompanionDeviceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/compat/Compatibility$Callbacks;-><init>()V
 HSPLandroid/compat/Compatibility;->isChangeEnabled(J)Z
 HSPLandroid/compat/Compatibility;->setCallbacks(Landroid/compat/Compatibility$Callbacks;)V
-HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/AbstractThreadedSyncAdapter$1;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->lambda$onUnsyncableAccount$0(Ljava/lang/Object;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HSPLandroid/content/-$$Lambda$IntentFilter$fvZpjl2C1djVISORSFvcX_-NkJo;-><init>(Landroid/content/IntentFilter;)V
+HSPLandroid/content/-$$Lambda$IntentFilter$fvZpjl2C1djVISORSFvcX_-NkJo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;Landroid/content/AbstractThreadedSyncAdapter$1;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->access$800(Landroid/content/AbstractThreadedSyncAdapter$SyncThread;)Landroid/content/SyncContext;
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
 HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->run()V
 HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;ZZ)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$100()Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1100(Landroid/content/AbstractThreadedSyncAdapter;)Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1300(Landroid/content/AbstractThreadedSyncAdapter;)Landroid/content/Context;
 HSPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$300(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/lang/Object;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$400(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/HashMap;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$500(Landroid/content/AbstractThreadedSyncAdapter;)Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$600(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/concurrent/atomic/AtomicInteger;
 HSPLandroid/content/AbstractThreadedSyncAdapter;->getContext()Landroid/content/Context;
 HSPLandroid/content/AbstractThreadedSyncAdapter;->getSyncAdapterBinder()Landroid/os/IBinder;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->handleOnUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled()V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled(Ljava/lang/Thread;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onUnsyncableAccount()Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->toSyncKey(Landroid/accounts/Account;)Landroid/accounts/Account;
 HSPLandroid/content/AsyncQueryHandler$WorkerArgs;-><init>()V
 HSPLandroid/content/AsyncQueryHandler$WorkerHandler;-><init>(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V
 HSPLandroid/content/AsyncQueryHandler$WorkerHandler;->handleMessage(Landroid/os/Message;)V
@@ -5325,19 +4895,10 @@
 HSPLandroid/content/AsyncQueryHandler;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
 HSPLandroid/content/AsyncQueryHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/content/AsyncQueryHandler;->startQuery(ILjava/lang/Object;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Object;
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->onPostExecute(Ljava/lang/Object;)V
-HSPLandroid/content/AsyncTaskLoader;->dispatchOnLoadComplete(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
-HSPLandroid/content/AsyncTaskLoader;->executePendingTask()V
-HSPLandroid/content/AsyncTaskLoader;->onCancelLoad()Z
-HSPLandroid/content/AsyncTaskLoader;->onForceLoad()V
-HSPLandroid/content/AsyncTaskLoader;->onLoadInBackground()Ljava/lang/Object;
 HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/AutofillOptions;
 HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/AutofillOptions;-><init>(IZ)V
 HSPLandroid/content/AutofillOptions;->isAugmentedAutofillEnabled(Landroid/content/Context;)Z
-HSPLandroid/content/AutofillOptions;->isAutofillDisabledLocked(Landroid/content/ComponentName;)Z
 HSPLandroid/content/AutofillOptions;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/BroadcastReceiver$PendingResult$1;-><init>(Landroid/content/BroadcastReceiver$PendingResult;Landroid/app/IActivityManager;)V
 HSPLandroid/content/BroadcastReceiver$PendingResult$1;->run()V
@@ -5360,7 +4921,6 @@
 HSPLandroid/content/BroadcastReceiver;->setResultCode(I)V
 HSPLandroid/content/ClipData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ClipData;
 HSPLandroid/content/ClipData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/ClipData$Item;-><init>(Ljava/lang/CharSequence;)V
 HSPLandroid/content/ClipData$Item;-><init>(Ljava/lang/CharSequence;Ljava/lang/String;Landroid/content/Intent;Landroid/net/Uri;)V
 HSPLandroid/content/ClipData$Item;->getText()Ljava/lang/CharSequence;
 HSPLandroid/content/ClipData$Item;->getUri()Landroid/net/Uri;
@@ -5394,7 +4954,7 @@
 HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Landroid/os/Parcel;)V
 HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ComponentName;->appendShortClassName(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
+HPLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
 HSPLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ComponentName;->compareTo(Landroid/content/ComponentName;)I
 HSPLandroid/content/ComponentName;->createRelative(Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
@@ -5423,7 +4983,6 @@
 HSPLandroid/content/ContentProvider$Transport;-><init>(Landroid/content/ContentProvider;)V
 HSPLandroid/content/ContentProvider$Transport;->access$300(Landroid/content/ContentProvider$Transport;Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/ContentProvider$Transport;->bulkInsert(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
 HSPLandroid/content/ContentProvider$Transport;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/content/ContentProvider$Transport;->canonicalize(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
 HSPLandroid/content/ContentProvider$Transport;->createCancellationSignal()Landroid/os/ICancellationSignal;
@@ -5490,7 +5049,6 @@
 HSPLandroid/content/ContentProvider;->uriHasUserId(Landroid/net/Uri;)Z
 HSPLandroid/content/ContentProvider;->validateIncomingAuthority(Ljava/lang/String;)V
 HSPLandroid/content/ContentProvider;->validateIncomingUri(Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/content/ContentProviderClient$CursorWrapperInner;-><init>(Landroid/content/ContentProviderClient;Landroid/database/Cursor;)V
 HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->close()V
 HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->finalize()V
 HSPLandroid/content/ContentProviderClient$NotRespondingRunnable;-><init>(Landroid/content/ContentProviderClient;)V
@@ -5504,10 +5062,7 @@
 HSPLandroid/content/ContentProviderClient;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/content/ContentProviderClient;->close()V
 HSPLandroid/content/ContentProviderClient;->closeInternal()Z
-HSPLandroid/content/ContentProviderClient;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I
-HSPLandroid/content/ContentProviderClient;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/ContentProviderClient;->finalize()V
-HSPLandroid/content/ContentProviderClient;->getLocalContentProvider()Landroid/content/ContentProvider;
 HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
@@ -5531,37 +5086,19 @@
 HSPLandroid/content/ContentProviderOperation$Builder;->access$700(Landroid/content/ContentProviderOperation$Builder;)Landroid/util/SparseArray;
 HSPLandroid/content/ContentProviderOperation$Builder;->access$800(Landroid/content/ContentProviderOperation$Builder;)Ljava/lang/Integer;
 HSPLandroid/content/ContentProviderOperation$Builder;->access$900(Landroid/content/ContentProviderOperation$Builder;)Z
-HSPLandroid/content/ContentProviderOperation$Builder;->assertSelectionAllowed()V
 HSPLandroid/content/ContentProviderOperation$Builder;->assertValuesAllowed()V
 HSPLandroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
-HSPLandroid/content/ContentProviderOperation$Builder;->ensureSelectionArgs()V
 HSPLandroid/content/ContentProviderOperation$Builder;->ensureValues()V
-HSPLandroid/content/ContentProviderOperation$Builder;->setSelectionArg(ILjava/lang/Object;)V
 HSPLandroid/content/ContentProviderOperation$Builder;->setValue(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLandroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withYieldAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V
 HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;Landroid/content/ContentProviderOperation$1;)V
 HSPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri;
-HSPLandroid/content/ContentProviderOperation;->isInsert()Z
-HSPLandroid/content/ContentProviderOperation;->isReadOperation()Z
-HSPLandroid/content/ContentProviderOperation;->isWriteOperation()Z
-HSPLandroid/content/ContentProviderOperation;->isYieldAllowed()Z
-HSPLandroid/content/ContentProviderOperation;->newAssertQuery(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation;->resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle;
-HSPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;
 HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;
-HSPLandroid/content/ContentProviderOperation;->toString()Ljava/lang/String;
-HSPLandroid/content/ContentProviderOperation;->typeToString(I)Ljava/lang/String;
 HSPLandroid/content/ContentProviderOperation;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/ContentProviderProxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/content/ContentProviderProxy;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
@@ -5579,12 +5116,7 @@
 HSPLandroid/content/ContentProviderResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/ContentProviderResult$1;->newArray(I)[Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderResult$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/ContentProviderResult;-><init>(I)V
-HSPLandroid/content/ContentProviderResult;-><init>(Landroid/net/Uri;)V
-HSPLandroid/content/ContentProviderResult;-><init>(Landroid/net/Uri;Ljava/lang/Integer;Landroid/os/Bundle;Ljava/lang/Throwable;)V
 HSPLandroid/content/ContentProviderResult;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/ContentResolver$2;-><init>(Landroid/content/SyncStatusObserver;)V
-HSPLandroid/content/ContentResolver$2;->onStatusChanged(I)V
 HSPLandroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
 HSPLandroid/content/ContentResolver$CursorWrapperInner;->close()V
 HSPLandroid/content/ContentResolver$CursorWrapperInner;->finalize()V
@@ -5597,10 +5129,13 @@
 HSPLandroid/content/ContentResolver$ParcelFileDescriptorInner;->releaseResources()V
 HSPLandroid/content/ContentResolver$ResultListener;-><init>()V
 HSPLandroid/content/ContentResolver$ResultListener;-><init>(Landroid/content/ContentResolver$1;)V
+HSPLandroid/content/ContentResolver$ResultListener;->getExceptionFromBundle(Landroid/os/Bundle;)Ljava/lang/RuntimeException;
 HSPLandroid/content/ContentResolver$ResultListener;->onResult(Landroid/os/Bundle;)V
 HSPLandroid/content/ContentResolver$ResultListener;->waitForResult(J)V
 HSPLandroid/content/ContentResolver$StringResultListener;-><init>()V
 HSPLandroid/content/ContentResolver$StringResultListener;-><init>(Landroid/content/ContentResolver$1;)V
+HSPLandroid/content/ContentResolver$StringResultListener;->getResultFromBundle(Landroid/os/Bundle;)Ljava/lang/Object;
+HSPLandroid/content/ContentResolver$StringResultListener;->getResultFromBundle(Landroid/os/Bundle;)Ljava/lang/String;
 HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;)V
 HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;Landroid/content/ContentInterface;)V
 HSPLandroid/content/ContentResolver;->acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
@@ -5609,34 +5144,27 @@
 HSPLandroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
 HSPLandroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
 HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
-HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
 HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
-HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
-HSPLandroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-HSPLandroid/content/ContentResolver;->addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;
 HSPLandroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/ContentResolver;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
 HSPLandroid/content/ContentResolver;->call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/content/ContentResolver;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/content/ContentResolver;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
 HSPLandroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/content/ContentResolver;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I
 HSPLandroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/ContentResolver;->getAttributionTag()Ljava/lang/String;
 HSPLandroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
 HSPLandroid/content/ContentResolver;->getFeatureId()Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
-HSPLandroid/content/ContentResolver;->getMasterSyncAutomatically()Z
 HSPLandroid/content/ContentResolver;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
 HSPLandroid/content/ContentResolver;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
+HSPLandroid/content/ContentResolver;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
 HSPLandroid/content/ContentResolver;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
 HSPLandroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
 HSPLandroid/content/ContentResolver;->getUserId()I
 HSPLandroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
 HSPLandroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;
-HSPLandroid/content/ContentResolver;->invalidPeriodicExtras(Landroid/os/Bundle;)Z
 HSPLandroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
@@ -5656,13 +5184,9 @@
 HSPLandroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
 HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
-HSPLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
 HSPLandroid/content/ContentResolver;->resolveUserId(Landroid/net/Uri;)I
-HSPLandroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLandroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
 HSPLandroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
+PLandroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
 HSPLandroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I
 HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
@@ -5679,7 +5203,6 @@
 HSPLandroid/content/ContentValues;-><init>(Landroid/os/Parcel;Landroid/content/ContentValues$1;)V
 HSPLandroid/content/ContentValues;->clear()V
 HSPLandroid/content/ContentValues;->containsKey(Ljava/lang/String;)Z
-HSPLandroid/content/ContentValues;->equals(Ljava/lang/Object;)Z
 HSPLandroid/content/ContentValues;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/content/ContentValues;->getAsBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
 HSPLandroid/content/ContentValues;->getAsByteArray(Ljava/lang/String;)[B
@@ -5688,21 +5211,17 @@
 HSPLandroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/ContentValues;->getValues()Landroid/util/ArrayMap;
 HSPLandroid/content/ContentValues;->isEmpty()Z
-HSPLandroid/content/ContentValues;->isSupportedValue(Ljava/lang/Object;)Z
 HSPLandroid/content/ContentValues;->keySet()Ljava/util/Set;
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
-HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContentValues;->put(Ljava/lang/String;[B)V
-HSPLandroid/content/ContentValues;->putAll(Landroid/content/ContentValues;)V
 HSPLandroid/content/ContentValues;->putNull(Ljava/lang/String;)V
 HSPLandroid/content/ContentValues;->putObject(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLandroid/content/ContentValues;->remove(Ljava/lang/String;)V
 HSPLandroid/content/ContentValues;->size()I
-HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;
 HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set;
 HSPLandroid/content/ContentValues;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/Context;-><init>()V
@@ -5710,6 +5229,7 @@
 HSPLandroid/content/Context;->getColor(I)I
 HSPLandroid/content/Context;->getColorStateList(I)Landroid/content/res/ColorStateList;
 HSPLandroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
+HSPLandroid/content/Context;->getFeatureId()Ljava/lang/String;
 HSPLandroid/content/Context;->getNextAutofillId()I
 HSPLandroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/content/Context;->getString(I)Ljava/lang/String;
@@ -5727,7 +5247,7 @@
 HSPLandroid/content/ContextWrapper;->attachBaseContext(Landroid/content/Context;)V
 HSPLandroid/content/ContextWrapper;->bindIsolatedService(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z
 HSPLandroid/content/ContextWrapper;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
-PLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
+HPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
 HSPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
 HSPLandroid/content/ContextWrapper;->canLoadUnsafeResources()Z
 HSPLandroid/content/ContextWrapper;->checkCallingOrSelfPermission(Ljava/lang/String;)I
@@ -5736,8 +5256,8 @@
 HSPLandroid/content/ContextWrapper;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
 HSPLandroid/content/ContextWrapper;->checkSelfPermission(Ljava/lang/String;)I
 HSPLandroid/content/ContextWrapper;->checkUriPermission(Landroid/net/Uri;III)I
-HSPLandroid/content/ContextWrapper;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
 HSPLandroid/content/ContextWrapper;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
+HSPLandroid/content/ContextWrapper;->createAttributionContext(Ljava/lang/String;)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createContextAsUser(Landroid/os/UserHandle;I)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createCredentialProtectedStorageContext()Landroid/content/Context;
@@ -5746,16 +5266,15 @@
 HSPLandroid/content/ContextWrapper;->createFeatureContext(Ljava/lang/String;)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createPackageContextAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
-HSPLandroid/content/ContextWrapper;->databaseList()[Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->deleteDatabase(Ljava/lang/String;)Z
 HSPLandroid/content/ContextWrapper;->deleteFile(Ljava/lang/String;)Z
 HSPLandroid/content/ContextWrapper;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContextWrapper;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager;
+HSPLandroid/content/ContextWrapper;->getAttributionTag()Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
 HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLandroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
@@ -5786,7 +5305,6 @@
 HSPLandroid/content/ContextWrapper;->getPackageCodePath()Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;
 HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/ContextWrapper;->getPackageResourcePath()Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources;
 HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
 HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File;
@@ -5796,24 +5314,19 @@
 HSPLandroid/content/ContextWrapper;->getThemeResId()I
 HSPLandroid/content/ContextWrapper;->getUser()Landroid/os/UserHandle;
 HSPLandroid/content/ContextWrapper;->getUserId()I
-HSPLandroid/content/ContextWrapper;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
 HSPLandroid/content/ContextWrapper;->isDeviceProtectedStorage()Z
 HSPLandroid/content/ContextWrapper;->isRestricted()Z
+HSPLandroid/content/ContextWrapper;->isUiContext()Z
 HSPLandroid/content/ContextWrapper;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
 HSPLandroid/content/ContextWrapper;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
-HSPLandroid/content/ContextWrapper;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
-HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->registerReceiverForAllUsers(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
-HSPLandroid/content/ContextWrapper;->revokeUriPermission(Landroid/net/Uri;I)V
 HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;)V
 HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
 HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
 HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/content/ContextWrapper;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
 HSPLandroid/content/ContextWrapper;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
 HSPLandroid/content/ContextWrapper;->setAutofillOptions(Landroid/content/AutofillOptions;)V
@@ -5836,21 +5349,16 @@
 HPLandroid/content/IClipboard$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/IContentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-HSPLandroid/content/IContentService$Stub$Proxy;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
 HSPLandroid/content/IContentService$Stub$Proxy;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
 HSPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
-HSPLandroid/content/IContentService$Stub$Proxy;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
 HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
 HSPLandroid/content/IContentService$Stub$Proxy;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
 HSPLandroid/content/IContentService$Stub$Proxy;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
 HSPLandroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/IContentService$Stub$Proxy;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLandroid/content/IContentService$Stub$Proxy;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-HSPLandroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
 HSPLandroid/content/IContentService$Stub$Proxy;->unregisterContentObserver(Landroid/database/IContentObserver;)V
 HSPLandroid/content/IContentService$Stub;-><init>()V
 HSPLandroid/content/IContentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentService;
+HPLandroid/content/IContentService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/content/IContentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/IIntentReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/IIntentReceiver$Stub$Proxy;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
@@ -5868,39 +5376,25 @@
 HSPLandroid/content/IOnPrimaryClipChangedListener$Stub;-><init>()V
 HSPLandroid/content/IOnPrimaryClipChangedListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/IOnPrimaryClipChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IOnPrimaryClipChangedListener;
-PLandroid/content/IOnPrimaryClipChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/IRestrictionsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/IRestrictionsManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/content/IRestrictionsManager$Stub;-><init>()V
-HSPLandroid/content/IRestrictionsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IRestrictionsManager;
 HPLandroid/content/IRestrictionsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/ISyncAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->cancelSync(Landroid/content/ISyncContext;)V
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/ISyncAdapter$Stub;-><init>()V
 HSPLandroid/content/ISyncAdapter$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapter;
 HSPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
 PLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapterUnsyncableAccountCallback;
 HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/ISyncContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/ISyncContext$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
 HPLandroid/content/ISyncContext$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncContext$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncContext;
 HPLandroid/content/ISyncContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/ISyncStatusObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->onStatusChanged(I)V
-HSPLandroid/content/ISyncStatusObserver$Stub;-><init>()V
-HSPLandroid/content/ISyncStatusObserver$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
-HSPLandroid/content/ISyncStatusObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/Intent;
 HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/Intent$1;->newArray(I)[Landroid/content/Intent;
@@ -5920,7 +5414,6 @@
 HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->addFlags(I)Landroid/content/Intent;
 HSPLandroid/content/Intent;->canStripForHistory()Z
-HSPLandroid/content/Intent;->clone()Ljava/lang/Object;
 HSPLandroid/content/Intent;->cloneFilter()Landroid/content/Intent;
 HSPLandroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;
@@ -5966,6 +5459,7 @@
 HSPLandroid/content/Intent;->isAccessUriMode(I)Z
 HSPLandroid/content/Intent;->isDocument()Z
 HSPLandroid/content/Intent;->isExcludingStopped()Z
+HSPLandroid/content/Intent;->isImageCaptureIntent()Z
 HSPLandroid/content/Intent;->isWebIntent()Z
 HSPLandroid/content/Intent;->makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->makeMainSelectorActivity(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
@@ -5989,7 +5483,6 @@
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[J)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
@@ -6079,15 +5572,17 @@
 HSPLandroid/content/IntentFilter;->hasCategory(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->hasDataPath(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->hasDataScheme(Ljava/lang/String;)Z
-HSPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->isImplicitlyVisibleToInstantApp()Z
 HSPLandroid/content/IntentFilter;->isVisibleToInstantApp()Z
+HSPLandroid/content/IntentFilter;->lambda$addDataType$0$IntentFilter(Ljava/lang/String;Ljava/lang/Boolean;)V
 HSPLandroid/content/IntentFilter;->match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I
 HSPLandroid/content/IntentFilter;->match(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/util/Set;Ljava/lang/String;)I
 HSPLandroid/content/IntentFilter;->matchAction(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->matchCategories(Ljava/util/Set;)Ljava/lang/String;
 HSPLandroid/content/IntentFilter;->matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)I
+HSPLandroid/content/IntentFilter;->matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Z)I
 HSPLandroid/content/IntentFilter;->matchDataAuthority(Landroid/net/Uri;)I
+HSPLandroid/content/IntentFilter;->processMimeType(Ljava/lang/String;Ljava/util/function/BiConsumer;)V
 HSPLandroid/content/IntentFilter;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/content/IntentFilter;->schemesIterator()Ljava/util/Iterator;
 HSPLandroid/content/IntentFilter;->setAutoVerify(Z)V
@@ -6102,41 +5597,22 @@
 HSPLandroid/content/IntentSender;-><init>(Landroid/content/IIntentSender;Landroid/os/IBinder;)V
 HSPLandroid/content/IntentSender;->getTarget()Landroid/content/IIntentSender;
 HSPLandroid/content/IntentSender;->getWhitelistToken()Landroid/os/IBinder;
-PLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
-HPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
-HSPLandroid/content/Loader$ForceLoadContentObserver;-><init>(Landroid/content/Loader;)V
-HSPLandroid/content/Loader;->cancelLoad()Z
-HSPLandroid/content/Loader;->commitContentChanged()V
-HSPLandroid/content/Loader;->deliverResult(Ljava/lang/Object;)V
-HSPLandroid/content/Loader;->forceLoad()V
-HSPLandroid/content/Loader;->getContext()Landroid/content/Context;
-HSPLandroid/content/Loader;->isAbandoned()Z
-HSPLandroid/content/Loader;->isReset()Z
-HSPLandroid/content/Loader;->registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V
-HSPLandroid/content/Loader;->startLoading()V
-HSPLandroid/content/Loader;->takeContentChanged()Z
+HSPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
+HSPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
+HSPLandroid/content/IntentSender;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/LocusId;
+HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/LocusId;-><init>(Ljava/lang/String;)V
-HSPLandroid/content/MutableContextWrapper;-><init>(Landroid/content/Context;)V
-HSPLandroid/content/MutableContextWrapper;->setBaseContext(Landroid/content/Context;)V
 HSPLandroid/content/PeriodicSync$1;-><init>()V
-HSPLandroid/content/PeriodicSync$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/PeriodicSync;
-HSPLandroid/content/PeriodicSync$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/PeriodicSync;-><clinit>()V
-HSPLandroid/content/PeriodicSync;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/PeriodicSync;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/PermissionChecker;->checkAppOpPermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I
 HSPLandroid/content/PermissionChecker;->checkCallingOrSelfPermissionForPreflight(Landroid/content/Context;Ljava/lang/String;)I
 HSPLandroid/content/PermissionChecker;->checkPermissionCommon(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I
 HSPLandroid/content/PermissionChecker;->checkPermissionForPreflight(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;)I
 HSPLandroid/content/PermissionChecker;->checkRuntimePermission(Landroid/content/Context;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)I
-HSPLandroid/content/RestrictionsManager;-><init>(Landroid/content/Context;Landroid/content/IRestrictionsManager;)V
-HSPLandroid/content/RestrictionsManager;->getApplicationRestrictions()Landroid/os/Bundle;
 HSPLandroid/content/ServiceConnection;->onBindingDied(Landroid/content/ComponentName;)V
 HSPLandroid/content/ServiceConnection;->onNullBinding(Landroid/content/ComponentName;)V
-HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncAdapterType;
-HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/SyncAdapterType$1;->newArray(I)[Landroid/content/SyncAdapterType;
-HSPLandroid/content/SyncAdapterType$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/SyncAdapterType;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;ZZZZLjava/lang/String;Ljava/lang/String;)V
 HPLandroid/content/SyncAdapterType;->allowParallelSyncs()Z
@@ -6153,31 +5629,9 @@
 PLandroid/content/SyncAdaptersCache;->onServicesChangedLocked(I)V
 HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/content/SyncAdapterType;
 HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HSPLandroid/content/SyncContext;-><init>(Landroid/content/ISyncContext;)V
-HSPLandroid/content/SyncContext;->getSyncContextBinder()Landroid/os/IBinder;
 HSPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
-PLandroid/content/SyncInfo$1;-><init>()V
-PLandroid/content/SyncInfo;-><clinit>()V
-HPLandroid/content/SyncInfo;-><init>(ILandroid/accounts/Account;Ljava/lang/String;J)V
 PLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncRequest;
 HPLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/SyncRequest$Builder;-><init>()V
-HSPLandroid/content/SyncRequest$Builder;->access$100(Landroid/content/SyncRequest$Builder;)J
-HSPLandroid/content/SyncRequest$Builder;->access$1000(Landroid/content/SyncRequest$Builder;)Z
-HSPLandroid/content/SyncRequest$Builder;->access$200(Landroid/content/SyncRequest$Builder;)J
-HSPLandroid/content/SyncRequest$Builder;->access$300(Landroid/content/SyncRequest$Builder;)Landroid/accounts/Account;
-HSPLandroid/content/SyncRequest$Builder;->access$400(Landroid/content/SyncRequest$Builder;)Ljava/lang/String;
-HSPLandroid/content/SyncRequest$Builder;->access$500(Landroid/content/SyncRequest$Builder;)I
-HSPLandroid/content/SyncRequest$Builder;->access$600(Landroid/content/SyncRequest$Builder;)I
-HSPLandroid/content/SyncRequest$Builder;->access$700(Landroid/content/SyncRequest$Builder;)Z
-HSPLandroid/content/SyncRequest$Builder;->access$800(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
-HSPLandroid/content/SyncRequest$Builder;->access$900(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
-HSPLandroid/content/SyncRequest$Builder;->build()Landroid/content/SyncRequest;
-HSPLandroid/content/SyncRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest$Builder;->setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest$Builder;->setupInterval(JJ)V
-HSPLandroid/content/SyncRequest$Builder;->syncOnce()Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
 HPLandroid/content/SyncRequest;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/SyncRequest;-><init>(Landroid/os/Parcel;Landroid/content/SyncRequest$1;)V
 HPLandroid/content/SyncRequest;->getAccount()Landroid/accounts/Account;
@@ -6186,7 +5640,6 @@
 HPLandroid/content/SyncRequest;->getSyncFlexTime()J
 HPLandroid/content/SyncRequest;->getSyncRunTime()J
 HPLandroid/content/SyncRequest;->isPeriodic()Z
-HSPLandroid/content/SyncRequest;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncResult;
 HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/SyncResult;-><init>()V
@@ -6205,7 +5658,7 @@
 HSPLandroid/content/SyncStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/SyncStatusInfo$Stats;-><init>()V
 PLandroid/content/SyncStatusInfo$Stats;->clear()V
-PLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
+HPLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
 HSPLandroid/content/SyncStatusInfo;-><init>(I)V
 HPLandroid/content/SyncStatusInfo;->addEvent(Ljava/lang/String;)V
 HPLandroid/content/SyncStatusInfo;->areSameDates(JJ)Z
@@ -6231,7 +5684,6 @@
 HSPLandroid/content/UndoManager$UndoState;->matchOwner(Landroid/content/UndoOwner;)Z
 HSPLandroid/content/UndoManager$UndoState;->setCanMerge(Z)Z
 HSPLandroid/content/UndoManager$UndoState;->updateLabel(Ljava/lang/CharSequence;)V
-HSPLandroid/content/UndoManager$UndoState;->writeToParcel(Landroid/os/Parcel;)V
 HSPLandroid/content/UndoManager;-><init>()V
 HSPLandroid/content/UndoManager;->addOperation(Landroid/content/UndoOperation;I)V
 HSPLandroid/content/UndoManager;->beginUpdate(Ljava/lang/CharSequence;)V
@@ -6248,9 +5700,7 @@
 HSPLandroid/content/UndoManager;->matchOwners(Landroid/content/UndoManager$UndoState;[Landroid/content/UndoOwner;)Z
 HSPLandroid/content/UndoManager;->pushWorkingState()V
 HSPLandroid/content/UndoManager;->removeOwner(Landroid/content/UndoOwner;)V
-HSPLandroid/content/UndoManager;->restoreInstanceState(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
 HSPLandroid/content/UndoManager;->saveInstanceState(Landroid/os/Parcel;)V
-HSPLandroid/content/UndoManager;->saveOwner(Landroid/content/UndoOwner;Landroid/os/Parcel;)V
 HSPLandroid/content/UndoOperation;-><init>(Landroid/content/UndoOwner;)V
 HSPLandroid/content/UndoOperation;->allowMerge()Z
 HSPLandroid/content/UndoOperation;->getOwner()Landroid/content/UndoOwner;
@@ -6265,7 +5715,6 @@
 HSPLandroid/content/UriMatcher;->createChild(Ljava/lang/String;)Landroid/content/UriMatcher;
 HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I
 HSPLandroid/content/integrity/IAppIntegrityManager$Stub;-><init>()V
-HPLandroid/content/integrity/IAppIntegrityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/om/IOverlayManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/content/om/IOverlayManager$Stub$Proxy;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
 HSPLandroid/content/om/IOverlayManager$Stub;-><init>()V
@@ -6285,10 +5734,9 @@
 HSPLandroid/content/pm/-$$Lambda$IPackageManager$Stub$Proxy$X2I1qlX4SiKMZSjDTNzS_nTibbo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/-$$Lambda$IPackageManager$Stub$Proxy$X2I1qlX4SiKMZSjDTNzS_nTibbo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/content/pm/-$$Lambda$hUJwdX9IqTlLwBds2BUGqVf-FM8;-><clinit>()V
 HSPLandroid/content/pm/-$$Lambda$hUJwdX9IqTlLwBds2BUGqVf-FM8;-><init>()V
-HSPLandroid/content/pm/-$$Lambda$hUJwdX9IqTlLwBds2BUGqVf-FM8;->get()Ljava/lang/Object;
 HSPLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ActivityInfo;
@@ -6325,9 +5773,9 @@
 HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/ApplicationInfo;->getBaseCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->getCodePath()Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->getHiddenApiEnforcementPolicy()I
+PLandroid/content/pm/ApplicationInfo;->getSplitCodePaths()[Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->hasRequestedLegacyExternalStorage()Z
 HSPLandroid/content/pm/ApplicationInfo;->hasRtlSupport()Z
 HSPLandroid/content/pm/ApplicationInfo;->initForUser(I)V
@@ -6373,7 +5821,6 @@
 HSPLandroid/content/pm/BaseParceledListSlice;->setInlineCountLimit(I)V
 HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V
 HSPLandroid/content/pm/BaseParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ChangedPackages;-><clinit>()V
 HPLandroid/content/pm/ChangedPackages;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ComponentInfo;-><init>()V
 HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/content/pm/ComponentInfo;)V
@@ -6391,7 +5838,7 @@
 HSPLandroid/content/pm/ConfigurationInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ConfigurationInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ConfigurationInfo$1;)V
 HSPLandroid/content/pm/ConfigurationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/DataLoaderManager;-><init>(Landroid/content/pm/IDataLoaderManager;)V
+HSPLandroid/content/pm/CrossProfileApps;-><init>(Landroid/content/Context;Landroid/content/pm/ICrossProfileApps;)V
 HSPLandroid/content/pm/FallbackCategoryProvider;->getFallbackCategory(Ljava/lang/String;)I
 HSPLandroid/content/pm/FallbackCategoryProvider;->loadFallbacks()V
 HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/FeatureInfo;
@@ -6401,14 +5848,15 @@
 HSPLandroid/content/pm/FeatureInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/FeatureInfo$1;)V
 HSPLandroid/content/pm/FeatureInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ICrossProfileApps$Stub;-><init>()V
+HSPLandroid/content/pm/ICrossProfileApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ICrossProfileApps;
 HPLandroid/content/pm/ICrossProfileApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/pm/IDataLoaderManager$Stub;-><init>()V
-HSPLandroid/content/pm/IDataLoaderManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IDataLoaderManager;
-HPLandroid/content/pm/IDataLoaderManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/ILauncherApps$Stub;-><init>()V
 HSPLandroid/content/pm/ILauncherApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ILauncherApps;
+PLandroid/content/pm/ILauncherApps$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/pm/ILauncherApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -6417,16 +5865,10 @@
 HSPLandroid/content/pm/IOnAppsChangedListener$Stub;-><init>()V
 PLandroid/content/pm/IOnAppsChangedListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnAppsChangedListener;
 HSPLandroid/content/pm/IOtaDexopt$Stub;-><init>()V
-HPLandroid/content/pm/IOtaDexopt$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/pm/IPackageDataObserver$Stub$Proxy;->onRemoveCompleted(Ljava/lang/String;Z)V
 HPLandroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
 HSPLandroid/content/pm/IPackageInstaller$Stub;-><init>()V
 HPLandroid/content/pm/IPackageInstaller$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageInstaller$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstaller;
 HPLandroid/content/pm/IPackageInstaller$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -6437,11 +5879,10 @@
 HSPLandroid/content/pm/IPackageInstallerCallback$Stub;-><init>()V
 HSPLandroid/content/pm/IPackageInstallerCallback$Stub;->asBinder()Landroid/os/IBinder;
 PLandroid/content/pm/IPackageInstallerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallerCallback;
-HSPLandroid/content/pm/IPackageInstallerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/pm/IPackageInstallerSession$Stub;-><init>()V
 PLandroid/content/pm/IPackageInstallerSession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IPackageInstallerSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkUidSignatures(II)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
@@ -6460,8 +5901,6 @@
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemSharedLibraryNames()[Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->hasSystemFeature(Ljava/lang/String;I)Z
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isInstantApp(Ljava/lang/String;I)Z
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isOnlyCoreApps()Z
@@ -6470,6 +5909,7 @@
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackagesReplacedReceived([Ljava/lang/String;)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
@@ -6486,32 +5926,28 @@
 HSPLandroid/content/pm/IPackageManagerNative$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/content/pm/IPackageMoveObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/content/pm/IPackageMoveObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageMoveObserver$Stub;-><init>()V
 HSPLandroid/content/pm/IPackageMoveObserver$Stub;->asBinder()Landroid/os/IBinder;
 PLandroid/content/pm/IPackageMoveObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageMoveObserver;
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getShortcuts(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
 HSPLandroid/content/pm/IShortcutService$Stub;-><init>()V
 HSPLandroid/content/pm/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IShortcutService;
 HPLandroid/content/pm/IShortcutService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/InstantAppRequest;-><init>(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;ZILandroid/os/Bundle;Z[ILjava/lang/String;)V
+PLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppIntentFilter;
+PLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/InstantAppRequestInfo$1;-><init>()V
-HSPLandroid/content/pm/InstantAppRequestInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppRequestInfo;
-HSPLandroid/content/pm/InstantAppRequestInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/InstantAppRequestInfo;-><clinit>()V
 HPLandroid/content/pm/InstantAppRequestInfo;-><init>(Landroid/content/Intent;[ILandroid/os/UserHandle;ZLjava/lang/String;)V
-HSPLandroid/content/pm/InstantAppRequestInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/pm/InstantAppRequestInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Ljava/lang/String;I)V
-HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->generateDigest(Ljava/lang/String;I)[[B
+PLandroid/content/pm/InstantAppResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppResolveInfo;
+PLandroid/content/pm/InstantAppResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
+PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Ljava/lang/String;I)V
+HSPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->generateDigest(Ljava/lang/String;I)[[B
 PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->getDigestPrefix()[I
 HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->getDigestPrefixSecure()[I
+HPLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/os/Parcel;)V
 PLandroid/content/pm/InstantAppResolveInfo;->getPackageName()Ljava/lang/String;
 HSPLandroid/content/pm/IntentFilterVerificationInfo;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/content/pm/IntentFilterVerificationInfo;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
@@ -6545,22 +5981,21 @@
 HSPLandroid/content/pm/PackageInfo;->composeLongVersionCode(II)J
 HSPLandroid/content/pm/PackageInfo;->getLongVersionCode()J
 PLandroid/content/pm/PackageInfo;->isOverlayPackage()Z
-HSPLandroid/content/pm/PackageInfo;->isStaticOverlayPackage()Z
 HSPLandroid/content/pm/PackageInfo;->propagateApplicationInfo(Landroid/content/pm/ApplicationInfo;[Landroid/content/pm/ComponentInfo;)V
 HSPLandroid/content/pm/PackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/content/pm/PackageInfoLite;->getLongVersionCode()J
+HPLandroid/content/pm/PackageInfoLite;->getLongVersionCode()J
 HSPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()V
 HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;-><init>(Landroid/content/pm/PackageInstaller$SessionCallback;Ljava/util/concurrent/Executor;)V
 HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
-PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
+HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
 HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
 HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionProgressChanged(IF)V
 HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionInfo;
 HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppPackageName()Ljava/lang/String;
 HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallerPackageName()Ljava/lang/String;
 HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getSessionId()I
+HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getUser()Landroid/os/UserHandle;
 HPLandroid/content/pm/PackageInstaller$SessionInfo;->writeToParcel(Landroid/os/Parcel;I)V
 PLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionParams;
 PLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -6570,7 +6005,6 @@
 HSPLandroid/content/pm/PackageInstaller;-><init>(Landroid/content/pm/IPackageInstaller;Ljava/lang/String;I)V
 HSPLandroid/content/pm/PackageInstaller;->getAllSessions()Ljava/util/List;
 HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
 HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V
 HSPLandroid/content/pm/PackageItemInfo;-><init>()V
 HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V
@@ -6603,6 +6037,7 @@
 HSPLandroid/content/pm/PackageManager;->access$000(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageManager;->access$100(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
+HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUserCached(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUserUncached(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageManager;->getPackageInfoAsUserCached(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
@@ -6625,6 +6060,7 @@
 HSPLandroid/content/pm/PackageParser$Activity;->setPackageName(Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/content/pm/PackageParser$Activity;)V
 HSPLandroid/content/pm/PackageParser$ApkLite;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ZIIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZZII)V
+HSPLandroid/content/pm/PackageParser$ApkLite;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ZIIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZZLjava/lang/String;ZIII)V
 HSPLandroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
 HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>()V
 HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>(Landroid/content/pm/PackageParser$1;)V
@@ -6657,7 +6093,6 @@
 HSPLandroid/content/pm/PackageParser$SigningDetails$Builder;->setSignatureSchemeVersion(I)Landroid/content/pm/PackageParser$SigningDetails$Builder;
 HSPLandroid/content/pm/PackageParser$SigningDetails$Builder;->setSignatures([Landroid/content/pm/Signature;)Landroid/content/pm/PackageParser$SigningDetails$Builder;
 HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I)V
 HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;ILandroid/util/ArraySet;[Landroid/content/pm/Signature;)V
 HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I[Landroid/content/pm/Signature;)V
@@ -6680,7 +6115,7 @@
 HSPLandroid/content/pm/PackageParser;->buildCompoundName(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser;->buildProcessName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;I[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser;->buildTaskAffinityName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->cacheResult(Ljava/io/File;ILandroid/content/pm/parsing/ParsedPackage;)V
+HSPLandroid/content/pm/PackageParser;->checkRequiredSystemProperty(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->checkUseInstalledOrHidden(ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;)Z
 HSPLandroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Ljava/io/File;Z)V
 HSPLandroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Z)V
@@ -6688,16 +6123,13 @@
 HSPLandroid/content/pm/PackageParser;->computeMinSdkVersion(ILjava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/pm/PackageParser;->computeTargetSdkVersion(ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/pm/PackageParser;->copyNeeded(ILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageUserState;Landroid/os/Bundle;I)Z
-HSPLandroid/content/pm/PackageParser;->fromCacheEntry([B)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/PackageParser;->fromCacheEntryStatic([B)Landroid/content/pm/parsing/ParsedPackage;
 HSPLandroid/content/pm/PackageParser;->generateAppDetailsHiddenActivity(Landroid/content/pm/PackageParser$Package;I[Ljava/lang/String;Z)Landroid/content/pm/PackageParser$Activity;
 HSPLandroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/PackageParser$Package;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;Landroid/apex/ApexInfo;I)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;Landroid/apex/ApexInfo;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;)Landroid/content/pm/PackageInfo;
+HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageParser;->getActivityConfigChanges(II)I
-HSPLandroid/content/pm/PackageParser;->getCacheKey(Ljava/io/File;I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->getCachedResult(Ljava/io/File;I)Landroid/content/pm/parsing/ParsedPackage;
 HSPLandroid/content/pm/PackageParser;->hasDomainURLs(Landroid/content/pm/PackageParser$Package;)Z
 HSPLandroid/content/pm/PackageParser;->isApkFile(Ljava/io/File;)Z
 HSPLandroid/content/pm/PackageParser;->isApkPath(Ljava/lang/String;)Z
@@ -6711,6 +6143,7 @@
 HSPLandroid/content/pm/PackageParser;->parseBaseApk(Ljava/io/File;Landroid/content/res/AssetManager;I)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->parseBaseApkCommon(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->parseBaseApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Z
+HSPLandroid/content/pm/PackageParser;->parseClusterPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HSPLandroid/content/pm/PackageParser;->parseIntent(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/PackageParser$IntentInfo;[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parseMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;[Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/content/pm/PackageParser;->parseMonolithicPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
@@ -6719,19 +6152,12 @@
 HSPLandroid/content/pm/PackageParser;->parsePackageItemInfo(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageItemInfo;[Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;ZIIIIII)Z
 HSPLandroid/content/pm/PackageParser;->parsePackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HSPLandroid/content/pm/PackageParser;->parsePackageSplitNames(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/util/Pair;
-HSPLandroid/content/pm/PackageParser;->parseParsedPackage(Ljava/io/File;IZ)Landroid/content/pm/parsing/ParsedPackage;
 HSPLandroid/content/pm/PackageParser;->parsePublicKey(Ljava/lang/String;)Ljava/security/PublicKey;
 HSPLandroid/content/pm/PackageParser;->readConfigUseRoundIcon(Landroid/content/res/Resources;)V
-HSPLandroid/content/pm/PackageParser;->setCacheDir(Ljava/io/File;)V
 HSPLandroid/content/pm/PackageParser;->setCallback(Landroid/content/pm/PackageParser$Callback;)V
 HSPLandroid/content/pm/PackageParser;->setCompatibilityModeEnabled(Z)V
-HSPLandroid/content/pm/PackageParser;->setDisplayMetrics(Landroid/util/DisplayMetrics;)V
 HSPLandroid/content/pm/PackageParser;->setMaxAspectRatio(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageParser;->setMinAspectRatio(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser;->setOnlyCoreApps(Z)V
-HSPLandroid/content/pm/PackageParser;->setSeparateProcesses([Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser;->toCacheEntry(Landroid/content/pm/parsing/ParsedPackage;)[B
-HSPLandroid/content/pm/PackageParser;->toCacheEntryStatic(Landroid/content/pm/parsing/ParsedPackage;)[B
 HSPLandroid/content/pm/PackageParser;->toSigningKeys([Landroid/content/pm/Signature;)Landroid/util/ArraySet;
 HSPLandroid/content/pm/PackageParser;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;)V
 HSPLandroid/content/pm/PackageParser;->validateName(Ljava/lang/String;ZZ)Ljava/lang/String;
@@ -6748,10 +6174,10 @@
 HSPLandroid/content/pm/PackageUserState;->isAvailable(I)Z
 HSPLandroid/content/pm/PackageUserState;->isEnabled(ZZLjava/lang/String;I)Z
 HSPLandroid/content/pm/PackageUserState;->isMatch(Landroid/content/pm/ComponentInfo;I)Z
-HSPLandroid/content/pm/PackageUserState;->isMatch(ZZLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;I)Z
 HSPLandroid/content/pm/PackageUserState;->isMatch(ZZZZLjava/lang/String;I)Z
 HSPLandroid/content/pm/PackageUserState;->reportIfDebug(ZI)Z
 HSPLandroid/content/pm/PackageUserState;->setOverlayPaths([Ljava/lang/String;)V
+HSPLandroid/content/pm/PackageUserState;->setSharedLibraryOverlayPaths(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/ParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
@@ -6858,7 +6284,7 @@
 HSPLandroid/content/pm/ServiceInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ServiceInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ServiceInfo$1;)V
 HPLandroid/content/pm/ServiceInfo;->getForegroundServiceType()I
-PLandroid/content/pm/ServiceInfo;->toString()Ljava/lang/String;
+HPLandroid/content/pm/ServiceInfo;->toString()Ljava/lang/String;
 HSPLandroid/content/pm/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SharedLibraryInfo;
 HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -6867,8 +6293,6 @@
 HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;JILandroid/content/pm/VersionedPackage;Ljava/util/List;Ljava/util/List;)V
 HSPLandroid/content/pm/SharedLibraryInfo;->addDependency(Landroid/content/pm/SharedLibraryInfo;)V
 HSPLandroid/content/pm/SharedLibraryInfo;->clearDependencies()V
-HSPLandroid/content/pm/SharedLibraryInfo;->createForDynamic(Landroid/content/pm/parsing/AndroidPackage;Ljava/lang/String;)Landroid/content/pm/SharedLibraryInfo;
-HSPLandroid/content/pm/SharedLibraryInfo;->createForStatic(Landroid/content/pm/parsing/AndroidPackage;)Landroid/content/pm/SharedLibraryInfo;
 HSPLandroid/content/pm/SharedLibraryInfo;->getAllCodePaths()Ljava/util/List;
 HSPLandroid/content/pm/SharedLibraryInfo;->getDeclaringPackage()Landroid/content/pm/VersionedPackage;
 HSPLandroid/content/pm/SharedLibraryInfo;->getDependencies()Ljava/util/List;
@@ -6882,37 +6306,15 @@
 HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ShortcutInfo;
 HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$000(Landroid/content/pm/ShortcutInfo$Builder;)Landroid/content/Context;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$100(Landroid/content/pm/ShortcutInfo$Builder;)Ljava/lang/String;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1000(Landroid/content/pm/ShortcutInfo$Builder;)Ljava/util/Set;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1100(Landroid/content/pm/ShortcutInfo$Builder;)[Landroid/content/Intent;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1200(Landroid/content/pm/ShortcutInfo$Builder;)[Landroid/app/Person;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1300(Landroid/content/pm/ShortcutInfo$Builder;)Z
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1400(Landroid/content/pm/ShortcutInfo$Builder;)I
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1500(Landroid/content/pm/ShortcutInfo$Builder;)Landroid/os/PersistableBundle;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$1600(Landroid/content/pm/ShortcutInfo$Builder;)Landroid/content/LocusId;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$200(Landroid/content/pm/ShortcutInfo$Builder;)Landroid/content/ComponentName;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$300(Landroid/content/pm/ShortcutInfo$Builder;)Landroid/graphics/drawable/Icon;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$400(Landroid/content/pm/ShortcutInfo$Builder;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$500(Landroid/content/pm/ShortcutInfo$Builder;)I
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$600(Landroid/content/pm/ShortcutInfo$Builder;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$700(Landroid/content/pm/ShortcutInfo$Builder;)I
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$800(Landroid/content/pm/ShortcutInfo$Builder;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->access$900(Landroid/content/pm/ShortcutInfo$Builder;)I
 HSPLandroid/content/pm/ShortcutInfo$Builder;->build()Landroid/content/pm/ShortcutInfo;
 HSPLandroid/content/pm/ShortcutInfo$Builder;->setIcon(Landroid/graphics/drawable/Icon;)Landroid/content/pm/ShortcutInfo$Builder;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntent(Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
 HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntents([Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->setLongLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->setRank(I)Landroid/content/pm/ShortcutInfo$Builder;
 HSPLandroid/content/pm/ShortcutInfo$Builder;->setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
 HPLandroid/content/pm/ShortcutInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/util/Set;[Landroid/content/Intent;ILandroid/os/PersistableBundle;JIILjava/lang/String;Ljava/lang/String;I[Landroid/app/Person;Landroid/content/LocusId;)V
 HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V
-HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;Landroid/content/pm/ShortcutInfo$1;)V
 HPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo;I)V
 HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ShortcutInfo$1;)V
-HSPLandroid/content/pm/ShortcutInfo;->access$1700([Landroid/content/Intent;)[Landroid/content/Intent;
 HPLandroid/content/pm/ShortcutInfo;->addFlags(I)V
 HPLandroid/content/pm/ShortcutInfo;->clearFlags(I)V
 HPLandroid/content/pm/ShortcutInfo;->clone(I)Landroid/content/pm/ShortcutInfo;
@@ -6920,9 +6322,9 @@
 HSPLandroid/content/pm/ShortcutInfo;->cloneIntents([Landroid/content/Intent;)[Landroid/content/Intent;
 HSPLandroid/content/pm/ShortcutInfo;->clonePersons([Landroid/app/Person;)[Landroid/app/Person;
 HPLandroid/content/pm/ShortcutInfo;->enforceMandatoryFields(Z)V
+HPLandroid/content/pm/ShortcutInfo;->ensureUpdatableWith(Landroid/content/pm/ShortcutInfo;Z)V
 HSPLandroid/content/pm/ShortcutInfo;->fixUpIntentExtras()V
 HSPLandroid/content/pm/ShortcutInfo;->getActivity()Landroid/content/ComponentName;
-HPLandroid/content/pm/ShortcutInfo;->getBitmapPath()Ljava/lang/String;
 HSPLandroid/content/pm/ShortcutInfo;->getCategories()Ljava/util/Set;
 HSPLandroid/content/pm/ShortcutInfo;->getDisabledMessage()Ljava/lang/CharSequence;
 HSPLandroid/content/pm/ShortcutInfo;->getDisabledReason()I
@@ -6941,7 +6343,6 @@
 HSPLandroid/content/pm/ShortcutInfo;->getShortLabel()Ljava/lang/CharSequence;
 HSPLandroid/content/pm/ShortcutInfo;->getUserHandle()Landroid/os/UserHandle;
 HSPLandroid/content/pm/ShortcutInfo;->getUserId()I
-PLandroid/content/pm/ShortcutInfo;->hasAnyResources()Z
 HSPLandroid/content/pm/ShortcutInfo;->hasFlags(I)Z
 HSPLandroid/content/pm/ShortcutInfo;->hasIconFile()Z
 HSPLandroid/content/pm/ShortcutInfo;->hasIconResource()Z
@@ -6952,10 +6353,8 @@
 HSPLandroid/content/pm/ShortcutInfo;->isDynamic()Z
 HSPLandroid/content/pm/ShortcutInfo;->isEnabled()Z
 HPLandroid/content/pm/ShortcutInfo;->isFloating()Z
-PLandroid/content/pm/ShortcutInfo;->isIconPendingSave()Z
 HSPLandroid/content/pm/ShortcutInfo;->isImmutable()Z
 HPLandroid/content/pm/ShortcutInfo;->isManifestShortcut()Z
-HPLandroid/content/pm/ShortcutInfo;->isOriginallyFromManifest()Z
 HPLandroid/content/pm/ShortcutInfo;->isPinned()Z
 PLandroid/content/pm/ShortcutInfo;->isVisibleToPublisher()Z
 HPLandroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
@@ -6970,18 +6369,10 @@
 HPLandroid/content/pm/ShortcutInfo;->setIntents([Landroid/content/Intent;)V
 HPLandroid/content/pm/ShortcutInfo;->setReturnedByServer()V
 PLandroid/content/pm/ShortcutInfo;->setTimestamp(J)V
-HSPLandroid/content/pm/ShortcutInfo;->updateTimestamp()V
 HSPLandroid/content/pm/ShortcutInfo;->validateIcon(Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Icon;
 HSPLandroid/content/pm/ShortcutInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ShortcutManager;-><init>(Landroid/content/Context;Landroid/content/pm/IShortcutService;)V
-HSPLandroid/content/pm/ShortcutManager;->addDynamicShortcuts(Ljava/util/List;)Z
-HSPLandroid/content/pm/ShortcutManager;->getDynamicShortcuts()Ljava/util/List;
-HSPLandroid/content/pm/ShortcutManager;->getMaxShortcutCountPerActivity()I
-HSPLandroid/content/pm/ShortcutManager;->getPinnedShortcuts()Ljava/util/List;
 HSPLandroid/content/pm/ShortcutManager;->injectMyUserId()I
-HSPLandroid/content/pm/ShortcutManager;->reportShortcutUsed(Ljava/lang/String;)V
-HSPLandroid/content/pm/ShortcutManager;->setDynamicShortcuts(Ljava/util/List;)Z
-HSPLandroid/content/pm/ShortcutManager;->updateShortcuts(Ljava/util/List;)Z
 HSPLandroid/content/pm/ShortcutServiceInternal;-><init>()V
 HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/Signature;
 HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -7002,12 +6393,7 @@
 HSPLandroid/content/pm/Signature;->toChars([C[I)[C
 HSPLandroid/content/pm/Signature;->toCharsString()Ljava/lang/String;
 HSPLandroid/content/pm/Signature;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo;
-HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/SigningInfo$1;)V
-HSPLandroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature;
 HSPLandroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature;
 HSPLandroid/content/pm/SigningInfo;->hasMultipleSigners()Z
 HSPLandroid/content/pm/SigningInfo;->hasPastSigningCertificates()Z
@@ -7022,7 +6408,6 @@
 HSPLandroid/content/pm/UserInfo;-><init>(Landroid/content/pm/UserInfo;)V
 HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/UserInfo$1;)V
-HPLandroid/content/pm/UserInfo;->flagsToString(I)Ljava/lang/String;
 HSPLandroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle;
 HSPLandroid/content/pm/UserInfo;->isAdmin()Z
 HSPLandroid/content/pm/UserInfo;->isDemo()Z
@@ -7050,6 +6435,7 @@
 HSPLandroid/content/pm/VersionedPackage;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/dex/ArtManager;->getCurrentProfilePath(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
+PLandroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/content/pm/dex/ArtManagerInternal;-><init>()V
 HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
@@ -7059,8 +6445,7 @@
 HSPLandroid/content/pm/dex/IArtManager$Stub;-><init>()V
 PLandroid/content/pm/dex/IArtManager$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/pm/dex/IArtManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-HPLandroid/content/pm/dex/PackageOptimizationInfo;-><init>(II)V
+HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationFilter()I
 HPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationReason()I
 HSPLandroid/content/pm/parsing/ApkLiteParseUtils;->parseApkLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$ApkLite;
@@ -7068,635 +6453,7 @@
 HSPLandroid/content/pm/parsing/ApkLiteParseUtils;->parseApkLiteInner(Ljava/io/File;Ljava/io/FileDescriptor;Ljava/lang/String;I)Landroid/content/pm/PackageParser$ApkLite;
 HSPLandroid/content/pm/parsing/ApkLiteParseUtils;->parseClusterPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HSPLandroid/content/pm/parsing/ApkLiteParseUtils;->parseMonolithicPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
-HSPLandroid/content/pm/parsing/ApkParseUtils$ParseResult;-><init>()V
-HSPLandroid/content/pm/parsing/ApkParseUtils$ParseResult;->getResultAndNull()Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/ApkParseUtils$ParseResult;->isSuccess()Z
-HSPLandroid/content/pm/parsing/ApkParseUtils$ParseResult;->reset()Landroid/content/pm/parsing/ApkParseUtils$ParseInput;
-HSPLandroid/content/pm/parsing/ApkParseUtils$ParseResult;->success(Landroid/content/pm/parsing/ParsingPackage;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->buildClassName(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->checkOverlayRequiredSystemProperty(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->collectCertificates(Landroid/content/pm/parsing/AndroidPackage;Z)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->convertNewPermissions(Landroid/content/pm/parsing/ParsingPackage;)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->convertSplitPermissions(Landroid/content/pm/parsing/ParsingPackage;)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->generateAppDetailsHiddenActivity(Landroid/content/pm/parsing/ParsingPackage;[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->hasDomainURLs(Landroid/content/pm/parsing/ParsingPackage;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseAdditionalCertificates(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseBaseApk(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/util/DisplayMetrics;Ljava/io/File;Landroid/content/res/AssetManager;I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseBaseApk(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseBaseApkTags(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/TypedArray;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseBaseApplication(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseClusterPackage(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/util/DisplayMetrics;ZLjava/io/File;I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseFeatureInfo(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/FeatureInfo;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseManifestAttributes(Landroid/content/res/TypedArray;Landroid/content/pm/parsing/ParsingPackage;I)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseMetaData(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;[Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseMonolithicPackage(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/util/DisplayMetrics;ZLjava/io/File;I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseOriginalPackage(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseOverlay(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parsePackage(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/PackageParser$Callback;Landroid/util/DisplayMetrics;ZLjava/io/File;I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parsePackageItemInfo(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Ljava/lang/String;Landroid/content/res/TypedArray;ZIIIIII)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parsePermission(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parsePermissionGroup(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parsePermissionTree(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseProtectedBroadcast(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseQueries(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseRestrictUpdateHash(ILandroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseSharedUser(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/TypedArray;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseSplitApk(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/util/DisplayMetrics;[Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;ILandroid/content/res/AssetManager;I)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseSplitApk(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseSplitApplication(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;[Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseSupportScreens(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseUnknownTag(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseUsesPermission(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/content/pm/PackageParser$Callback;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseUsesSdk(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->parseUsesStaticLibrary(Landroid/content/pm/parsing/ApkParseUtils$ParseInput;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/content/pm/parsing/ApkParseUtils$ParseResult;
-HSPLandroid/content/pm/parsing/ApkParseUtils;->setMaxAspectRatio(Landroid/content/pm/parsing/ParsingPackage;)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->setMinAspectRatio(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/pm/PackageParser$Callback;)V
-HSPLandroid/content/pm/parsing/ApkParseUtils;->validateName(Ljava/lang/String;ZZ)Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->addIntent(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->hasMaxAspectRatio()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->hasMinAspectRatio()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->setMaxAspectRatio(IF)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->setMinAspectRatio(IF)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->setPackageName(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->getName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->getSplitName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->isDirectBootAware()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->isEnabled()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->setEnabled(Z)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->setPackageName(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->setPackageNameInternal(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->setSplitName(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedFeature$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedFeature;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedFeature;->isCombinationValid(Ljava/util/List;)Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedInstrumentation$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedInstrumentation;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->addRawDataType(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->createIntentsList(Landroid/os/Parcel;)Ljava/util/ArrayList;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->getClassName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->writeIntentInfoToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;->writeIntentsList(Ljava/util/List;Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;->getPermission()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;->getProcessName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;->setPermission(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;->setProcessName(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;-><init>(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->getGroup()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->getProtection()I
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->getProtectionFlags()I
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->isRuntime()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->setGroup(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->setName(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->getAuthority()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->getIntents()Ljava/util/List;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->getReadPermission()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->getWritePermission()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->isSyncable()Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->setAuthority(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->setReadPermission(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->setWritePermission(Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProviderIntentInfo$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProviderIntentInfo;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedProviderIntentInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedService$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedService;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedService;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedService;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedServiceIntentInfo$1;-><init>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedServiceIntentInfo;-><clinit>()V
-HSPLandroid/content/pm/parsing/ComponentParseUtils$ParsedServiceIntentInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->getActivityResizeMode(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/TypedArray;I)I
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->isImplicitlyExposedIntent(Landroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;)Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseActivity([Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;ZZ)Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseActivityAlias(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseAllMetaData(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Ljava/lang/String;Landroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseIntentInfo(Landroid/content/pm/parsing/ComponentParseUtils$ParsedIntentInfo;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZ[Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseLayout(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/ActivityInfo$WindowLayout;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parsePermission(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parsePermissionGroup(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parsePermissionTree(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseProvider([Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseProviderTags(Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/ComponentParseUtils;->parseService([Ljava/lang/String;Landroid/content/pm/parsing/ParsingPackage;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/parsing/ComponentParseUtils$ParsedService;
-HSPLandroid/content/pm/parsing/PackageImpl$1;-><init>()V
-HSPLandroid/content/pm/parsing/PackageImpl;-><clinit>()V
-HSPLandroid/content/pm/parsing/PackageImpl;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/parsing/PackageImpl;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)V
-HSPLandroid/content/pm/parsing/PackageImpl;->addActivity(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addAdoptPermission(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addAdoptPermission(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addConfigPreference(Landroid/content/pm/ConfigurationInfo;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addConfigPreference(Landroid/content/pm/ConfigurationInfo;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addImplicitPermission(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addImplicitPermission(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addLibraryName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addLibraryName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addOriginalPackage(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addOriginalPackage(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addPermission(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addPermission(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addPermissionGroup(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addPermissionGroup(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addProtectedBroadcast(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addProtectedBroadcast(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addProvider(Landroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addQueriesPackage(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addQueriesPackage(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addReceiver(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addReqFeature(Landroid/content/pm/FeatureInfo;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addReqFeature(Landroid/content/pm/FeatureInfo;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addRequestedPermission(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addRequestedPermission(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addService(Landroid/content/pm/parsing/ComponentParseUtils$ParsedService;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesOptionalLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesOptionalLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibraryCertDigests([Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibraryCertDigests([Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibraryVersion(J)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->addUsesStaticLibraryVersion(J)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->asSplit([Ljava/lang/String;[Ljava/lang/String;[ILandroid/util/SparseArray;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->asSplit([Ljava/lang/String;[Ljava/lang/String;[ILandroid/util/SparseArray;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->canHaveOatDir()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->cantSaveState()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->capPermissionPriorities()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->clearAdoptPermissions()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->clearOriginalPackages()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->clearProtectedBroadcasts()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->forParsing(Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->getActivities()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAdoptPermissions()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAllCodePaths()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppInfoClassLoaderName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppInfoCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppInfoPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppInfoProcessName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppInfoResourcePath()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getAppMetaData()Landroid/os/Bundle;
-HSPLandroid/content/pm/parsing/PackageImpl;->getApplicationInfoVolumeUuid()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getBaseCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getBaseRevisionCode()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getCompileSdkVersion()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getCompileSdkVersionCodeName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getCpuAbiOverride()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getDataDir()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getFeatures()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getFlags()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getHiddenApiEnforcementPolicy()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getImplicitPermissions()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getInstallLocation()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getInstrumentations()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getKeySetMapping()Ljava/util/Map;
-HSPLandroid/content/pm/parsing/PackageImpl;->getLatestForegroundPackageUseTimeInMills()J
-HSPLandroid/content/pm/parsing/PackageImpl;->getLibraryNames()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getLongVersionCode()J
-HSPLandroid/content/pm/parsing/PackageImpl;->getManifestPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getMaxAspectRatio()F
-HSPLandroid/content/pm/parsing/PackageImpl;->getMinAspectRatio()F
-HSPLandroid/content/pm/parsing/PackageImpl;->getName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getNativeLibraryDir()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getNativeLibraryRootDir()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getOriginalPackages()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getOverlayCategory()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getOverlayPriority()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getOverlayTarget()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getOverlayTargetName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getOverlayables()Ljava/util/Map;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPermission()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPermissionGroups()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPermissions()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPreferredOrder()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getPrimaryCpuAbi()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getPrivateFlags()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getProcessName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getProtectedBroadcasts()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getProviders()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getQueriesIntents()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getQueriesPackages()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getRealPackage()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getReceivers()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getRequestedPermissions()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getRequiredAccountType()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getRestrictedAccountType()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSeInfo()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSeInfoUser()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSecondaryCpuAbi()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getServices()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSharedUserId()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSharedUserLabel()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSplitCodePaths()[Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSplitDependencies()Landroid/util/SparseArray;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSplitFlags()[I
-HSPLandroid/content/pm/parsing/PackageImpl;->getSplitNames()[Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getSplitRevisionCodes()[I
-HSPLandroid/content/pm/parsing/PackageImpl;->getStaticSharedLibName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getStaticSharedLibVersion()J
-HSPLandroid/content/pm/parsing/PackageImpl;->getTargetSdkVersion()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getTaskAffinity()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUiOptions()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getUid()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getUpgradeKeySets()Ljava/util/Set;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesLibraries()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesLibraryFiles()[Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesLibraryInfos()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesOptionalLibraries()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesStaticLibraries()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesStaticLibrariesCertDigests()[[Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getUsesStaticLibrariesVersions()[J
-HSPLandroid/content/pm/parsing/PackageImpl;->getVersionCode()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getVersionCodeMajor()I
-HSPLandroid/content/pm/parsing/PackageImpl;->getVersionName()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->getVolumeUuid()Ljava/lang/String;
-HSPLandroid/content/pm/parsing/PackageImpl;->hasComponentClassName(Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/PackageImpl;->hideAsFinal()Landroid/content/pm/parsing/AndroidPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->hideAsParsed()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->initForUser(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->initForUser(I)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->internStringArrayList(Ljava/util/List;)V
-HSPLandroid/content/pm/parsing/PackageImpl;->isAllowedToUseHiddenApis()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isBaseHardwareAccelerated()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isCoreApp()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isDirectBootAware()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isEmbeddedDexUsed()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isEnabled()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isEncryptionAware()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isExternal()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isForceQueryable()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isHiddenUntilInstalled()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isInstantApp()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isLibrary()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isMatch(I)Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isOverlayIsStatic()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isPackageWhitelistedForHiddenApis()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isPrivileged()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isProduct()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isProfileableByShell()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isRequiredForAllUsers()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isSignedWithPlatformKey()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isStaticSharedLibrary()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isStub()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isSystem()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isSystemApp()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isSystemExt()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isUpdatedSystemApp()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->isVendor()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->makeListAllCodePaths()Ljava/util/List;
-HSPLandroid/content/pm/parsing/PackageImpl;->markNotActivitiesAsNotExportedIfSingleUser()Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->mutate()Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->removeUsesLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->removeUsesOptionalLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->removeUsesOptionalLibrary(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->requestsIsolatedSplitLoading()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->setActivitiesResizeModeResizeable(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setActivitiesResizeModeResizeable(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setActivitiesResizeModeResizeableViaSdkVersion(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setActivitiesResizeModeResizeableViaSdkVersion(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllComponentsDirectBootAware(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllComponentsDirectBootAware(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowAudioPlaybackCapture(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowAudioPlaybackCapture(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowBackup(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowBackup(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowClearUserData(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowClearUserData(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowClearUserDataOnFailedRestore(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowClearUserDataOnFailedRestore(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowTaskReparenting(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAllowTaskReparenting(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAnyDensity(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAnyDensity(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAppComponentFactory(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAppComponentFactory(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAppMetaData(Landroid/os/Bundle;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setAppMetaData(Landroid/os/Bundle;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoBaseResourcePath(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoBaseResourcePath(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoCodePath(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoCodePath(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoResourcePath(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoResourcePath(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationVolumeUuid(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationVolumeUuid(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setApplicationVolumeUuid(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBackupAgentName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBackupAgentName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBackupInForeground(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBackupInForeground(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBanner(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBanner(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBaseHardwareAccelerated(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setBaseHardwareAccelerated(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCantSaveState(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCantSaveState(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCategory(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCategory(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setClassLoaderName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setClassLoaderName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setClassName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setClassName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCodePath(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCodePath(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCompatibleWidthLimitDp(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCompatibleWidthLimitDp(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCompileSdkVersionCodename(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCoreApp(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCoreApp(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCpuAbiOverride(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCpuAbiOverride(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCrossProfile(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setCrossProfile(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDebuggable(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDebuggable(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDefaultToDeviceProtectedStorage(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDescriptionRes(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDescriptionRes(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDirectBootAware(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDirectBootAware(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setDirectBootAware(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setEnabled(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setEnabled(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setExternalStorage(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setExternalStorage(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setExtractNativeLibs(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setExtractNativeLibs(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setFactoryTest(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setForceQueryable(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setForceQueryable(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setFullBackupContent(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setFullBackupContent(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setFullBackupOnly(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setFullBackupOnly(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasCode(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasCode(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasDomainUrls(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasDomainUrls(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasFragileUserData(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHasFragileUserData(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHiddenUntilInstalled(Z)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setHiddenUntilInstalled(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIcon(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIcon(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIconRes(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIconRes(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setInstallLocation(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setInstallLocation(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsGame(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsGame(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsOverlay(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsOverlay(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsStub(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsStub(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsolatedSplitLoading(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setIsolatedSplitLoading(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setKillAfterRestore(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setKillAfterRestore(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLabelRes(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLabelRes(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLargeHeap(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLargeHeap(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLargestWidthLimitDp(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLargestWidthLimitDp(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLastPackageUsageTimeInMills(IJ)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLastPackageUsageTimeInMills(IJ)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLogo(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setLogo(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setManageSpaceActivityName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setManageSpaceActivityName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMaxAspectRatio(F)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMaxAspectRatio(F)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMinAspectRatio(F)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMinAspectRatio(F)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMinSdkVersion(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMinSdkVersion(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMultiArch(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setMultiArch(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryDir(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryDir(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryRootDir(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryRootDir(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryRootRequiresIsa(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNativeLibraryRootRequiresIsa(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNetworkSecurityConfigRes(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNetworkSecurityConfigRes(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNonLocalizedLabel(Ljava/lang/CharSequence;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setNonLocalizedLabel(Ljava/lang/CharSequence;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOdm(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOem(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayCategory(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayCategory(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayIsStatic(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayIsStatic(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayPriority(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayPriority(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayTarget(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayTarget(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayTargetName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setOverlayTargetName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPackageName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPackageName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPackageSettingCallback(Landroid/content/pm/parsing/ParsedPackage$PackageSettingCallback;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPackageSettingCallback(Landroid/content/pm/parsing/ParsedPackage$PackageSettingCallback;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPartiallyDirectBootAware(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPartiallyDirectBootAware(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPermission(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPermission(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPersistent(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPersistent(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPersistent(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPrimaryCpuAbi(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPrimaryCpuAbi(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setPrivileged(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setProcessName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setProcessName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setProcessName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setProduct(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRealPackage(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRealPackage(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRealPackage(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequestLegacyExternalStorage(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequestLegacyExternalStorage(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiredAccountType(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiredAccountType(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiredForAllUsers(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiredForAllUsers(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiresSmallestWidthDp(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRequiresSmallestWidthDp(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setResizeable(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setResizeable(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestoreAnyVersion(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestoreAnyVersion(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestrictUpdateHash([B)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestrictUpdateHash([B)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestrictedAccountType(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRestrictedAccountType(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRoundIconRes(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setRoundIconRes(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSeInfo(Ljava/lang/String;)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSeInfo(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSeInfo(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSeInfoUser(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSeInfoUser(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSecondaryCpuAbi(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSecondaryCpuAbi(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSecondaryNativeLibraryDir(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSecondaryNativeLibraryDir(Ljava/lang/String;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSharedUserId(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSharedUserId(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSharedUserLabel(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSharedUserLabel(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSignedWithPlatformKey(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSplitClassLoaderName(ILjava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSplitClassLoaderName(ILjava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSplitHasCode(IZ)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSplitHasCode(IZ)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibVersion(J)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibVersion(J)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibrary(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setStaticSharedLibrary(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsLargeScreens(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsLargeScreens(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsNormalScreens(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsNormalScreens(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsRtl(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsRtl(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsSmallScreens(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsSmallScreens(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsXLargeScreens(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSupportsXLargeScreens(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSystem(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSystem(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSystemExt(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setSystemExt(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTargetSandboxVersion(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTargetSandboxVersion(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTargetSdkVersion(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTargetSdkVersion(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTaskAffinity(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTaskAffinity(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTestOnly(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTestOnly(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTheme(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setTheme(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUiOptions(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUiOptions(I)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUid(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUid(I)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUpdatedSystemApp(Z)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUpdatedSystemApp(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUse32BitAbi(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUse32BitAbi(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUseEmbeddedDex(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUseEmbeddedDex(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesCleartextTraffic(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesCleartextTraffic(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesLibraryFiles([Ljava/lang/String;)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesLibraryFiles([Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesLibraryInfos(Ljava/util/List;)Landroid/content/pm/parsing/AndroidPackageWrite;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesLibraryInfos(Ljava/util/List;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesNonSdkApi(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setUsesNonSdkApi(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVendor(Z)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVersionCode(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVersionCode(I)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVersionCodeMajor(I)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVersionCodeMajor(I)Landroid/content/pm/parsing/ParsedPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVersionName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVisibleToInstantApps(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVisibleToInstantApps(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVmSafeMode(Z)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVmSafeMode(Z)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVolumeUuid(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setVolumeUuid(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->setZygotePreloadName(Ljava/lang/String;)Landroid/content/pm/parsing/PackageImpl;
-HSPLandroid/content/pm/parsing/PackageImpl;->setZygotePreloadName(Ljava/lang/String;)Landroid/content/pm/parsing/ParsingPackage;
-HSPLandroid/content/pm/parsing/PackageImpl;->toAppInfoWithoutState()Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/parsing/PackageImpl;->updateFlags()V
-HSPLandroid/content/pm/parsing/PackageImpl;->usesCompatibilityMode()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->usesNonSdkApi()Z
-HSPLandroid/content/pm/parsing/PackageImpl;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->assignSharedFieldsForComponentInfo(Landroid/content/pm/ComponentInfo;Landroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;)V
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->assignSharedFieldsForPackageItemInfo(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;)V
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->checkUseInstalledOrHidden(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/PackageUserState;I)Z
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generate(Landroid/content/pm/parsing/AndroidPackage;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateActivityInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateActivityInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivity;ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateApplicationInfo(Landroid/content/pm/parsing/AndroidPackage;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
-HPLandroid/content/pm/parsing/PackageInfoUtils;->generatePermissionGroupInfo(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generatePermissionInfo(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateProviderInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateProviderInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedProvider;ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateServiceInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedService;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->generateServiceInfo(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/ComponentParseUtils$ParsedService;ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/parsing/PackageInfoUtils;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;)V
-HSPLandroid/content/pm/parsing/library/AndroidHidlUpdater;->updatePackage(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/AndroidTestBaseUpdater;->isChangeEnabled(Landroid/content/pm/parsing/AndroidPackage;)Z
-HSPLandroid/content/pm/parsing/library/AndroidTestBaseUpdater;->updatePackage(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/OrgApacheHttpLegacyUpdater;->apkTargetsApiLevelLessThanOrEqualToOMR1(Landroid/content/pm/parsing/AndroidPackage;)Z
-HSPLandroid/content/pm/parsing/library/OrgApacheHttpLegacyUpdater;->updatePackage(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;->updatePackage(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/PackageBackwardCompatibility;->modifySharedLibraries(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/PackageBackwardCompatibility;->updatePackage(Landroid/content/pm/parsing/ParsedPackage;)V
-HSPLandroid/content/pm/parsing/library/PackageSharedLibraryUpdater;->isLibraryPresent(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)Z
-HSPLandroid/content/pm/parsing/library/PackageSharedLibraryUpdater;->prefixImplicitDependency(Landroid/content/pm/parsing/ParsedPackage;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/library/PackageSharedLibraryUpdater;->prefixRequiredLibrary(Landroid/content/pm/parsing/ParsedPackage;Ljava/lang/String;)V
-HSPLandroid/content/pm/parsing/library/PackageSharedLibraryUpdater;->removeLibrary(Landroid/content/pm/parsing/ParsedPackage;Ljava/lang/String;)V
 HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;-><init>()V
-HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/permission/SplitPermissionInfoParcelable;
-HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;-><clinit>()V
 HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;-><init>(Ljava/lang/String;Ljava/util/List;I)V
 HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;->getNewPermissions()Ljava/util/List;
@@ -7712,6 +6469,7 @@
 HSPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;->test(Ljava/lang/Object;)Z
 HSPLandroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
 HSPLandroid/content/res/-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og;->get()Ljava/lang/Object;
+HSPLandroid/content/res/ApkAssets;-><init>(ILjava/lang/String;ILandroid/content/res/loader/AssetsProvider;)V
 HSPLandroid/content/res/ApkAssets;-><init>(Ljava/lang/String;ZZZZZ)V
 HSPLandroid/content/res/ApkAssets;->close()V
 HSPLandroid/content/res/ApkAssets;->definesOverlayable()Z
@@ -7721,13 +6479,16 @@
 HSPLandroid/content/res/ApkAssets;->isForLoader()Z
 HSPLandroid/content/res/ApkAssets;->isUpToDate()Z
 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;->loadFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/ApkAssets;->loadOverlayFromPath(Ljava/lang/String;I)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->loadOverlayFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/ApkAssets;->openXml(Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/res/AssetFileDescriptor$AutoCloseInputStream;-><init>(Landroid/content/res/AssetFileDescriptor;)V
+HSPLandroid/content/res/AssetFileDescriptor$AutoCloseInputStream;->read([BII)I
 HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
 HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJLandroid/os/Bundle;)V
@@ -7747,8 +6508,6 @@
 HSPLandroid/content/res/AssetManager$AssetInputStream;->ensureOpen()V
 HSPLandroid/content/res/AssetManager$AssetInputStream;->finalize()V
 HSPLandroid/content/res/AssetManager$AssetInputStream;->getNativeAsset()J
-HSPLandroid/content/res/AssetManager$AssetInputStream;->mark(I)V
-HSPLandroid/content/res/AssetManager$AssetInputStream;->markSupported()Z
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read()I
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read([B)I
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read([BII)I
@@ -7768,15 +6527,11 @@
 HSPLandroid/content/res/AssetManager;->access$300(J[Landroid/content/res/ApkAssets;Z)V
 HSPLandroid/content/res/AssetManager;->access$402(Landroid/content/res/AssetManager;[Landroid/content/res/loader/ResourcesLoader;)[Landroid/content/res/loader/ResourcesLoader;
 HSPLandroid/content/res/AssetManager;->access$500(J)J
-HSPLandroid/content/res/AssetManager;->access$600(J)I
 HSPLandroid/content/res/AssetManager;->access$600(J)J
 HSPLandroid/content/res/AssetManager;->access$700(J)I
 HSPLandroid/content/res/AssetManager;->access$700(J[BII)I
 HSPLandroid/content/res/AssetManager;->access$800(J[BII)I
 HSPLandroid/content/res/AssetManager;->access$900(J)J
-HSPLandroid/content/res/AssetManager;->access$900(JJI)J
-HSPLandroid/content/res/AssetManager;->addAssetPath(Ljava/lang/String;)I
-HSPLandroid/content/res/AssetManager;->addAssetPathAsSharedLibrary(Ljava/lang/String;)I
 HSPLandroid/content/res/AssetManager;->addAssetPathInternal(Ljava/lang/String;ZZ)I
 HSPLandroid/content/res/AssetManager;->applyStyle(JIILandroid/content/res/XmlBlock$Parser;[IJJ)V
 HSPLandroid/content/res/AssetManager;->applyStyleToTheme(JIZ)V
@@ -7812,7 +6567,6 @@
 HSPLandroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager;
 HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z
 HSPLandroid/content/res/AssetManager;->incRefsLocked(J)V
-HSPLandroid/content/res/AssetManager;->invalidateCachesLocked(I)V
 HSPLandroid/content/res/AssetManager;->isUpToDate()Z
 HSPLandroid/content/res/AssetManager;->list(Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
@@ -7855,7 +6609,6 @@
 HSPLandroid/content/res/ColorStateList;->isStateful()Z
 HSPLandroid/content/res/ColorStateList;->modulateColorAlpha(IF)I
 HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
-HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
 HSPLandroid/content/res/ColorStateList;->onColorsChanged()V
 HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
 HSPLandroid/content/res/ColorStateList;->withAlpha(I)Landroid/content/res/ColorStateList;
@@ -7903,13 +6656,14 @@
 HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Configuration;)Z
 HSPLandroid/content/res/Configuration;->isScreenRound()Z
 HSPLandroid/content/res/Configuration;->isScreenWideColorGamut()Z
+HPLandroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)Ljava/lang/String;
 HSPLandroid/content/res/Configuration;->needNewResources(II)Z
 HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
 HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I
 HSPLandroid/content/res/Configuration;->resetScreenLayout(I)I
+HPLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)Ljava/lang/String;
 HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V
-HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
 HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V
 HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V
 HSPLandroid/content/res/Configuration;->setToDefaults()V
@@ -7990,7 +6744,6 @@
 HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLandroid/content/res/Resources;->getColor(I)I
 HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I
-HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList;
 HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
 HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
 HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
@@ -8126,15 +6879,12 @@
 HSPLandroid/content/res/ResourcesKey;->hashCode()I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$000(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$100(Landroid/content/res/StringBlock$StyleIDs;)I
-HSPLandroid/content/res/StringBlock$StyleIDs;->access$1000(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$200(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$300(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$400(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$500(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$600(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock$StyleIDs;->access$700(Landroid/content/res/StringBlock$StyleIDs;)I
-HSPLandroid/content/res/StringBlock$StyleIDs;->access$800(Landroid/content/res/StringBlock$StyleIDs;)I
-HSPLandroid/content/res/StringBlock$StyleIDs;->access$900(Landroid/content/res/StringBlock$StyleIDs;)I
 HSPLandroid/content/res/StringBlock;-><init>(JZ)V
 HSPLandroid/content/res/StringBlock;->applyStyles(Ljava/lang/String;[ILandroid/content/res/StringBlock$StyleIDs;)Ljava/lang/CharSequence;
 HSPLandroid/content/res/StringBlock;->close()V
@@ -8216,7 +6966,6 @@
 HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String;
 HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z
 HSPLandroid/content/res/XmlBlock$Parser;->next()I
-HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I
 HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String;
 HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/res/XmlBlock;-><init>(Landroid/content/res/AssetManager;J)V
@@ -8240,7 +6989,6 @@
 HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/rollback/IRollbackManager$Stub;-><init>()V
 HSPLandroid/content/rollback/IRollbackManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/rollback/IRollbackManager;
-HPLandroid/content/rollback/IRollbackManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/rollback/RollbackManager;-><init>(Landroid/content/Context;Landroid/content/rollback/IRollbackManager;)V
 PLandroid/content/rollback/RollbackManager;->getAvailableRollbacks()Ljava/util/List;
 HSPLandroid/content/type/-$$Lambda$DefaultMimeMapFactory$3biOnZOOEGRoeaFehYke-eZnpCg;-><init>(Ljava/lang/Class;)V
@@ -8249,6 +6997,8 @@
 HSPLandroid/content/type/DefaultMimeMapFactory;->create(Ljava/util/function/Function;)Llibcore/content/type/MimeMap;
 HSPLandroid/content/type/DefaultMimeMapFactory;->lambda$create$0(Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
 HSPLandroid/content/type/DefaultMimeMapFactory;->parseTypes(Llibcore/content/type/MimeMap$Builder;Ljava/util/function/Function;Ljava/lang/String;)V
+HSPLandroid/database/-$$Lambda$ContentObserver$MgqiYb2qvgLhoXTioYXq9MvvpNk;-><init>(Landroid/database/ContentObserver;ZLjava/util/Collection;II)V
+HSPLandroid/database/-$$Lambda$ContentObserver$MgqiYb2qvgLhoXTioYXq9MvvpNk;->run()V
 HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V
 HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V
 HSPLandroid/database/AbstractCursor;-><init>()V
@@ -8260,17 +7010,13 @@
 HSPLandroid/database/AbstractCursor;->getColumnIndex(Ljava/lang/String;)I
 HSPLandroid/database/AbstractCursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
 HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String;
-HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle;
 HSPLandroid/database/AbstractCursor;->getPosition()I
 HSPLandroid/database/AbstractCursor;->getWantsAllOnMoveCalls()Z
 HSPLandroid/database/AbstractCursor;->getWindow()Landroid/database/CursorWindow;
 HSPLandroid/database/AbstractCursor;->isAfterLast()Z
-HSPLandroid/database/AbstractCursor;->isBeforeFirst()Z
 HSPLandroid/database/AbstractCursor;->isClosed()Z
 HSPLandroid/database/AbstractCursor;->isLast()Z
-HSPLandroid/database/AbstractCursor;->move(I)Z
 HSPLandroid/database/AbstractCursor;->moveToFirst()Z
-HSPLandroid/database/AbstractCursor;->moveToLast()Z
 HSPLandroid/database/AbstractCursor;->moveToNext()Z
 HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z
 HSPLandroid/database/AbstractCursor;->moveToPrevious()Z
@@ -8278,7 +7024,6 @@
 HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V
 HSPLandroid/database/AbstractCursor;->onMove(II)Z
 HSPLandroid/database/AbstractCursor;->registerContentObserver(Landroid/database/ContentObserver;)V
-HSPLandroid/database/AbstractCursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
 HSPLandroid/database/AbstractCursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
 HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V
 HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;IZ)V
@@ -8289,7 +7034,6 @@
 HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V
 HSPLandroid/database/AbstractWindowedCursor;->getBlob(I)[B
 HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D
-HSPLandroid/database/AbstractWindowedCursor;->getFloat(I)F
 HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I
 HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J
 HSPLandroid/database/AbstractWindowedCursor;->getString(I)Ljava/lang/String;
@@ -8326,18 +7070,21 @@
 HSPLandroid/database/ContentObserver$NotificationRunnable;->run()V
 HSPLandroid/database/ContentObserver$Transport;-><init>(Landroid/database/ContentObserver;)V
 HSPLandroid/database/ContentObserver$Transport;->onChange(ZLandroid/net/Uri;I)V
+HSPLandroid/database/ContentObserver$Transport;->onChangeEtc(Z[Landroid/net/Uri;II)V
 HSPLandroid/database/ContentObserver$Transport;->releaseContentObserver()V
 HSPLandroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V
 HSPLandroid/database/ContentObserver;->access$000(Landroid/database/ContentObserver;ZLandroid/net/Uri;I)V
-HSPLandroid/database/ContentObserver;->dispatchChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/ContentObserver;->dispatchChange(ZLandroid/net/Uri;I)V
+HSPLandroid/database/ContentObserver;->dispatchChange(ZLjava/util/Collection;II)V
 HSPLandroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
+HSPLandroid/database/ContentObserver;->lambda$dispatchChange$0$ContentObserver(ZLjava/util/Collection;II)V
 HSPLandroid/database/ContentObserver;->onChange(Z)V
 HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;I)V
+HSPLandroid/database/ContentObserver;->onChange(ZLjava/util/Collection;I)V
+HSPLandroid/database/ContentObserver;->onChange(ZLjava/util/Collection;II)V
 HSPLandroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
 HSPLandroid/database/CrossProcessCursorWrapper;-><init>(Landroid/database/Cursor;)V
-HSPLandroid/database/CrossProcessCursorWrapper;->getWindow()Landroid/database/CursorWindow;
 HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;-><init>(Landroid/database/IContentObserver;Landroid/os/IBinder$DeathRecipient;)V
 HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;)Z
 HSPLandroid/database/CursorToBulkCursorAdaptor;-><init>(Landroid/database/Cursor;Landroid/database/IContentObserver;Ljava/lang/String;)V
@@ -8358,7 +7105,6 @@
 HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;Landroid/database/CursorWindow$1;)V
 HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V
 HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V
-HSPLandroid/database/CursorWindow;-><init>(Z)V
 HSPLandroid/database/CursorWindow;->allocRow()Z
 HSPLandroid/database/CursorWindow;->clear()V
 HSPLandroid/database/CursorWindow;->dispose()V
@@ -8366,18 +7112,14 @@
 HSPLandroid/database/CursorWindow;->getBlob(II)[B
 HSPLandroid/database/CursorWindow;->getCursorWindowSize()I
 HSPLandroid/database/CursorWindow;->getDouble(II)D
-HSPLandroid/database/CursorWindow;->getFloat(II)F
 HSPLandroid/database/CursorWindow;->getInt(II)I
 HSPLandroid/database/CursorWindow;->getLong(II)J
 HSPLandroid/database/CursorWindow;->getNumRows()I
 HSPLandroid/database/CursorWindow;->getStartPosition()I
 HSPLandroid/database/CursorWindow;->getString(II)Ljava/lang/String;
 HSPLandroid/database/CursorWindow;->getType(II)I
-HSPLandroid/database/CursorWindow;->isNull(II)Z
 HSPLandroid/database/CursorWindow;->newFromParcel(Landroid/os/Parcel;)Landroid/database/CursorWindow;
 HSPLandroid/database/CursorWindow;->onAllReferencesReleased()V
-HSPLandroid/database/CursorWindow;->putBlob([BII)Z
-HSPLandroid/database/CursorWindow;->putDouble(DII)Z
 HSPLandroid/database/CursorWindow;->putLong(JII)Z
 HSPLandroid/database/CursorWindow;->putNull(II)Z
 HSPLandroid/database/CursorWindow;->putString(Ljava/lang/String;II)Z
@@ -8392,28 +7134,22 @@
 HSPLandroid/database/CursorWrapper;->getColumnCount()I
 HSPLandroid/database/CursorWrapper;->getColumnIndex(Ljava/lang/String;)I
 HSPLandroid/database/CursorWrapper;->getColumnIndexOrThrow(Ljava/lang/String;)I
-HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String;
-HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String;
 HSPLandroid/database/CursorWrapper;->getCount()I
 HSPLandroid/database/CursorWrapper;->getDouble(I)D
-HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle;
 HSPLandroid/database/CursorWrapper;->getInt(I)I
 HSPLandroid/database/CursorWrapper;->getLong(I)J
 HSPLandroid/database/CursorWrapper;->getPosition()I
 HSPLandroid/database/CursorWrapper;->getString(I)Ljava/lang/String;
 HSPLandroid/database/CursorWrapper;->getType(I)I
-HSPLandroid/database/CursorWrapper;->getWantsAllOnMoveCalls()Z
 HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
 HSPLandroid/database/CursorWrapper;->isAfterLast()Z
 HSPLandroid/database/CursorWrapper;->isClosed()Z
-HSPLandroid/database/CursorWrapper;->isLast()Z
 HSPLandroid/database/CursorWrapper;->isNull(I)Z
 HSPLandroid/database/CursorWrapper;->moveToFirst()Z
-HSPLandroid/database/CursorWrapper;->moveToLast()Z
 HSPLandroid/database/CursorWrapper;->moveToNext()Z
 HSPLandroid/database/CursorWrapper;->moveToPosition(I)Z
+HSPLandroid/database/CursorWrapper;->moveToPrevious()Z
 HSPLandroid/database/CursorWrapper;->registerContentObserver(Landroid/database/ContentObserver;)V
-HSPLandroid/database/CursorWrapper;->unregisterContentObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/database/DataSetObservable;-><init>()V
 HSPLandroid/database/DataSetObservable;->notifyChanged()V
 HSPLandroid/database/DataSetObservable;->notifyInvalidated()V
@@ -8431,13 +7167,12 @@
 HSPLandroid/database/DatabaseUtils;->readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/database/DatabaseUtils;->readExceptionWithOperationApplicationExceptionFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/database/DatabaseUtils;->sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/database/DatabaseUtils;->writeExceptionToParcel(Landroid/os/Parcel;Ljava/lang/Exception;)V
 HSPLandroid/database/DefaultDatabaseErrorHandler;-><init>()V
 HSPLandroid/database/IContentObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/database/IContentObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
+HSPLandroid/database/IContentObserver$Stub$Proxy;->onChangeEtc(Z[Landroid/net/Uri;II)V
 HSPLandroid/database/IContentObserver$Stub;-><init>()V
 HSPLandroid/database/IContentObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver;
@@ -8453,24 +7188,13 @@
 HSPLandroid/database/MatrixCursor;->addRow([Ljava/lang/Object;)V
 HSPLandroid/database/MatrixCursor;->ensureCapacity(I)V
 HSPLandroid/database/MatrixCursor;->get(I)Ljava/lang/Object;
-HSPLandroid/database/MatrixCursor;->getBlob(I)[B
 HSPLandroid/database/MatrixCursor;->getColumnNames()[Ljava/lang/String;
 HSPLandroid/database/MatrixCursor;->getCount()I
-HSPLandroid/database/MatrixCursor;->getDouble(I)D
 HSPLandroid/database/MatrixCursor;->getInt(I)I
 HSPLandroid/database/MatrixCursor;->getLong(I)J
 HSPLandroid/database/MatrixCursor;->getString(I)Ljava/lang/String;
 HSPLandroid/database/MatrixCursor;->getType(I)I
 HSPLandroid/database/MatrixCursor;->newRow()Landroid/database/MatrixCursor$RowBuilder;
-HSPLandroid/database/MergeCursor$1;-><init>(Landroid/database/MergeCursor;)V
-HSPLandroid/database/MergeCursor$1;->onInvalidated()V
-HSPLandroid/database/MergeCursor;-><init>([Landroid/database/Cursor;)V
-HSPLandroid/database/MergeCursor;->close()V
-HSPLandroid/database/MergeCursor;->getColumnNames()[Ljava/lang/String;
-HSPLandroid/database/MergeCursor;->getCount()I
-HSPLandroid/database/MergeCursor;->getLong(I)J
-HSPLandroid/database/MergeCursor;->getString(I)Ljava/lang/String;
-HSPLandroid/database/MergeCursor;->onMove(II)Z
 HSPLandroid/database/Observable;-><init>()V
 HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V
 HSPLandroid/database/Observable;->unregisterAll()V
@@ -8533,6 +7257,7 @@
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteConnection;->executePerConnectionSqlFromConfiguration(I)V
 HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V
 HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
 HSPLandroid/database/sqlite/SQLiteConnection;->getConnectionId()I
@@ -8581,7 +7306,6 @@
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeExcessConnectionsAndLogExceptionsLocked()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->collectDbStats(Ljava/util/ArrayList;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->disableIdleConnectionHandler()V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->discardAcquiredConnectionsLocked()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->dump(Landroid/util/Printer;ZLandroid/util/ArraySet;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V
@@ -8601,7 +7325,6 @@
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->setMaxConnectionPoolSizeLocked()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->setupIdleConnectionHandler(Landroid/os/Looper;J)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->shouldYieldConnection(Landroid/database/sqlite/SQLiteConnection;I)Z
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->throwIfClosedLocked()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection;
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquirePrimaryConnectionLocked(I)Landroid/database/sqlite/SQLiteConnection;
@@ -8617,8 +7340,6 @@
 HSPLandroid/database/sqlite/SQLiteCursor;->getCount()I
 HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteCursor;->onMove(II)Z
-HSPLandroid/database/sqlite/SQLiteCursor;->setWindow(Landroid/database/CursorWindow;)V
-HSPLandroid/database/sqlite/SQLiteDatabase$1;-><init>(Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteDatabase$1;->accept(Ljava/io/File;)Z
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>()V
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
@@ -8640,7 +7361,6 @@
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$500(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)J
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$600(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$700(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->toBuilder()Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
 HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V
@@ -8650,8 +7370,6 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
 HSPLandroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession;
 HSPLandroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z
-HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;Z)Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->disableWriteAheadLogging()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->dispose(Z)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->dump(Landroid/util/Printer;ZZLandroid/util/ArraySet;)V
@@ -8667,9 +7385,6 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList;
 HSPLandroid/database/sqlite/SQLiteDatabase;->getDbStats()Ljava/util/ArrayList;
 HSPLandroid/database/sqlite/SQLiteDatabase;->getFileTimestamps(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase;->getLabel()Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J
-HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J
 HSPLandroid/database/sqlite/SQLiteDatabase;->getPath()Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I
 HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;
@@ -8678,7 +7393,6 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J
-HSPLandroid/database/sqlite/SQLiteDatabase;->isDbLockedByCurrentThread()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->isMainThread()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->isOpen()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
@@ -8688,18 +7402,14 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->onAllReferencesReleased()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->open()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteDatabase;->openInner()V
-HSPLandroid/database/sqlite/SQLiteDatabase;->openOrCreateDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/database/sqlite/SQLiteDatabase;->openOrCreateDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->releaseMemory()I
@@ -8712,8 +7422,6 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I
 HSPLandroid/database/sqlite/SQLiteDatabase;->validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedHelper(ZJ)Z
-HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedSafely(J)Z
 HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
 HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Ljava/lang/String;I)V
 HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z
@@ -8731,7 +7439,6 @@
 HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorClosed()V
 HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteDoneException;-><init>()V
 HSPLandroid/database/sqlite/SQLiteException;-><init>(Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteGlobal;->checkDbWipe()Z
 HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultJournalMode()Ljava/lang/String;
@@ -8762,7 +7469,6 @@
 HSPLandroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V
-HSPLandroid/database/sqlite/SQLiteProgram;->bindDouble(ID)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindLong(IJ)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindNull(I)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V
@@ -8789,11 +7495,9 @@
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrict()Z
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrictColumns()Z
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrictGrammar()Z
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->maybeWithOperator(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setDistinct(Z)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setProjectionMap(Ljava/util/Map;)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setStrict(Z)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setTables(Ljava/lang/String;)V
@@ -8811,7 +7515,6 @@
 HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I
 HSPLandroid/database/sqlite/SQLiteSession;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
 HSPLandroid/database/sqlite/SQLiteSession;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
-HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
 HSPLandroid/database/sqlite/SQLiteSession;->hasTransaction()Z
 HSPLandroid/database/sqlite/SQLiteSession;->obtainTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction;
@@ -8821,14 +7524,11 @@
 HSPLandroid/database/sqlite/SQLiteSession;->setTransactionSuccessful()V
 HSPLandroid/database/sqlite/SQLiteSession;->throwIfNoTransaction()V
 HSPLandroid/database/sqlite/SQLiteSession;->throwIfTransactionMarkedSuccessful()V
-HSPLandroid/database/sqlite/SQLiteSession;->yieldTransaction(JZLandroid/os/CancellationSignal;)Z
-HSPLandroid/database/sqlite/SQLiteSession;->yieldTransactionUnchecked(JLandroid/os/CancellationSignal;)Z
 HSPLandroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V
 HSPLandroid/database/sqlite/SQLiteStatement;->execute()V
 HSPLandroid/database/sqlite/SQLiteStatement;->executeInsert()J
 HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I
 HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForLong()J
-HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteStatementInfo;-><init>()V
 HSPLandroid/ddm/DdmHandleAppName$Names;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/ddm/DdmHandleAppName$Names;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/ddm/DdmHandleAppName$1;)V
@@ -8861,7 +7561,6 @@
 HSPLandroid/ddm/DdmHandleViewDebug;->connected()V
 HSPLandroid/ddm/DdmHandleViewDebug;->disconnected()V
 HSPLandroid/debug/AdbManagerInternal;-><init>()V
-HSPLandroid/debug/IAdbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/debug/IAdbManager$Stub;-><init>()V
 HSPLandroid/debug/IAdbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/debug/IAdbManager;
 HPLandroid/debug/IAdbManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -8870,10 +7569,11 @@
 HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;-><init>(Landroid/graphics/ColorSpace$Rgb;)V
 HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;->applyAsDouble(D)D
 HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$b9VGKuNnse0bbguR9jbOM_wK2Ac;->applyAsDouble(D)D
-HSPLandroid/graphics/-$$Lambda$HardwareRendererObserver$Z08IFApIdHoCBfw8BsQ-lVjpUlI;-><init>(Landroid/graphics/HardwareRendererObserver;)V
-HSPLandroid/graphics/-$$Lambda$HardwareRendererObserver$Z08IFApIdHoCBfw8BsQ-lVjpUlI;->run()V
+HSPLandroid/graphics/BLASTBufferQueue;-><init>(Landroid/view/SurfaceControl;II)V
+HSPLandroid/graphics/BLASTBufferQueue;->finalize()V
+HSPLandroid/graphics/BLASTBufferQueue;->getSurface()Landroid/view/Surface;
+HSPLandroid/graphics/BLASTBufferQueue;->update(Landroid/view/SurfaceControl;II)V
 HSPLandroid/graphics/BaseCanvas;-><init>()V
-HSPLandroid/graphics/BaseCanvas;->drawARGB(IIII)V
 HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
@@ -8881,7 +7581,6 @@
 HSPLandroid/graphics/BaseCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawColor(I)V
 HSPLandroid/graphics/BaseCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/BaseCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawOval(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
@@ -8919,7 +7618,6 @@
 HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap;
@@ -8986,7 +7684,6 @@
 HSPLandroid/graphics/Bitmap;->setDensity(I)V
 HSPLandroid/graphics/Bitmap;->setHasAlpha(Z)V
 HSPLandroid/graphics/Bitmap;->setHasMipMap(Z)V
-HSPLandroid/graphics/Bitmap;->setPixels([IIIIIII)V
 HSPLandroid/graphics/Bitmap;->setPremultiplied(Z)V
 HSPLandroid/graphics/Bitmap;->wrapHardwareBuffer(Landroid/graphics/GraphicBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->wrapHardwareBuffer(Landroid/hardware/HardwareBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
@@ -8997,7 +7694,6 @@
 HSPLandroid/graphics/BitmapFactory$Options;->validate(Landroid/graphics/BitmapFactory$Options;)V
 HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
@@ -9042,9 +7738,6 @@
 HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
 HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/RectF;)Z
 HSPLandroid/graphics/Canvas;->concat(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Canvas;->drawARGB(IIII)V
-HSPLandroid/graphics/Canvas;->drawArc(FFFFFFZLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
@@ -9052,7 +7745,6 @@
 HSPLandroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawColor(I)V
 HSPLandroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawOval(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawPaint(Landroid/graphics/Paint;)V
@@ -9112,17 +7804,19 @@
 HSPLandroid/graphics/Color;->alpha(I)I
 HSPLandroid/graphics/Color;->alpha(J)F
 HSPLandroid/graphics/Color;->argb(IIII)I
+HSPLandroid/graphics/Color;->blue()F
 HSPLandroid/graphics/Color;->blue(I)I
 HSPLandroid/graphics/Color;->blue(J)F
 HSPLandroid/graphics/Color;->colorSpace(J)Landroid/graphics/ColorSpace;
 HSPLandroid/graphics/Color;->colorToHSV(I[F)V
-HSPLandroid/graphics/Color;->getHtmlColor(Ljava/lang/String;)I
+HSPLandroid/graphics/Color;->green()F
 HSPLandroid/graphics/Color;->green(I)I
 HSPLandroid/graphics/Color;->green(J)F
 HSPLandroid/graphics/Color;->luminance(I)F
 HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J
 HSPLandroid/graphics/Color;->pack(I)J
 HSPLandroid/graphics/Color;->parseColor(Ljava/lang/String;)I
+HSPLandroid/graphics/Color;->red()F
 HSPLandroid/graphics/Color;->red(I)I
 HSPLandroid/graphics/Color;->red(J)F
 HSPLandroid/graphics/Color;->rgb(III)I
@@ -9178,7 +7872,9 @@
 HSPLandroid/graphics/ColorSpace$Rgb;->xyWhitePoint([F)[F
 HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;I)V
 HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;ILandroid/graphics/ColorSpace$1;)V
+HSPLandroid/graphics/ColorSpace;->access$1100([F)[F
 HSPLandroid/graphics/ColorSpace;->access$1200([F)[F
+HSPLandroid/graphics/ColorSpace;->access$1200([F[F)[F
 HSPLandroid/graphics/ColorSpace;->access$1300([F[F)[F
 HSPLandroid/graphics/ColorSpace;->access$1600()[F
 HSPLandroid/graphics/ColorSpace;->access$1700([F[F)Z
@@ -9242,7 +7938,6 @@
 HSPLandroid/graphics/HardwareRenderer;->access$500(J)I
 HSPLandroid/graphics/HardwareRenderer;->access$600()V
 HSPLandroid/graphics/HardwareRenderer;->access$700(I)V
-HSPLandroid/graphics/HardwareRenderer;->addObserver(Landroid/graphics/HardwareRendererObserver;)V
 HSPLandroid/graphics/HardwareRenderer;->allocateBuffers()V
 HSPLandroid/graphics/HardwareRenderer;->buildLayer(Landroid/graphics/RenderNode;)V
 HSPLandroid/graphics/HardwareRenderer;->clearContent()V
@@ -9260,7 +7955,6 @@
 HSPLandroid/graphics/HardwareRenderer;->pushLayerUpdate(Landroid/view/TextureLayer;)V
 HSPLandroid/graphics/HardwareRenderer;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
 HSPLandroid/graphics/HardwareRenderer;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
-HSPLandroid/graphics/HardwareRenderer;->removeObserver(Landroid/graphics/HardwareRendererObserver;)V
 HSPLandroid/graphics/HardwareRenderer;->setDebuggingEnabled(Z)V
 HSPLandroid/graphics/HardwareRenderer;->setFPSDivisor(I)V
 HSPLandroid/graphics/HardwareRenderer;->setForceDark(Z)Z
@@ -9282,10 +7976,6 @@
 HSPLandroid/graphics/HardwareRenderer;->validateAlpha(FLjava/lang/String;)V
 HSPLandroid/graphics/HardwareRenderer;->validateFinite(FLjava/lang/String;)V
 HSPLandroid/graphics/HardwareRenderer;->validatePositive(FLjava/lang/String;)V
-HSPLandroid/graphics/HardwareRendererObserver;-><init>(Landroid/graphics/HardwareRendererObserver$OnFrameMetricsAvailableListener;[JLandroid/os/Handler;)V
-HSPLandroid/graphics/HardwareRendererObserver;->getNativeInstance()J
-HSPLandroid/graphics/HardwareRendererObserver;->lambda$notifyDataAvailable$0$HardwareRendererObserver()V
-HSPLandroid/graphics/HardwareRendererObserver;->notifyDataAvailable()V
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder;
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I
@@ -9459,8 +8149,6 @@
 HSPLandroid/graphics/Paint;->getTextScaleX()F
 HSPLandroid/graphics/Paint;->getTextSize()F
 HSPLandroid/graphics/Paint;->getTextSkewX()F
-HSPLandroid/graphics/Paint;->getTextWidths(Ljava/lang/String;II[F)I
-HSPLandroid/graphics/Paint;->getTextWidths(Ljava/lang/String;[F)I
 HSPLandroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface;
 HSPLandroid/graphics/Paint;->getUnderlinePosition()F
 HSPLandroid/graphics/Paint;->getUnderlineThickness()F
@@ -9521,8 +8209,6 @@
 HSPLandroid/graphics/Path$Op;-><init>(Ljava/lang/String;I)V
 HSPLandroid/graphics/Path;-><init>()V
 HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)V
-HSPLandroid/graphics/Path;->addArc(FFFFFF)V
-HSPLandroid/graphics/Path;->addArc(Landroid/graphics/RectF;FF)V
 HSPLandroid/graphics/Path;->addCircle(FFFLandroid/graphics/Path$Direction;)V
 HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V
 HSPLandroid/graphics/Path;->addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
@@ -9593,6 +8279,7 @@
 HSPLandroid/graphics/Point;->offset(II)V
 HSPLandroid/graphics/Point;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/graphics/Point;->set(II)V
+HSPLandroid/graphics/Point;->toString()Ljava/lang/String;
 HSPLandroid/graphics/Point;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/graphics/PointF;-><init>()V
 HSPLandroid/graphics/PointF;-><init>(FF)V
@@ -9616,7 +8303,6 @@
 HSPLandroid/graphics/RecordingCanvas;->drawCircle(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V
 HSPLandroid/graphics/RecordingCanvas;->drawRenderNode(Landroid/graphics/RenderNode;)V
 HSPLandroid/graphics/RecordingCanvas;->drawTextureLayer(Landroid/view/TextureLayer;)V
-HSPLandroid/graphics/RecordingCanvas;->drawWebViewFunctor(I)V
 HSPLandroid/graphics/RecordingCanvas;->enableZ()V
 HSPLandroid/graphics/RecordingCanvas;->finishRecording()J
 HSPLandroid/graphics/RecordingCanvas;->getHeight()I
@@ -9773,7 +8459,6 @@
 HSPLandroid/graphics/RenderNode;->setPivotY(F)Z
 HSPLandroid/graphics/RenderNode;->setProjectBackwards(Z)Z
 HSPLandroid/graphics/RenderNode;->setProjectionReceiver(Z)Z
-HSPLandroid/graphics/RenderNode;->setRevealClip(ZFFF)Z
 HSPLandroid/graphics/RenderNode;->setRight(I)Z
 HSPLandroid/graphics/RenderNode;->setRotationZ(F)Z
 HSPLandroid/graphics/RenderNode;->setScaleX(F)Z
@@ -9808,7 +8493,6 @@
 HSPLandroid/graphics/SurfaceTexture;->updateTexImage()V
 HSPLandroid/graphics/TemporaryBuffer;->obtain(I)[C
 HSPLandroid/graphics/TemporaryBuffer;->recycle([C)V
-HSPLandroid/graphics/Typeface$Builder;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V
 HSPLandroid/graphics/Typeface$Builder;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;ZI)V
 HSPLandroid/graphics/Typeface$Builder;->access$000(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;
 HSPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface;
@@ -9895,6 +8579,7 @@
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->jumpToCurrentState()V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->resumeChildInvalidation()V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->setVisible(ZZ)Z
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->suspendChildInvalidation()V
@@ -9916,7 +8601,6 @@
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mutate()V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->transitionHasReversibleFlag(II)Z
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;ZZ)V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;-><init>(Landroid/graphics/drawable/AnimationDrawable;ZZ)V
@@ -10091,7 +8775,6 @@
 HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>()V
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;Landroid/graphics/drawable/BitmapDrawable$1;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
@@ -10135,7 +8818,6 @@
 HSPLandroid/graphics/drawable/ClipDrawable$ClipState;-><init>(Landroid/graphics/drawable/ClipDrawable$ClipState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/ClipDrawable$ClipState;->access$002(Landroid/graphics/drawable/ClipDrawable$ClipState;[I)[I
 HSPLandroid/graphics/drawable/ClipDrawable$ClipState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ClipDrawable;-><init>()V
 HSPLandroid/graphics/drawable/ClipDrawable;-><init>(Landroid/graphics/drawable/ClipDrawable$ClipState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/ClipDrawable;-><init>(Landroid/graphics/drawable/ClipDrawable$ClipState;Landroid/content/res/Resources;Landroid/graphics/drawable/ClipDrawable$1;)V
 HSPLandroid/graphics/drawable/ClipDrawable;->draw(Landroid/graphics/Canvas;)V
@@ -10210,7 +8892,6 @@
 HSPLandroid/graphics/drawable/Drawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;
 HSPLandroid/graphics/drawable/Drawable;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/Drawable;->getColorFilter()Landroid/graphics/ColorFilter;
-HSPLandroid/graphics/drawable/Drawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
 HSPLandroid/graphics/drawable/Drawable;->getCurrent()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/Drawable;->getDirtyBounds()Landroid/graphics/Rect;
 HSPLandroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
@@ -10278,10 +8959,7 @@
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChild(I)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildCount()I
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildren()[Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getConstantHeight()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getConstantPadding()Landroid/graphics/Rect;
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getConstantWidth()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getOpacity()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->growArray(II)V
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->invalidateCache()V
@@ -10295,7 +8973,6 @@
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setVariablePadding(Z)V
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->updateDensity(Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/DrawableContainer;-><init>()V
-HSPLandroid/graphics/drawable/DrawableContainer;->animate(Z)V
 HSPLandroid/graphics/drawable/DrawableContainer;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/DrawableContainer;->canApplyTheme()Z
 HSPLandroid/graphics/drawable/DrawableContainer;->clearMutated()V
@@ -10568,7 +9245,6 @@
 HSPLandroid/graphics/drawable/LayerDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/LayerDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->onLayoutDirectionChanged(I)Z
-HSPLandroid/graphics/drawable/LayerDrawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->refreshPadding()V
@@ -10581,7 +9257,6 @@
 HSPLandroid/graphics/drawable/LayerDrawable;->setDrawable(ILandroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setDrawableByLayerId(ILandroid/graphics/drawable/Drawable;)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setId(II)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInsetInternal(IIIIIII)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setPaddingMode(I)V
@@ -10645,7 +9320,6 @@
 HSPLandroid/graphics/drawable/NinePatchDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setAlpha(I)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setDither(Z)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
@@ -10655,8 +9329,6 @@
 HSPLandroid/graphics/drawable/RippleBackground$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/graphics/drawable/RippleBackground$1;->setValue(Landroid/graphics/drawable/RippleBackground;F)V
 HSPLandroid/graphics/drawable/RippleBackground$1;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/RippleBackground;->access$000(Landroid/graphics/drawable/RippleBackground;)F
-HSPLandroid/graphics/drawable/RippleBackground;->access$002(Landroid/graphics/drawable/RippleBackground;F)F
 HSPLandroid/graphics/drawable/RippleBackground;->isVisible()Z
 HSPLandroid/graphics/drawable/RippleBackground;->jumpToFinal()V
 HSPLandroid/graphics/drawable/RippleBackground;->onStateChanged()V
@@ -10666,7 +9338,6 @@
 HSPLandroid/graphics/drawable/RippleComponent;->invalidateSelf()V
 HSPLandroid/graphics/drawable/RippleComponent;->onBoundsChange()V
 HSPLandroid/graphics/drawable/RippleComponent;->onHotspotBoundsChanged()V
-HSPLandroid/graphics/drawable/RippleComponent;->onTargetRadiusChanged(F)V
 HSPLandroid/graphics/drawable/RippleComponent;->setup(FI)V
 HSPLandroid/graphics/drawable/RippleDrawable$RippleState;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/RippleDrawable;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->applyDensityScaling(II)V
@@ -10783,7 +9454,6 @@
 HSPLandroid/graphics/drawable/RotateDrawable;->draw(Landroid/graphics/Canvas;)V
 HSPLandroid/graphics/drawable/RotateDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/RotateDrawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/RotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/RotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ScaleDrawable$ScaleState;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
@@ -10843,7 +9513,6 @@
 HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;)V
 HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/content/res/Resources;Landroid/graphics/drawable/StateListDrawable$1;)V
-HSPLandroid/graphics/drawable/StateListDrawable;->addState([ILandroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->clearMutated()V
 HSPLandroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
@@ -10862,19 +9531,14 @@
 HSPLandroid/graphics/drawable/TransitionDrawable;-><init>()V
 HSPLandroid/graphics/drawable/TransitionDrawable;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/TransitionDrawable;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;Landroid/content/res/Resources;Landroid/graphics/drawable/TransitionDrawable$1;)V
-HSPLandroid/graphics/drawable/TransitionDrawable;-><init>(Landroid/graphics/drawable/TransitionDrawable$TransitionState;[Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/TransitionDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/TransitionDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
 HSPLandroid/graphics/drawable/TransitionDrawable;->draw(Landroid/graphics/Canvas;)V
 HSPLandroid/graphics/drawable/TransitionDrawable;->resetTransition()V
 HSPLandroid/graphics/drawable/TransitionDrawable;->setCrossFadeEnabled(Z)V
 HSPLandroid/graphics/drawable/TransitionDrawable;->startTransition(I)V
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;-><init>()V
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VClipPath;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->canApplyTheme()Z
 HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->getNativePtr()J
 HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->getNativeSize()I
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->isStateful()Z
 HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;-><init>()V
@@ -10966,8 +9630,6 @@
 HSPLandroid/graphics/drawable/VectorDrawable;->access$3300(JF)V
 HSPLandroid/graphics/drawable/VectorDrawable;->access$3500(JF)V
 HSPLandroid/graphics/drawable/VectorDrawable;->access$3600(JJ)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3700()J
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3800(J)J
 HSPLandroid/graphics/drawable/VectorDrawable;->access$3900(JLjava/lang/String;I)V
 HSPLandroid/graphics/drawable/VectorDrawable;->access$400(JJ)J
 HSPLandroid/graphics/drawable/VectorDrawable;->access$4800()J
@@ -11024,9 +9686,6 @@
 HSPLandroid/graphics/drawable/shapes/RectShape;-><init>()V
 HSPLandroid/graphics/drawable/shapes/RectShape;->onResize(FF)V
 HSPLandroid/graphics/drawable/shapes/RectShape;->rect()Landroid/graphics/RectF;
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;-><init>([FLandroid/graphics/RectF;[F)V
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;->onResize(FF)V
 HSPLandroid/graphics/drawable/shapes/Shape;-><init>()V
 HSPLandroid/graphics/drawable/shapes/Shape;->clone()Landroid/graphics/drawable/shapes/Shape;
 HSPLandroid/graphics/drawable/shapes/Shape;->resize(FF)V
@@ -11133,6 +9792,7 @@
 HSPLandroid/hardware/ICameraService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
+HSPLandroid/hardware/ICameraService$Stub$Proxy;->getConcurrentCameraIds()[Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination;
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->getConcurrentStreamingCameraIds()[Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination;
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->isHiddenPhysicalCamera(Ljava/lang/String;)Z
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->notifySystemEvent(I[I)V
@@ -11143,34 +9803,25 @@
 HSPLandroid/hardware/ICameraServiceProxy$Stub;-><init>()V
 HPLandroid/hardware/ICameraServiceProxy$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/IConsumerIrService$Stub;-><init>()V
-HPLandroid/hardware/IConsumerIrService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/ISensorPrivacyListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/ISensorPrivacyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/ISensorPrivacyListener$Stub;-><init>()V
 HSPLandroid/hardware/ISensorPrivacyListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/ISensorPrivacyListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ISensorPrivacyListener;
-HSPLandroid/hardware/ISensorPrivacyManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/ISensorPrivacyManager$Stub$Proxy;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
 HSPLandroid/hardware/ISensorPrivacyManager$Stub$Proxy;->isSensorPrivacyEnabled()Z
 HSPLandroid/hardware/ISensorPrivacyManager$Stub;-><init>()V
-HSPLandroid/hardware/ISensorPrivacyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ISensorPrivacyManager;
 HSPLandroid/hardware/ISensorPrivacyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/ISerialManager$Stub;-><init>()V
-HPLandroid/hardware/ISerialManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/Sensor;-><init>()V
-HSPLandroid/hardware/Sensor;->getFifoMaxEventCount()I
-HSPLandroid/hardware/Sensor;->getFifoReservedEventCount()I
 HSPLandroid/hardware/Sensor;->getHandle()I
 HSPLandroid/hardware/Sensor;->getMaxLengthValuesArray(Landroid/hardware/Sensor;I)I
 HSPLandroid/hardware/Sensor;->getMaximumRange()F
 HSPLandroid/hardware/Sensor;->getName()Ljava/lang/String;
 HSPLandroid/hardware/Sensor;->getPower()F
 HSPLandroid/hardware/Sensor;->getReportingMode()I
-HSPLandroid/hardware/Sensor;->getResolution()F
 HSPLandroid/hardware/Sensor;->getStringType()Ljava/lang/String;
 HSPLandroid/hardware/Sensor;->getType()I
 HSPLandroid/hardware/Sensor;->getVendor()Ljava/lang/String;
-HSPLandroid/hardware/Sensor;->getVersion()I
 HSPLandroid/hardware/Sensor;->isWakeUpSensor()Z
 HSPLandroid/hardware/Sensor;->setType(I)Z
 HSPLandroid/hardware/Sensor;->setUuid(JJ)V
@@ -11189,8 +9840,6 @@
 HSPLandroid/hardware/SensorManager;->requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
 HSPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
 HSPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
-HSPLandroid/hardware/SensorPrivacyManager$1;-><init>(Landroid/hardware/SensorPrivacyManager;Landroid/hardware/SensorPrivacyManager$OnSensorPrivacyChangedListener;)V
-HSPLandroid/hardware/SensorPrivacyManager;-><init>(Landroid/content/Context;Landroid/hardware/ISensorPrivacyManager;)V
 HSPLandroid/hardware/SensorPrivacyManager;->addSensorPrivacyListener(Landroid/hardware/SensorPrivacyManager$OnSensorPrivacyChangedListener;)V
 HSPLandroid/hardware/SensorPrivacyManager;->getInstance(Landroid/content/Context;)Landroid/hardware/SensorPrivacyManager;
 HSPLandroid/hardware/SensorPrivacyManager;->isSensorPrivacyEnabled()Z
@@ -11231,13 +9880,10 @@
 HSPLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;->getDeviceId()J
 HSPLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;->getName()Ljava/lang/CharSequence;
 HSPLandroid/hardware/biometrics/BiometricManager;-><init>(Landroid/content/Context;Landroid/hardware/biometrics/IAuthService;)V
-HSPLandroid/hardware/biometrics/BiometricManager;->canAuthenticate()I
-HSPLandroid/hardware/biometrics/BiometricManager;->canAuthenticate(I)I
-HSPLandroid/hardware/biometrics/BiometricManager;->canAuthenticate(II)I
 HSPLandroid/hardware/biometrics/BiometricManager;->hasBiometrics(Landroid/content/Context;)Z
 HPLandroid/hardware/biometrics/BiometricManager;->hasEnrolledBiometrics(I)Z
 HSPLandroid/hardware/biometrics/BiometricManager;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
-PLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
+HPLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
 HSPLandroid/hardware/biometrics/BiometricManager;->setActiveUser(I)V
 HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/biometrics/BiometricSourceType;
 HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -11245,7 +9891,6 @@
 HSPLandroid/hardware/biometrics/BiometricSourceType;->values()[Landroid/hardware/biometrics/BiometricSourceType;
 HSPLandroid/hardware/biometrics/BiometricSourceType;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/hardware/biometrics/IAuthService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/biometrics/IAuthService$Stub$Proxy;->canAuthenticate(Ljava/lang/String;II)I
 HSPLandroid/hardware/biometrics/IAuthService$Stub$Proxy;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
 HSPLandroid/hardware/biometrics/IAuthService$Stub;-><init>()V
 HSPLandroid/hardware/biometrics/IAuthService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IAuthService;
@@ -11260,7 +9905,6 @@
 HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/biometrics/IBiometricService$Stub;-><init>()V
 HSPLandroid/hardware/biometrics/IBiometricService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IBiometricService;
-HPLandroid/hardware/biometrics/IBiometricService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
@@ -11281,10 +9925,7 @@
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$3;-><init>(Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$3;->run()V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$4;-><init>(Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;Ljava/lang/String;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/lang/String;)V
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$4;->run()V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$5;-><init>(Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;Ljava/lang/String;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/lang/String;)V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$5;->run()V
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><clinit>()V
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><init>()V
 HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder;
@@ -11337,7 +9978,6 @@
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;->hasTag()Z
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;->hashCode()I
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->access$400(Landroid/hardware/camera2/impl/CameraMetadataNative;)Landroid/hardware/camera2/params/StreamConfigurationMap;
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->close()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->finalize()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
@@ -11399,15 +10039,9 @@
 HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
 HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
 HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableString;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/params/StreamConfiguration;-><init>(IIIZ)V
-HSPLandroid/hardware/camera2/params/StreamConfiguration;->getFormat()I
 HSPLandroid/hardware/camera2/params/StreamConfiguration;->getSize()Landroid/util/Size;
 HSPLandroid/hardware/camera2/params/StreamConfiguration;->isOutput()Z
 HSPLandroid/hardware/camera2/params/StreamConfigurationDuration;-><init>(IIIJ)V
-HSPLandroid/hardware/camera2/params/StreamConfigurationDuration;->getDuration()J
-HSPLandroid/hardware/camera2/params/StreamConfigurationDuration;->getFormat()I
-HSPLandroid/hardware/camera2/params/StreamConfigurationDuration;->getHeight()I
-HSPLandroid/hardware/camera2/params/StreamConfigurationDuration;->getWidth()I
 HSPLandroid/hardware/camera2/params/StreamConfigurationMap;-><init>([Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;Landroid/hardware/camera2/params/ReprocessFormatsMap;Z)V
 HSPLandroid/hardware/camera2/params/StreamConfigurationMap;-><init>([Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;Landroid/hardware/camera2/params/ReprocessFormatsMap;ZZ)V
 HSPLandroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormat(I)I
@@ -11440,15 +10074,6 @@
 HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;-><init>()V
 HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;-><init>(Landroid/os/IHwBinder;)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->getHubs()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->queryApps(I)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->registerCallback(ILandroid/hardware/contexthub/V1_0/IContexthubCallback;)I
-HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->sendMessageToHub(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getService(Ljava/lang/String;Z)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getService(Z)Landroid/hardware/contexthub/V1_0/IContexthub;
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;-><init>()V
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->asBinder()Landroid/os/IHwBinder;
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
@@ -11488,6 +10113,7 @@
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->checkMonotonic([FZLjava/lang/String;)V
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setDescription(Ljava/lang/String;)Landroid/hardware/display/BrightnessConfiguration$Builder;
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setShortTermModelLowerLuxMultiplier(F)Landroid/hardware/display/BrightnessConfiguration$Builder;
+HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setShortTermModelTimeoutMillis(J)Landroid/hardware/display/BrightnessConfiguration$Builder;
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setShortTermModelUpperLuxMultiplier(F)Landroid/hardware/display/BrightnessConfiguration$Builder;
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setShouldCollectColorSamples(Z)Landroid/hardware/display/BrightnessConfiguration$Builder;
 HSPLandroid/hardware/display/BrightnessConfiguration;-><init>([F[FLjava/util/Map;Ljava/util/Map;Ljava/lang/String;ZJFF)V
@@ -11511,6 +10137,13 @@
 HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayActivated()Z
 HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayAvailable(Landroid/content/Context;)Z
 HSPLandroid/hardware/display/Curve;-><init>([F[F)V
+HSPLandroid/hardware/display/DeviceProductInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/DeviceProductInfo;
+HSPLandroid/hardware/display/DeviceProductInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/display/DeviceProductInfo$ManufactureDate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/DeviceProductInfo$ManufactureDate;
+HSPLandroid/hardware/display/DeviceProductInfo$ManufactureDate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/display/DeviceProductInfo$ManufactureDate;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/display/DeviceProductInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/display/DeviceProductInfo$1;)V
 HSPLandroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/hardware/display/DisplayManager;->addAllDisplaysLocked(Ljava/util/ArrayList;[I)V
 HSPLandroid/hardware/display/DisplayManager;->addPresentationDisplaysLocked(Ljava/util/ArrayList;[II)V
@@ -11518,10 +10151,12 @@
 HSPLandroid/hardware/display/DisplayManager;->getDisplays()[Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getDisplays(Ljava/lang/String;)[Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplayLocked(IZ)Landroid/view/Display;
-HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLandroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
 HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILjava/lang/String;)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;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Looper;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleMessage(Landroid/os/Message;)V
@@ -11530,7 +10165,9 @@
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$1;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;-><init>(Landroid/hardware/display/IDisplayManager;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal;->access$000(Landroid/hardware/display/DisplayManagerGlobal;)Landroid/hardware/display/IDisplayManager;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->access$100(Landroid/hardware/display/DisplayManagerGlobal;II)V
+HSPLandroid/hardware/display/DisplayManagerGlobal;->access$200(Landroid/hardware/display/DisplayManagerGlobal;II)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->findDisplayListenerLocked(Landroid/hardware/display/DisplayManager$DisplayListener;)I
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
@@ -11539,7 +10176,6 @@
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getLooperForHandler(Landroid/os/Handler;)Landroid/os/Looper;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getRealDisplay(I)Landroid/view/Display;
-HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V
@@ -11565,11 +10201,11 @@
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayIds()[I
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayInfo(I)Landroid/view/DisplayInfo;
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getPreferredWideGamutColorSpaceId()I
-HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
 HSPLandroid/hardware/display/IDisplayManager$Stub;-><init>()V
 HSPLandroid/hardware/display/IDisplayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager;
+HPLandroid/hardware/display/IDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/hardware/display/IDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -11598,8 +10234,6 @@
 HSPLandroid/hardware/display/WifiDisplayStatus;->getActiveDisplay()Landroid/hardware/display/WifiDisplay;
 HSPLandroid/hardware/display/WifiDisplayStatus;->getFeatureState()I
 HSPLandroid/hardware/display/WifiDisplayStatus;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/face/Face$1;-><init>()V
-HSPLandroid/hardware/face/Face;-><clinit>()V
 HSPLandroid/hardware/face/FaceManager$1;-><init>(Landroid/hardware/face/FaceManager;)V
 HSPLandroid/hardware/face/FaceManager$AuthenticationCallback;-><init>()V
 HSPLandroid/hardware/face/FaceManager$LockoutResetCallback;-><init>()V
@@ -11619,6 +10253,7 @@
 HSPLandroid/hardware/fingerprint/FingerprintManager$MyHandler;-><init>(Landroid/hardware/fingerprint/FingerprintManager;Landroid/content/Context;)V
 HSPLandroid/hardware/fingerprint/FingerprintManager$MyHandler;-><init>(Landroid/hardware/fingerprint/FingerprintManager;Landroid/content/Context;Landroid/hardware/fingerprint/FingerprintManager$1;)V
 HSPLandroid/hardware/fingerprint/FingerprintManager;-><init>(Landroid/content/Context;Landroid/hardware/fingerprint/IFingerprintService;)V
+HSPLandroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints(I)Ljava/util/List;
 HSPLandroid/hardware/fingerprint/FingerprintManager;->isHardwareDetected()Z
 HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isHardwareDetected(Ljava/lang/String;)Z
@@ -11633,7 +10268,6 @@
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDevice(I)Landroid/view/InputDevice;
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDeviceIds()[I
-HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->hasKeys(II[I[Z)Z
 HPLandroid/hardware/input/IInputManager$Stub$Proxy;->injectInputEvent(Landroid/view/InputEvent;I)Z
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->monitorGestureInput(Ljava/lang/String;I)Landroid/view/InputMonitor;
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
@@ -11645,14 +10279,12 @@
 HSPLandroid/hardware/input/InputDeviceIdentifier;->getProductId()I
 HSPLandroid/hardware/input/InputDeviceIdentifier;->getVendorId()I
 HSPLandroid/hardware/input/InputManager$InputDeviceListenerDelegate;-><init>(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/input/InputManager$InputDeviceListenerDelegate;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/hardware/input/InputManager$InputDevicesChangedListener;-><init>(Landroid/hardware/input/InputManager;)V
 HSPLandroid/hardware/input/InputManager$InputDevicesChangedListener;-><init>(Landroid/hardware/input/InputManager;Landroid/hardware/input/InputManager$1;)V
 HSPLandroid/hardware/input/InputManager$InputDevicesChangedListener;->onInputDevicesChanged([I)V
 HSPLandroid/hardware/input/InputManager;-><init>(Landroid/hardware/input/IInputManager;)V
 HSPLandroid/hardware/input/InputManager;->access$200(Landroid/hardware/input/InputManager;[I)V
 HSPLandroid/hardware/input/InputManager;->containsDeviceId([II)Z
-HSPLandroid/hardware/input/InputManager;->deviceHasKeys(I[I)[Z
 HSPLandroid/hardware/input/InputManager;->findInputDeviceListenerLocked(Landroid/hardware/input/InputManager$InputDeviceListener;)I
 HSPLandroid/hardware/input/InputManager;->getInputDevice(I)Landroid/view/InputDevice;
 HSPLandroid/hardware/input/InputManager;->getInputDeviceIds()[I
@@ -11669,21 +10301,15 @@
 HSPLandroid/hardware/input/KeyboardLayout;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/os/LocaleList;II)V
 HSPLandroid/hardware/input/KeyboardLayout;->getDescriptor()Ljava/lang/String;
 HSPLandroid/hardware/input/TouchCalibration;->getAffineTransform()[F
+HSPLandroid/hardware/lights/ILightsManager$Stub;-><init>()V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$5yx25kUuvL9qy3uBcIzI3sQQoL8;-><init>(Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;J)V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$5yx25kUuvL9qy3uBcIzI3sQQoL8;->run()V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$KgVQePwT_QpjU9EQTp2L3LsHE5Y;-><init>(Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;J)V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$KgVQePwT_QpjU9EQTp2L3LsHE5Y;->run()V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$U9x_HK_GdADIEQ3mS5mDWMNWMu8;-><init>(Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/NanoAppMessage;)V
 HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$3$U9x_HK_GdADIEQ3mS5mDWMNWMu8;->run()V
-HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI;-><init>(Landroid/hardware/location/ContextHubManager$4;IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI;->run()V
-HSPLandroid/hardware/location/-$$Lambda$ContextHubTransaction$RNVGnle3xCUm9u68syzn6-2znnU;-><init>(Landroid/hardware/location/ContextHubTransaction;)V
-HSPLandroid/hardware/location/-$$Lambda$ContextHubTransaction$RNVGnle3xCUm9u68syzn6-2znnU;->run()V
 HSPLandroid/hardware/location/ActivityRecognitionHardware;->isSupported()Z
 HSPLandroid/hardware/location/ContextHubClient;-><init>(Landroid/hardware/location/ContextHubInfo;Z)V
-HSPLandroid/hardware/location/ContextHubClient;->close()V
-HSPLandroid/hardware/location/ContextHubClient;->finalize()V
-HSPLandroid/hardware/location/ContextHubClient;->getAttachedHub()Landroid/hardware/location/ContextHubInfo;
 HSPLandroid/hardware/location/ContextHubClient;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
 HSPLandroid/hardware/location/ContextHubClient;->setClientProxy(Landroid/hardware/location/IContextHubClient;)V
 HSPLandroid/hardware/location/ContextHubClientCallback;-><init>()V
@@ -11696,8 +10322,6 @@
 HSPLandroid/hardware/location/ContextHubInfo;->getId()I
 HSPLandroid/hardware/location/ContextHubInfo;->getMaxPacketLengthBytes()I
 HPLandroid/hardware/location/ContextHubInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/ContextHubManager$2;-><init>(Landroid/hardware/location/ContextHubManager;Landroid/hardware/location/ContextHubTransaction;)V
-HSPLandroid/hardware/location/ContextHubManager$2;->onQueryResponse(ILjava/util/List;)V
 HSPLandroid/hardware/location/ContextHubManager$3;-><init>(Landroid/hardware/location/ContextHubManager;Ljava/util/concurrent/Executor;Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;)V
 HSPLandroid/hardware/location/ContextHubManager$3;->lambda$onMessageFromNanoApp$0(Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/NanoAppMessage;)V
 HSPLandroid/hardware/location/ContextHubManager$3;->lambda$onNanoAppLoaded$3(Landroid/hardware/location/ContextHubClientCallback;Landroid/hardware/location/ContextHubClient;J)V
@@ -11706,7 +10330,6 @@
 HSPLandroid/hardware/location/ContextHubManager$3;->onNanoAppLoaded(J)V
 HSPLandroid/hardware/location/ContextHubManager$3;->onNanoAppUnloaded(J)V
 HSPLandroid/hardware/location/ContextHubManager$4;-><init>(Landroid/hardware/location/ContextHubManager;)V
-HSPLandroid/hardware/location/ContextHubManager$4;->lambda$onMessageReceipt$0$ContextHubManager$4(IILandroid/hardware/location/ContextHubMessage;)V
 HSPLandroid/hardware/location/ContextHubManager$4;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
 HSPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
 HSPLandroid/hardware/location/ContextHubManager;->access$000(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$Callback;
@@ -11714,16 +10337,7 @@
 HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;)Landroid/hardware/location/ContextHubClient;
 HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/ContextHubClient;
 HSPLandroid/hardware/location/ContextHubManager;->createClientCallback(Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/IContextHubClientCallback;
-HSPLandroid/hardware/location/ContextHubManager;->createQueryCallback(Landroid/hardware/location/ContextHubTransaction;)Landroid/hardware/location/IContextHubTransactionCallback;
-HSPLandroid/hardware/location/ContextHubManager;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HSPLandroid/hardware/location/ContextHubManager;->getContextHubHandles()[I
-HSPLandroid/hardware/location/ContextHubManager;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
 HSPLandroid/hardware/location/ContextHubManager;->getContextHubs()Ljava/util/List;
-HSPLandroid/hardware/location/ContextHubManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/ContextHubManager;->invokeOnMessageReceiptCallback(IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/ContextHubManager;->queryNanoApps(Landroid/hardware/location/ContextHubInfo;)Landroid/hardware/location/ContextHubTransaction;
-HSPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;Landroid/os/Handler;)I
-HSPLandroid/hardware/location/ContextHubManager;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
 HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubMessage;
 HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/location/ContextHubMessage;-><init>(II[B)V
@@ -11732,22 +10346,9 @@
 HSPLandroid/hardware/location/ContextHubMessage;->getData()[B
 HSPLandroid/hardware/location/ContextHubMessage;->getMsgType()I
 HSPLandroid/hardware/location/ContextHubMessage;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/ContextHubTransaction$Response;-><init>(ILjava/lang/Object;)V
-HSPLandroid/hardware/location/ContextHubTransaction$Response;->getContents()Ljava/lang/Object;
-HSPLandroid/hardware/location/ContextHubTransaction$Response;->getResult()I
-HSPLandroid/hardware/location/ContextHubTransaction;-><init>(I)V
-HSPLandroid/hardware/location/ContextHubTransaction;->lambda$setResponse$1$ContextHubTransaction()V
-HSPLandroid/hardware/location/ContextHubTransaction;->setOnCompleteListener(Landroid/hardware/location/ContextHubTransaction$OnCompleteListener;Ljava/util/concurrent/Executor;)V
-HSPLandroid/hardware/location/ContextHubTransaction;->setResponse(Landroid/hardware/location/ContextHubTransaction$Response;)V
-HSPLandroid/hardware/location/ContextHubTransaction;->waitForResponse(JLjava/util/concurrent/TimeUnit;)Landroid/hardware/location/ContextHubTransaction$Response;
-HSPLandroid/hardware/location/GeofenceHardwareCallback;-><init>()V
-HSPLandroid/hardware/location/GeofenceHardwareMonitorCallback;-><init>()V
-HSPLandroid/hardware/location/IActivityRecognitionHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardware;
-PLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V
-HSPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;-><init>()V
-PLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareClient;
-HSPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareClient;
 PLandroid/hardware/location/IContextHubCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
@@ -11756,14 +10357,13 @@
 PLandroid/hardware/location/IContextHubCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubCallback;
 HSPLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/location/IContextHubClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/location/IContextHubClient$Stub$Proxy;->close()V
 HSPLandroid/hardware/location/IContextHubClient$Stub$Proxy;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
 HSPLandroid/hardware/location/IContextHubClient$Stub;-><init>()V
-PLandroid/hardware/location/IContextHubClient$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/location/IContextHubClient$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/location/IContextHubClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubClient;
 HPLandroid/hardware/location/IContextHubClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
 HSPLandroid/hardware/location/IContextHubClientCallback$Stub;-><init>()V
 HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->asBinder()Landroid/os/IBinder;
@@ -11771,38 +10371,25 @@
 HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->createClient(ILandroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubHandles()[I
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
 HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubs()Ljava/util/List;
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
 HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
-HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
 HSPLandroid/hardware/location/IContextHubService$Stub;-><init>()V
 HSPLandroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService;
 HPLandroid/hardware/location/IContextHubService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->onQueryResponse(ILjava/util/List;)V
 HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;-><init>()V
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubTransactionCallback;
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/location/IGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardware;
 HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
 HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
 PLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppFilter;
 HPLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppFilter;-><init>(JIIJ)V
 HPLandroid/hardware/location/NanoAppFilter;-><init>(Landroid/os/Parcel;)V
 HPLandroid/hardware/location/NanoAppFilter;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppFilter$1;)V
 HPLandroid/hardware/location/NanoAppFilter;->testMatch(Landroid/hardware/location/NanoAppInstanceInfo;)Z
 PLandroid/hardware/location/NanoAppFilter;->versionsMatch(III)Z
-HSPLandroid/hardware/location/NanoAppFilter;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(IJII)V
-HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppId()J
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppVersion()I
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getContexthubId()I
@@ -11820,14 +10407,7 @@
 HSPLandroid/hardware/location/NanoAppMessage;->getNanoAppId()J
 HPLandroid/hardware/location/NanoAppMessage;->isBroadcastMessage()Z
 HSPLandroid/hardware/location/NanoAppMessage;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState;
-HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/location/NanoAppState;-><init>(JIZ)V
-HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppState$1;)V
-HSPLandroid/hardware/location/NanoAppState;->getNanoAppId()J
-HSPLandroid/hardware/location/NanoAppState;->getNanoAppVersion()J
-HSPLandroid/hardware/location/NanoAppState;->isEnabled()Z
 HPLandroid/hardware/location/NanoAppState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/hardware/soundtrigger/-$$Lambda$SoundTrigger$ZVJnEi-r8cH99VNOx-TiaTkEQgo;-><clinit>()V
 HSPLandroid/hardware/soundtrigger/-$$Lambda$SoundTrigger$ZVJnEi-r8cH99VNOx-TiaTkEQgo;-><init>()V
@@ -11847,9 +10427,12 @@
 HSPLandroid/hardware/soundtrigger/KeyphraseMetadata$1;-><init>()V
 HSPLandroid/hardware/soundtrigger/KeyphraseMetadata;-><clinit>()V
 HSPLandroid/hardware/soundtrigger/KeyphraseMetadata;-><init>(ILjava/lang/String;Landroid/util/ArraySet;I)V
+HSPLandroid/hardware/soundtrigger/KeyphraseMetadata;->hashCode()I
 HSPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
 HSPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[BI)V
+HSPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;-><init>(IILjava/util/Locale;Ljava/lang/String;[I)V
+HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
@@ -11857,7 +10440,6 @@
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
 HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;I)V
 HSPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IIIIZIZIZI)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
@@ -11869,7 +10451,9 @@
 HPLandroid/hardware/soundtrigger/SoundTrigger$SoundModel;->equals(Ljava/lang/Object;)Z
 HSPLandroid/hardware/soundtrigger/SoundTrigger;->getService()Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;
 HSPLandroid/hardware/soundtrigger/SoundTrigger;->listModules(Ljava/util/ArrayList;)I
+PLandroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate$1;-><init>(Landroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate;Landroid/os/Looper;Landroid/hardware/soundtrigger/SoundTriggerModule;Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;)V
 HPLandroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
+PLandroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate;-><init>(Landroid/hardware/soundtrigger/SoundTriggerModule;Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Looper;)V
 PLandroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate;->onRecognitionAvailabilityChange(Z)V
 HPLandroid/hardware/soundtrigger/SoundTriggerModule;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;[I)I
 HPLandroid/hardware/soundtrigger/SoundTriggerModule;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
@@ -11890,32 +10474,23 @@
 HSPLandroid/hardware/thermal/V2_0/IThermal;->getService(Ljava/lang/String;)Landroid/hardware/thermal/V2_0/IThermal;
 HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;-><init>()V
 HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-PLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
 HSPLandroid/hardware/thermal/V2_0/Temperature;-><init>()V
 HSPLandroid/hardware/thermal/V2_0/Temperature;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 PLandroid/hardware/thermal/V2_0/Temperature;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/thermal/V2_0/Temperature;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
 HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
 HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getDeviceList(Landroid/os/Bundle;)V
-HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPorts()Ljava/util/List;
 HSPLandroid/hardware/usb/IUsbManager$Stub;-><init>()V
 HSPLandroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
 HSPLandroid/hardware/usb/IUsbManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/usb/ParcelableUsbPort$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/ParcelableUsbPort;
-HSPLandroid/hardware/usb/ParcelableUsbPort$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/usb/ParcelableUsbPort;-><init>(Ljava/lang/String;IIZZ)V
-HSPLandroid/hardware/usb/ParcelableUsbPort;-><init>(Ljava/lang/String;IIZZLandroid/hardware/usb/ParcelableUsbPort$1;)V
 HSPLandroid/hardware/usb/ParcelableUsbPort;->describeContents()I
 HSPLandroid/hardware/usb/ParcelableUsbPort;->getUsbPort(Landroid/hardware/usb/UsbManager;)Landroid/hardware/usb/UsbPort;
 HSPLandroid/hardware/usb/ParcelableUsbPort;->of(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/ParcelableUsbPort;
 HSPLandroid/hardware/usb/ParcelableUsbPort;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V
-HSPLandroid/hardware/usb/UsbManager;->getAccessoryList()[Landroid/hardware/usb/UsbAccessory;
 HSPLandroid/hardware/usb/UsbManager;->getDeviceList()Ljava/util/HashMap;
-HSPLandroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus;
-HSPLandroid/hardware/usb/UsbManager;->getPorts()Ljava/util/List;
 HSPLandroid/hardware/usb/UsbManager;->usbFunctionsFromString(Ljava/lang/String;)J
 HSPLandroid/hardware/usb/UsbManager;->usbFunctionsToString(J)Ljava/lang/String;
 HSPLandroid/hardware/usb/UsbPort;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
@@ -11923,7 +10498,6 @@
 HSPLandroid/hardware/usb/UsbPort;->combineRolesAsBit(II)I
 HSPLandroid/hardware/usb/UsbPort;->dataRoleToString(I)Ljava/lang/String;
 HSPLandroid/hardware/usb/UsbPort;->getId()Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPort;->getStatus()Landroid/hardware/usb/UsbPortStatus;
 HSPLandroid/hardware/usb/UsbPort;->getSupportedContaminantProtectionModes()I
 HSPLandroid/hardware/usb/UsbPort;->getSupportedModes()I
 PLandroid/hardware/usb/UsbPort;->isModeSupported(I)Z
@@ -11933,8 +10507,6 @@
 HSPLandroid/hardware/usb/UsbPort;->supportsEnableContaminantPresenceDetection()Z
 HSPLandroid/hardware/usb/UsbPort;->supportsEnableContaminantPresenceProtection()Z
 HSPLandroid/hardware/usb/UsbPort;->toString()Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbPortStatus;
-HSPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/usb/UsbPortStatus;-><init>(IIIIII)V
 HSPLandroid/hardware/usb/UsbPortStatus;->describeContents()I
 HSPLandroid/hardware/usb/UsbPortStatus;->getContaminantDetectionStatus()I
@@ -11994,11 +10566,9 @@
 HSPLandroid/icu/impl/CaseMapImpl$StringContextIterator;->nextCaseMapCP()I
 HSPLandroid/icu/impl/CaseMapImpl$StringContextIterator;->setLimit(I)V
 HSPLandroid/icu/impl/CaseMapImpl;-><clinit>()V
-HSPLandroid/icu/impl/CaseMapImpl;->appendCodePoint(Ljava/lang/Appendable;I)I
 HSPLandroid/icu/impl/CaseMapImpl;->appendResult(ILjava/lang/Appendable;IILandroid/icu/text/Edits;)V
 HSPLandroid/icu/impl/CaseMapImpl;->appendUnchanged(Ljava/lang/CharSequence;IILjava/lang/Appendable;ILandroid/icu/text/Edits;)V
 HSPLandroid/icu/impl/CaseMapImpl;->applyEdits(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/Edits;)Ljava/lang/String;
-HSPLandroid/icu/impl/CaseMapImpl;->getTitleBreakIterator(Landroid/icu/util/ULocale;ILandroid/icu/text/BreakIterator;)Landroid/icu/text/BreakIterator;
 HSPLandroid/icu/impl/CaseMapImpl;->internalToUpper(IILjava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)V
 HSPLandroid/icu/impl/CaseMapImpl;->toTitle(IILandroid/icu/text/BreakIterator;Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLandroid/icu/impl/CaseMapImpl;->toTitle(IILandroid/icu/text/BreakIterator;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
@@ -12023,6 +10593,7 @@
 HSPLandroid/icu/impl/DateNumberFormat;->getDigits()[C
 HSPLandroid/icu/impl/DateNumberFormat;->initialize(Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/icu/impl/DontCareFieldPosition;-><clinit>()V
+HSPLandroid/icu/impl/DontCareFieldPosition;-><init>()V
 HSPLandroid/icu/impl/FormattedStringBuilder;-><clinit>()V
 HSPLandroid/icu/impl/FormattedStringBuilder;-><init>()V
 HSPLandroid/icu/impl/FormattedStringBuilder;-><init>(I)V
@@ -12111,7 +10682,6 @@
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collect(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencyDigits(Ljava/lang/String;Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
 HSPLandroid/icu/impl/ICUData;->checkStreamForBinaryData(Ljava/io/InputStream;Ljava/lang/String;)V
 HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/ClassLoader;Ljava/lang/String;Z)Ljava/io/InputStream;
 HSPLandroid/icu/impl/ICUDebug;->enabled(Ljava/lang/String;)Z
@@ -12210,7 +10780,6 @@
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->handleGetStringArray()[Ljava/lang/String;
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;->getBinary()Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;->getBinary([B)[B
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V
 HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V
@@ -12304,7 +10873,6 @@
 HSPLandroid/icu/impl/ICUResourceBundleReader;->compareKeys(Ljava/lang/CharSequence;C)I
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getAlias(I)Ljava/lang/String;
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getArray(I)Landroid/icu/impl/ICUResourceBundleReader$Array;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getBinary(I)Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getBinary(I[B)[B
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getChars(II)[C
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
@@ -12349,18 +10917,13 @@
 HSPLandroid/icu/impl/JavaTimeZone;->getOffset(JZ[I)V
 HSPLandroid/icu/impl/JavaTimeZone;->hashCode()I
 HSPLandroid/icu/impl/JavaTimeZone;->isFrozen()Z
-HSPLandroid/icu/impl/LocaleIDParser$1;-><init>(Landroid/icu/impl/LocaleIDParser;)V
-HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;)V
 HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V
 HSPLandroid/icu/impl/LocaleIDParser;->addSeparator()V
 HSPLandroid/icu/impl/LocaleIDParser;->append(C)V
-HSPLandroid/icu/impl/LocaleIDParser;->append(Ljava/lang/String;)V
 HSPLandroid/icu/impl/LocaleIDParser;->atTerminator()Z
 HSPLandroid/icu/impl/LocaleIDParser;->getBaseName()Ljava/lang/String;
 HSPLandroid/icu/impl/LocaleIDParser;->getCountry()Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleIDParser;->getKeyComparator()Ljava/util/Comparator;
 HSPLandroid/icu/impl/LocaleIDParser;->getKeywordMap()Ljava/util/Map;
 HSPLandroid/icu/impl/LocaleIDParser;->getKeywordValue(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/impl/LocaleIDParser;->getKeywords()Ljava/util/Iterator;
@@ -12381,8 +10944,6 @@
 HSPLandroid/icu/impl/LocaleIDParser;->parseVariant()I
 HSPLandroid/icu/impl/LocaleIDParser;->reset()V
 HSPLandroid/icu/impl/LocaleIDParser;->set(ILjava/lang/String;)V
-HSPLandroid/icu/impl/LocaleIDParser;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/icu/impl/LocaleIDParser;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;Z)V
 HSPLandroid/icu/impl/LocaleIDParser;->setToKeywordStart()Z
 HSPLandroid/icu/impl/LocaleIDParser;->skipCountry()V
 HSPLandroid/icu/impl/LocaleIDParser;->skipLanguage()V
@@ -12729,21 +11290,9 @@
 HSPLandroid/icu/impl/ZoneMeta;->getZoneIndex(Ljava/lang/String;)I
 HSPLandroid/icu/impl/ZoneMeta;->openOlsonResource(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/impl/coll/Collation;-><clinit>()V
-HSPLandroid/icu/impl/coll/Collation;->ceFromCE32(I)J
-HSPLandroid/icu/impl/coll/Collation;->ceFromSimpleCE32(I)J
-HSPLandroid/icu/impl/coll/Collation;->incThreeBytePrimaryByOffset(JZI)J
-HSPLandroid/icu/impl/coll/Collation;->indexFromCE32(I)I
-HSPLandroid/icu/impl/coll/Collation;->isSpecialCE32(I)Z
-HSPLandroid/icu/impl/coll/Collation;->latinCE0FromCE32(I)J
-HSPLandroid/icu/impl/coll/Collation;->latinCE1FromCE32(I)J
-HSPLandroid/icu/impl/coll/Collation;->lengthFromCE32(I)I
-HSPLandroid/icu/impl/coll/Collation;->makeCE(J)J
-HSPLandroid/icu/impl/coll/Collation;->tagFromCE32(I)I
 HSPLandroid/icu/impl/coll/CollationData;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationData;-><init>(Landroid/icu/impl/Normalizer2Impl;)V
 HSPLandroid/icu/impl/coll/CollationData;->getCE32(I)I
-HSPLandroid/icu/impl/coll/CollationData;->getCE32FromContexts(I)I
-HSPLandroid/icu/impl/coll/CollationData;->getFirstPrimaryForGroup(I)J
 HSPLandroid/icu/impl/coll/CollationData;->getLastPrimaryForGroup(I)J
 HSPLandroid/icu/impl/coll/CollationData;->getScriptIndex(I)I
 HSPLandroid/icu/impl/coll/CollationData;->isUnsafeBackward(IZ)Z
@@ -12752,37 +11301,14 @@
 HSPLandroid/icu/impl/coll/CollationDataReader$IsAcceptable;->isDataVersionAcceptable([B)Z
 HSPLandroid/icu/impl/coll/CollationDataReader;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationDataReader;->read(Landroid/icu/impl/coll/CollationTailoring;Ljava/nio/ByteBuffer;Landroid/icu/impl/coll/CollationTailoring;)V
-HSPLandroid/icu/impl/coll/CollationFCD;-><clinit>()V
-HSPLandroid/icu/impl/coll/CollationFCD;->hasTccc(I)Z
 HSPLandroid/icu/impl/coll/CollationFastLatin;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationFastLatin;->compareUTF16([C[CILjava/lang/CharSequence;Ljava/lang/CharSequence;I)I
 HSPLandroid/icu/impl/coll/CollationFastLatin;->getOptions(Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationSettings;[C)I
 HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;-><init>()V
 HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->append(J)V
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->appendUnsafe(J)V
 HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->ensureAppendCapacity(I)V
 HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->get(I)J
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->incLength()V
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->set(IJ)J
 HSPLandroid/icu/impl/coll/CollationIterator;-><clinit>()V
-HSPLandroid/icu/impl/coll/CollationIterator;-><init>(Landroid/icu/impl/coll/CollationData;)V
-HSPLandroid/icu/impl/coll/CollationIterator;->appendCEsFromCE32(Landroid/icu/impl/coll/CollationData;IIZ)V
-HSPLandroid/icu/impl/coll/CollationIterator;->clearCEs()V
-HSPLandroid/icu/impl/coll/CollationIterator;->clearCEsIfNoneRemaining()V
-HSPLandroid/icu/impl/coll/CollationIterator;->makeCodePointAndCE32Pair(II)J
-HSPLandroid/icu/impl/coll/CollationIterator;->nextCE()J
-HSPLandroid/icu/impl/coll/CollationIterator;->nextCE32FromContraction(Landroid/icu/impl/coll/CollationData;ILjava/lang/CharSequence;III)I
-HSPLandroid/icu/impl/coll/CollationIterator;->nextCEFromCE32(Landroid/icu/impl/coll/CollationData;II)J
-HSPLandroid/icu/impl/coll/CollationIterator;->reset()V
-HSPLandroid/icu/impl/coll/CollationIterator;->reset(Z)V
-HSPLandroid/icu/impl/coll/CollationKeys$LevelCallback;-><init>()V
-HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;-><init>([B)V
-HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append(I)V
-HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append([BI)V
-HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->NumberOfBytesAppended()I
-HSPLandroid/icu/impl/coll/CollationKeys;-><clinit>()V
-HSPLandroid/icu/impl/coll/CollationKeys;->getSortKeyLevel(II)Landroid/icu/impl/coll/CollationKeys$SortKeyLevel;
-HSPLandroid/icu/impl/coll/CollationKeys;->writeSortKeyUpToQuaternary(Landroid/icu/impl/coll/CollationIterator;[ZLandroid/icu/impl/coll/CollationSettings;Landroid/icu/impl/coll/CollationKeys$SortKeyByteSink;ILandroid/icu/impl/coll/CollationKeys$LevelCallback;Z)V
 HSPLandroid/icu/impl/coll/CollationLoader;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationLoader;->findWithFallback(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/impl/coll/CollationLoader;->loadTailoring(Landroid/icu/util/ULocale;Landroid/icu/util/Output;)Landroid/icu/impl/coll/CollationTailoring;
@@ -12790,7 +11316,6 @@
 HSPLandroid/icu/impl/coll/CollationRoot;->getRoot()Landroid/icu/impl/coll/CollationTailoring;
 HSPLandroid/icu/impl/coll/CollationSettings;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationSettings;-><init>()V
-HSPLandroid/icu/impl/coll/CollationSettings;->aliasReordering(Landroid/icu/impl/coll/CollationData;[II[B)V
 HSPLandroid/icu/impl/coll/CollationSettings;->clone()Landroid/icu/impl/coll/CollationSettings;
 HSPLandroid/icu/impl/coll/CollationSettings;->clone()Landroid/icu/impl/coll/SharedObject;
 HSPLandroid/icu/impl/coll/CollationSettings;->dontCheckFCD()Z
@@ -12798,21 +11323,14 @@
 HSPLandroid/icu/impl/coll/CollationSettings;->getMaxVariable()I
 HSPLandroid/icu/impl/coll/CollationSettings;->getStrength()I
 HSPLandroid/icu/impl/coll/CollationSettings;->getStrength(I)I
-HSPLandroid/icu/impl/coll/CollationSettings;->getTertiaryMask(I)I
 HSPLandroid/icu/impl/coll/CollationSettings;->hasReordering()Z
 HSPLandroid/icu/impl/coll/CollationSettings;->isNumeric()Z
-HSPLandroid/icu/impl/coll/CollationSettings;->isTertiaryWithCaseBits(I)Z
-HSPLandroid/icu/impl/coll/CollationSettings;->reorder(J)J
 HSPLandroid/icu/impl/coll/CollationSettings;->setFlag(IZ)V
-HSPLandroid/icu/impl/coll/CollationSettings;->setReorderRanges([III)V
 HSPLandroid/icu/impl/coll/CollationSettings;->setStrength(I)V
 HSPLandroid/icu/impl/coll/CollationTailoring;-><clinit>()V
 HSPLandroid/icu/impl/coll/CollationTailoring;-><init>(Landroid/icu/impl/coll/SharedObject$Reference;)V
 HSPLandroid/icu/impl/coll/CollationTailoring;->ensureOwnedData()V
 HSPLandroid/icu/impl/coll/FCDUTF16CollationIterator;-><clinit>()V
-HSPLandroid/icu/impl/coll/FCDUTF16CollationIterator;-><init>(Landroid/icu/impl/coll/CollationData;)V
-HSPLandroid/icu/impl/coll/FCDUTF16CollationIterator;->handleNextCE32()J
-HSPLandroid/icu/impl/coll/FCDUTF16CollationIterator;->setText(ZLjava/lang/CharSequence;I)V
 HSPLandroid/icu/impl/coll/SharedObject$Reference;-><init>(Landroid/icu/impl/coll/SharedObject;)V
 HSPLandroid/icu/impl/coll/SharedObject$Reference;->clear()V
 HSPLandroid/icu/impl/coll/SharedObject$Reference;->clone()Landroid/icu/impl/coll/SharedObject$Reference;
@@ -12825,8 +11343,6 @@
 HSPLandroid/icu/impl/coll/SharedObject;->getRefCount()I
 HSPLandroid/icu/impl/coll/SharedObject;->removeRef()V
 HSPLandroid/icu/impl/coll/UTF16CollationIterator;-><clinit>()V
-HSPLandroid/icu/impl/coll/UTF16CollationIterator;-><init>(Landroid/icu/impl/coll/CollationData;)V
-HSPLandroid/icu/impl/coll/UTF16CollationIterator;->setText(ZLjava/lang/CharSequence;I)V
 HSPLandroid/icu/impl/locale/AsciiUtil;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/icu/impl/locale/AsciiUtil;->isAlpha(C)Z
 HSPLandroid/icu/impl/locale/AsciiUtil;->isAlphaString(Ljava/lang/String;)Z
@@ -12863,14 +11379,11 @@
 HSPLandroid/icu/impl/locale/LanguageTag;->getScript()Ljava/lang/String;
 HSPLandroid/icu/impl/locale/LanguageTag;->getVariants()Ljava/util/List;
 HSPLandroid/icu/impl/locale/LanguageTag;->isLanguage(Ljava/lang/String;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->isScript(Ljava/lang/String;)Z
 HSPLandroid/icu/impl/locale/LanguageTag;->parseLocale(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/impl/locale/LanguageTag;
-HSPLandroid/icu/impl/locale/LocaleExtensions;-><clinit>()V
 HSPLandroid/icu/impl/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
 HSPLandroid/icu/impl/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
 HSPLandroid/icu/impl/locale/LocaleObjectCache;->cleanStaleEntries()V
 HSPLandroid/icu/impl/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/UnicodeLocaleExtension;-><clinit>()V
 HSPLandroid/icu/impl/number/AdoptingModifierStore;-><clinit>()V
 HSPLandroid/icu/impl/number/AdoptingModifierStore;-><init>(Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;)V
 HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(I)Landroid/icu/impl/number/Modifier;
@@ -13218,7 +11731,6 @@
 HSPLandroid/icu/lang/UCharacter;->isDigit(I)Z
 HSPLandroid/icu/lang/UCharacter;->isHighSurrogate(C)Z
 HSPLandroid/icu/lang/UCharacter;->isLowerCase(I)Z
-HSPLandroid/icu/lang/UCharacter;->toTitleCase(Landroid/icu/util/ULocale;Ljava/lang/String;Landroid/icu/text/BreakIterator;I)Ljava/lang/String;
 HSPLandroid/icu/lang/UScript$ScriptMetadata;-><clinit>()V
 HSPLandroid/icu/lang/UScript$ScriptMetadata;->access$000(I)I
 HSPLandroid/icu/lang/UScript$ScriptMetadata;->getScriptProps(I)I
@@ -13229,7 +11741,6 @@
 HSPLandroid/icu/lang/UScript;->getCodeFromName(Ljava/lang/String;)I
 HSPLandroid/icu/lang/UScript;->getScript(I)I
 HSPLandroid/icu/lang/UScript;->isRightToLeft(I)Z
-HSPLandroid/icu/number/CurrencyPrecision;->withCurrency(Landroid/icu/util/Currency;)Landroid/icu/number/Precision;
 HSPLandroid/icu/number/FormattedNumber;-><init>(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/number/DecimalQuantity;)V
 HSPLandroid/icu/number/FormattedNumber;->appendTo(Ljava/lang/Appendable;)Ljava/lang/Appendable;
 HSPLandroid/icu/number/FormattedNumber;->nextFieldPosition(Ljava/text/FieldPosition;)Z
@@ -13285,12 +11796,9 @@
 HSPLandroid/icu/number/Precision;->access$000(I)I
 HSPLandroid/icu/number/Precision;->access$100(I)I
 HSPLandroid/icu/number/Precision;->clone()Ljava/lang/Object;
-HSPLandroid/icu/number/Precision;->constructCurrency(Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/number/CurrencyPrecision;
 HSPLandroid/icu/number/Precision;->constructFraction(II)Landroid/icu/number/FractionPrecision;
-HSPLandroid/icu/number/Precision;->constructFromCurrency(Landroid/icu/number/CurrencyPrecision;Landroid/icu/util/Currency;)Landroid/icu/number/Precision;
 HSPLandroid/icu/number/Precision;->getDisplayMagnitudeFraction(I)I
 HSPLandroid/icu/number/Precision;->getRoundingMagnitudeFraction(I)I
-HSPLandroid/icu/number/Precision;->integer()Landroid/icu/number/FractionPrecision;
 HSPLandroid/icu/number/Precision;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Precision;
 HSPLandroid/icu/number/Precision;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Precision;
 HSPLandroid/icu/number/Scale;-><clinit>()V
@@ -13339,6 +11847,7 @@
 HSPLandroid/icu/text/BreakIterator;-><init>()V
 HSPLandroid/icu/text/BreakIterator;->clone()Ljava/lang/Object;
 HSPLandroid/icu/text/BreakIterator;->getBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
+HSPLandroid/icu/text/BreakIterator;->getLineInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
 HSPLandroid/icu/text/BreakIterator;->getSentenceInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;
 HSPLandroid/icu/text/BreakIterator;->getShim()Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
 HSPLandroid/icu/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
@@ -13356,10 +11865,6 @@
 HSPLandroid/icu/text/CaseMap;->access$500(Ljava/util/Locale;)I
 HSPLandroid/icu/text/CaseMap;->getCaseLocale(Ljava/util/Locale;)I
 HSPLandroid/icu/text/CaseMap;->toUpper()Landroid/icu/text/CaseMap$Upper;
-HSPLandroid/icu/text/CollationKey;-><clinit>()V
-HSPLandroid/icu/text/CollationKey;-><init>(Ljava/lang/String;Landroid/icu/text/RawCollationKey;)V
-HSPLandroid/icu/text/CollationKey;->getLength()I
-HSPLandroid/icu/text/CollationKey;->toByteArray()[B
 HSPLandroid/icu/text/Collator$ServiceShim;-><init>()V
 HSPLandroid/icu/text/Collator;-><clinit>()V
 HSPLandroid/icu/text/Collator;-><init>()V
@@ -13390,7 +11895,6 @@
 HSPLandroid/icu/text/ConstrainedFieldPosition;->setState(Ljava/text/Format$Field;Ljava/lang/Object;II)V
 HSPLandroid/icu/text/CurrencyDisplayNames;-><init>()V
 HSPLandroid/icu/text/CurrencyDisplayNames;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/CurrencyDisplayNames;
-HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyDigits;-><init>(II)V
 HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyFilter;-><init>(Ljava/lang/String;Ljava/lang/String;JJZ)V
 HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->onRegion(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
 HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyFilter;->withRegion(Ljava/lang/String;)Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
@@ -13443,15 +11947,12 @@
 HSPLandroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
 HSPLandroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V
 HSPLandroid/icu/text/DateIntervalFormat$BestMatchInfo;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/icu/text/DateIntervalFormat;-><clinit>()V
 HSPLandroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V
-HSPLandroid/icu/text/DateIntervalFormat;->adjustFieldWidth(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/icu/text/DateIntervalFormat;->concatSingleDate2TimeInterval(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;)V
 HSPLandroid/icu/text/DateIntervalFormat;->fieldExistsInSkeleton(ILjava/lang/String;)Z
 HSPLandroid/icu/text/DateIntervalFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DateIntervalFormat;->formatImpl(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Landroid/icu/text/DateIntervalFormat$FormatOutput;Ljava/util/List;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DateIntervalFormat;->genFallbackPattern(ILjava/lang/String;Ljava/util/Map;Landroid/icu/text/DateTimePatternGenerator;)V
 HSPLandroid/icu/text/DateIntervalFormat;->genIntervalPattern(ILjava/lang/String;Ljava/lang/String;ILjava/util/Map;)Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
 HSPLandroid/icu/text/DateIntervalFormat;->genSeparateDateTimePtn(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Landroid/icu/text/DateTimePatternGenerator;)Z
 HSPLandroid/icu/text/DateIntervalFormat;->getConcatenationPattern(Landroid/icu/util/ULocale;)Ljava/lang/String;
@@ -13491,7 +11992,6 @@
 HSPLandroid/icu/text/DateIntervalInfo;->setIntervalPatternInternally(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/DateIntervalInfo$PatternInfo;
 HSPLandroid/icu/text/DateIntervalInfo;->setup(Landroid/icu/util/ULocale;)V
 HSPLandroid/icu/text/DateIntervalInfo;->splitPatternInto2Part(Ljava/lang/String;)I
-HSPLandroid/icu/text/DateIntervalInfo;->stringNumeric(IIC)Z
 HSPLandroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;-><clinit>()V
 HSPLandroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;-><init>(Landroid/icu/text/DateTimePatternGenerator;)V
 HSPLandroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;-><init>(Landroid/icu/text/DateTimePatternGenerator;Landroid/icu/text/DateTimePatternGenerator$1;)V
@@ -13715,33 +12215,34 @@
 HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->removeAllElements()V
 HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->size()I
 HSPLandroid/icu/text/DisplayContext;->type()Landroid/icu/text/DisplayContext$Type;
-HSPLandroid/icu/text/Edits$Iterator;-><clinit>()V
 HSPLandroid/icu/text/Edits$Iterator;-><init>([CIZZ)V
 HSPLandroid/icu/text/Edits$Iterator;-><init>([CIZZLandroid/icu/text/Edits$1;)V
-HSPLandroid/icu/text/Edits$Iterator;->hasChange()Z
-HSPLandroid/icu/text/Edits$Iterator;->newLength()I
-HSPLandroid/icu/text/Edits$Iterator;->next()Z
 HSPLandroid/icu/text/Edits$Iterator;->next(Z)Z
-HSPLandroid/icu/text/Edits$Iterator;->noNext()Z
-HSPLandroid/icu/text/Edits$Iterator;->replacementIndex()I
-HSPLandroid/icu/text/Edits$Iterator;->sourceIndex()I
-HSPLandroid/icu/text/Edits$Iterator;->updateNextIndexes()V
 HSPLandroid/icu/text/Edits;-><init>()V
 HSPLandroid/icu/text/Edits;->addReplace(II)V
 HSPLandroid/icu/text/Edits;->addUnchanged(I)V
 HSPLandroid/icu/text/Edits;->append(I)V
-HSPLandroid/icu/text/Edits;->getCoarseIterator()Landroid/icu/text/Edits$Iterator;
 HSPLandroid/icu/text/Edits;->hasChanges()Z
 HSPLandroid/icu/text/Edits;->lastUnit()I
-HSPLandroid/icu/text/Edits;->lengthDelta()I
 HSPLandroid/icu/text/Edits;->reset()V
 HSPLandroid/icu/text/Edits;->setLastUnit(I)V
 HSPLandroid/icu/text/IDNA;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->appendTo(Ljava/lang/Appendable;)V
+HSPLandroid/icu/text/ListFormatter$Cache;-><init>()V
+HSPLandroid/icu/text/ListFormatter$Cache;-><init>(Landroid/icu/text/ListFormatter$1;)V
+HSPLandroid/icu/text/ListFormatter$Cache;->get(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
+HSPLandroid/icu/text/ListFormatter$Cache;->load(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
+HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;-><init>(Ljava/lang/Object;Z)V
+HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->append(Ljava/lang/String;Ljava/lang/Object;Z)Landroid/icu/text/ListFormatter$FormattedListBuilder;
+HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->offsetRecorded()Z
 HSPLandroid/icu/text/ListFormatter$Style;-><clinit>()V
 HSPLandroid/icu/text/ListFormatter$Style;-><init>(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/icu/text/ListFormatter$Style;->getName()Ljava/lang/String;
 HSPLandroid/icu/text/ListFormatter;-><clinit>()V
+HSPLandroid/icu/text/ListFormatter;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)V
+HSPLandroid/icu/text/ListFormatter;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/ListFormatter$1;)V
+HSPLandroid/icu/text/ListFormatter;->access$000(Ljava/lang/String;Ljava/lang/StringBuilder;)Ljava/lang/String;
+HSPLandroid/icu/text/ListFormatter;->compilePattern(Ljava/lang/String;Ljava/lang/StringBuilder;)Ljava/lang/String;
+HSPLandroid/icu/text/ListFormatter;->format(Ljava/util/Collection;I)Landroid/icu/text/ListFormatter$FormattedListBuilder;
 HSPLandroid/icu/text/ListFormatter;->getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/ListFormatter$Style;)Landroid/icu/text/ListFormatter;
 HSPLandroid/icu/text/MeasureFormat$FormatWidth;-><clinit>()V
 HSPLandroid/icu/text/MeasureFormat$FormatWidth;-><init>(Ljava/lang/String;ILandroid/icu/text/ListFormatter$Style;Landroid/icu/number/NumberFormatter$UnitWidth;Landroid/icu/number/NumberFormatter$UnitWidth;)V
@@ -13872,7 +12373,6 @@
 HSPLandroid/icu/text/PluralRules;->parseRuleChain(Ljava/lang/String;)Landroid/icu/text/PluralRules$RuleList;
 HSPLandroid/icu/text/PluralRules;->select(D)Ljava/lang/String;
 HSPLandroid/icu/text/PluralRules;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
-HSPLandroid/icu/text/RawCollationKey;-><init>(I)V
 HSPLandroid/icu/text/RelativeDateTimeFormatter$1;-><clinit>()V
 HSPLandroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;-><clinit>()V
 HSPLandroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;-><init>(Ljava/lang/String;I)V
@@ -13983,7 +12483,6 @@
 HSPLandroid/icu/text/RuleBasedBreakIterator;->setText(Ljava/text/CharacterIterator;)V
 HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;)V
 HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;Landroid/icu/text/RuleBasedCollator$1;)V
-HSPLandroid/icu/text/RuleBasedCollator$CollationKeyByteSink;-><init>(Landroid/icu/text/RawCollationKey;)V
 HSPLandroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;-><init>()V
 HSPLandroid/icu/text/RuleBasedCollator$NFDIterator;-><init>()V
 HSPLandroid/icu/text/RuleBasedCollator$UTF16NFDIterator;-><init>()V
@@ -13995,18 +12494,13 @@
 HSPLandroid/icu/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
 HSPLandroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-HSPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey;
-HSPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/CollationKey;
 HSPLandroid/icu/text/RuleBasedCollator;->getOwnedSettings()Landroid/icu/impl/coll/CollationSettings;
-HSPLandroid/icu/text/RuleBasedCollator;->getRawCollationKey(Ljava/lang/CharSequence;Landroid/icu/text/RawCollationKey;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/RawCollationKey;
 HSPLandroid/icu/text/RuleBasedCollator;->getStrength()I
 HSPLandroid/icu/text/RuleBasedCollator;->isFrozen()Z
 HSPLandroid/icu/text/RuleBasedCollator;->releaseCollationBuffer(Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
 HSPLandroid/icu/text/RuleBasedCollator;->setDecomposition(I)V
 HSPLandroid/icu/text/RuleBasedCollator;->setFastLatinOptions(Landroid/icu/impl/coll/CollationSettings;)V
 HSPLandroid/icu/text/RuleBasedCollator;->setStrength(I)V
-HSPLandroid/icu/text/RuleBasedCollator;->simpleKeyLengthEstimate(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/RuleBasedCollator;->writeSortKey(Ljava/lang/CharSequence;Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
 HSPLandroid/icu/text/SimpleDateFormat$PatternItem;-><init>(CI)V
 HSPLandroid/icu/text/SimpleDateFormat;-><clinit>()V
 HSPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;Landroid/icu/text/NumberFormat;Landroid/icu/util/ULocale;ZLjava/lang/String;)V
@@ -14139,8 +12633,6 @@
 HSPLandroid/icu/util/AnnualTimeZoneRule;->getRule()Landroid/icu/util/DateTimeRule;
 HSPLandroid/icu/util/AnnualTimeZoneRule;->getStartInYear(III)Ljava/util/Date;
 HSPLandroid/icu/util/BasicTimeZone;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/util/ByteArrayWrapper;-><init>()V
-HSPLandroid/icu/util/ByteArrayWrapper;->releaseBytes()[B
 HSPLandroid/icu/util/BytesTrie$Result;-><clinit>()V
 HSPLandroid/icu/util/BytesTrie$Result;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/util/BytesTrie$Result;->hasNext()Z
@@ -14299,13 +12791,10 @@
 HSPLandroid/icu/util/Currency;->access$000(Ljava/lang/String;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->createCurrency(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getCurrencyCode()Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getDefaultFractionDigits()I
-HSPLandroid/icu/util/Currency;->getDefaultFractionDigits(Landroid/icu/util/Currency$CurrencyUsage;)I
 HSPLandroid/icu/util/Currency;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getInstance(Ljava/lang/String;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getInstance(Ljava/util/Locale;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getName(Landroid/icu/util/ULocale;I[Z)Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getRoundingIncrement(Landroid/icu/util/Currency$CurrencyUsage;)D
 HSPLandroid/icu/util/Currency;->getSymbol(Landroid/icu/util/ULocale;)Ljava/lang/String;
 HSPLandroid/icu/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
 HSPLandroid/icu/util/Currency;->isAlpha3Code(Ljava/lang/String;)Z
@@ -14429,8 +12918,6 @@
 HSPLandroid/icu/util/ULocale;->isRightToLeft()Z
 HSPLandroid/icu/util/ULocale;->lookupLikelySubtags(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->parseTagString(Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/icu/util/ULocale;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->toLanguageTag()Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->toLocale()Ljava/util/Locale;
 HSPLandroid/icu/util/ULocale;->toString()Ljava/lang/String;
@@ -14455,74 +12942,20 @@
 HSPLandroid/icu/util/VersionInfo;->compareTo(Landroid/icu/util/VersionInfo;)I
 HSPLandroid/icu/util/VersionInfo;->getInstance(IIII)Landroid/icu/util/VersionInfo;
 HSPLandroid/icu/util/VersionInfo;->getInt(IIII)I
-HSPLandroid/location/-$$Lambda$-z-Hjl12STdAybauR3BT-ftvWd0;-><clinit>()V
-HSPLandroid/location/-$$Lambda$-z-Hjl12STdAybauR3BT-ftvWd0;-><init>()V
-HSPLandroid/location/-$$Lambda$-z-Hjl12STdAybauR3BT-ftvWd0;->accept(Ljava/lang/Object;)V
-HSPLandroid/location/-$$Lambda$AbstractListenerManager$Registration$TnkXgyOd99JHl00GzK6Oay_sYms;-><init>(Landroid/location/AbstractListenerManager$Registration;Ljava/util/function/Consumer;)V
-HSPLandroid/location/-$$Lambda$AbstractListenerManager$Registration$TnkXgyOd99JHl00GzK6Oay_sYms;->run()V
-HSPLandroid/location/-$$Lambda$GpsStatus$RTSonBp9m0T0NWA3SCfYgWf1mTo;-><init>(Landroid/location/GpsStatus;)V
-HSPLandroid/location/-$$Lambda$GpsStatus$RTSonBp9m0T0NWA3SCfYgWf1mTo;->iterator()Ljava/util/Iterator;
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$4EPi22o4xuVnpNhFHnDvebH4TG8;-><init>(Landroid/location/GnssStatus;)V
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$4EPi22o4xuVnpNhFHnDvebH4TG8;->accept(Ljava/lang/Object;)V
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$7Fi5XkeF81eL_OKPS2GJMvyc3-8;-><init>(I)V
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$7Fi5XkeF81eL_OKPS2GJMvyc3-8;->accept(Ljava/lang/Object;)V
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$gYcH61KCtV_OcJJszI1TfvnrJHY;-><init>(Ljava/lang/String;J)V
-HSPLandroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$gYcH61KCtV_OcJJszI1TfvnrJHY;->accept(Ljava/lang/Object;)V
-HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$JzcdERl3Ha8sYr9NxFhb3gNOoCM;-><init>(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Ljava/lang/String;)V
-HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$JzcdERl3Ha8sYr9NxFhb3gNOoCM;->run()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$C3xaM63A8GAwfJNN4R634OLsvDc;-><clinit>()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$C3xaM63A8GAwfJNN4R634OLsvDc;-><init>()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$C3xaM63A8GAwfJNN4R634OLsvDc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps;-><init>(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Landroid/location/Location;)V
 HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps;->run()V
-HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$vDJFuk-DvyNgQEXUO2Jkf2ZFeE8;-><init>(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Ljava/lang/String;)V
-HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$vDJFuk-DvyNgQEXUO2Jkf2ZFeE8;->run()V
-HSPLandroid/location/-$$Lambda$UmbtQF279SH5h72Ftfcj_s96jsY;-><clinit>()V
-HSPLandroid/location/-$$Lambda$UmbtQF279SH5h72Ftfcj_s96jsY;-><init>()V
-HSPLandroid/location/-$$Lambda$UmbtQF279SH5h72Ftfcj_s96jsY;->accept(Ljava/lang/Object;)V
-HSPLandroid/location/-$$Lambda$_14QHG018Z6p13d3hzJuGTWnNeo;->execute(Ljava/lang/Runnable;)V
-HSPLandroid/location/AbstractListenerManager$Registration;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Object;)V
-HSPLandroid/location/AbstractListenerManager$Registration;-><init>(Ljava/util/concurrent/Executor;Ljava/lang/Object;Landroid/location/AbstractListenerManager$1;)V
-HSPLandroid/location/AbstractListenerManager$Registration;->access$100(Landroid/location/AbstractListenerManager$Registration;)V
-HSPLandroid/location/AbstractListenerManager$Registration;->access$200(Landroid/location/AbstractListenerManager$Registration;Ljava/util/function/Consumer;)V
-HSPLandroid/location/AbstractListenerManager$Registration;->execute(Ljava/util/function/Consumer;)V
-HSPLandroid/location/AbstractListenerManager$Registration;->lambda$execute$0$AbstractListenerManager$Registration(Ljava/util/function/Consumer;)V
-HSPLandroid/location/AbstractListenerManager$Registration;->unregister()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$enkW18B0WwpQkSIMmVChmQ2YwC8;-><clinit>()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$enkW18B0WwpQkSIMmVChmQ2YwC8;-><init>()V
+HSPLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$enkW18B0WwpQkSIMmVChmQ2YwC8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/location/AbstractListenerManager;-><init>()V
-HSPLandroid/location/AbstractListenerManager;->addInternal(Ljava/lang/Object;Landroid/location/AbstractListenerManager$Registration;)Z
-HSPLandroid/location/AbstractListenerManager;->addInternal(Ljava/lang/Object;Ljava/util/concurrent/Executor;)Z
-HSPLandroid/location/AbstractListenerManager;->execute(Ljava/util/function/Consumer;)V
-HSPLandroid/location/AbstractListenerManager;->removeListener(Ljava/lang/Object;)V
 HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Address;
 HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/location/Address;-><init>(Ljava/util/Locale;)V
-HSPLandroid/location/Address;->access$000(Landroid/location/Address;)Ljava/util/HashMap;
-HSPLandroid/location/Address;->access$002(Landroid/location/Address;Ljava/util/HashMap;)Ljava/util/HashMap;
-HSPLandroid/location/Address;->access$100(Landroid/location/Address;)I
-HSPLandroid/location/Address;->access$1002(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$102(Landroid/location/Address;I)I
-HSPLandroid/location/Address;->access$1102(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$1202(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$1300(Landroid/location/Address;)Z
-HSPLandroid/location/Address;->access$1302(Landroid/location/Address;Z)Z
-HSPLandroid/location/Address;->access$1402(Landroid/location/Address;D)D
-HSPLandroid/location/Address;->access$1500(Landroid/location/Address;)Z
-HSPLandroid/location/Address;->access$1502(Landroid/location/Address;Z)Z
-HSPLandroid/location/Address;->access$1602(Landroid/location/Address;D)D
-HSPLandroid/location/Address;->access$1702(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$1802(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$1902(Landroid/location/Address;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/location/Address;->access$202(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$302(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$402(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$502(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$602(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$702(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$802(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Address;->access$902(Landroid/location/Address;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Country;
-HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/location/Country;-><init>(Landroid/location/Country;)V
+HSPLandroid/location/Address;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/location/Country;-><init>(Ljava/lang/String;I)V
-HSPLandroid/location/Country;-><init>(Ljava/lang/String;IJ)V
-HSPLandroid/location/Country;-><init>(Ljava/lang/String;IJLandroid/location/Country$1;)V
 HPLandroid/location/Country;->equals(Ljava/lang/Object;)Z
 HSPLandroid/location/Country;->getCountryIso()Ljava/lang/String;
 HSPLandroid/location/Country;->getSource()I
@@ -14535,37 +12968,14 @@
 HSPLandroid/location/Geocoder;->isPresent()Z
 HSPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GeocoderParams;
 HSPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/location/GeocoderParams;-><init>()V
 HSPLandroid/location/GeocoderParams;-><init>(Landroid/content/Context;Ljava/util/Locale;)V
-HSPLandroid/location/GeocoderParams;-><init>(Landroid/location/GeocoderParams$1;)V
-HSPLandroid/location/GeocoderParams;->access$102(Landroid/location/GeocoderParams;Ljava/util/Locale;)Ljava/util/Locale;
-HSPLandroid/location/GeocoderParams;->access$202(Landroid/location/GeocoderParams;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/location/GeocoderParams;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/location/GnssClock;-><init>()V
 HSPLandroid/location/GnssClock;->initialize()V
-HSPLandroid/location/GnssClock;->resetBiasNanos()V
-HSPLandroid/location/GnssClock;->resetBiasUncertaintyNanos()V
-HSPLandroid/location/GnssClock;->resetDriftNanosPerSecond()V
-HSPLandroid/location/GnssClock;->resetDriftUncertaintyNanosPerSecond()V
-HSPLandroid/location/GnssClock;->resetElapsedRealtimeNanos()V
-HSPLandroid/location/GnssClock;->resetElapsedRealtimeUncertaintyNanos()V
-HSPLandroid/location/GnssClock;->resetFlag(I)V
-HSPLandroid/location/GnssClock;->resetFullBiasNanos()V
-HSPLandroid/location/GnssClock;->resetLeapSecond()V
-HSPLandroid/location/GnssClock;->resetTimeUncertaintyNanos()V
 HSPLandroid/location/GnssClock;->setHardwareClockDiscontinuityCount(I)V
 HSPLandroid/location/GnssClock;->setTimeNanos(J)V
 HSPLandroid/location/GnssMeasurement;-><init>()V
 HSPLandroid/location/GnssMeasurement;->initialize()V
-HSPLandroid/location/GnssMeasurement;->resetAutomaticGainControlLevel()V
-HSPLandroid/location/GnssMeasurement;->resetBasebandCn0DbHz()V
-HSPLandroid/location/GnssMeasurement;->resetCarrierCycles()V
-HSPLandroid/location/GnssMeasurement;->resetCarrierFrequencyHz()V
-HSPLandroid/location/GnssMeasurement;->resetCarrierPhase()V
-HSPLandroid/location/GnssMeasurement;->resetCarrierPhaseUncertainty()V
-HSPLandroid/location/GnssMeasurement;->resetCodeType()V
-HSPLandroid/location/GnssMeasurement;->resetFlag(I)V
-HSPLandroid/location/GnssMeasurement;->resetSnrInDb()V
 HSPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeMeters(D)V
 HSPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeState(I)V
 HSPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeUncertaintyMeters(D)V
@@ -14578,44 +12988,15 @@
 HSPLandroid/location/GnssMeasurement;->setState(I)V
 HSPLandroid/location/GnssMeasurement;->setSvid(I)V
 HSPLandroid/location/GnssMeasurement;->setTimeOffsetNanos(D)V
-HSPLandroid/location/GnssMeasurementsEvent;-><clinit>()V
 HSPLandroid/location/GnssMeasurementsEvent;-><init>(Landroid/location/GnssClock;[Landroid/location/GnssMeasurement;)V
-HSPLandroid/location/GnssNavigationMessage$1;-><init>()V
-HSPLandroid/location/GnssNavigationMessage;-><clinit>()V
-HSPLandroid/location/GnssReflectingPlane$1;-><init>()V
-HSPLandroid/location/GnssReflectingPlane;-><clinit>()V
-HSPLandroid/location/GnssSingleSatCorrection$1;-><init>()V
-HSPLandroid/location/GnssSingleSatCorrection;-><clinit>()V
-HSPLandroid/location/GnssStatus$Callback;-><init>()V
 HSPLandroid/location/GnssStatus;-><init>(I[I[F[F[F[F[F)V
-HSPLandroid/location/GnssStatus;->getAzimuthDegrees(I)F
 HPLandroid/location/GnssStatus;->getCarrierFrequencyHz(I)F
 HSPLandroid/location/GnssStatus;->getCn0DbHz(I)F
 HSPLandroid/location/GnssStatus;->getConstellationType(I)I
-HSPLandroid/location/GnssStatus;->getElevationDegrees(I)F
 HSPLandroid/location/GnssStatus;->getSatelliteCount()I
-HSPLandroid/location/GnssStatus;->getSvid(I)I
-HSPLandroid/location/GnssStatus;->hasAlmanacData(I)Z
 HPLandroid/location/GnssStatus;->hasCarrierFrequencyHz(I)Z
-HSPLandroid/location/GnssStatus;->hasEphemerisData(I)Z
 HSPLandroid/location/GnssStatus;->usedInFix(I)Z
 HSPLandroid/location/GnssStatus;->wrap(I[I[F[F[F[F[F)Landroid/location/GnssStatus;
-HSPLandroid/location/GpsSatellite;-><init>(I)V
-HPLandroid/location/GpsSatellite;->getPrn()I
-HPLandroid/location/GpsSatellite;->getSnr()F
-HSPLandroid/location/GpsSatellite;->usedInFix()Z
-HSPLandroid/location/GpsStatus$SatelliteIterator;-><init>(Landroid/location/GpsStatus;)V
-HSPLandroid/location/GpsStatus$SatelliteIterator;->hasNext()Z
-HSPLandroid/location/GpsStatus$SatelliteIterator;->next()Landroid/location/GpsSatellite;
-HSPLandroid/location/GpsStatus$SatelliteIterator;->next()Ljava/lang/Object;
-HSPLandroid/location/GpsStatus;-><init>()V
-HSPLandroid/location/GpsStatus;->access$000(Landroid/location/GpsStatus;)Landroid/util/SparseArray;
-HSPLandroid/location/GpsStatus;->create(Landroid/location/GnssStatus;I)Landroid/location/GpsStatus;
-HSPLandroid/location/GpsStatus;->getSatellites()Ljava/lang/Iterable;
-HSPLandroid/location/GpsStatus;->lambda$new$0$GpsStatus()Ljava/util/Iterator;
-HSPLandroid/location/GpsStatus;->setStatus(Landroid/location/GnssStatus;I)V
-HSPLandroid/location/ICountryDetector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/location/ICountryDetector$Stub$Proxy;->detectCountry()Landroid/location/Country;
 HSPLandroid/location/ICountryDetector$Stub;-><init>()V
 HSPLandroid/location/ICountryDetector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ICountryDetector;
 HPLandroid/location/ICountryDetector$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -14624,18 +13005,13 @@
 HSPLandroid/location/ICountryListener$Stub;-><init>()V
 HSPLandroid/location/ICountryListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/location/ICountryListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ICountryListener;
-HSPLandroid/location/IGeocodeProvider$Stub;-><init>()V
-HSPLandroid/location/IGeofenceProvider$Stub;-><init>()V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onGnssStarted()V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onGnssStopped()V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onNmeaReceived(JLjava/lang/String;)V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onSvStatusChanged(I[I[F[F[F[F[F)V
-HSPLandroid/location/IGnssStatusListener$Stub;-><init>()V
-HSPLandroid/location/IGnssStatusListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/location/IGnssStatusListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssStatusListener;
-HSPLandroid/location/IGnssStatusListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/location/IGpsGeofenceHardware$Stub;-><init>()V
 HPLandroid/location/ILocationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/location/ILocationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -14645,19 +13021,12 @@
 HPLandroid/location/ILocationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationListener;
 HSPLandroid/location/ILocationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getExtraLocationControllerPackage()Ljava/lang/String;
 HSPLandroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;Ljava/lang/String;)Landroid/location/Location;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
 HSPLandroid/location/ILocationManager$Stub$Proxy;->isLocationEnabledForUser(I)Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;->isProviderEnabledForUser(Ljava/lang/String;I)Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
 HSPLandroid/location/ILocationManager$Stub$Proxy;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackage(Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackageEnabled(Z)V
 HSPLandroid/location/ILocationManager$Stub;-><init>()V
 HSPLandroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
 HPLandroid/location/ILocationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -14694,21 +13063,16 @@
 HSPLandroid/location/Location;->access$802(Landroid/location/Location;J)J
 HSPLandroid/location/Location;->access$902(Landroid/location/Location;J)J
 HSPLandroid/location/Location;->computeDistanceAndBearing(DDDDLandroid/location/Location$BearingDistanceCache;)V
-HSPLandroid/location/Location;->distanceBetween(DDDD[F)V
 HSPLandroid/location/Location;->distanceTo(Landroid/location/Location;)F
 HSPLandroid/location/Location;->getAccuracy()F
 HSPLandroid/location/Location;->getAltitude()D
-HSPLandroid/location/Location;->getBearing()F
-HSPLandroid/location/Location;->getBearingAccuracyDegrees()F
 HSPLandroid/location/Location;->getElapsedRealtimeNanos()J
 HSPLandroid/location/Location;->getExtras()Landroid/os/Bundle;
 HSPLandroid/location/Location;->getLatitude()D
 HSPLandroid/location/Location;->getLongitude()D
 HSPLandroid/location/Location;->getProvider()Ljava/lang/String;
 HSPLandroid/location/Location;->getSpeed()F
-HSPLandroid/location/Location;->getSpeedAccuracyMetersPerSecond()F
 HSPLandroid/location/Location;->getTime()J
-HSPLandroid/location/Location;->getVerticalAccuracyMeters()F
 HSPLandroid/location/Location;->hasAccuracy()Z
 HSPLandroid/location/Location;->hasAltitude()Z
 HSPLandroid/location/Location;->hasBearing()Z
@@ -14719,9 +13083,7 @@
 HSPLandroid/location/Location;->hasVerticalAccuracy()Z
 HSPLandroid/location/Location;->isComplete()Z
 HSPLandroid/location/Location;->isFromMockProvider()Z
-PLandroid/location/Location;->removeAltitude()V
 HSPLandroid/location/Location;->removeBearing()V
-HSPLandroid/location/Location;->removeSpeed()V
 HSPLandroid/location/Location;->set(Landroid/location/Location;)V
 HSPLandroid/location/Location;->setAccuracy(F)V
 HSPLandroid/location/Location;->setAltitude(D)V
@@ -14731,7 +13093,6 @@
 HSPLandroid/location/Location;->setExtras(Landroid/os/Bundle;)V
 HSPLandroid/location/Location;->setLatitude(D)V
 HSPLandroid/location/Location;->setLongitude(D)V
-HSPLandroid/location/Location;->setProvider(Ljava/lang/String;)V
 HSPLandroid/location/Location;->setSpeed(F)V
 HSPLandroid/location/Location;->setSpeedAccuracyMetersPerSecond(F)V
 HSPLandroid/location/Location;->setTime(J)V
@@ -14739,6 +13100,8 @@
 HSPLandroid/location/Location;->toString()Ljava/lang/String;
 HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/location/LocationManager$1;-><init>(Landroid/location/LocationManager;ILjava/lang/String;)V
+HSPLandroid/location/LocationManager$1;->recompute(Ljava/lang/Integer;)Ljava/lang/Boolean;
+HSPLandroid/location/LocationManager$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/location/LocationManager$BatchedLocationCallbackManager;-><init>(Landroid/location/LocationManager;)V
 HSPLandroid/location/LocationManager$BatchedLocationCallbackManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
 HSPLandroid/location/LocationManager$GnssAntennaInfoListenerManager;-><init>(Landroid/location/LocationManager;)V
@@ -14747,33 +13110,15 @@
 HSPLandroid/location/LocationManager$GnssMeasurementsListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
 HSPLandroid/location/LocationManager$GnssNavigationMessageListenerManager;-><init>(Landroid/location/LocationManager;)V
 HSPLandroid/location/LocationManager$GnssNavigationMessageListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$1;-><init>(Landroid/location/LocationManager$GnssStatusListenerManager;Ljava/lang/Object;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$1;->onSatelliteStatusChanged(Landroid/location/GnssStatus;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$1;->onStarted()V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$1;->onStopped()V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;-><init>(Landroid/location/LocationManager$GnssStatusListenerManager;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;-><init>(Landroid/location/LocationManager$GnssStatusListenerManager;Landroid/location/LocationManager$1;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->lambda$onFirstFix$0(ILandroid/location/GnssStatus$Callback;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->lambda$onNmeaReceived$2(Ljava/lang/String;JLandroid/location/GnssStatus$Callback;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->lambda$onSvStatusChanged$1(Landroid/location/GnssStatus;Landroid/location/GnssStatus$Callback;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->onFirstFix(I)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->onGnssStarted()V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->onGnssStopped()V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->onNmeaReceived(JLjava/lang/String;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager$GnssStatusListener;->onSvStatusChanged(I[I[F[F[F[F[F)V
 HSPLandroid/location/LocationManager$GnssStatusListenerManager;-><init>(Landroid/location/LocationManager;)V
 HSPLandroid/location/LocationManager$GnssStatusListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->addListener(Landroid/location/GpsStatus$Listener;Ljava/util/concurrent/Executor;)Z
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->convertKey(Ljava/lang/Object;)Landroid/location/GnssStatus$Callback;
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->convertKey(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->getGnssStatus()Landroid/location/GnssStatus;
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->getTtff()I
-HSPLandroid/location/LocationManager$GnssStatusListenerManager;->registerService()Z
 HSPLandroid/location/LocationManager$LocationListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/LocationListener;)V
 HSPLandroid/location/LocationManager$LocationListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/LocationListener;Landroid/location/LocationManager$1;)V
+HSPLandroid/location/LocationManager$LocationListenerTransport;->acceptLocation(Ljava/util/concurrent/Executor;Landroid/location/Location;)V
+HSPLandroid/location/LocationManager$LocationListenerTransport;->acceptProviderChange(Ljava/util/concurrent/Executor;Ljava/lang/String;Z)V
+HSPLandroid/location/LocationManager$LocationListenerTransport;->lambda$C3xaM63A8GAwfJNN4R634OLsvDc(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Ljava/lang/String;Z)V
+HSPLandroid/location/LocationManager$LocationListenerTransport;->lambda$enkW18B0WwpQkSIMmVChmQ2YwC8(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Landroid/location/Location;)V
 HSPLandroid/location/LocationManager$LocationListenerTransport;->lambda$onLocationChanged$0$LocationManager$LocationListenerTransport(Ljava/util/concurrent/Executor;Landroid/location/Location;)V
-HSPLandroid/location/LocationManager$LocationListenerTransport;->lambda$onProviderDisabled$2$LocationManager$LocationListenerTransport(Ljava/util/concurrent/Executor;Ljava/lang/String;)V
-HSPLandroid/location/LocationManager$LocationListenerTransport;->lambda$onProviderEnabled$1$LocationManager$LocationListenerTransport(Ljava/util/concurrent/Executor;Ljava/lang/String;)V
 HSPLandroid/location/LocationManager$LocationListenerTransport;->locationCallbackFinished()V
 HSPLandroid/location/LocationManager$LocationListenerTransport;->onLocationChanged(Landroid/location/Location;)V
 HSPLandroid/location/LocationManager$LocationListenerTransport;->onProviderDisabled(Ljava/lang/String;)V
@@ -14782,30 +13127,22 @@
 HSPLandroid/location/LocationManager$LocationListenerTransport;->register(Ljava/util/concurrent/Executor;)V
 HSPLandroid/location/LocationManager$LocationListenerTransport;->unregister()V
 HSPLandroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-HSPLandroid/location/LocationManager;->access$1000(Landroid/location/LocationManager;)Landroid/content/Context;
+HSPLandroid/location/LocationManager;->access$000(Landroid/location/LocationManager;)Landroid/location/ILocationManager;
 HSPLandroid/location/LocationManager;->access$600(Landroid/location/LocationManager;)Landroid/location/ILocationManager;
-HSPLandroid/location/LocationManager;->access$700(Landroid/location/LocationManager;)Landroid/location/ILocationManager;
-HSPLandroid/location/LocationManager;->addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z
 HSPLandroid/location/LocationManager;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/LocationManager;->getExtraLocationControllerPackage()Ljava/lang/String;
-HSPLandroid/location/LocationManager;->getGpsStatus(Landroid/location/GpsStatus;)Landroid/location/GpsStatus;
 HSPLandroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
 HSPLandroid/location/LocationManager;->getListenerIdentifier(Ljava/lang/Object;)Ljava/lang/String;
 HSPLandroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
 HSPLandroid/location/LocationManager;->getProviders(Z)Ljava/util/List;
-HSPLandroid/location/LocationManager;->isLocationEnabled()Z
 HSPLandroid/location/LocationManager;->isLocationEnabledForUser(Landroid/os/UserHandle;)Z
 HSPLandroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
 HSPLandroid/location/LocationManager;->isProviderEnabledForUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/location/LocationManager;->removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V
 HSPLandroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
-HSPLandroid/location/LocationManager;->setExtraLocationControllerPackage(Ljava/lang/String;)V
-HSPLandroid/location/LocationManager;->setExtraLocationControllerPackageEnabled(Z)V
-HSPLandroid/location/LocationManager;->unregisterGnssStatusCallback(Landroid/location/GnssStatus$Callback;)V
+HSPLandroid/location/LocationManagerInternal;-><init>()V
 HSPLandroid/location/LocationProvider;-><init>(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)V
 HSPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/LocationRequest;
 HSPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -14816,7 +13153,6 @@
 HSPLandroid/location/LocationRequest;->checkQuality(I)V
 HSPLandroid/location/LocationRequest;->create()Landroid/location/LocationRequest;
 HSPLandroid/location/LocationRequest;->createFromDeprecatedProvider(Ljava/lang/String;JFZ)Landroid/location/LocationRequest;
-PLandroid/location/LocationRequest;->decrementNumUpdates()V
 HSPLandroid/location/LocationRequest;->getExpirationRealtimeMs(J)J
 HSPLandroid/location/LocationRequest;->getExpireIn()J
 HSPLandroid/location/LocationRequest;->getFastestInterval()J
@@ -14886,12 +13222,12 @@
 HSPLandroid/media/AudioAttributes;->getSystemUsage()I
 HSPLandroid/media/AudioAttributes;->getTags()Ljava/util/Set;
 HSPLandroid/media/AudioAttributes;->getUsage()I
-HSPLandroid/media/AudioAttributes;->getVolumeControlStream()I
 HSPLandroid/media/AudioAttributes;->hashCode()I
 HSPLandroid/media/AudioAttributes;->isSystemUsage(I)Z
 HSPLandroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
 HSPLandroid/media/AudioAttributes;->toString()Ljava/lang/String;
 HSPLandroid/media/AudioAttributes;->toVolumeStreamType(ZLandroid/media/AudioAttributes;)I
+HSPLandroid/media/AudioAttributes;->usageToString()Ljava/lang/String;
 HSPLandroid/media/AudioAttributes;->usageToString(I)Ljava/lang/String;
 HSPLandroid/media/AudioAttributes;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/AudioDeviceCallback;-><init>()V
@@ -14911,7 +13247,6 @@
 HSPLandroid/media/AudioFocusRequest$Builder;->setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioFocusRequest$Builder;
 HSPLandroid/media/AudioFocusRequest$Builder;->setFocusGain(I)Landroid/media/AudioFocusRequest$Builder;
 HSPLandroid/media/AudioFocusRequest$Builder;->setLocksFocus(Z)Landroid/media/AudioFocusRequest$Builder;
-HSPLandroid/media/AudioFocusRequest$Builder;->setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Landroid/media/AudioFocusRequest$Builder;
 HSPLandroid/media/AudioFocusRequest$Builder;->setOnAudioFocusChangeListenerInt(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;)Landroid/media/AudioFocusRequest$Builder;
 HSPLandroid/media/AudioFocusRequest$Builder;->setWillPauseWhenDucked(Z)Landroid/media/AudioFocusRequest$Builder;
 HSPLandroid/media/AudioFocusRequest;-><init>(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;Landroid/media/AudioAttributes;II)V
@@ -14939,10 +13274,8 @@
 HSPLandroid/media/AudioFormat;->getEncoding()I
 HSPLandroid/media/AudioFormat;->getPropertySetMask()I
 HSPLandroid/media/AudioFormat;->getSampleRate()I
-HSPLandroid/media/AudioFormat;->isEncodingLinearFrames(I)Z
 HSPLandroid/media/AudioFormat;->isEncodingLinearPcm(I)Z
 HSPLandroid/media/AudioFormat;->isPublicEncoding(I)Z
-HSPLandroid/media/AudioFormat;->isValidEncoding(I)Z
 HSPLandroid/media/AudioHandle;-><init>(I)V
 HSPLandroid/media/AudioHandle;->equals(Ljava/lang/Object;)Z
 HSPLandroid/media/AudioHandle;->id()I
@@ -14971,9 +13304,10 @@
 HSPLandroid/media/AudioManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I
 HSPLandroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;)I
-HSPLandroid/media/AudioManager;->abandonAudioFocusRequest(Landroid/media/AudioFocusRequest;)I
 HSPLandroid/media/AudioManager;->access$1000(Landroid/media/AudioManager;)Landroid/util/ArrayMap;
 HSPLandroid/media/AudioManager;->access$1100(Landroid/media/AudioManager;Landroid/os/Handler;)V
+HSPLandroid/media/AudioManager;->access$1300(Landroid/media/AudioManager;)Landroid/util/ArrayMap;
+HSPLandroid/media/AudioManager;->access$1400(Landroid/media/AudioManager;Landroid/os/Handler;)V
 HSPLandroid/media/AudioManager;->access$500(Landroid/media/AudioManager;)Ljava/lang/Object;
 HSPLandroid/media/AudioManager;->access$600(Landroid/media/AudioManager;)Ljava/util/List;
 HSPLandroid/media/AudioManager;->broadcastDeviceListChange_sync(Landroid/os/Handler;)V
@@ -14989,7 +13323,6 @@
 HSPLandroid/media/AudioManager;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
 HSPLandroid/media/AudioManager;->getLastAudibleStreamVolume(I)I
 HSPLandroid/media/AudioManager;->getMode()I
-HSPLandroid/media/AudioManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/media/AudioManager;->getRingerMode()I
 HSPLandroid/media/AudioManager;->getRingerModeInternal()I
 HSPLandroid/media/AudioManager;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
@@ -15000,11 +13333,8 @@
 HSPLandroid/media/AudioManager;->hasPlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
 HSPLandroid/media/AudioManager;->infoListFromPortList(Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
 HSPLandroid/media/AudioManager;->isAudioFocusExclusive()Z
-HSPLandroid/media/AudioManager;->isBluetoothA2dpOn()Z
-HSPLandroid/media/AudioManager;->isBluetoothScoOn()Z
 HSPLandroid/media/AudioManager;->isHapticPlaybackSupported()Z
 HSPLandroid/media/AudioManager;->isInputDevice(I)Z
-HSPLandroid/media/AudioManager;->isMusicActive()Z
 HSPLandroid/media/AudioManager;->isSpeakerphoneOn()Z
 HSPLandroid/media/AudioManager;->isStreamAffectedByMute(I)Z
 HSPLandroid/media/AudioManager;->isStreamMute(I)Z
@@ -15019,9 +13349,7 @@
 HSPLandroid/media/AudioManager;->registerAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
 HSPLandroid/media/AudioManager;->registerAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V
 HSPLandroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;)I
 HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;Landroid/media/audiopolicy/AudioPolicy;)I
-HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I
 HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;II)I
 HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;IILandroid/media/audiopolicy/AudioPolicy;)I
 HSPLandroid/media/AudioManager;->resetAudioPortGeneration()I
@@ -15046,6 +13374,7 @@
 HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->monitorDeath()V
 HPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->release()V
 HSPLandroid/media/AudioPlaybackConfiguration;-><init>(Landroid/media/PlayerBase$PlayerIdCard;III)V
+HPLandroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
 HSPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes;
 HSPLandroid/media/AudioPlaybackConfiguration;->getClientPid()I
 HSPLandroid/media/AudioPlaybackConfiguration;->getClientUid()I
@@ -15087,7 +13416,6 @@
 HSPLandroid/media/AudioRecord;->release()V
 HSPLandroid/media/AudioRecord;->startRecording()V
 HSPLandroid/media/AudioRecord;->stop()V
-HSPLandroid/media/AudioRecordingConfiguration;->getClientAudioSource()I
 HSPLandroid/media/AudioRecordingMonitorImpl$1;-><init>(Landroid/media/AudioRecordingMonitorImpl;)V
 HSPLandroid/media/AudioRecordingMonitorImpl;-><init>(Landroid/media/AudioRecordingMonitorClient;)V
 HSPLandroid/media/AudioRoutesInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioRoutesInfo;
@@ -15108,32 +13436,8 @@
 HSPLandroid/media/AudioSystem;->setStreamVolumeIndexAS(III)I
 HSPLandroid/media/AudioSystem;->streamToString(I)Ljava/lang/String;
 HSPLandroid/media/AudioTimestamp;-><init>()V
-HSPLandroid/media/AudioTrack;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V
-HSPLandroid/media/AudioTrack;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZILandroid/media/AudioTrack$TunerConfiguration;)V
-HSPLandroid/media/AudioTrack;->audioBuffSizeCheck(I)V
-HSPLandroid/media/AudioTrack;->audioParamCheck(IIIII)V
-HSPLandroid/media/AudioTrack;->blockUntilOffloadDrain(I)Z
-HSPLandroid/media/AudioTrack;->clampGainOrLevel(F)F
-HSPLandroid/media/AudioTrack;->endStreamEventHandling()V
-HSPLandroid/media/AudioTrack;->finalize()V
-HSPLandroid/media/AudioTrack;->flush()V
-HSPLandroid/media/AudioTrack;->getMinBufferSize(III)I
-HSPLandroid/media/AudioTrack;->getNativeOutputSampleRate(I)I
-HSPLandroid/media/AudioTrack;->getPlayState()I
-HSPLandroid/media/AudioTrack;->getSampleRate()I
-HSPLandroid/media/AudioTrack;->getState()I
-HSPLandroid/media/AudioTrack;->pause()V
-HSPLandroid/media/AudioTrack;->play()V
-HSPLandroid/media/AudioTrack;->playerSetVolume(ZFF)V
-HSPLandroid/media/AudioTrack;->release()V
-HSPLandroid/media/AudioTrack;->setStereoVolume(FF)I
-HSPLandroid/media/AudioTrack;->setVolume(F)I
-HSPLandroid/media/AudioTrack;->shouldEnablePowerSaving(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
-HSPLandroid/media/AudioTrack;->startImpl()V
-HSPLandroid/media/AudioTrack;->stop()V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->read()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
@@ -15189,16 +13493,13 @@
 HSPLandroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/media/IAudioService$Stub$Proxy;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getLastAudibleStreamVolume(I)I
-HSPLandroid/media/IAudioService$Stub$Proxy;->getMode()I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeExternal()I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeInternal()I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMaxVolume(I)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMinVolume(I)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamVolume(I)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothA2dpOn()Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothScoOn()Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isCameraSoundForced()Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->isSpeakerphoneOn()Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamAffectedByMute(I)Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamMute(I)Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
@@ -15234,8 +13535,8 @@
 HSPLandroid/media/IMediaRouterService$Stub;-><init>()V
 HSPLandroid/media/IMediaRouterService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaRouterService;
 HSPLandroid/media/IMediaRouterService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub;-><init>()V
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asBinder()Landroid/os/IBinder;
@@ -15268,6 +13569,7 @@
 HSPLandroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
 HSPLandroid/media/IVolumeController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/media/MediaCodec$BufferInfo;-><init>()V
+HSPLandroid/media/MediaCodec$BufferInfo;->dup()Landroid/media/MediaCodec$BufferInfo;
 HSPLandroid/media/MediaCodec$BufferInfo;->set(IIJI)V
 HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;-><init>()V
 HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;-><init>(Landroid/media/MediaCodec$1;)V
@@ -15285,16 +13587,10 @@
 HSPLandroid/media/MediaCodec;-><init>(Ljava/lang/String;ZZ)V
 HSPLandroid/media/MediaCodec;->access$000(Landroid/media/MediaCodec;)Landroid/media/MediaCodec$Callback;
 HSPLandroid/media/MediaCodec;->access$002(Landroid/media/MediaCodec;Landroid/media/MediaCodec$Callback;)Landroid/media/MediaCodec$Callback;
-HSPLandroid/media/MediaCodec;->access$1000(Landroid/media/MediaCodec;[Ljava/nio/ByteBuffer;ILandroid/media/MediaCodec$BufferInfo;)V
 HSPLandroid/media/MediaCodec;->access$300(Landroid/media/MediaCodec;)Ljava/lang/Object;
-HSPLandroid/media/MediaCodec;->access$400(Landroid/media/MediaCodec;)I
-HSPLandroid/media/MediaCodec;->access$500(Landroid/media/MediaCodec;)[Ljava/nio/ByteBuffer;
-HSPLandroid/media/MediaCodec;->access$600(Landroid/media/MediaCodec;[Ljava/nio/ByteBuffer;I)V
-HSPLandroid/media/MediaCodec;->access$900(Landroid/media/MediaCodec;)[Ljava/nio/ByteBuffer;
 HSPLandroid/media/MediaCodec;->cacheBuffers(Z)V
 HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
 HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V
-HSPLandroid/media/MediaCodec;->createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec;
 HSPLandroid/media/MediaCodec;->createDecoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
 HSPLandroid/media/MediaCodec;->dequeueInputBuffer(J)I
 HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
@@ -15330,6 +13626,7 @@
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->init(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->initWithPlatformLimits()V
+HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->isSampleRateSupported(I)Z
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([I)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([Landroid/util/Range;)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
@@ -15339,6 +13636,7 @@
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZLjava/util/Map;Ljava/util/Map;)V
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->checkFeature(Ljava/lang/String;I)Z
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->dup()Landroid/media/MediaCodecInfo$CodecCapabilities;
+HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getAudioCapabilities()Landroid/media/MediaCodecInfo$AudioCapabilities;
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getMimeType()Ljava/lang/String;
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getValidFeatures()[Landroid/media/MediaCodecInfo$Feature;
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getVideoCapabilities()Landroid/media/MediaCodecInfo$VideoCapabilities;
@@ -15390,8 +13688,6 @@
 HSPLandroid/media/MediaCodecInfo;->isHardwareAccelerated()Z
 HSPLandroid/media/MediaCodecInfo;->makeRegular()Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;-><init>(I)V
-HSPLandroid/media/MediaCodecList;->getCodecCount()I
-HSPLandroid/media/MediaCodecList;->getCodecInfoAt(I)Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;->getCodecInfos()[Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;->getGlobalSettings()Ljava/util/Map;
 HSPLandroid/media/MediaCodecList;->getNewCodecInfoAt(I)Landroid/media/MediaCodecInfo;
@@ -15508,7 +13804,6 @@
 HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
 HSPLandroid/media/MediaPlayer;->setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V
-HSPLandroid/media/MediaPlayer;->setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V
 HSPLandroid/media/MediaPlayer;->setSubtitleAnchor()V
 HSPLandroid/media/MediaPlayer;->setVolume(F)V
 HSPLandroid/media/MediaPlayer;->setVolume(FF)V
@@ -15518,12 +13813,13 @@
 HSPLandroid/media/MediaPlayer;->stop()V
 HSPLandroid/media/MediaPlayer;->updateSurfaceScreenOn()V
 HSPLandroid/media/MediaRecorder;->getAudioSourceMax()I
+HSPLandroid/media/MediaRoute2Info;->getId()Ljava/lang/String;
+HSPLandroid/media/MediaRoute2Info;->isSystemRoute()Z
 HSPLandroid/media/MediaRouter$Callback;-><init>()V
 HSPLandroid/media/MediaRouter$CallbackInfo;-><init>(Landroid/media/MediaRouter$Callback;IILandroid/media/MediaRouter;)V
 HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(I)Z
 HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(Landroid/media/MediaRouter$RouteInfo;)Z
 HSPLandroid/media/MediaRouter$RouteCategory;-><init>(IIZ)V
-HSPLandroid/media/MediaRouter$RouteCategory;-><init>(Ljava/lang/CharSequence;IZ)V
 HSPLandroid/media/MediaRouter$RouteCategory;->getName()Ljava/lang/CharSequence;
 HSPLandroid/media/MediaRouter$RouteCategory;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
 HSPLandroid/media/MediaRouter$RouteCategory;->isGroupable()Z
@@ -15583,18 +13879,7 @@
 HSPLandroid/media/MediaRouter$Static;->updateClientState()V
 HSPLandroid/media/MediaRouter$Static;->updateDiscoveryRequest()V
 HSPLandroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;-><init>(Landroid/media/MediaRouter$RouteCategory;)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->configureSessionVolume()V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setName(Ljava/lang/CharSequence;)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setPlaybackStream(I)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setPlaybackType(I)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolume(I)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolumeCallback(Landroid/media/MediaRouter$VolumeCallback;)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolumeHandling(I)V
-HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolumeMax(I)V
 HSPLandroid/media/MediaRouter$VolumeCallback;-><init>()V
-HSPLandroid/media/MediaRouter$VolumeCallbackInfo;-><init>(Landroid/media/MediaRouter$VolumeCallback;Landroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter$VolumeChangeReceiver;-><init>()V
 HSPLandroid/media/MediaRouter$VolumeChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLandroid/media/MediaRouter$WifiDisplayStatusChangedReceiver;-><init>()V
@@ -15602,13 +13887,12 @@
 HSPLandroid/media/MediaRouter2Manager;-><clinit>()V
 HSPLandroid/media/MediaRouter2Manager;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/MediaRouter2Manager;->getInstance(Landroid/content/Context;)Landroid/media/MediaRouter2Manager;
+HSPLandroid/media/MediaRouter2Utils;->toUniqueId(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/media/MediaRouter;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/MediaRouter;->access$100()Z
 HSPLandroid/media/MediaRouter;->addCallback(ILandroid/media/MediaRouter$Callback;I)V
 HSPLandroid/media/MediaRouter;->addRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->addUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V
 HSPLandroid/media/MediaRouter;->createRouteCategory(Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;
-HSPLandroid/media/MediaRouter;->createUserRoute(Landroid/media/MediaRouter$RouteCategory;)Landroid/media/MediaRouter$UserRouteInfo;
 HSPLandroid/media/MediaRouter;->dispatchRouteAdded(Landroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;I)V
@@ -15623,7 +13907,6 @@
 HSPLandroid/media/MediaRouter;->getSelectedRoute(I)Landroid/media/MediaRouter$RouteInfo;
 HSPLandroid/media/MediaRouter;->removeCallback(Landroid/media/MediaRouter$Callback;)V
 HSPLandroid/media/MediaRouter;->removeRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->removeUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V
 HSPLandroid/media/MediaRouter;->selectDefaultRouteStatic()V
 HSPLandroid/media/MediaRouter;->selectRoute(ILandroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter;->selectRouteStatic(ILandroid/media/MediaRouter$RouteInfo;Z)V
@@ -15643,7 +13926,6 @@
 HSPLandroid/media/PlayerBase$PlayerIdCard;-><init>(Landroid/os/Parcel;Landroid/media/PlayerBase$1;)V
 HSPLandroid/media/PlayerBase$PlayerIdCard;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/PlayerBase;-><init>(Landroid/media/AudioAttributes;I)V
-HSPLandroid/media/PlayerBase;->basePause()V
 HSPLandroid/media/PlayerBase;->baseRegisterPlayer()V
 HSPLandroid/media/PlayerBase;->baseRelease()V
 HSPLandroid/media/PlayerBase;->baseSetVolume(FF)V
@@ -15666,7 +13948,6 @@
 HSPLandroid/media/Ringtone;->setAudioAttributes(Landroid/media/AudioAttributes;)V
 HSPLandroid/media/Ringtone;->setUri(Landroid/net/Uri;Landroid/media/VolumeShaper$Configuration;)V
 HSPLandroid/media/RingtoneManager;->getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getDefaultUri(I)Landroid/net/Uri;
 HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;ILandroid/media/VolumeShaper$Configuration;)Landroid/media/Ringtone;
 HSPLandroid/media/SoundPool$Builder;-><init>()V
 HSPLandroid/media/SoundPool$Builder;->build()Landroid/media/SoundPool;
@@ -15711,8 +13992,6 @@
 HSPLandroid/media/Utils$2;-><init>()V
 HSPLandroid/media/Utils$2;->compare(Landroid/util/Range;Landroid/util/Range;)I
 HSPLandroid/media/Utils$2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/media/Utils$ListenerList;-><init>()V
-HSPLandroid/media/Utils$ListenerList;-><init>(ZZZ)V
 HSPLandroid/media/Utils;->alignRange(Landroid/util/Range;I)Landroid/util/Range;
 HSPLandroid/media/Utils;->binarySearchDistinctRanges([Landroid/util/Range;Ljava/lang/Comparable;)I
 HSPLandroid/media/Utils;->divUp(II)I
@@ -15732,7 +14011,6 @@
 HSPLandroid/media/VolumePolicy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/media/VolumePolicy;-><init>(ZZZI)V
 HSPLandroid/media/VolumePolicy;->equals(Ljava/lang/Object;)Z
-HSPLandroid/media/VolumePolicy;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/VolumeShaper$Configuration$Builder;-><init>()V
 HSPLandroid/media/VolumeShaper$Configuration$Builder;->build()Landroid/media/VolumeShaper$Configuration;
 HSPLandroid/media/VolumeShaper$Configuration$Builder;->setCurve([F[F)Landroid/media/VolumeShaper$Configuration$Builder;
@@ -15755,8 +14033,6 @@
 HSPLandroid/media/VolumeShaper$Operation;->access$600(Landroid/media/VolumeShaper$Operation;)I
 HSPLandroid/media/VolumeShaper$Operation;->access$700(Landroid/media/VolumeShaper$Operation;)F
 HSPLandroid/media/audiofx/AudioEffect$Descriptor;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/audiofx/AudioEffect;-><clinit>()V
-HSPLandroid/media/audiofx/AudioEffect;->queryEffects()[Landroid/media/audiofx/AudioEffect$Descriptor;
 HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;-><init>(II[Landroid/media/AudioAttributes;)V
 HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;->getAudioAttributes()Landroid/media/AudioAttributes;
 HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;->getStreamType()I
@@ -15772,8 +14048,8 @@
 HSPLandroid/media/audiopolicy/AudioProductStrategy;->getLegacyStreamTypeForStrategyWithAudioAttributes(Landroid/media/AudioAttributes;)I
 HSPLandroid/media/audiopolicy/AudioProductStrategy;->initializeAudioProductStrategies()Ljava/util/List;
 HSPLandroid/media/audiopolicy/AudioProductStrategy;->supportsAudioAttributes(Landroid/media/AudioAttributes;)Z
+HPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/audiopolicy/IAudioPolicyCallback;
 HSPLandroid/media/midi/IMidiManager$Stub;-><init>()V
-HPLandroid/media/midi/IMidiManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/media/projection/IMediaProjectionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/media/projection/IMediaProjectionManager$Stub$Proxy;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
 HSPLandroid/media/projection/IMediaProjectionManager$Stub$Proxy;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
@@ -15781,12 +14057,10 @@
 HSPLandroid/media/projection/IMediaProjectionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionManager;
 HPLandroid/media/projection/IMediaProjectionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;-><init>()V
+HPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;->asBinder()Landroid/os/IBinder;
 PLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionWatcherCallback;
 HSPLandroid/media/projection/MediaProjectionManager$Callback;-><init>()V
-HSPLandroid/media/projection/MediaProjectionManager$CallbackDelegate;-><init>(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
 HSPLandroid/media/projection/MediaProjectionManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/projection/MediaProjectionManager;->addCallback(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
 HSPLandroid/media/projection/MediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
@@ -15805,11 +14079,9 @@
 HSPLandroid/media/session/ISession$Stub;-><init>()V
 HPLandroid/media/session/ISession$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/media/session/ISession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/media/session/ISessionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/media/session/ISessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/session/ISessionCallback$Stub;-><init>()V
 HSPLandroid/media/session/ISessionCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/media/session/ISessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionCallback;
 HSPLandroid/media/session/ISessionController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/media/session/ISessionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/session/ISessionController$Stub$Proxy;->getMetadata()Landroid/media/MediaMetadata;
@@ -15825,6 +14097,7 @@
 HPLandroid/media/session/ISessionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onMetadataChanged(Landroid/media/MediaMetadata;)V
 HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
 HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onSessionDestroyed()V
 HSPLandroid/media/session/ISessionControllerCallback$Stub;-><init>()V
@@ -15841,7 +14114,6 @@
 HSPLandroid/media/session/ISessionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionManager;
 HSPLandroid/media/session/ISessionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/media/session/MediaController$Callback;-><init>()V
-HSPLandroid/media/session/MediaController$Callback;->onMetadataChanged(Landroid/media/MediaMetadata;)V
 HSPLandroid/media/session/MediaController$CallbackStub;-><init>(Landroid/media/session/MediaController;)V
 HSPLandroid/media/session/MediaController$CallbackStub;->onExtrasChanged(Landroid/os/Bundle;)V
 HSPLandroid/media/session/MediaController$CallbackStub;->onMetadataChanged(Landroid/media/MediaMetadata;)V
@@ -15882,8 +14154,6 @@
 HSPLandroid/media/session/MediaSession$CallbackStub;-><init>(Landroid/media/session/MediaSession;)V
 HSPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$QueueItem;
 HSPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/session/MediaSession$QueueItem;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/session/MediaSession$QueueItem;-><init>(Landroid/os/Parcel;Landroid/media/session/MediaSession$1;)V
 HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$Token;
 HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/media/session/MediaSession$Token;-><init>(Landroid/media/session/ISessionController;)V
@@ -15902,7 +14172,6 @@
 HSPLandroid/media/session/MediaSession;->setCallback(Landroid/media/session/MediaSession$Callback;Landroid/os/Handler;)V
 HSPLandroid/media/session/MediaSession;->setFlags(I)V
 HSPLandroid/media/session/MediaSession;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/session/MediaSessionLegacyHelper;-><clinit>()V
 HSPLandroid/media/session/MediaSessionLegacyHelper;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/session/MediaSessionLegacyHelper;->getHelper(Landroid/content/Context;)Landroid/media/session/MediaSessionLegacyHelper;
 HSPLandroid/media/session/MediaSessionManager$OnMediaKeyEventDispatchedListenerStub;-><init>(Landroid/media/session/MediaSessionManager;)V
@@ -15948,6 +14217,7 @@
 HSPLandroid/media/session/PlaybackState;->getPosition()J
 HSPLandroid/media/session/PlaybackState;->getState()I
 HSPLandroid/media/session/PlaybackState;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/media/soundtrigger_middleware/ISoundTriggerCallback$Stub;-><init>()V
 PLandroid/media/soundtrigger_middleware/ISoundTriggerCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService$Stub;-><init>()V
 HSPLandroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;
@@ -15967,18 +14237,11 @@
 HSPLandroid/media/soundtrigger_middleware/SoundTriggerModuleProperties;-><clinit>()V
 HSPLandroid/media/soundtrigger_middleware/SoundTriggerModuleProperties;-><init>()V
 HSPLandroid/metrics/LogMaker;-><init>(I)V
-HSPLandroid/metrics/LogMaker;-><init>([Ljava/lang/Object;)V
 HSPLandroid/metrics/LogMaker;->addTaggedData(ILjava/lang/Object;)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->clearTaggedData(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->deserialize([Ljava/lang/Object;)V
 HSPLandroid/metrics/LogMaker;->getCategory()I
-HSPLandroid/metrics/LogMaker;->getCounterBucket()J
-HSPLandroid/metrics/LogMaker;->getCounterName()Ljava/lang/String;
-HSPLandroid/metrics/LogMaker;->getCounterValue()I
 HSPLandroid/metrics/LogMaker;->getEntries()Landroid/util/SparseArray;
-HSPLandroid/metrics/LogMaker;->getTimestamp()J
 HSPLandroid/metrics/LogMaker;->getType()I
-HSPLandroid/metrics/LogMaker;->isLongCounterBucket()Z
 HSPLandroid/metrics/LogMaker;->isValidValue(Ljava/lang/Object;)Z
 HSPLandroid/metrics/LogMaker;->serialize()[Ljava/lang/Object;
 HSPLandroid/metrics/LogMaker;->setCategory(I)Landroid/metrics/LogMaker;
@@ -15988,40 +14251,18 @@
 HSPLandroid/metrics/LogMaker;->setCounterValue(I)Landroid/metrics/LogMaker;
 HPLandroid/metrics/LogMaker;->setLatency(J)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setPackageName(Ljava/lang/String;)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setProcessId(I)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setTimestamp(J)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setType(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setUid(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/MetricsReader$Event;-><init>(Landroid/util/EventLog$Event;)V
-HSPLandroid/metrics/MetricsReader$Event;->getData()Ljava/lang/Object;
-HSPLandroid/metrics/MetricsReader$Event;->getProcessId()I
-HSPLandroid/metrics/MetricsReader$Event;->getTimeMillis()J
-HSPLandroid/metrics/MetricsReader$Event;->getUid()I
-HSPLandroid/metrics/MetricsReader$LogReader;-><init>()V
-HSPLandroid/metrics/MetricsReader$LogReader;->readEvents([IJLjava/util/Collection;)V
-HSPLandroid/metrics/MetricsReader$LogReader;->writeCheckpoint(I)V
-HSPLandroid/metrics/MetricsReader;-><init>()V
-HSPLandroid/metrics/MetricsReader;->checkpoint()V
-HSPLandroid/metrics/MetricsReader;->hasNext()Z
-HSPLandroid/metrics/MetricsReader;->next()Landroid/metrics/LogMaker;
-HSPLandroid/metrics/MetricsReader;->read(J)V
-HSPLandroid/metrics/MetricsReader;->reset()V
 HSPLandroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;->nameOf(I)Ljava/lang/String;
-HSPLandroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;-><init>(Landroid/net/Network;)V
-HSPLandroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;->lookup(Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$PGkg1UrNyisY0wAts4zoVuYRgkw;-><init>(Landroid/net/NetworkScoreManager$NetworkScoreCallbackProxy;)V
 HSPLandroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$PGkg1UrNyisY0wAts4zoVuYRgkw;->run()V
 HPLandroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$TEOhIiY2C9y8yDWwRR6zm_12TGY;-><init>(Landroid/net/NetworkScoreManager$NetworkScoreCallbackProxy;Ljava/util/List;)V
 HPLandroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$TEOhIiY2C9y8yDWwRR6zm_12TGY;->run()V
-HSPLandroid/net/-$$Lambda$NetworkStats$3raHHJpnJwsEAXnRXF2pK8-UDFY;-><clinit>()V
-HSPLandroid/net/-$$Lambda$NetworkStats$3raHHJpnJwsEAXnRXF2pK8-UDFY;-><init>()V
 HSPLandroid/net/-$$Lambda$NetworkStats$3raHHJpnJwsEAXnRXF2pK8-UDFY;->test(Ljava/lang/Object;)Z
 HPLandroid/net/-$$Lambda$NetworkStats$xvFSsVoR0k5s7Fhw1yPDPVIpx8A;-><init>(II[Ljava/lang/String;)V
 HPLandroid/net/-$$Lambda$NetworkStats$xvFSsVoR0k5s7Fhw1yPDPVIpx8A;->test(Ljava/lang/Object;)Z
 HSPLandroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;->nameOf(I)Ljava/lang/String;
-HSPLandroid/net/ConnectivityManager$1;-><init>(Landroid/net/ConnectivityManager;Landroid/net/ConnectivityManager$OnNetworkActiveListener;)V
-HSPLandroid/net/ConnectivityManager$1;->onNetworkActive()V
 HSPLandroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/net/ConnectivityManager;Landroid/os/Handler;)V
 HSPLandroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/net/ConnectivityManager;Landroid/os/Looper;)V
 HSPLandroid/net/ConnectivityManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/Class;)Ljava/lang/Object;
@@ -16042,7 +14283,6 @@
 HSPLandroid/net/ConnectivityManager$OnStartTetheringCallback;-><init>()V
 HSPLandroid/net/ConnectivityManager;-><init>(Landroid/content/Context;Landroid/net/IConnectivityManager;)V
 HSPLandroid/net/ConnectivityManager;->access$800()Ljava/util/HashMap;
-HSPLandroid/net/ConnectivityManager;->addDefaultNetworkActiveListener(Landroid/net/ConnectivityManager$OnNetworkActiveListener;)V
 HSPLandroid/net/ConnectivityManager;->checkCallbackNotNull(Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->checkTimeout(I)V
 HSPLandroid/net/ConnectivityManager;->enforceChangePermission(Landroid/content/Context;)V
@@ -16051,22 +14291,18 @@
 HSPLandroid/net/ConnectivityManager;->getActiveNetworkForUid(I)Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->getActiveNetworkForUid(IZ)Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
-HSPLandroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getAllNetworks()[Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->getAlwaysOnVpnPackageForUser(I)Ljava/lang/String;
-HSPLandroid/net/ConnectivityManager;->getBackgroundDataSetting()Z
 HSPLandroid/net/ConnectivityManager;->getBoundNetworkForProcess()Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->getCallbackName(I)Ljava/lang/String;
 HSPLandroid/net/ConnectivityManager;->getDefaultHandler()Landroid/net/ConnectivityManager$CallbackHandler;
 HSPLandroid/net/ConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
 HSPLandroid/net/ConnectivityManager;->getDefaultProxy()Landroid/net/ProxyInfo;
-HSPLandroid/net/ConnectivityManager;->getInstanceOrNull()Landroid/net/ConnectivityManager;
 HSPLandroid/net/ConnectivityManager;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
 HSPLandroid/net/ConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfo(Landroid/net/Network;)Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-HSPLandroid/net/ConnectivityManager;->getNetworkManagementService()Landroid/os/INetworkManagementService;
 HSPLandroid/net/ConnectivityManager;->getNetworkPolicyManager()Landroid/net/INetworkPolicyManager;
 HPLandroid/net/ConnectivityManager;->getNetworkTypeName(I)Ljava/lang/String;
 HSPLandroid/net/ConnectivityManager;->getProcessDefaultNetwork()Landroid/net/Network;
@@ -16076,23 +14312,18 @@
 HSPLandroid/net/ConnectivityManager;->getTetheringManager()Landroid/net/TetheringManager;
 HSPLandroid/net/ConnectivityManager;->inferLegacyTypeForNetworkCapabilities(Landroid/net/NetworkCapabilities;)I
 HSPLandroid/net/ConnectivityManager;->isActiveNetworkMetered()Z
-HSPLandroid/net/ConnectivityManager;->isDefaultNetworkActive()Z
 HSPLandroid/net/ConnectivityManager;->isNetworkSupported(I)Z
 HPLandroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z
 HSPLandroid/net/ConnectivityManager;->isNetworkTypeValid(I)Z
 HPLandroid/net/ConnectivityManager;->isNetworkTypeWifi(I)Z
 HSPLandroid/net/ConnectivityManager;->isTetheringSupported()Z
-HPLandroid/net/ConnectivityManager;->networkCapabilitiesForFeature(ILjava/lang/String;)Landroid/net/NetworkCapabilities;
-HPLandroid/net/ConnectivityManager;->networkCapabilitiesForType(I)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/ConnectivityManager;->printStackTrace()V
 HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/NetworkScore;Landroid/net/NetworkAgentConfig;I)Landroid/net/Network;
+HSPLandroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkAgentConfig;I)Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
 HSPLandroid/net/ConnectivityManager;->registerNetworkProvider(Landroid/net/NetworkProvider;)I
-HSPLandroid/net/ConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;IILandroid/os/Handler;)V
 HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
 HPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V
@@ -16113,17 +14344,13 @@
 HSPLandroid/net/Credentials;->getPid()I
 HSPLandroid/net/Credentials;->getUid()I
 HSPLandroid/net/DataUsageRequest;-><init>(ILandroid/net/NetworkTemplate;J)V
-HSPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpInfo;
-HSPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/DhcpInfo;-><init>()V
-HPLandroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V
+HPLandroid/net/DhcpInfo;->writeToParcel(Landroid/os/Parcel;I)V
 PLandroid/net/EventLogTags;->writeNtpSuccess(Ljava/lang/String;JJ)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetwork()Landroid/net/Network;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworks()[Landroid/net/Network;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getNetworkCapabilities(Landroid/net/Network;Ljava/lang/String;)Landroid/net/NetworkCapabilities;
@@ -16136,19 +14363,17 @@
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/NetworkRequest;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->reportNetworkConnectivity(Landroid/net/Network;Z)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;ILjava/lang/String;)Landroid/net/NetworkRequest;
 HSPLandroid/net/IConnectivityManager$Stub;-><init>()V
 HSPLandroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
+HPLandroid/net/IConnectivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/net/IConnectivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/IEthernetManager$Stub;-><init>()V
-HPLandroid/net/IEthernetManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/IIpConnectivityMetrics$Stub;-><init>()V
 HSPLandroid/net/IIpConnectivityMetrics$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpConnectivityMetrics;
 HPLandroid/net/IIpConnectivityMetrics$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/IIpSecService$Stub;-><init>()V
-HPLandroid/net/IIpSecService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetdEventCallback$Stub;-><init>()V
 HSPLandroid/net/INetworkManagementEventObserver$Stub;-><init>()V
 HSPLandroid/net/INetworkManagementEventObserver$Stub;->asBinder()Landroid/os/IBinder;
@@ -16169,39 +14394,27 @@
 HPLandroid/net/INetworkPolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/net/INetworkRecommendationProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/net/INetworkRecommendationProvider$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)V
-HSPLandroid/net/INetworkRecommendationProvider$Stub;-><init>()V
 HPLandroid/net/INetworkRecommendationProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkRecommendationProvider;
-HSPLandroid/net/INetworkRecommendationProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkScoreCache$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/net/INetworkScoreCache$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/net/INetworkScoreCache$Stub$Proxy;->clearScores()V
-HPLandroid/net/INetworkScoreCache$Stub$Proxy;->updateScores(Ljava/util/List;)V
 HSPLandroid/net/INetworkScoreCache$Stub;-><init>()V
 HSPLandroid/net/INetworkScoreCache$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/net/INetworkScoreCache$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkScoreCache;
 HSPLandroid/net/INetworkScoreCache$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkScoreService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorerPackage()Ljava/lang/String;
 HSPLandroid/net/INetworkScoreService$Stub$Proxy;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
 HSPLandroid/net/INetworkScoreService$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLandroid/net/INetworkScoreService$Stub$Proxy;->updateScores([Landroid/net/ScoredNetwork;)Z
 HSPLandroid/net/INetworkScoreService$Stub;-><init>()V
 HSPLandroid/net/INetworkScoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkScoreService;
 HSPLandroid/net/INetworkScoreService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkStatsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getIfaceStats(Ljava/lang/String;I)J
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String;
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getTotalStats(I)J
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
 HSPLandroid/net/INetworkStatsService$Stub;-><init>()V
 PLandroid/net/INetworkStatsService$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService;
+PLandroid/net/INetworkStatsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/net/INetworkStatsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkStatsSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->close()V
-HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
 HPLandroid/net/INetworkStatsSession$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkStatsSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsSession;
 HPLandroid/net/INetworkStatsSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/ITetheringStatsProvider$Stub;-><init>()V
 HSPLandroid/net/InetAddresses;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
@@ -16225,10 +14438,11 @@
 HSPLandroid/net/IpPrefix;-><init>(Ljava/net/InetAddress;I)V
 HSPLandroid/net/IpPrefix;-><init>([BI)V
 HSPLandroid/net/IpPrefix;->checkAndMaskAddressAndPrefixLength()V
-HPLandroid/net/IpPrefix;->contains(Ljava/net/InetAddress;)Z
+HSPLandroid/net/IpPrefix;->contains(Ljava/net/InetAddress;)Z
 HSPLandroid/net/IpPrefix;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/IpPrefix;->getAddress()Ljava/net/InetAddress;
 HSPLandroid/net/IpPrefix;->getPrefixLength()I
+HSPLandroid/net/IpPrefix;->hashCode()I
 HSPLandroid/net/IpPrefix;->toString()Ljava/lang/String;
 HSPLandroid/net/IpPrefix;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/LinkAddress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkAddress;
@@ -16268,9 +14482,10 @@
 HPLandroid/net/LinkProperties;->ensureDirectlyConnectedRoutes()V
 HSPLandroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/LinkProperties;->findLinkAddressIndex(Landroid/net/LinkAddress;)I
+HSPLandroid/net/LinkProperties;->findRouteIndexByRouteKey(Landroid/net/RouteInfo;)I
 HSPLandroid/net/LinkProperties;->getAddresses()Ljava/util/List;
 HPLandroid/net/LinkProperties;->getAllInterfaceNames()Ljava/util/List;
-HPLandroid/net/LinkProperties;->getAllRoutes()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getAllRoutes()Ljava/util/List;
 HSPLandroid/net/LinkProperties;->getCaptivePortalApiUrl()Landroid/net/Uri;
 HSPLandroid/net/LinkProperties;->getCaptivePortalData()Landroid/net/CaptivePortalData;
 HSPLandroid/net/LinkProperties;->getDhcpServerAddress()Ljava/net/Inet4Address;
@@ -16284,13 +14499,12 @@
 HSPLandroid/net/LinkProperties;->getPrivateDnsServerName()Ljava/lang/String;
 HSPLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
 HSPLandroid/net/LinkProperties;->getStackedLinks()Ljava/util/List;
-PLandroid/net/LinkProperties;->getTcpBufferSizes()Ljava/lang/String;
 HSPLandroid/net/LinkProperties;->getValidatedPrivateDnsServers()Ljava/util/List;
 HSPLandroid/net/LinkProperties;->hasGlobalIpv6Address()Z
 HSPLandroid/net/LinkProperties;->hasIpv4Address()Z
-HPLandroid/net/LinkProperties;->hasIpv4AddressOnInterface(Ljava/lang/String;)Z
-HPLandroid/net/LinkProperties;->hasIpv4DefaultRoute()Z
-HPLandroid/net/LinkProperties;->hasIpv4DnsServer()Z
+HSPLandroid/net/LinkProperties;->hasIpv4AddressOnInterface(Ljava/lang/String;)Z
+HSPLandroid/net/LinkProperties;->hasIpv4DefaultRoute()Z
+HSPLandroid/net/LinkProperties;->hasIpv4DnsServer()Z
 HSPLandroid/net/LinkProperties;->hasIpv6DefaultRoute()Z
 HPLandroid/net/LinkProperties;->hasIpv6DnsServer()Z
 HSPLandroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z
@@ -16310,7 +14524,7 @@
 HSPLandroid/net/LinkProperties;->isIdenticalValidatedPrivateDnses(Landroid/net/LinkProperties;)Z
 HSPLandroid/net/LinkProperties;->isIdenticalWakeOnLan(Landroid/net/LinkProperties;)Z
 HSPLandroid/net/LinkProperties;->isPrivateDnsActive()Z
-HPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
+HSPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
 HSPLandroid/net/LinkProperties;->isWakeOnLanSupported()Z
 HSPLandroid/net/LinkProperties;->readAddress(Landroid/os/Parcel;)Ljava/net/InetAddress;
 HSPLandroid/net/LinkProperties;->routeWithInterface(Landroid/net/RouteInfo;)Landroid/net/RouteInfo;
@@ -16342,7 +14556,6 @@
 HSPLandroid/net/LocalSocket;->close()V
 HSPLandroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V
 HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Landroid/net/LocalSocketImpl;I)Landroid/net/LocalSocket;
-HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Ljava/io/FileDescriptor;)Landroid/net/LocalSocket;
 HSPLandroid/net/LocalSocket;->createLocalSocketForAccept(Landroid/net/LocalSocketImpl;)Landroid/net/LocalSocket;
 HSPLandroid/net/LocalSocket;->getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;
 HSPLandroid/net/LocalSocket;->getFileDescriptor()Ljava/io/FileDescriptor;
@@ -16351,7 +14564,6 @@
 HSPLandroid/net/LocalSocket;->getPeerCredentials()Landroid/net/Credentials;
 HSPLandroid/net/LocalSocket;->implCreateIfNeeded()V
 HSPLandroid/net/LocalSocket;->setSoTimeout(I)V
-HSPLandroid/net/LocalSocket;->toString()Ljava/lang/String;
 HSPLandroid/net/LocalSocketAddress$Namespace;->getId()I
 HSPLandroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
@@ -16389,7 +14601,6 @@
 HSPLandroid/net/LocalSocketImpl;->getSockAddress()Landroid/net/LocalSocketAddress;
 HSPLandroid/net/LocalSocketImpl;->listen(I)V
 HSPLandroid/net/LocalSocketImpl;->setOption(ILjava/lang/Object;)V
-HSPLandroid/net/LocalSocketImpl;->toString()Ljava/lang/String;
 HSPLandroid/net/MacAddress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/MacAddress;
 HSPLandroid/net/MacAddress$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/MacAddress;-><init>(J)V
@@ -16412,33 +14623,24 @@
 HSPLandroid/net/Network$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/Network$1;->newArray(I)[Landroid/net/Network;
 HSPLandroid/net/Network$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/net/Network$NetworkBoundSocketFactory;-><init>(Landroid/net/Network;)V
-HSPLandroid/net/Network$NetworkBoundSocketFactory;-><init>(Landroid/net/Network;Landroid/net/Network$1;)V
-HSPLandroid/net/Network$NetworkBoundSocketFactory;->createSocket()Ljava/net/Socket;
 HSPLandroid/net/Network;-><init>(I)V
 HSPLandroid/net/Network;-><init>(IZ)V
 HSPLandroid/net/Network;->bindSocket(Ljava/io/FileDescriptor;)V
 HSPLandroid/net/Network;->bindSocket(Ljava/net/DatagramSocket;)V
 HSPLandroid/net/Network;->bindSocket(Ljava/net/Socket;)V
 HSPLandroid/net/Network;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/Network;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
 HSPLandroid/net/Network;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
 HSPLandroid/net/Network;->getNetIdForResolv()I
 HSPLandroid/net/Network;->getNetworkHandle()J
 HSPLandroid/net/Network;->getPrivateDnsBypassingCopy()Landroid/net/Network;
-HSPLandroid/net/Network;->getSocketFactory()Ljavax/net/SocketFactory;
 HSPLandroid/net/Network;->hashCode()I
-HSPLandroid/net/Network;->lambda$maybeInitUrlConnectionFactory$0$Network(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/net/Network;->maybeInitUrlConnectionFactory()V
-HSPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
-HSPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
 HSPLandroid/net/Network;->toString()Ljava/lang/String;
 HSPLandroid/net/Network;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkAgent$InitialConfiguration;-><init>(Landroid/content/Context;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;Landroid/net/NetworkScore;Landroid/net/NetworkAgentConfig;Landroid/net/NetworkInfo;)V
+HSPLandroid/net/NetworkAgent$InitialConfiguration;-><init>(Landroid/content/Context;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkAgentConfig;Landroid/net/NetworkInfo;)V
 HSPLandroid/net/NetworkAgent$NetworkAgentHandler;-><init>(Landroid/net/NetworkAgent;Landroid/os/Looper;)V
 HSPLandroid/net/NetworkAgent$NetworkAgentHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/net/NetworkAgent;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;Landroid/net/NetworkScore;Landroid/net/NetworkAgentConfig;Landroid/net/NetworkProvider;)V
-HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;Landroid/net/NetworkScore;Landroid/net/NetworkAgentConfig;ILandroid/net/NetworkInfo;Z)V
+HSPLandroid/net/NetworkAgent;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkAgentConfig;Landroid/net/NetworkProvider;)V
+HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkAgentConfig;ILandroid/net/NetworkInfo;Z)V
 HSPLandroid/net/NetworkAgent;->access$000(Landroid/net/NetworkAgent;)Lcom/android/internal/util/AsyncChannel;
 HSPLandroid/net/NetworkAgent;->access$002(Landroid/net/NetworkAgent;Lcom/android/internal/util/AsyncChannel;)Lcom/android/internal/util/AsyncChannel;
 HSPLandroid/net/NetworkAgent;->access$100(Landroid/net/NetworkAgent;)Ljava/util/ArrayList;
@@ -16497,11 +14699,9 @@
 HSPLandroid/net/NetworkCapabilities;->clearAll()V
 HSPLandroid/net/NetworkCapabilities;->deduceRestrictedCapability()Z
 HSPLandroid/net/NetworkCapabilities;->describeFirstNonRequestableCapability()Ljava/lang/String;
-HPLandroid/net/NetworkCapabilities;->equalRequestableCapabilities(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/NetworkCapabilities;->equalsLinkBandwidths(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->equalsNetCapabilities(Landroid/net/NetworkCapabilities;)Z
-PLandroid/net/NetworkCapabilities;->equalsNetCapabilitiesRequestable(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->equalsPrivateDnsBroken(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->equalsRequestor(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->equalsSSID(Landroid/net/NetworkCapabilities;)Z
@@ -16519,21 +14719,19 @@
 HPLandroid/net/NetworkCapabilities;->getUids()Ljava/util/Set;
 HPLandroid/net/NetworkCapabilities;->getUnwantedCapabilities()[I
 HSPLandroid/net/NetworkCapabilities;->hasCapability(I)Z
-HPLandroid/net/NetworkCapabilities;->hasConnectivityManagedCapability()Z
 HSPLandroid/net/NetworkCapabilities;->hasSignalStrength()Z
 HSPLandroid/net/NetworkCapabilities;->hasTransport(I)Z
 HSPLandroid/net/NetworkCapabilities;->hashCode()I
-HPLandroid/net/NetworkCapabilities;->isMetered()Z
 HSPLandroid/net/NetworkCapabilities;->isPrivateDnsBroken()Z
 HSPLandroid/net/NetworkCapabilities;->isValidCapability(I)Z
 HSPLandroid/net/NetworkCapabilities;->isValidTransport(I)Z
 HSPLandroid/net/NetworkCapabilities;->maybeMarkCapabilitiesRestricted()V
 HSPLandroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
-HPLandroid/net/NetworkCapabilities;->satisfiedByImmutableNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedByLinkBandwidths(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedByNetCapabilities(Landroid/net/NetworkCapabilities;Z)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;Z)Z
+HSPLandroid/net/NetworkCapabilities;->satisfiedByRequestor(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedBySSID(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedBySignalStrength(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkCapabilities;->satisfiedBySpecifier(Landroid/net/NetworkCapabilities;)Z
@@ -16542,6 +14740,7 @@
 HSPLandroid/net/NetworkCapabilities;->set(Landroid/net/NetworkCapabilities;)V
 HSPLandroid/net/NetworkCapabilities;->setAdministratorUids(Ljava/util/List;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/NetworkCapabilities;->setAdministratorUids(Ljava/util/List;)V
+HSPLandroid/net/NetworkCapabilities;->setAdministratorUids([I)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/NetworkCapabilities;->setCapabilities([I[I)V
 HSPLandroid/net/NetworkCapabilities;->setCapability(IZ)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/NetworkCapabilities;->setLinkDownstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
@@ -16557,24 +14756,7 @@
 HSPLandroid/net/NetworkCapabilities;->transportNameOf(I)Ljava/lang/String;
 HSPLandroid/net/NetworkCapabilities;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkConfig;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/NetworkFactory$1;-><init>(Landroid/net/NetworkFactory;Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;)V
-HSPLandroid/net/NetworkFactory$1;->onNetworkRequested(Landroid/net/NetworkRequest;II)V
-HSPLandroid/net/NetworkFactory$1;->onRequestWithdrawn(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/NetworkFactory$NetworkRequestInfo;-><init>(Landroid/net/NetworkFactory;Landroid/net/NetworkRequest;II)V
-HSPLandroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
-HSPLandroid/net/NetworkFactory;->evalRequest(Landroid/net/NetworkFactory$NetworkRequestInfo;)V
-HSPLandroid/net/NetworkFactory;->evalRequests()V
-HSPLandroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;II)V
-HSPLandroid/net/NetworkFactory;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/NetworkFactory;->handleSetScore(I)V
-HSPLandroid/net/NetworkFactory;->log(Ljava/lang/String;)V
-HSPLandroid/net/NetworkFactory;->register()V
-HSPLandroid/net/NetworkFactory;->setScoreFilter(I)V
-HSPLandroid/net/NetworkFactory;->shouldNeedNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
-HSPLandroid/net/NetworkFactory;->shouldReleaseNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
 HSPLandroid/net/NetworkIdentity;-><init>(IILjava/lang/String;Ljava/lang/String;ZZZ)V
-HPLandroid/net/NetworkIdentity;->buildNetworkIdentity(Landroid/content/Context;Landroid/net/NetworkState;Z)Landroid/net/NetworkIdentity;
 HSPLandroid/net/NetworkIdentity;->equals(Ljava/lang/Object;)Z
 HPLandroid/net/NetworkIdentity;->getDefaultNetwork()Z
 HPLandroid/net/NetworkIdentity;->getMetered()Z
@@ -16586,8 +14768,6 @@
 HSPLandroid/net/NetworkIdentity;->hashCode()I
 HSPLandroid/net/NetworkInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkInfo;
 HSPLandroid/net/NetworkInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkInfo$1;->newArray(I)[Landroid/net/NetworkInfo;
-HSPLandroid/net/NetworkInfo$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/net/NetworkInfo$DetailedState;->valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$DetailedState;
 HSPLandroid/net/NetworkInfo$DetailedState;->values()[Landroid/net/NetworkInfo$DetailedState;
 HSPLandroid/net/NetworkInfo$State;->valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$State;
@@ -16640,14 +14820,16 @@
 HPLandroid/net/NetworkPolicy;->hasCycle()Z
 HPLandroid/net/NetworkPolicy;->isOverLimit(J)Z
 HPLandroid/net/NetworkPolicy;->isOverWarning(J)Z
+HPLandroid/net/NetworkPolicyManager$1;-><init>(Ljava/util/Iterator;)V
 HPLandroid/net/NetworkPolicyManager$1;->hasNext()Z
 HPLandroid/net/NetworkPolicyManager$1;->next()Landroid/util/Pair;
 HPLandroid/net/NetworkPolicyManager$1;->next()Ljava/lang/Object;
 HSPLandroid/net/NetworkPolicyManager$Listener;-><init>()V
 HSPLandroid/net/NetworkPolicyManager$Listener;->onMeteredIfacesChanged([Ljava/lang/String;)V
-PLandroid/net/NetworkPolicyManager$Listener;->onSubscriptionPlansChanged(I[Landroid/telephony/SubscriptionPlan;)V
+HSPLandroid/net/NetworkPolicyManager$Listener;->onSubscriptionPlansChanged(I[Landroid/telephony/SubscriptionPlan;)V
 HSPLandroid/net/NetworkPolicyManager$Listener;->onUidRulesChanged(II)V
 HSPLandroid/net/NetworkPolicyManager;-><init>(Landroid/content/Context;Landroid/net/INetworkPolicyManager;)V
+HPLandroid/net/NetworkPolicyManager;->cycleIterator(Landroid/net/NetworkPolicy;)Ljava/util/Iterator;
 HSPLandroid/net/NetworkPolicyManager;->from(Landroid/content/Context;)Landroid/net/NetworkPolicyManager;
 HSPLandroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy;
 HSPLandroid/net/NetworkPolicyManager;->getRestrictBackground()Z
@@ -16661,15 +14843,6 @@
 HSPLandroid/net/NetworkProvider;->getName()Ljava/lang/String;
 HSPLandroid/net/NetworkProvider;->getProviderId()I
 HSPLandroid/net/NetworkProvider;->setProviderId(I)V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper$1;-><init>(Landroid/net/NetworkRecommendationProvider$ServiceWrapper;[Landroid/net/NetworkKey;)V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper$1;->run()V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper;-><init>(Landroid/net/NetworkRecommendationProvider;Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper;->enforceCallingPermission()V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper;->execute(Ljava/lang/Runnable;)V
-HSPLandroid/net/NetworkRecommendationProvider$ServiceWrapper;->requestScores([Landroid/net/NetworkKey;)V
-HSPLandroid/net/NetworkRecommendationProvider;-><clinit>()V
-HSPLandroid/net/NetworkRecommendationProvider;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-HSPLandroid/net/NetworkRecommendationProvider;->getBinder()Landroid/os/IBinder;
 HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkRequest;
 HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/NetworkRequest$Builder;-><init>()V
@@ -16678,13 +14851,10 @@
 HSPLandroid/net/NetworkRequest$Builder;->build()Landroid/net/NetworkRequest;
 HSPLandroid/net/NetworkRequest$Builder;->clearCapabilities()Landroid/net/NetworkRequest$Builder;
 HSPLandroid/net/NetworkRequest$Builder;->removeCapability(I)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkRequest$Builder;->setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkRequest$Builder;->setNetworkSpecifier(Ljava/lang/String;)Landroid/net/NetworkRequest$Builder;
 HSPLandroid/net/NetworkRequest$Builder;->setUids(Ljava/util/Set;)Landroid/net/NetworkRequest$Builder;
 HSPLandroid/net/NetworkRequest$Type;->valueOf(Ljava/lang/String;)Landroid/net/NetworkRequest$Type;
 HSPLandroid/net/NetworkRequest$Type;->values()[Landroid/net/NetworkRequest$Type;
 HSPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkCapabilities;IILandroid/net/NetworkRequest$Type;)V
-HPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkRequest;)V
 HSPLandroid/net/NetworkRequest;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/NetworkRequest;->getNetworkSpecifier()Landroid/net/NetworkSpecifier;
 HSPLandroid/net/NetworkRequest;->hasCapability(I)Z
@@ -16696,13 +14866,7 @@
 HSPLandroid/net/NetworkRequest;->satisfiedBy(Landroid/net/NetworkCapabilities;)Z
 HSPLandroid/net/NetworkRequest;->toString()Ljava/lang/String;
 HSPLandroid/net/NetworkRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkScore$Builder;-><init>()V
-HSPLandroid/net/NetworkScore$Builder;->build()Landroid/net/NetworkScore;
-HSPLandroid/net/NetworkScore$Builder;->setLegacyScore(I)Landroid/net/NetworkScore$Builder;
-HSPLandroid/net/NetworkScore$Metrics;-><clinit>()V
-HSPLandroid/net/NetworkScore$Metrics;-><init>(III)V
-HSPLandroid/net/NetworkScore;-><init>(ILandroid/net/NetworkScore$Metrics;Landroid/net/NetworkScore$Metrics;IIZI)V
-HSPLandroid/net/NetworkScore;-><init>(ILandroid/net/NetworkScore$Metrics;Landroid/net/NetworkScore$Metrics;IIZILandroid/net/NetworkScore$1;)V
+HSPLandroid/net/NetworkScoreManager$NetworkScoreCallback;-><init>()V
 HSPLandroid/net/NetworkScoreManager$NetworkScoreCallbackProxy;-><init>(Landroid/net/NetworkScoreManager;Ljava/util/concurrent/Executor;Landroid/net/NetworkScoreManager$NetworkScoreCallback;)V
 HSPLandroid/net/NetworkScoreManager$NetworkScoreCallbackProxy;->clearScores()V
 HSPLandroid/net/NetworkScoreManager$NetworkScoreCallbackProxy;->lambda$clearScores$1$NetworkScoreManager$NetworkScoreCallbackProxy()V
@@ -16713,12 +14877,7 @@
 HSPLandroid/net/NetworkScoreManager;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
 HSPLandroid/net/NetworkScoreManager;->registerNetworkScoreCallback(IILjava/util/concurrent/Executor;Landroid/net/NetworkScoreManager$NetworkScoreCallback;)V
 HSPLandroid/net/NetworkScoreManager;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLandroid/net/NetworkScoreManager;->updateScores([Landroid/net/ScoredNetwork;)Z
-HSPLandroid/net/NetworkScorerAppData;-><clinit>()V
-HPLandroid/net/NetworkScorerAppData;-><init>(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/String;)V
 HPLandroid/net/NetworkScorerAppData;->equals(Ljava/lang/Object;)Z
-HPLandroid/net/NetworkScorerAppData;->getRecommendationServiceComponent()Landroid/content/ComponentName;
-HPLandroid/net/NetworkScorerAppData;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkSpecifier;-><init>()V
 HPLandroid/net/NetworkSpecifier;->redact()Landroid/net/NetworkSpecifier;
 HSPLandroid/net/NetworkStack;->checkAnyPermissionOf(Landroid/content/Context;[Ljava/lang/String;)Z
@@ -16765,8 +14924,6 @@
 HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;)Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkStatsHistory;
-HSPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLong(Ljava/io/DataInputStream;)J
 HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLongArray(Ljava/io/DataInputStream;)[J
 HPLandroid/net/NetworkStatsHistory$DataStreamUtils;->writeVarLong(Ljava/io/DataOutputStream;J)V
@@ -16776,7 +14933,6 @@
 HSPLandroid/net/NetworkStatsHistory;-><init>(J)V
 HPLandroid/net/NetworkStatsHistory;-><init>(JI)V
 HSPLandroid/net/NetworkStatsHistory;-><init>(JII)V
-HSPLandroid/net/NetworkStatsHistory;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/NetworkStatsHistory;-><init>(Ljava/io/DataInputStream;)V
 HSPLandroid/net/NetworkStatsHistory;->addLong([JIJ)V
 HSPLandroid/net/NetworkStatsHistory;->ensureBuckets(JJ)V
@@ -16786,7 +14942,6 @@
 HSPLandroid/net/NetworkStatsHistory;->getLong([JIJ)J
 HSPLandroid/net/NetworkStatsHistory;->getStart()J
 HSPLandroid/net/NetworkStatsHistory;->getTotalBytes()J
-HSPLandroid/net/NetworkStatsHistory;->getValues(ILandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
 HPLandroid/net/NetworkStatsHistory;->getValues(JJJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
 HSPLandroid/net/NetworkStatsHistory;->insertBucket(IJ)V
 HSPLandroid/net/NetworkStatsHistory;->recordData(JJLandroid/net/NetworkStats$Entry;)V
@@ -16832,36 +14987,36 @@
 HSPLandroid/net/Proxy;->setHttpProxySystemProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
 HSPLandroid/net/RouteInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RouteInfo;
 HSPLandroid/net/RouteInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/RouteInfo$RouteKey;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;)V
 HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;)V
 HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;I)V
 HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;II)V
-HPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
+HSPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
 HSPLandroid/net/RouteInfo;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/RouteInfo;->getDestination()Landroid/net/IpPrefix;
 HSPLandroid/net/RouteInfo;->getGateway()Ljava/net/InetAddress;
 HSPLandroid/net/RouteInfo;->getInterface()Ljava/lang/String;
 HSPLandroid/net/RouteInfo;->getMtu()I
+HSPLandroid/net/RouteInfo;->getRouteKey()Landroid/net/RouteInfo$RouteKey;
 HSPLandroid/net/RouteInfo;->getType()I
 HSPLandroid/net/RouteInfo;->hasGateway()Z
 HSPLandroid/net/RouteInfo;->isDefaultRoute()Z
 HSPLandroid/net/RouteInfo;->isHost()Z
 HSPLandroid/net/RouteInfo;->isIPv4Default()Z
-HPLandroid/net/RouteInfo;->isIPv6Default()Z
-HPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
-HPLandroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
+HSPLandroid/net/RouteInfo;->isIPv6Default()Z
+HSPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
+HSPLandroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
 HSPLandroid/net/RouteInfo;->toString()Ljava/lang/String;
 HSPLandroid/net/RouteInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RssiCurve;
 HSPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/RssiCurve;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/RssiCurve;-><init>(Landroid/os/Parcel;Landroid/net/RssiCurve$1;)V
-HSPLandroid/net/RssiCurve;->lookupScore(IZ)B
 HSPLandroid/net/RssiCurve;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ScoredNetwork;
 HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 PLandroid/net/ScoredNetwork$1;->newArray(I)[Landroid/net/ScoredNetwork;
 HPLandroid/net/ScoredNetwork$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;Z)V
 HSPLandroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;Landroid/net/ScoredNetwork$1;)V
 HSPLandroid/net/ScoredNetwork;->calculateBadge(I)I
@@ -16878,29 +15033,26 @@
 PLandroid/net/SntpClient;->writeTimeStamp([BIJ)V
 HSPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfiguration;
 HSPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/StaticIpConfiguration$Builder;-><init>()V
-HPLandroid/net/StaticIpConfiguration$Builder;->build()Landroid/net/StaticIpConfiguration;
-HPLandroid/net/StaticIpConfiguration$Builder;->setDnsServers(Ljava/lang/Iterable;)Landroid/net/StaticIpConfiguration$Builder;
-PLandroid/net/StaticIpConfiguration$Builder;->setDomains(Ljava/lang/String;)Landroid/net/StaticIpConfiguration$Builder;
-PLandroid/net/StaticIpConfiguration$Builder;->setGateway(Ljava/net/InetAddress;)Landroid/net/StaticIpConfiguration$Builder;
-PLandroid/net/StaticIpConfiguration$Builder;->setIpAddress(Landroid/net/LinkAddress;)Landroid/net/StaticIpConfiguration$Builder;
+HSPLandroid/net/StaticIpConfiguration$Builder;-><init>()V
+HSPLandroid/net/StaticIpConfiguration$Builder;->build()Landroid/net/StaticIpConfiguration;
+HSPLandroid/net/StaticIpConfiguration$Builder;->setDnsServers(Ljava/lang/Iterable;)Landroid/net/StaticIpConfiguration$Builder;
+HSPLandroid/net/StaticIpConfiguration$Builder;->setDomains(Ljava/lang/String;)Landroid/net/StaticIpConfiguration$Builder;
+HSPLandroid/net/StaticIpConfiguration$Builder;->setGateway(Ljava/net/InetAddress;)Landroid/net/StaticIpConfiguration$Builder;
+HSPLandroid/net/StaticIpConfiguration$Builder;->setIpAddress(Landroid/net/LinkAddress;)Landroid/net/StaticIpConfiguration$Builder;
 HSPLandroid/net/StaticIpConfiguration;-><init>()V
-PLandroid/net/StaticIpConfiguration;->getDnsServers()Ljava/util/List;
-PLandroid/net/StaticIpConfiguration;->getDomains()Ljava/lang/String;
-PLandroid/net/StaticIpConfiguration;->getGateway()Ljava/net/InetAddress;
-PLandroid/net/StaticIpConfiguration;->getIpAddress()Landroid/net/LinkAddress;
-HPLandroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/StaticIpConfiguration;->getDnsServers()Ljava/util/List;
+HSPLandroid/net/StaticIpConfiguration;->getDomains()Ljava/lang/String;
+HSPLandroid/net/StaticIpConfiguration;->getGateway()Ljava/net/InetAddress;
+HSPLandroid/net/StaticIpConfiguration;->getIpAddress()Landroid/net/LinkAddress;
+HSPLandroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/net/StaticIpConfiguration;->readFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfiguration;
-HPLandroid/net/StaticIpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/StaticIpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StringNetworkSpecifier;
 HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/StringNetworkSpecifier;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/TelephonyNetworkSpecifier$1;-><init>()V
 HSPLandroid/net/TelephonyNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/TelephonyNetworkSpecifier;
 HSPLandroid/net/TelephonyNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/TelephonyNetworkSpecifier$Builder;-><init>()V
-HSPLandroid/net/TelephonyNetworkSpecifier$Builder;->build()Landroid/net/TelephonyNetworkSpecifier;
-HSPLandroid/net/TelephonyNetworkSpecifier$Builder;->setSubscriptionId(I)Landroid/net/TelephonyNetworkSpecifier$Builder;
 HSPLandroid/net/TelephonyNetworkSpecifier;-><clinit>()V
 HSPLandroid/net/TelephonyNetworkSpecifier;-><init>(I)V
 HSPLandroid/net/TelephonyNetworkSpecifier;->equals(Ljava/lang/Object;)Z
@@ -16911,7 +15063,6 @@
 HSPLandroid/net/TelephonyNetworkSpecifier;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/TrafficStats;->addIfSupported(J)J
 HSPLandroid/net/TrafficStats;->clearThreadStatsTag()V
-HSPLandroid/net/TrafficStats;->clearThreadStatsUid()V
 HSPLandroid/net/TrafficStats;->getAndSetThreadStatsTag(I)I
 HSPLandroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String;
 HSPLandroid/net/TrafficStats;->getMobileRxBytes()J
@@ -16919,7 +15070,6 @@
 HSPLandroid/net/TrafficStats;->getRxBytes(Ljava/lang/String;)J
 HSPLandroid/net/TrafficStats;->getRxPackets(Ljava/lang/String;)J
 HSPLandroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService;
-HSPLandroid/net/TrafficStats;->getThreadStatsTag()I
 HSPLandroid/net/TrafficStats;->getTotalRxBytes()J
 HSPLandroid/net/TrafficStats;->getTotalTxBytes()J
 HSPLandroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J
@@ -16927,8 +15077,6 @@
 HSPLandroid/net/TrafficStats;->getUidRxBytes(I)J
 HSPLandroid/net/TrafficStats;->getUidTxBytes(I)J
 HSPLandroid/net/TrafficStats;->setThreadStatsTag(I)V
-HSPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
-HSPLandroid/net/TrafficStats;->tagSocket(Ljava/net/Socket;)V
 HSPLandroid/net/TrafficStats;->untagSocket(Ljava/net/Socket;)V
 HSPLandroid/net/UidRange$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/UidRange;
 HSPLandroid/net/UidRange$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -17042,7 +15190,6 @@
 HSPLandroid/net/Uri$StringUri;->getEncodedFragment()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getEncodedPath()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getEncodedQuery()Ljava/lang/String;
-HSPLandroid/net/Uri$StringUri;->getFragment()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getFragmentPart()Landroid/net/Uri$Part;
 HSPLandroid/net/Uri$StringUri;->getPath()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getPathPart()Landroid/net/Uri$PathPart;
@@ -17053,7 +15200,6 @@
 HSPLandroid/net/Uri$StringUri;->getSchemeSpecificPart()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getSsp()Landroid/net/Uri$Part;
 HSPLandroid/net/Uri$StringUri;->isHierarchical()Z
-HSPLandroid/net/Uri$StringUri;->isRelative()Z
 HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String;
@@ -17079,7 +15225,6 @@
 HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;
 HSPLandroid/net/Uri;->hashCode()I
-HSPLandroid/net/Uri;->isAbsolute()Z
 HSPLandroid/net/Uri;->isAllowed(CLjava/lang/String;)Z
 HSPLandroid/net/Uri;->isOpaque()Z
 HSPLandroid/net/Uri;->isPathPrefixMatch(Landroid/net/Uri;)Z
@@ -17093,8 +15238,6 @@
 HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V
 HSPLandroid/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C
 HSPLandroid/net/UriCodec;->hexCharToValue(C)I
-HSPLandroid/net/WebAddress;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/WebAddress;->toString()Ljava/lang/String;
 HSPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/WifiKey;
 HSPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/WifiKey;-><init>(Landroid/os/Parcel;)V
@@ -17104,7 +15247,6 @@
 HSPLandroid/net/WifiKey;->hashCode()I
 HSPLandroid/net/WifiKey;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/apf/ApfCapabilities;-><init>(III)V
-HPLandroid/net/apf/ApfCapabilities;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/http/X509TrustManagerExtensions;-><init>(Ljavax/net/ssl/X509TrustManager;)V
 HSPLandroid/net/http/X509TrustManagerExtensions;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HPLandroid/net/metrics/ConnectStats;-><init>(IJLcom/android/internal/util/TokenBucket;I)V
@@ -17115,29 +15257,28 @@
 HPLandroid/net/metrics/ConnectStats;->isNonBlocking(I)Z
 HPLandroid/net/metrics/ConnectStats;->isSuccess(I)Z
 HSPLandroid/net/metrics/DefaultNetworkEvent;-><init>(J)V
-PLandroid/net/metrics/DefaultNetworkEvent;->updateDuration(J)V
+HPLandroid/net/metrics/DefaultNetworkEvent;->updateDuration(J)V
 HPLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/DhcpClientEvent;
 HPLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/DhcpClientEvent;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/metrics/DhcpClientEvent;-><init>(Landroid/os/Parcel;Landroid/net/metrics/DhcpClientEvent$1;)V
-PLandroid/net/metrics/DhcpErrorEvent$1;-><init>()V
+HSPLandroid/net/metrics/DhcpErrorEvent$1;-><init>()V
 PLandroid/net/metrics/DhcpErrorEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/DhcpErrorEvent;
 HPLandroid/net/metrics/DhcpErrorEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/net/metrics/DhcpErrorEvent;-><clinit>()V
+HSPLandroid/net/metrics/DhcpErrorEvent;-><clinit>()V
 HPLandroid/net/metrics/DhcpErrorEvent;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/metrics/DhcpErrorEvent;-><init>(Landroid/os/Parcel;Landroid/net/metrics/DhcpErrorEvent$1;)V
 HPLandroid/net/metrics/DnsEvent;-><init>(IJI)V
 HPLandroid/net/metrics/DnsEvent;->addResult(BBI)Z
-HPLandroid/net/metrics/DnsEvent;->resize(I)V
 HSPLandroid/net/metrics/IpConnectivityLog;-><init>()V
 HSPLandroid/net/metrics/IpConnectivityLog;->checkLoggerService()Z
 HSPLandroid/net/metrics/IpConnectivityLog;->log(I[ILandroid/net/metrics/IpConnectivityLog$Event;)Z
 HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/ConnectivityMetricsEvent;)Z
 HSPLandroid/net/metrics/IpConnectivityLog;->makeEv(Landroid/net/metrics/IpConnectivityLog$Event;)Landroid/net/ConnectivityMetricsEvent;
 PLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpManagerEvent;
-PLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/IpManagerEvent;-><init>(Landroid/os/Parcel;)V
-PLandroid/net/metrics/IpManagerEvent;-><init>(Landroid/os/Parcel;Landroid/net/metrics/IpManagerEvent$1;)V
+HPLandroid/net/metrics/IpManagerEvent;-><init>(Landroid/os/Parcel;Landroid/net/metrics/IpManagerEvent$1;)V
 PLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpReachabilityEvent;
 HPLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/NetworkEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/NetworkEvent;
@@ -17156,9 +15297,7 @@
 HPLandroid/net/metrics/NetworkMetrics;->addConnectResult(IILjava/lang/String;)V
 HPLandroid/net/metrics/NetworkMetrics;->addDnsResult(III)V
 HPLandroid/net/metrics/NetworkMetrics;->addTcpStatsResult(IIII)V
-HPLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/RaEvent;
-HPLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/metrics/RaEvent;-><init>(Landroid/os/Parcel;)V
+HPLandroid/net/metrics/NetworkMetrics;->getPendingStats()Landroid/net/metrics/NetworkMetrics$Summary;
 HPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ValidationProbeEvent;
 HPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/metrics/ValidationProbeEvent$Decoder;-><clinit>()V
@@ -17167,8 +15306,6 @@
 HSPLandroid/net/metrics/ValidationProbeEvent;->getProbeName(I)Ljava/lang/String;
 HSPLandroid/net/netstats/provider/INetworkStatsProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/net/netstats/provider/INetworkStatsProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/net/netstats/provider/INetworkStatsProvider$Stub$Proxy;->requestStatsUpdate(I)V
-HPLandroid/net/netstats/provider/INetworkStatsProvider$Stub$Proxy;->setAlert(J)V
 HSPLandroid/net/netstats/provider/INetworkStatsProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/netstats/provider/INetworkStatsProvider;
 HSPLandroid/net/netstats/provider/INetworkStatsProviderCallback$Stub;-><init>()V
 HSPLandroid/net/netstats/provider/INetworkStatsProviderCallback$Stub;->asBinder()Landroid/os/IBinder;
@@ -17205,8 +15342,8 @@
 HSPLandroid/net/util/MultinetworkPolicyTracker;->start()V
 HSPLandroid/net/util/MultinetworkPolicyTracker;->updateAvoidBadWifi()Z
 HSPLandroid/net/util/MultinetworkPolicyTracker;->updateMeteredMultipathPreference()V
-PLandroid/net/util/NetUtils;->addressTypeMatches(Ljava/net/InetAddress;Ljava/net/InetAddress;)Z
-HPLandroid/net/util/NetUtils;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
+HSPLandroid/net/util/NetUtils;->addressTypeMatches(Ljava/net/InetAddress;Ljava/net/InetAddress;)Z
+HSPLandroid/net/util/NetUtils;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
 HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener$1;->run()V
 HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;-><init>(Landroid/os/Handler;)V
 HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;->post(Ljava/util/List;)V
@@ -17217,128 +15354,20 @@
 HSPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
 HSPLandroid/net/wifi/WifiNetworkScoreCache;->registerListener(Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
 HSPLandroid/net/wifi/WifiNetworkScoreCache;->updateScores(Ljava/util/List;)V
-HSPLandroid/net/wifi/wificond/-$$Lambda$WifiCondManager$E-DcVUYhRrwhi7YiitOfpiDZVUI;-><init>(Landroid/net/wifi/wificond/WifiCondManager;)V
-HPLandroid/net/wifi/wificond/-$$Lambda$WifiCondManager$ScanEventHandler$rS5Re_WiaaxPxvx9bAC1Smf03j0;-><init>(Landroid/net/wifi/wificond/WifiCondManager$ScanEventHandler;)V
-HPLandroid/net/wifi/wificond/-$$Lambda$WifiCondManager$ScanEventHandler$rS5Re_WiaaxPxvx9bAC1Smf03j0;->run()V
-PLandroid/net/wifi/wificond/ChannelSettings$1;-><init>()V
-PLandroid/net/wifi/wificond/ChannelSettings;-><clinit>()V
-HPLandroid/net/wifi/wificond/ChannelSettings;-><init>()V
-HPLandroid/net/wifi/wificond/ChannelSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/wificond/IClientInterface$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/net/wifi/wificond/IClientInterface$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/wifi/wificond/IClientInterface$Stub$Proxy;->getWifiScannerImpl()Landroid/net/wifi/wificond/IWifiScannerImpl;
-HPLandroid/net/wifi/wificond/IClientInterface$Stub$Proxy;->signalPoll()[I
-HSPLandroid/net/wifi/wificond/IClientInterface$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/wificond/IClientInterface;
-HSPLandroid/net/wifi/wificond/IPnoScanEvent$Stub;-><init>()V
-HSPLandroid/net/wifi/wificond/IPnoScanEvent$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/wifi/wificond/IScanEvent$Stub;-><init>()V
-HSPLandroid/net/wifi/wificond/IScanEvent$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/net/wifi/wificond/IScanEvent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->abortScan()V
-HSPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->getScanResults()[Landroid/net/wifi/wificond/NativeScanResult;
-HPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->scan(Landroid/net/wifi/wificond/SingleScanSettings;)Z
-HSPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->subscribePnoScanEvents(Landroid/net/wifi/wificond/IPnoScanEvent;)V
-HSPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub$Proxy;->subscribeScanEvents(Landroid/net/wifi/wificond/IScanEvent;)V
-HSPLandroid/net/wifi/wificond/IWifiScannerImpl$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/wificond/IWifiScannerImpl;
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->createClientInterface(Ljava/lang/String;)Landroid/net/wifi/wificond/IClientInterface;
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->getAvailable2gChannels()[I
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->getAvailable5gNonDFSChannels()[I
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->getAvailable6gChannels()[I
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->getAvailableDFSChannels()[I
-HSPLandroid/net/wifi/wificond/IWificond$Stub$Proxy;->tearDownInterfaces()V
-HSPLandroid/net/wifi/wificond/IWificond$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/wificond/IWificond;
-PLandroid/net/wifi/wificond/NativeScanResult$1;-><init>()V
-HPLandroid/net/wifi/wificond/NativeScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/wificond/NativeScanResult;
-HPLandroid/net/wifi/wificond/NativeScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/wifi/wificond/NativeScanResult$1;->newArray(I)[Landroid/net/wifi/wificond/NativeScanResult;
-HPLandroid/net/wifi/wificond/NativeScanResult$1;->newArray(I)[Ljava/lang/Object;
-PLandroid/net/wifi/wificond/NativeScanResult;-><clinit>()V
-HPLandroid/net/wifi/wificond/NativeScanResult;-><init>()V
-PLandroid/net/wifi/wificond/NativeScanResult;->getFrequencyMhz()I
-PLandroid/net/wifi/wificond/NativeScanResult;->getInformationElements()[B
-PLandroid/net/wifi/wificond/NativeScanResult;->getRadioChainInfos()Ljava/util/List;
-PLandroid/net/wifi/wificond/NativeScanResult;->getSignalMbm()I
-PLandroid/net/wifi/wificond/NativeScanResult;->getSsid()[B
-PLandroid/net/wifi/wificond/NativeScanResult;->getTsf()J
-PLandroid/net/wifi/wificond/RadioChainInfo$1;-><init>()V
-HPLandroid/net/wifi/wificond/RadioChainInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/wificond/RadioChainInfo;
-HPLandroid/net/wifi/wificond/RadioChainInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/net/wifi/wificond/RadioChainInfo;-><clinit>()V
-HPLandroid/net/wifi/wificond/RadioChainInfo;-><init>(II)V
-PLandroid/net/wifi/wificond/RadioChainInfo;->getChainId()I
-PLandroid/net/wifi/wificond/RadioChainInfo;->getLevelDbm()I
-PLandroid/net/wifi/wificond/SingleScanSettings$1;-><init>()V
-PLandroid/net/wifi/wificond/SingleScanSettings;-><clinit>()V
-PLandroid/net/wifi/wificond/SingleScanSettings;-><init>()V
-HPLandroid/net/wifi/wificond/SingleScanSettings;->isValidScanType(I)Z
-HPLandroid/net/wifi/wificond/SingleScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/wificond/WifiCondManager$PnoScanEventHandler;-><init>(Landroid/net/wifi/wificond/WifiCondManager;Ljava/util/concurrent/Executor;Landroid/net/wifi/wificond/WifiCondManager$ScanEventCallback;)V
-HSPLandroid/net/wifi/wificond/WifiCondManager$ScanEventHandler;-><init>(Landroid/net/wifi/wificond/WifiCondManager;Ljava/util/concurrent/Executor;Landroid/net/wifi/wificond/WifiCondManager$ScanEventCallback;)V
-HPLandroid/net/wifi/wificond/WifiCondManager$ScanEventHandler;->OnScanResultReady()V
-HPLandroid/net/wifi/wificond/WifiCondManager$ScanEventHandler;->lambda$OnScanResultReady$0$WifiCondManager$ScanEventHandler()V
-HPLandroid/net/wifi/wificond/WifiCondManager$SignalPollResult;-><init>(IIII)V
-HSPLandroid/net/wifi/wificond/WifiCondManager;-><init>(Landroid/content/Context;)V
-PLandroid/net/wifi/wificond/WifiCondManager;->abortScan(Ljava/lang/String;)V
-HSPLandroid/net/wifi/wificond/WifiCondManager;->clearState()V
-HSPLandroid/net/wifi/wificond/WifiCondManager;->enableVerboseLogging(Z)V
-HPLandroid/net/wifi/wificond/WifiCondManager;->getClientInterface(Ljava/lang/String;)Landroid/net/wifi/wificond/IClientInterface;
-HPLandroid/net/wifi/wificond/WifiCondManager;->getScanResults(Ljava/lang/String;I)Ljava/util/List;
-HPLandroid/net/wifi/wificond/WifiCondManager;->getScanType(I)I
-HPLandroid/net/wifi/wificond/WifiCondManager;->getScannerImpl(Ljava/lang/String;)Landroid/net/wifi/wificond/IWifiScannerImpl;
-HPLandroid/net/wifi/wificond/WifiCondManager;->parseOemSecurityTypeElement(II[B)Landroid/net/wifi/wificond/WifiCondManager$OemSecurityType;
-HSPLandroid/net/wifi/wificond/WifiCondManager;->retrieveWificondAndRegisterForDeath()Z
-HSPLandroid/net/wifi/wificond/WifiCondManager;->setupInterfaceForClientMode(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/net/wifi/wificond/WifiCondManager$ScanEventCallback;Landroid/net/wifi/wificond/WifiCondManager$ScanEventCallback;)Z
-HPLandroid/net/wifi/wificond/WifiCondManager;->signalPoll(Ljava/lang/String;)Landroid/net/wifi/wificond/WifiCondManager$SignalPollResult;
-HPLandroid/net/wifi/wificond/WifiCondManager;->startScan(Ljava/lang/String;ILjava/util/Set;Ljava/util/List;)Z
-HSPLandroid/net/wifi/wificond/WifiCondManager;->tearDownInterfaces()Z
-HSPLandroid/nfc/IAppCallback$Stub;-><init>()V
 HSPLandroid/nfc/INfcAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->deviceSupportsNfcSecure()Z
 HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
 HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
 HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcTagInterface()Landroid/nfc/INfcTag;
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getState()I
 HSPLandroid/nfc/INfcAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcAdapter;
-HSPLandroid/nfc/INfcCardEmulation$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/nfc/INfcCardEmulation$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcCardEmulation;
-HSPLandroid/nfc/INfcFCardEmulation$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/nfc/INfcFCardEmulation$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcFCardEmulation;
-HSPLandroid/nfc/INfcTag$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/nfc/INfcTag$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcTag;
-HSPLandroid/nfc/NfcActivityManager;-><init>(Landroid/nfc/NfcAdapter;)V
-HSPLandroid/nfc/NfcAdapter$1;-><init>(Landroid/nfc/NfcAdapter;)V
 HSPLandroid/nfc/NfcAdapter;-><init>(Landroid/content/Context;)V
-HSPLandroid/nfc/NfcAdapter;->getCardEmulationService()Landroid/nfc/INfcCardEmulation;
-HSPLandroid/nfc/NfcAdapter;->getContext()Landroid/content/Context;
 HSPLandroid/nfc/NfcAdapter;->getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
 HSPLandroid/nfc/NfcAdapter;->getNfcAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
 HSPLandroid/nfc/NfcAdapter;->getServiceInterface()Landroid/nfc/INfcAdapter;
 HSPLandroid/nfc/NfcAdapter;->hasBeamFeature()Z
 HSPLandroid/nfc/NfcAdapter;->hasNfcFeature()Z
 HSPLandroid/nfc/NfcAdapter;->hasNfcHceFeature()Z
-HSPLandroid/nfc/NfcAdapter;->isEnabled()Z
-HSPLandroid/nfc/NfcAdapter;->isSecureNfcSupported()Z
 HSPLandroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/nfc/NfcManager;->getDefaultAdapter()Landroid/nfc/NfcAdapter;
-HSPLandroid/nfc/cardemulation/AidGroup$1;-><init>()V
-HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/nfc/cardemulation/AidGroup;
-HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/nfc/cardemulation/AidGroup;-><clinit>()V
-HSPLandroid/nfc/cardemulation/AidGroup;-><init>(Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/nfc/cardemulation/AidGroup;->getAids()Ljava/util/List;
-HSPLandroid/nfc/cardemulation/AidGroup;->isValidCategory(Ljava/lang/String;)Z
-HSPLandroid/nfc/cardemulation/AidGroup;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/nfc/cardemulation/CardEmulation;-><clinit>()V
-HSPLandroid/nfc/cardemulation/CardEmulation;-><init>(Landroid/content/Context;Landroid/nfc/INfcCardEmulation;)V
-HSPLandroid/nfc/cardemulation/CardEmulation;->getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/CardEmulation;
-HSPLandroid/nfc/cardemulation/CardEmulation;->isValidAid(Ljava/lang/String;)Z
-HSPLandroid/nfc/cardemulation/HostApduService$MsgHandler;-><init>(Landroid/nfc/cardemulation/HostApduService;)V
-HSPLandroid/nfc/cardemulation/HostApduService;-><init>()V
-HSPLandroid/nfc/cardemulation/HostApduService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HSPLandroid/opengl/EGL14;->eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
 HSPLandroid/opengl/EGLConfig;-><init>(J)V
 HSPLandroid/opengl/EGLContext;-><init>(J)V
@@ -17369,7 +15398,6 @@
 HSPLandroid/opengl/GLSurfaceView;->setRenderer(Landroid/opengl/GLSurfaceView$Renderer;)V
 HSPLandroid/opengl/GLUtils;->texImage2D(IILandroid/graphics/Bitmap;I)V
 HSPLandroid/opengl/Matrix;->setIdentityM([FI)V
-HSPLandroid/opengl/Matrix;->translateM([FIFFF)V
 HSPLandroid/os/-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/-$$Lambda$PowerManager$1$-RL9hKNKSaGL1mmR-EjQ-Cm9KuA;-><init>(Landroid/os/PowerManager$OnThermalStatusChangedListener;I)V
 HSPLandroid/os/-$$Lambda$PowerManager$1$-RL9hKNKSaGL1mmR-EjQ-Cm9KuA;->run()V
@@ -17380,7 +15408,6 @@
 HSPLandroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;-><init>(ILandroid/os/StrictMode$ViolationInfo;)V
 HSPLandroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;->run()V
 HSPLandroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;->get()Ljava/lang/Object;
-HPLandroid/os/AppZygote;-><init>(Landroid/content/pm/ApplicationInfo;III)V
 HPLandroid/os/AppZygote;->connectToZygoteIfNeededLocked()V
 HPLandroid/os/AppZygote;->getAppInfo()Landroid/content/pm/ApplicationInfo;
 HPLandroid/os/AppZygote;->getProcess()Landroid/os/ChildZygoteProcess;
@@ -17401,7 +15428,6 @@
 HSPLandroid/os/AsyncTask$WorkerRunnable;-><init>()V
 HSPLandroid/os/AsyncTask$WorkerRunnable;-><init>(Landroid/os/AsyncTask$1;)V
 HSPLandroid/os/AsyncTask;-><init>()V
-HSPLandroid/os/AsyncTask;-><init>(Landroid/os/Handler;)V
 HSPLandroid/os/AsyncTask;-><init>(Landroid/os/Looper;)V
 HSPLandroid/os/AsyncTask;->access$500(Landroid/os/AsyncTask;)Ljava/util/concurrent/atomic/AtomicBoolean;
 HSPLandroid/os/AsyncTask;->access$700(Landroid/os/AsyncTask;Ljava/lang/Object;)Ljava/lang/Object;
@@ -17435,13 +15461,10 @@
 HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;)Z
 HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;Z)Z
-HSPLandroid/os/BaseBundle;->getBooleanArray(Ljava/lang/String;)[Z
 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;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;)D
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;D)D
 HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;)F
 HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F
 HSPLandroid/os/BaseBundle;->getFloatArray(Ljava/lang/String;)[F
@@ -17451,7 +15474,6 @@
 HSPLandroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;)J
 HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;J)J
-HSPLandroid/os/BaseBundle;->getLongArray(Ljava/lang/String;)[J
 HSPLandroid/os/BaseBundle;->getMap()Landroid/util/ArrayMap;
 HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable;
 HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
@@ -17468,11 +15490,9 @@
 HSPLandroid/os/BaseBundle;->putAll(Landroid/os/PersistableBundle;)V
 HSPLandroid/os/BaseBundle;->putAll(Landroid/util/ArrayMap;)V
 HSPLandroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
-HSPLandroid/os/BaseBundle;->putBooleanArray(Ljava/lang/String;[Z)V
 HSPLandroid/os/BaseBundle;->putByteArray(Ljava/lang/String;[B)V
 HSPLandroid/os/BaseBundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
 HSPLandroid/os/BaseBundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V
-HSPLandroid/os/BaseBundle;->putDouble(Ljava/lang/String;D)V
 HSPLandroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V
 HSPLandroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
 HSPLandroid/os/BaseBundle;->putIntArray(Ljava/lang/String;[I)V
@@ -17494,12 +15514,10 @@
 HSPLandroid/os/BaseBundle;->unparcel()V
 HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V
 HSPLandroid/os/BatteryManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Landroid/os/IBatteryPropertiesRegistrar;)V
-HSPLandroid/os/BatteryManager;->getIntProperty(I)I
 HSPLandroid/os/BatteryManager;->isCharging()Z
 HSPLandroid/os/BatteryManager;->queryProperty(I)J
 HSPLandroid/os/BatteryManagerInternal;-><init>()V
 HSPLandroid/os/BatteryProperty;-><init>()V
-HSPLandroid/os/BatteryProperty;->getLong()J
 HSPLandroid/os/BatteryProperty;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/os/BatteryProperty;->setLong(J)V
 HPLandroid/os/BatteryProperty;->writeToParcel(Landroid/os/Parcel;I)V
@@ -17531,9 +15549,11 @@
 HSPLandroid/os/BatteryStats$HistoryTag;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;-><init>(I)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;->addLevelSteps(IJJ)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;->appendHex(JILjava/lang/StringBuilder;)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;->clearTime()V
 HSPLandroid/os/BatteryStats$LevelStepTracker;->computeTimePerLevel()J
 HSPLandroid/os/BatteryStats$LevelStepTracker;->decodeEntryAt(ILjava/lang/String;)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;->encodeEntryAt(ILjava/lang/StringBuilder;)V
 HPLandroid/os/BatteryStats$LevelStepTracker;->getDurationAt(I)J
 HPLandroid/os/BatteryStats$LevelStepTracker;->getInitModeAt(I)I
 HPLandroid/os/BatteryStats$LevelStepTracker;->getLevelAt(I)I
@@ -17548,12 +15568,9 @@
 HPLandroid/os/BatteryStats$Timer;->getCurrentDurationMsLocked(J)J
 HPLandroid/os/BatteryStats$Timer;->getMaxDurationMsLocked(J)J
 HPLandroid/os/BatteryStats$Timer;->getTotalDurationMsLocked(J)J
-HSPLandroid/os/BatteryStats$Uid$Pkg$Serv;-><init>()V
-HSPLandroid/os/BatteryStats$Uid$Pkg;-><init>()V
 HSPLandroid/os/BatteryStats$Uid$Proc$ExcessivePower;-><init>()V
 HSPLandroid/os/BatteryStats$Uid$Proc;-><init>()V
 HSPLandroid/os/BatteryStats$Uid$Sensor;-><init>()V
-HSPLandroid/os/BatteryStats$Uid$Wakelock;-><init>()V
 HSPLandroid/os/BatteryStats$Uid;-><init>()V
 HSPLandroid/os/BatteryStats;-><init>()V
 HPLandroid/os/BatteryStats;->controllerActivityHasData(Landroid/os/BatteryStats$ControllerActivityCounter;I)Z
@@ -17570,6 +15587,12 @@
 HPLandroid/os/BatteryStats;->printWakeLockCheckin(Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JLjava/lang/String;ILjava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/BatteryStatsManager;-><init>(Lcom/android/internal/app/IBatteryStats;)V
 PLandroid/os/BatteryStatsManager;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
+HSPLandroid/os/BatteryStatsManager;->reportWifiOn()V
+HPLandroid/os/BatteryStatsManager;->reportWifiRssiChanged(I)V
+HPLandroid/os/BatteryStatsManager;->reportWifiScanStartedFromSource(Landroid/os/WorkSource;)V
+HPLandroid/os/BatteryStatsManager;->reportWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
+HPLandroid/os/BatteryStatsManager;->reportWifiState(ILjava/lang/String;)V
+HPLandroid/os/BatteryStatsManager;->reportWifiSupplicantStateChanged(IZ)V
 HSPLandroid/os/BestClock;-><init>(Ljava/time/ZoneId;[Ljava/time/Clock;)V
 HSPLandroid/os/BestClock;->millis()J
 HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;-><init>()V
@@ -17617,14 +15640,11 @@
 HSPLandroid/os/BinderProxy;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/Build;->ensureFingerprintProperty()V
 HSPLandroid/os/Build;->getRadioVersion()Ljava/lang/String;
-HSPLandroid/os/Build;->getSerial()Ljava/lang/String;
 HSPLandroid/os/Build;->isBuildConsistent()Z
 HSPLandroid/os/Build;->joinListOrElse(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/Build;->lambda$joinListOrElse$0(Ljava/lang/Object;)Ljava/lang/String;
 HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Bundle;
 HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/Bundle$1;->newArray(I)[Landroid/os/Bundle;
-HSPLandroid/os/Bundle$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/os/Bundle;-><init>()V
 HSPLandroid/os/Bundle;-><init>(I)V
 HSPLandroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
@@ -17664,7 +15684,6 @@
 HSPLandroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
 HSPLandroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
 HSPLandroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-HSPLandroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
 HSPLandroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
 HSPLandroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
@@ -17697,14 +15716,8 @@
 HSPLandroid/os/ConditionVariable;->block(J)Z
 HSPLandroid/os/ConditionVariable;->close()V
 HSPLandroid/os/ConditionVariable;->open()V
-PLandroid/os/CoolingDevice$1;-><init>()V
-PLandroid/os/CoolingDevice;-><clinit>()V
-HPLandroid/os/CoolingDevice;-><init>(JILjava/lang/String;)V
-HPLandroid/os/CoolingDevice;->getName()Ljava/lang/String;
-HPLandroid/os/CoolingDevice;->getType()I
-HPLandroid/os/CoolingDevice;->getValue()J
-HPLandroid/os/CoolingDevice;->isValidType(I)Z
 HSPLandroid/os/DeadObjectException;-><init>()V
+HSPLandroid/os/DeadObjectException;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Debug$MemoryInfo;
 HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/Debug$MemoryInfo$1;->newArray(I)[Landroid/os/Debug$MemoryInfo;
@@ -17755,17 +15768,14 @@
 HPLandroid/os/Debug$MemoryInfo;->set(Landroid/os/Debug$MemoryInfo;)V
 HPLandroid/os/Debug$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J
-HSPLandroid/os/Debug;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;[Ljava/lang/String;)Z
 HSPLandroid/os/Debug;->getCaller([Ljava/lang/StackTraceElement;I)Ljava/lang/String;
 HSPLandroid/os/Debug;->getCallers(I)Ljava/lang/String;
 HSPLandroid/os/Debug;->getMethodTracingMode()I
 HSPLandroid/os/Debug;->getVmFeatureList()[Ljava/lang/String;
 HSPLandroid/os/Debug;->isDebuggerConnected()Z
-HSPLandroid/os/Debug;->threadCpuTimeNanos()J
 HSPLandroid/os/Debug;->waitingForDebugger()Z
 HSPLandroid/os/DeviceIdleManager;-><init>(Landroid/content/Context;Landroid/os/IDeviceIdleController;)V
 HSPLandroid/os/DeviceIdleManager;->getService()Landroid/os/IDeviceIdleController;
-HSPLandroid/os/DeviceIdleManager;->isApplicationWhitelisted(Ljava/lang/String;)Z
 HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/DropBoxManager$Entry;
 HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;J)V
@@ -17777,12 +15787,10 @@
 HSPLandroid/os/DropBoxManager$Entry;->getFlags()I
 HSPLandroid/os/DropBoxManager$Entry;->getInputStream()Ljava/io/InputStream;
 HSPLandroid/os/DropBoxManager$Entry;->getTag()Ljava/lang/String;
-HSPLandroid/os/DropBoxManager$Entry;->getTimeMillis()J
 HSPLandroid/os/DropBoxManager$Entry;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/DropBoxManager;-><init>(Landroid/content/Context;Lcom/android/internal/os/IDropBoxManagerService;)V
 HSPLandroid/os/DropBoxManager;->addFile(Ljava/lang/String;Ljava/io/File;I)V
 HSPLandroid/os/DropBoxManager;->addText(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/DropBoxManager;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
 HSPLandroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
 HSPLandroid/os/Environment$UserEnvironment;-><init>(I)V
 HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
@@ -17799,6 +15807,7 @@
 HSPLandroid/os/Environment;->getDataDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getDataDirectory(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataMiscCeDirectory()Ljava/io/File;
+HSPLandroid/os/Environment;->getDataMiscDeDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataProfilesDeDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataSystemCeDirectory()Ljava/io/File;
@@ -17812,6 +15821,7 @@
 HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataUserDePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
+HSPLandroid/os/Environment;->getDataVendorDeDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDownloadCacheDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
@@ -17840,7 +15850,7 @@
 HPLandroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
 HPLandroid/os/FileBridge;-><init>()V
 HPLandroid/os/FileBridge;->forceClose()V
-PLandroid/os/FileBridge;->isClosed()Z
+HPLandroid/os/FileBridge;->isClosed()Z
 HSPLandroid/os/FileObserver$ObserverThread;-><init>()V
 HSPLandroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V
 HSPLandroid/os/FileObserver$ObserverThread;->run()V
@@ -17859,6 +15869,8 @@
 HSPLandroid/os/FileUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V
 HSPLandroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
 HSPLandroid/os/FileUtils;->contains(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/os/FileUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
+HSPLandroid/os/FileUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J
 HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;)Z
 HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/FileUtils;->deleteContents(Ljava/io/File;)Z
@@ -17867,8 +15879,6 @@
 HSPLandroid/os/FileUtils;->isValidExtFilename(Ljava/lang/String;)Z
 HSPLandroid/os/FileUtils;->isValidExtFilenameChar(C)Z
 HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;)[Ljava/io/File;
-HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;Ljava/io/FilenameFilter;)[Ljava/io/File;
-HSPLandroid/os/FileUtils;->listOrEmpty(Ljava/io/File;)[Ljava/lang/String;
 HSPLandroid/os/FileUtils;->newFileOrNull(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
 HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
@@ -17974,7 +15984,6 @@
 HSPLandroid/os/HwBinder;-><init>()V
 HSPLandroid/os/HwBinder;->getService(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IHwBinder;
 HSPLandroid/os/HwBlob;-><init>(I)V
-HPLandroid/os/HwBlob;->putHidlMemory(JLandroid/os/HidlMemory;)V
 HSPLandroid/os/HwBlob;->wrapArray([B)[Ljava/lang/Byte;
 HSPLandroid/os/HwBlob;->wrapArray([I)[Ljava/lang/Integer;
 HSPLandroid/os/HwParcel;-><init>()V
@@ -17987,7 +15996,6 @@
 HSPLandroid/os/HwParcel;->writeStringVector(Ljava/util/ArrayList;)V
 HSPLandroid/os/HwRemoteBinder;-><init>()V
 HSPLandroid/os/HwRemoteBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IHwInterface;
-HSPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getProperty(ILandroid/os/BatteryProperty;)I
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;-><init>()V
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesRegistrar;
@@ -17998,29 +16006,22 @@
 HSPLandroid/os/ICancellationSignal$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/ICancellationSignal$Stub$Proxy;->cancel()V
 HSPLandroid/os/ICancellationSignal$Stub;-><init>()V
-HSPLandroid/os/ICancellationSignal$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/ICancellationSignal$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ICancellationSignal;
-HSPLandroid/os/ICancellationSignal$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getSerialForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;-><init>()V
 HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdentifiersPolicyService;
 HPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IDeviceIdleController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
 HSPLandroid/os/IDeviceIdleController$Stub;-><init>()V
 HSPLandroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController;
 HPLandroid/os/IDeviceIdleController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IDumpstate$Stub;-><init>()V
-HPLandroid/os/IDumpstate$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IExternalVibratorService$Stub;-><init>()V
-HPLandroid/os/IExternalVibratorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IHardwarePropertiesManager$Stub;-><init>()V
 HPLandroid/os/IHardwarePropertiesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IIncidentCompanion$Stub;-><init>()V
 HPLandroid/os/IIncidentCompanion$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IIncidentManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/os/IIncidentManager$Stub$Proxy;->getIncidentReport(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/IncidentManager$IncidentReport;
+HPLandroid/os/IIncidentManager$Stub$Proxy;->getIncidentReportList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/os/IIncidentManager$Stub$Proxy;->systemRunning()V
 HSPLandroid/os/IIncidentManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIncidentManager;
 HSPLandroid/os/IInstalld$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -18052,15 +16053,10 @@
 HSPLandroid/os/IMessenger$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IMessenger;
 HSPLandroid/os/IMessenger$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/os/INetworkActivityListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/os/INetworkActivityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/os/INetworkActivityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/os/INetworkActivityListener$Stub$Proxy;->onNetworkActive()V
-HSPLandroid/os/INetworkActivityListener$Stub;-><init>()V
-HSPLandroid/os/INetworkActivityListener$Stub;->asBinder()Landroid/os/IBinder;
 PLandroid/os/INetworkActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkActivityListener;
-HSPLandroid/os/INetworkActivityListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/INetworkManagementService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/INetworkManagementService$Stub$Proxy;->isNetworkActive()Z
-HSPLandroid/os/INetworkManagementService$Stub$Proxy;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
 HSPLandroid/os/INetworkManagementService$Stub$Proxy;->setUidCleartextNetworkPolicy(II)V
 HSPLandroid/os/INetworkManagementService$Stub;-><init>()V
 HSPLandroid/os/INetworkManagementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkManagementService;
@@ -18072,15 +16068,14 @@
 HSPLandroid/os/IPowerManager$Stub$Proxy;->getPowerSaveState(I)Landroid/os/PowerSaveState;
 HSPLandroid/os/IPowerManager$Stub$Proxy;->isDeviceIdleMode()Z
 HSPLandroid/os/IPowerManager$Stub$Proxy;->isInteractive()Z
-HSPLandroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z
 HSPLandroid/os/IPowerManager$Stub$Proxy;->isPowerSaveMode()Z
 HSPLandroid/os/IPowerManager$Stub$Proxy;->releaseWakeLock(Landroid/os/IBinder;I)V
 HSPLandroid/os/IPowerManager$Stub$Proxy;->setDozeAfterScreenOff(Z)V
-HSPLandroid/os/IPowerManager$Stub$Proxy;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
 HSPLandroid/os/IPowerManager$Stub$Proxy;->userActivity(JII)V
 HSPLandroid/os/IPowerManager$Stub$Proxy;->wakeUp(JILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/IPowerManager$Stub;-><init>()V
 HSPLandroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
+HPLandroid/os/IPowerManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/os/IPowerManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IProcessInfoService$Stub;-><init>()V
 HPLandroid/os/IProcessInfoService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -18088,10 +16083,6 @@
 HSPLandroid/os/IProgressListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IPullAtomCallback$Stub;-><init>()V
 HSPLandroid/os/IPullAtomCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IPullAtomCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IPullAtomResultReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/IPullAtomResultReceiver$Stub$Proxy;->pullFinished(IZ[Landroid/util/StatsEventParcel;)V
-HSPLandroid/os/IPullAtomResultReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPullAtomResultReceiver;
 HSPLandroid/os/IRecoverySystem$Stub;-><init>()V
 HPLandroid/os/IRecoverySystem$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IRemoteCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -18115,10 +16106,8 @@
 PLandroid/os/IStoraged$Stub$Proxy;->onUserStarted(I)V
 HSPLandroid/os/IStoraged$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStoraged;
 HSPLandroid/os/ISystemConfig$Stub;-><init>()V
-HSPLandroid/os/ISystemUpdateManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/ISystemUpdateManager$Stub$Proxy;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
+HPLandroid/os/ISystemConfig$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/ISystemUpdateManager$Stub;-><init>()V
-HSPLandroid/os/ISystemUpdateManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemUpdateManager;
 HPLandroid/os/ISystemUpdateManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/os/IThermalEventListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/os/IThermalEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -18136,7 +16125,6 @@
 HSPLandroid/os/IThermalStatusListener$Stub;-><init>()V
 HSPLandroid/os/IThermalStatusListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IUpdateLock$Stub;-><init>()V
-HPLandroid/os/IUpdateLock$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/os/IUserManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileIds(IZ)[I
@@ -18144,13 +16132,10 @@
 HSPLandroid/os/IUserManager$Stub$Proxy;->getProfiles(IZ)Ljava/util/List;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserAccount(I)Ljava/lang/String;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserBadgeColorResId(I)I
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserCreationTime(I)J
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserIconBadgeResId(I)I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserInfo(I)Landroid/content/pm/UserInfo;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictions(I)Landroid/os/Bundle;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserSerialNumber(I)I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUsers(ZZZ)Ljava/util/List;
 HSPLandroid/os/IUserManager$Stub$Proxy;->hasBadge(I)Z
@@ -18159,11 +16144,11 @@
 HSPLandroid/os/IUserManager$Stub$Proxy;->isDemoUser(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isManagedProfile(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isProfile(I)Z
-HSPLandroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlocked(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlockingOrUnlocked(I)Z
 HSPLandroid/os/IUserManager$Stub;-><init>()V
 HSPLandroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
+HPLandroid/os/IUserManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/os/IUserManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IUserRestrictionsListener$Stub;-><init>()V
 HSPLandroid/os/IVibratorService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -18190,9 +16175,10 @@
 HSPLandroid/os/IVold$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVold;
 HSPLandroid/os/IVoldListener$Stub;-><init>()V
 HSPLandroid/os/IVoldListener$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/os/IVoldListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IVoldListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/os/IVoldMountCallback$Stub;-><init>()V
 PLandroid/os/IVoldMountCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/IVoldTaskListener$Stub;-><init>()V
 HSPLandroid/os/IVoldTaskListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IVoldTaskListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IncidentManager$IncidentReport$1;-><init>()V
@@ -18200,6 +16186,7 @@
 HSPLandroid/os/IncidentManager$IncidentReport$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/IncidentManager$IncidentReport;-><clinit>()V
 HSPLandroid/os/IncidentManager$IncidentReport;-><init>(Landroid/os/Parcel;)V
+HPLandroid/os/IncidentManager$IncidentReport;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/LocaleList;-><init>(Ljava/util/Locale;Landroid/os/LocaleList;)V
@@ -18228,6 +16215,7 @@
 HSPLandroid/os/LocaleList;->toString()Ljava/lang/String;
 HSPLandroid/os/LocaleList;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/Looper;-><init>(Z)V
+HSPLandroid/os/Looper;->dump(Landroid/util/Printer;Ljava/lang/String;)V
 HSPLandroid/os/Looper;->getMainLooper()Landroid/os/Looper;
 HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue;
 HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread;
@@ -18246,11 +16234,8 @@
 HSPLandroid/os/Looper;->showSlowLog(JJJLjava/lang/String;Landroid/os/Message;)Z
 HSPLandroid/os/Looper;->toString()Ljava/lang/String;
 HSPLandroid/os/MemoryFile;-><init>(Ljava/lang/String;I)V
-HSPLandroid/os/MemoryFile;->beginAccess()V
-HSPLandroid/os/MemoryFile;->checkActive()V
 HSPLandroid/os/MemoryFile;->close()V
 HSPLandroid/os/MemoryFile;->deactivate()V
-HSPLandroid/os/MemoryFile;->endAccess()V
 HSPLandroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
 HSPLandroid/os/MemoryFile;->writeBytes([BIII)V
 HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Message;
@@ -18293,6 +16278,7 @@
 HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
 HSPLandroid/os/MessageQueue;->dispatchEvents(II)I
 HSPLandroid/os/MessageQueue;->dispose()V
+HSPLandroid/os/MessageQueue;->dump(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
 HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z
 HSPLandroid/os/MessageQueue;->finalize()V
 HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z
@@ -18337,9 +16323,7 @@
 HSPLandroid/os/Parcel;->access$000(Landroid/os/Parcel;)J
 HSPLandroid/os/Parcel;->adoptClassCookies(Landroid/os/Parcel;)V
 HSPLandroid/os/Parcel;->appendFrom(Landroid/os/Parcel;II)V
-HPLandroid/os/Parcel;->compareData(Landroid/os/Parcel;)I
 HSPLandroid/os/Parcel;->copyClassCookies()Ljava/util/Map;
-HSPLandroid/os/Parcel;->createBinderArrayList()Ljava/util/ArrayList;
 HSPLandroid/os/Parcel;->createBooleanArray()[Z
 HSPLandroid/os/Parcel;->createByteArray()[B
 HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception;
@@ -18377,7 +16361,6 @@
 HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
 HSPLandroid/os/Parcel;->readBlob()[B
 HSPLandroid/os/Parcel;->readBoolean()Z
-HSPLandroid/os/Parcel;->readBooleanArray([Z)V
 HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle;
 HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;
 HSPLandroid/os/Parcel;->readByte()B
@@ -18423,6 +16406,7 @@
 HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;
 HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;
 HSPLandroid/os/Parcel;->recycle()V
+HSPLandroid/os/Parcel;->resetSqaushingState()V
 HSPLandroid/os/Parcel;->restoreAllowFds(Z)V
 HSPLandroid/os/Parcel;->setClassCookie(Ljava/lang/Class;Ljava/lang/Object;)V
 HSPLandroid/os/Parcel;->setDataCapacity(I)V
@@ -18448,7 +16432,6 @@
 HSPLandroid/os/Parcel;->writeCharSequenceArray([Ljava/lang/CharSequence;)V
 HSPLandroid/os/Parcel;->writeCharSequenceList(Ljava/util/ArrayList;)V
 HSPLandroid/os/Parcel;->writeDouble(D)V
-HSPLandroid/os/Parcel;->writeDoubleArray([D)V
 HSPLandroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
 HSPLandroid/os/Parcel;->writeFileDescriptor(Ljava/io/FileDescriptor;)V
 HSPLandroid/os/Parcel;->writeFloat(F)V
@@ -18533,12 +16516,8 @@
 HSPLandroid/os/ParcelUuid;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/ParcelableException;-><init>(Ljava/lang/Throwable;)V
 HSPLandroid/os/ParcelableException;->maybeRethrow(Ljava/lang/Class;)V
-HSPLandroid/os/ParcelableParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelableParcel;
-HSPLandroid/os/ParcelableParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/ParcelableParcel;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-HSPLandroid/os/ParcelableParcel;-><init>(Ljava/lang/ClassLoader;)V
-HSPLandroid/os/ParcelableParcel;->getClassLoader()Ljava/lang/ClassLoader;
-HSPLandroid/os/ParcelableParcel;->getParcel()Landroid/os/Parcel;
+HSPLandroid/os/ParcelableException;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/ParcelableException;->writeToParcel(Landroid/os/Parcel;Ljava/lang/Throwable;)V
 HSPLandroid/os/ParcelableParcel;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/PatternMatcher$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PatternMatcher;
 HSPLandroid/os/PatternMatcher$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -18586,7 +16565,6 @@
 HSPLandroid/os/PowerManager$2;-><init>(Landroid/os/PowerManager;ILjava/lang/String;)V
 HSPLandroid/os/PowerManager$2;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/PowerManager$2;->recompute(Ljava/lang/Void;)Ljava/lang/Boolean;
-HPLandroid/os/PowerManager$WakeData;-><init>(JI)V
 HSPLandroid/os/PowerManager$WakeLock$1;-><init>(Landroid/os/PowerManager$WakeLock;)V
 HSPLandroid/os/PowerManager$WakeLock$1;->run()V
 HSPLandroid/os/PowerManager$WakeLock;-><init>(Landroid/os/PowerManager;ILjava/lang/String;Ljava/lang/String;)V
@@ -18606,8 +16584,8 @@
 HSPLandroid/os/PowerManager;-><init>(Landroid/content/Context;Landroid/os/IPowerManager;Landroid/os/IThermalService;Landroid/os/Handler;)V
 HSPLandroid/os/PowerManager;->addThermalStatusListener(Landroid/os/PowerManager$OnThermalStatusChangedListener;)V
 HSPLandroid/os/PowerManager;->addThermalStatusListener(Ljava/util/concurrent/Executor;Landroid/os/PowerManager$OnThermalStatusChangedListener;)V
+HSPLandroid/os/PowerManager;->getBrightnessConstraint(I)F
 HSPLandroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I
-HSPLandroid/os/PowerManager;->getDeviceIdleManager()Landroid/os/DeviceIdleManager;
 HSPLandroid/os/PowerManager;->getLocationPowerSaveMode()I
 HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessForVrSetting()I
 HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
@@ -18616,7 +16594,6 @@
 HSPLandroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
 HPLandroid/os/PowerManager;->goToSleep(JII)V
 HSPLandroid/os/PowerManager;->isDeviceIdleMode()Z
-HSPLandroid/os/PowerManager;->isIgnoringBatteryOptimizations(Ljava/lang/String;)Z
 HSPLandroid/os/PowerManager;->isInteractive()Z
 HSPLandroid/os/PowerManager;->isLightDeviceIdleMode()Z
 HSPLandroid/os/PowerManager;->isPowerSaveMode()Z
@@ -18646,7 +16623,7 @@
 HSPLandroid/os/PowerSaveState;-><init>(Landroid/os/Parcel;)V
 HPLandroid/os/PowerSaveState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/PowerWhitelistManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/os/PowerWhitelistManager;->whitelistAppTemporarily(Ljava/lang/String;J)V
+HSPLandroid/os/PowerWhitelistManager;->isWhitelisted(Ljava/lang/String;Z)Z
 HSPLandroid/os/Process$ProcessStartResult;-><init>()V
 HSPLandroid/os/Process;->getStartElapsedRealtime()J
 HSPLandroid/os/Process;->getThreadGroupLeader(I)I
@@ -18657,13 +16634,11 @@
 HSPLandroid/os/Process;->isIsolated(I)Z
 HSPLandroid/os/Process;->isThreadInProcess(II)Z
 HSPLandroid/os/Process;->killProcess(I)V
-HSPLandroid/os/Process;->killProcessQuiet(I)V
 HSPLandroid/os/Process;->myPid()I
 HSPLandroid/os/Process;->myTid()I
 HSPLandroid/os/Process;->myUid()I
 HSPLandroid/os/Process;->myUserHandle()Landroid/os/UserHandle;
 HSPLandroid/os/Process;->setStartTimes(JJ)V
-HSPLandroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[JLjava/util/Map;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 HPLandroid/os/Process;->startWebView(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[J[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 PLandroid/os/RecoverySystem;->handleAftermath(Landroid/content/Context;)Ljava/lang/String;
 HSPLandroid/os/RemoteCallback$1;-><init>(Landroid/os/RemoteCallback;)V
@@ -18842,6 +16817,7 @@
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectContentUriWithoutPermission()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectCredentialProtectedWhileLocked()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectIncorrectContextUse()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedClosableObjects()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedRegistrationObjects()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedSqlLiteObjects()Landroid/os/StrictMode$VmPolicy$Builder;
@@ -18856,7 +16832,6 @@
 HSPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;Landroid/os/StrictMode$1;)V
 HSPLandroid/os/StrictMode;->access$100()Ljava/util/HashMap;
 HSPLandroid/os/StrictMode;->access$1000()Ljava/lang/ThreadLocal;
-HSPLandroid/os/StrictMode;->access$1100()Landroid/os/StrictMode$ViolationLogger;
 HSPLandroid/os/StrictMode;->access$1400(ILandroid/os/StrictMode$ViolationInfo;)V
 HSPLandroid/os/StrictMode;->access$1500()Ljava/lang/ThreadLocal;
 HSPLandroid/os/StrictMode;->access$1600()Ljava/lang/ThreadLocal;
@@ -18876,7 +16851,6 @@
 HSPLandroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span;
 HSPLandroid/os/StrictMode;->getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;
 HSPLandroid/os/StrictMode;->getThreadPolicyMask()I
-HSPLandroid/os/StrictMode;->getVmPolicy()Landroid/os/StrictMode$VmPolicy;
 HSPLandroid/os/StrictMode;->handleApplicationStrictModeViolation(ILandroid/os/StrictMode$ViolationInfo;)V
 HSPLandroid/os/StrictMode;->hasGatheredViolations()Z
 HSPLandroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V
@@ -18889,7 +16863,6 @@
 HSPLandroid/os/StrictMode;->noteSlowCall(Ljava/lang/String;)V
 HSPLandroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V
 HSPLandroid/os/StrictMode;->onCredentialProtectedPathAccess(Ljava/lang/String;I)V
-HSPLandroid/os/StrictMode;->onUntaggedSocket()V
 HSPLandroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;)V
 HSPLandroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;Z)V
 HSPLandroid/os/StrictMode;->readAndHandleBinderCallViolations(Landroid/os/Parcel;)V
@@ -18937,8 +16910,6 @@
 HSPLandroid/os/SystemService;->access$100()Ljava/lang/Object;
 HPLandroid/os/SystemService;->getState(Ljava/lang/String;)Landroid/os/SystemService$State;
 PLandroid/os/SystemService;->isRunning(Ljava/lang/String;)Z
-HSPLandroid/os/SystemUpdateManager;-><init>(Landroid/os/ISystemUpdateManager;)V
-HSPLandroid/os/SystemUpdateManager;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
 HSPLandroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
 HSPLandroid/os/SystemVibrator;->cancel()V
 HSPLandroid/os/SystemVibrator;->hasVibrator()Z
@@ -19026,7 +16997,6 @@
 HSPLandroid/os/UserHandle;->isApp(I)Z
 HSPLandroid/os/UserHandle;->isCore(I)Z
 HSPLandroid/os/UserHandle;->isIsolated(I)Z
-HSPLandroid/os/UserHandle;->isOwner()Z
 HSPLandroid/os/UserHandle;->isSameApp(II)Z
 HSPLandroid/os/UserHandle;->isSameUser(II)Z
 HSPLandroid/os/UserHandle;->isSystem()Z
@@ -19057,8 +17027,6 @@
 HSPLandroid/os/UserManager;->getSerialNumberForUser(Landroid/os/UserHandle;)J
 HSPLandroid/os/UserManager;->getUserAccount(I)Ljava/lang/String;
 HSPLandroid/os/UserManager;->getUserBadgeColor(I)I
-HSPLandroid/os/UserManager;->getUserCount()I
-HSPLandroid/os/UserManager;->getUserCreationTime(Landroid/os/UserHandle;)J
 HSPLandroid/os/UserManager;->getUserForSerialNumber(J)Landroid/os/UserHandle;
 HSPLandroid/os/UserManager;->getUserHandle()I
 HSPLandroid/os/UserManager;->getUserHandle(I)I
@@ -19068,7 +17036,6 @@
 HSPLandroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
 HSPLandroid/os/UserManager;->getUserProfiles()Ljava/util/List;
 HSPLandroid/os/UserManager;->getUserRestrictionSources(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/os/UserManager;->getUserRestrictions()Landroid/os/Bundle;
 HSPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;
 HSPLandroid/os/UserManager;->getUserSerialNumber(I)I
 HSPLandroid/os/UserManager;->getUserSwitchability(Landroid/os/UserHandle;)I
@@ -19128,7 +17095,10 @@
 HSPLandroid/os/VibrationAttributes;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/VibrationEffect;
 PLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/VibrationEffect$Composition$PrimitiveEffect$1;-><init>()V
+HSPLandroid/os/VibrationEffect$Composition$PrimitiveEffect;-><clinit>()V
 HSPLandroid/os/VibrationEffect$OneShot;-><init>(JI)V
+HSPLandroid/os/VibrationEffect$OneShot;->getDuration()J
 HSPLandroid/os/VibrationEffect$OneShot;->validate()V
 HSPLandroid/os/VibrationEffect$Prebaked;-><init>(IZ)V
 HPLandroid/os/VibrationEffect$Prebaked;-><init>(Landroid/os/Parcel;)V
@@ -19140,10 +17110,10 @@
 HSPLandroid/os/VibrationEffect$Prebaked;->validate()V
 HSPLandroid/os/VibrationEffect$Prebaked;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/VibrationEffect$Waveform;-><init>([J[II)V
-PLandroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
+HPLandroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
 HSPLandroid/os/VibrationEffect$Waveform;->getDuration()J
-PLandroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
-PLandroid/os/VibrationEffect$Waveform;->getTimings()[J
+HPLandroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
+HPLandroid/os/VibrationEffect$Waveform;->getTimings()[J
 HSPLandroid/os/VibrationEffect$Waveform;->hasNonZeroEntry([J)Z
 HPLandroid/os/VibrationEffect$Waveform;->resolve(I)Landroid/os/VibrationEffect$Waveform;
 HPLandroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect$Waveform;
@@ -19165,16 +17135,13 @@
 HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource$WorkChain;
 HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/WorkSource$WorkChain;-><init>()V
 HPLandroid/os/WorkSource$WorkChain;-><init>(Landroid/os/Parcel;)V
 HPLandroid/os/WorkSource$WorkChain;-><init>(Landroid/os/Parcel;Landroid/os/WorkSource$1;)V
 HSPLandroid/os/WorkSource$WorkChain;-><init>(Landroid/os/WorkSource$WorkChain;)V
-HSPLandroid/os/WorkSource$WorkChain;->addNode(ILjava/lang/String;)Landroid/os/WorkSource$WorkChain;
 HSPLandroid/os/WorkSource$WorkChain;->equals(Ljava/lang/Object;)Z
 PLandroid/os/WorkSource$WorkChain;->getAttributionUid()I
 HPLandroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
 HPLandroid/os/WorkSource$WorkChain;->getUids()[I
-HSPLandroid/os/WorkSource$WorkChain;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/WorkSource;-><init>()V
 HSPLandroid/os/WorkSource;-><init>(I)V
 HSPLandroid/os/WorkSource;-><init>(ILjava/lang/String;)V
@@ -19186,22 +17153,17 @@
 HPLandroid/os/WorkSource;->addWork(Landroid/os/WorkSource;ILjava/lang/String;)Landroid/os/WorkSource;
 HPLandroid/os/WorkSource;->clearNames()V
 HSPLandroid/os/WorkSource;->compare(Landroid/os/WorkSource;II)I
-HSPLandroid/os/WorkSource;->createWorkChain()Landroid/os/WorkSource$WorkChain;
 HSPLandroid/os/WorkSource;->diff(Landroid/os/WorkSource;)Z
 HPLandroid/os/WorkSource;->diffChains(Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList;
 HSPLandroid/os/WorkSource;->equals(Ljava/lang/Object;)Z
 HPLandroid/os/WorkSource;->getAttributionUid()I
-HSPLandroid/os/WorkSource;->getName(I)Ljava/lang/String;
 HSPLandroid/os/WorkSource;->getPackageName(I)Ljava/lang/String;
 HSPLandroid/os/WorkSource;->getUid(I)I
 HSPLandroid/os/WorkSource;->getWorkChains()Ljava/util/List;
-HSPLandroid/os/WorkSource;->hashCode()I
 HPLandroid/os/WorkSource;->insert(II)V
 HSPLandroid/os/WorkSource;->insert(IILjava/lang/String;)V
 HSPLandroid/os/WorkSource;->isChainedBatteryAttributionEnabled(Landroid/content/Context;)Z
 HSPLandroid/os/WorkSource;->isEmpty()Z
-HSPLandroid/os/WorkSource;->remove(Landroid/os/WorkSource;)Z
-HSPLandroid/os/WorkSource;->removeUidsAndNames(Landroid/os/WorkSource;)Z
 HPLandroid/os/WorkSource;->set(I)V
 HSPLandroid/os/WorkSource;->set(Landroid/os/WorkSource;)V
 HPLandroid/os/WorkSource;->setReturningDiffs(Landroid/os/WorkSource;)[Landroid/os/WorkSource;
@@ -19224,7 +17186,7 @@
 HSPLandroid/os/ZygoteProcess;->attemptZygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 PLandroid/os/ZygoteProcess;->bootCompleted()V
 PLandroid/os/ZygoteProcess;->bootCompleted(Ljava/lang/String;)V
-PLandroid/os/ZygoteProcess;->close()V
+HPLandroid/os/ZygoteProcess;->close()V
 HSPLandroid/os/ZygoteProcess;->fetchUsapPoolEnabledProp()Z
 HSPLandroid/os/ZygoteProcess;->fetchUsapPoolEnabledPropWithMinInterval()Z
 HSPLandroid/os/ZygoteProcess;->getAbiList(Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/util/List;
@@ -19237,24 +17199,18 @@
 HSPLandroid/os/ZygoteProcess;->preloadDefault(Ljava/lang/String;)Z
 PLandroid/os/ZygoteProcess;->setHiddenApiAccessLogSampleRate(I)V
 PLandroid/os/ZygoteProcess;->setHiddenApiAccessStatslogSampleRate(I)V
-HSPLandroid/os/ZygoteProcess;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ[JLjava/util/Map;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 HSPLandroid/os/ZygoteProcess;->startChildZygote(Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)Landroid/os/ChildZygoteProcess;
-HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ZZ[JLjava/util/Map;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 HSPLandroid/os/ZygoteProcess;->waitForConnectionToZygote(Landroid/net/LocalSocketAddress;)V
 HSPLandroid/os/ZygoteProcess;->waitForConnectionToZygote(Ljava/lang/String;)V
-HSPLandroid/os/ZygoteProcess;->zygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;ZLjava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
-HPLandroid/os/connectivity/CellularBatteryStats;-><init>()V
-PLandroid/os/connectivity/CellularBatteryStats;->setTimeInRxSignalStrengthLevelMicros([J)V
 HPLandroid/os/connectivity/CellularBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/connectivity/GpsBatteryStats;-><init>()V
+PLandroid/os/connectivity/GpsBatteryStats;->getEnergyConsumedMaMs()J
 PLandroid/os/connectivity/GpsBatteryStats;->getLoggingDurationMs()J
 PLandroid/os/connectivity/GpsBatteryStats;->getTimeInGpsSignalQualityLevel()[J
 PLandroid/os/connectivity/GpsBatteryStats;->initialize()V
-PLandroid/os/connectivity/GpsBatteryStats;->setEnergyConsumedMaMs(J)V
-PLandroid/os/connectivity/GpsBatteryStats;->setLoggingDurationMs(J)V
-HPLandroid/os/connectivity/GpsBatteryStats;->setTimeInGpsSignalQualityLevel([J)V
 HPLandroid/os/connectivity/GpsBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;-><init>(JIJJJJ)V
+HSPLandroid/os/connectivity/WifiActivityEnergyInfo;-><init>(JIJJJJJ)V
+HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->calculateEnergyMicroJoules(JJJ)J
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->getControllerEnergyUsedMicroJoules()J
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->getControllerIdleDurationMillis()J
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->getControllerRxDurationMillis()J
@@ -19263,6 +17219,7 @@
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->getStackState()I
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->getTimeSinceBootMillis()J
 HSPLandroid/os/connectivity/WifiActivityEnergyInfo;->isValid()Z
+HPLandroid/os/connectivity/WifiActivityEnergyInfo;->toString()Ljava/lang/String;
 HPLandroid/os/connectivity/WifiBatteryStats;-><init>(JJJJJJJJJJJJJ[J[J[JJ)V
 PLandroid/os/connectivity/WifiBatteryStats;->getEnergyConsumedMaMillis()J
 PLandroid/os/connectivity/WifiBatteryStats;->getIdleTimeMillis()J
@@ -19277,14 +17234,10 @@
 PLandroid/os/connectivity/WifiBatteryStats;->getSleepTimeMillis()J
 PLandroid/os/connectivity/WifiBatteryStats;->getTxTimeMillis()J
 HPLandroid/os/connectivity/WifiBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/health/HealthKeys$Constants;-><init>(Ljava/lang/Class;)V
 HPLandroid/os/health/HealthKeys$Constants;->getDataType()Ljava/lang/String;
 HPLandroid/os/health/HealthKeys$Constants;->getIndex(II)I
 HPLandroid/os/health/HealthKeys$Constants;->getKeys(I)[I
 HPLandroid/os/health/HealthKeys$Constants;->getSize(I)I
-PLandroid/os/health/HealthKeys$SortedIntArray;-><init>(I)V
-PLandroid/os/health/HealthKeys$SortedIntArray;->addValue(I)V
-PLandroid/os/health/HealthKeys$SortedIntArray;->getArray()[I
 HSPLandroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/os/health/HealthStats;->createHealthStatsMap(Landroid/os/Parcel;)Landroid/util/ArrayMap;
 HSPLandroid/os/health/HealthStats;->createLongsMap(Landroid/os/Parcel;)Landroid/util/ArrayMap;
@@ -19317,10 +17270,6 @@
 HPLandroid/os/health/HealthStatsWriter;->writeHealthStatsWriterMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
 HPLandroid/os/health/HealthStatsWriter;->writeLongsMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
 HPLandroid/os/health/HealthStatsWriter;->writeParcelableMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-PLandroid/os/health/PackageHealthStats;-><clinit>()V
-PLandroid/os/health/PidHealthStats;-><clinit>()V
-PLandroid/os/health/ProcessHealthStats;-><clinit>()V
-PLandroid/os/health/ServiceHealthStats;-><clinit>()V
 HSPLandroid/os/health/SystemHealthManager;-><init>(Lcom/android/internal/app/IBatteryStats;)V
 HSPLandroid/os/health/SystemHealthManager;->takeMyUidSnapshot()Landroid/os/health/HealthStats;
 HSPLandroid/os/health/SystemHealthManager;->takeUidSnapshot(I)Landroid/os/health/HealthStats;
@@ -19331,11 +17280,8 @@
 HSPLandroid/os/health/TimerStat;->getCount()I
 HSPLandroid/os/health/TimerStat;->getTime()J
 HPLandroid/os/health/TimerStat;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/health/UidHealthStats;-><clinit>()V
 HSPLandroid/os/image/IDynamicSystemService$Stub;-><init>()V
 PLandroid/os/image/IDynamicSystemService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/incremental/IIncrementalManager$Stub;-><init>()V
-HPLandroid/os/incremental/IIncrementalManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/incremental/IncrementalManager;->isIncrementalPath(Ljava/lang/String;)Z
 HSPLandroid/os/storage/-$$Lambda$StorageManager$StorageEventListenerDelegate$GoEFKT1rhv7KuSkGeH69DO738lA;-><init>(Landroid/os/storage/StorageManager$StorageEventListenerDelegate;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/storage/-$$Lambda$StorageManager$StorageEventListenerDelegate$GoEFKT1rhv7KuSkGeH69DO738lA;->run()V
@@ -19353,7 +17299,6 @@
 PLandroid/os/storage/IStorageEventListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageEventListener;
 HSPLandroid/os/storage/IStorageEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getDisks()[Landroid/os/storage/DiskInfo;
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
@@ -19376,7 +17321,6 @@
 HSPLandroid/os/storage/StorageManager$StorageVolumeCallback;-><init>()V
 HSPLandroid/os/storage/StorageManager$StorageVolumeCallback;->onStateChanged(Landroid/os/storage/StorageVolume;)V
 HSPLandroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;J)V
 HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;JI)V
 HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/util/UUID;JI)V
 HPLandroid/os/storage/StorageManager;->checkPermissionAndAppOp(Landroid/content/Context;ZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
@@ -19386,6 +17330,7 @@
 PLandroid/os/storage/StorageManager;->checkPermissionReadImages(ZIILjava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/os/storage/StorageManager;->convert(Ljava/lang/String;)Ljava/util/UUID;
 HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String;
+HSPLandroid/os/storage/StorageManager;->findEmulatedForPrivate(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
 HPLandroid/os/storage/StorageManager;->findPathForUuid(Ljava/lang/String;)Ljava/io/File;
 HPLandroid/os/storage/StorageManager;->findPrivateForEmulated(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
 HSPLandroid/os/storage/StorageManager;->findVolumeById(Ljava/lang/String;)Landroid/os/storage/VolumeInfo;
@@ -19396,6 +17341,7 @@
 HSPLandroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String;
 HSPLandroid/os/storage/StorageManager;->getDisks()Ljava/util/List;
 HSPLandroid/os/storage/StorageManager;->getPrimaryStorageSize()J
+PLandroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
 HSPLandroid/os/storage/StorageManager;->getPrimaryVolume()Landroid/os/storage/StorageVolume;
 HSPLandroid/os/storage/StorageManager;->getPrimaryVolume([Landroid/os/storage/StorageVolume;)Landroid/os/storage/StorageVolume;
 HPLandroid/os/storage/StorageManager;->getStorageCacheBytes(Ljava/io/File;I)J
@@ -19448,10 +17394,10 @@
 HSPLandroid/os/storage/VolumeInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/os/storage/VolumeInfo;-><init>(Ljava/lang/String;ILandroid/os/storage/DiskInfo;Ljava/lang/String;)V
 HPLandroid/os/storage/VolumeInfo;->buildStorageVolume(Landroid/content/Context;IZ)Landroid/os/storage/StorageVolume;
-PLandroid/os/storage/VolumeInfo;->clone()Landroid/os/storage/VolumeInfo;
+HPLandroid/os/storage/VolumeInfo;->clone()Landroid/os/storage/VolumeInfo;
 HSPLandroid/os/storage/VolumeInfo;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLandroid/os/storage/VolumeInfo;->getBroadcastForEnvironment(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/storage/VolumeInfo;->getDescription()Ljava/lang/String;
+HSPLandroid/os/storage/VolumeInfo;->getDisk()Landroid/os/storage/DiskInfo;
 HSPLandroid/os/storage/VolumeInfo;->getDiskId()Ljava/lang/String;
 HPLandroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String;
 HSPLandroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String;
@@ -19484,32 +17430,35 @@
 PLandroid/permission/-$$Lambda$PermissionControllerManager$WcxnBH4VsthEHNc7qKClONaAHtQ;-><init>(Ljava/util/function/Consumer;)V
 PLandroid/permission/-$$Lambda$PermissionControllerManager$WcxnBH4VsthEHNc7qKClONaAHtQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLandroid/permission/-$$Lambda$PermissionControllerManager$u5bno-vHXoMY3ADbZMAlZp7v9oI;->run(Ljava/lang/Object;)Ljava/lang/Object;
-PLandroid/permission/-$$Lambda$PermissionControllerManager$yqGWw4vOTpW9pDZRlfJdxzYUsF0;->run(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/permission/-$$Lambda$ViMr_PAGHrCLBQPYNzqdYUNU5zI;-><clinit>()V
 HSPLandroid/permission/-$$Lambda$ViMr_PAGHrCLBQPYNzqdYUNU5zI;-><init>()V
 PLandroid/permission/-$$Lambda$ViMr_PAGHrCLBQPYNzqdYUNU5zI;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HPLandroid/permission/IOnPermissionsChangeListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/permission/IOnPermissionsChangeListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/permission/IOnPermissionsChangeListener$Stub$Proxy;->onPermissionsChanged(I)V
 HSPLandroid/permission/IOnPermissionsChangeListener$Stub;-><init>()V
 HSPLandroid/permission/IOnPermissionsChangeListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/permission/IOnPermissionsChangeListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/permission/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/permission/IOnPermissionsChangeListener;
 PLandroid/permission/IPermissionController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/permission/IPermissionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+PLandroid/permission/IPermissionController$Stub$Proxy;->grantOrUpgradeDefaultRuntimePermissions(Lcom/android/internal/infra/AndroidFuture;)V
 PLandroid/permission/IPermissionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/permission/IPermissionController;
 HSPLandroid/permission/IPermissionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/permission/IPermissionManager$Stub$Proxy;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
 HSPLandroid/permission/IPermissionManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/permission/IPermissionManager$Stub$Proxy;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/permission/IPermissionManager$Stub$Proxy;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/permission/IPermissionManager$Stub$Proxy;->getSplitPermissions()Ljava/util/List;
-HSPLandroid/permission/IPermissionManager$Stub$Proxy;->removeOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
 HSPLandroid/permission/IPermissionManager$Stub;-><init>()V
 HSPLandroid/permission/IPermissionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/permission/IPermissionManager;
+PLandroid/permission/IPermissionManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLandroid/permission/IPermissionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/permission/PermissionControllerManager$1;-><init>(Landroid/permission/PermissionControllerManager;Landroid/content/Context;Landroid/content/Intent;IILjava/util/function/Function;Landroid/os/Handler;)V
 PLandroid/permission/PermissionControllerManager$1;->getAutoDisconnectTimeoutMs()J
 PLandroid/permission/PermissionControllerManager$1;->getJobHandler()Landroid/os/Handler;
 HSPLandroid/permission/PermissionControllerManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLandroid/permission/PermissionControllerManager;->grantOrUpgradeDefaultRuntimePermissions(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
+PLandroid/permission/PermissionControllerManager;->lambda$grantOrUpgradeDefaultRuntimePermissions$21(Landroid/permission/IPermissionController;)Ljava/util/concurrent/CompletableFuture;
+PLandroid/permission/PermissionControllerManager;->lambda$grantOrUpgradeDefaultRuntimePermissions$22(Ljava/util/function/Consumer;Ljava/lang/Boolean;Ljava/lang/Throwable;)V
+PLandroid/permission/PermissionControllerManager;->updateUserSensitive()V
 HSPLandroid/permission/PermissionManager$1;-><init>(ILjava/lang/String;)V
 HSPLandroid/permission/PermissionManager$1;->recompute(Landroid/permission/PermissionManager$PermissionQuery;)Ljava/lang/Integer;
 HSPLandroid/permission/PermissionManager$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object;
@@ -19544,11 +17493,10 @@
 HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferencesMode()I
 HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferencesName(Landroid/content/Context;)Ljava/lang/String;
 HSPLandroid/print/IPrintManager$Stub;-><init>()V
-HPLandroid/print/IPrintManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/print/IPrintSpooler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/print/IPrintSpooler$Stub$Proxy;->pruneApprovedPrintServices(Ljava/util/List;)V
 PLandroid/print/IPrintSpooler$Stub$Proxy;->removeObsoletePrintJobs()V
-PLandroid/print/IPrintSpooler$Stub$Proxy;->setClient(Landroid/print/IPrintSpoolerClient;)V
+HPLandroid/print/IPrintSpooler$Stub$Proxy;->setClient(Landroid/print/IPrintSpoolerClient;)V
 PLandroid/print/IPrintSpooler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpooler;
 PLandroid/print/IPrintSpoolerClient$Stub;->asBinder()Landroid/os/IBinder;
 PLandroid/print/IPrintSpoolerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -19576,32 +17524,13 @@
 HSPLandroid/provider/-$$Lambda$Settings$NameValueCache$qSyMM6rUAHCa-5rsP-atfAqR3sA;-><init>(Landroid/provider/Settings$NameValueCache;)V
 PLandroid/provider/BlockedNumberContract$SystemContract;->shouldShowEmergencyCallNotification(Landroid/content/Context;)Z
 HSPLandroid/provider/CalendarContract$Attendees;-><clinit>()V
-HSPLandroid/provider/CalendarContract;-><clinit>()V
 HSPLandroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
 HSPLandroid/provider/CallLog;-><clinit>()V
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabelResource(I)I
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Event;->getTypeResource(Ljava/lang/Integer;)I
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Im;->getProtocolLabelResource(I)I
 HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabelResource(I)I
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Relation;->getTypeLabelResource(I)I
-HSPLandroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;-><clinit>()V
-HSPLandroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;->getTypeLabelResource(I)I
 HSPLandroid/provider/ContactsContract$Contacts;->getLookupUri(JLjava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/ContactsContract$Contacts;->isEnterpriseContactId(J)Z
-HSPLandroid/provider/ContactsContract$DeletedContacts;-><clinit>()V
-HSPLandroid/provider/ContactsContract$Directory;-><clinit>()V
-HSPLandroid/provider/ContactsContract$Directory;->isEnterpriseDirectoryId(J)Z
-HSPLandroid/provider/ContactsContract$Directory;->isRemoteDirectoryId(J)Z
-HSPLandroid/provider/ContactsContract$DisplayPhoto;-><clinit>()V
-HSPLandroid/provider/ContactsContract$Groups;-><clinit>()V
 HSPLandroid/provider/ContactsContract$Profile;-><clinit>()V
-HSPLandroid/provider/ContactsContract$ProviderStatus;-><clinit>()V
-HSPLandroid/provider/ContactsContract$RawContacts;-><clinit>()V
-HSPLandroid/provider/ContactsContract$RawContactsEntity;-><clinit>()V
-HSPLandroid/provider/ContactsContract$Settings;-><clinit>()V
-HSPLandroid/provider/ContactsContract$SyncState;-><clinit>()V
 HSPLandroid/provider/DeviceConfig$1;-><init>(Landroid/os/Handler;)V
 HSPLandroid/provider/DeviceConfig$1;->onChange(ZLandroid/net/Uri;)V
 HSPLandroid/provider/DeviceConfig$Properties$Builder;-><init>(Ljava/lang/String;)V
@@ -19623,12 +17552,12 @@
 HSPLandroid/provider/DeviceConfig;->getLong(Ljava/lang/String;Ljava/lang/String;J)J
 HSPLandroid/provider/DeviceConfig;->getProperties(Ljava/lang/String;[Ljava/lang/String;)Landroid/provider/DeviceConfig$Properties;
 HSPLandroid/provider/DeviceConfig;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/DeviceConfig;->getPublicNamespaces()Ljava/util/List;
 HSPLandroid/provider/DeviceConfig;->getString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/DeviceConfig;->handleChange(Landroid/net/Uri;)V
 HSPLandroid/provider/DeviceConfig;->incrementNamespace(Ljava/lang/String;)V
 HPLandroid/provider/DeviceConfig;->lambda$handleChange$0(Landroid/provider/DeviceConfig$OnPropertiesChangedListener;Landroid/provider/DeviceConfig$Properties;)V
 HSPLandroid/provider/DeviceConfig;->removeOnPropertiesChangedListener(Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
-HSPLandroid/provider/DeviceConfig;->setProperties(Landroid/provider/DeviceConfig$Properties;)Z
 PLandroid/provider/Downloads;->removeAllDownloadsByPackage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/provider/FontRequest;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/provider/FontRequest;->getIdentifier()Ljava/lang/String;
@@ -19668,11 +17597,11 @@
 HSPLandroid/provider/Settings$Config;->createCompositeName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$Config;->createPrefix(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$Config;->getStrings(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/provider/Settings$Config;->setStrings(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/Map;)Z
+HSPLandroid/provider/Settings$Config;->registerMonitorCallback(Landroid/content/ContentResolver;Landroid/os/RemoteCallback;)V
+HSPLandroid/provider/Settings$Config;->registerMonitorCallbackAsUser(Landroid/content/ContentResolver;ILandroid/os/RemoteCallback;)V
 HSPLandroid/provider/Settings$ContentProviderHolder;->access$000(Landroid/provider/Settings$ContentProviderHolder;)Landroid/net/Uri;
 HSPLandroid/provider/Settings$ContentProviderHolder;->getProvider(Landroid/content/ContentResolver;)Landroid/content/IContentProvider;
 HSPLandroid/provider/Settings$GenerationTracker;-><init>(Landroid/util/MemoryIntArray;IILjava/lang/Runnable;)V
-HSPLandroid/provider/Settings$GenerationTracker;->destroy()V
 HSPLandroid/provider/Settings$GenerationTracker;->getCurrentGeneration()I
 HSPLandroid/provider/Settings$GenerationTracker;->isGenerationChanged()Z
 HSPLandroid/provider/Settings$GenerationTracker;->readCurrentGeneration()I
@@ -19694,7 +17623,6 @@
 HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Landroid/util/ArrayMap;
 HSPLandroid/provider/Settings$NameValueCache;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIZ)Z
-HSPLandroid/provider/Settings$NameValueCache;->setStringsForPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/HashMap;)Z
 HSPLandroid/provider/Settings$NameValueTable;->getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/Settings$Secure;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
 HSPLandroid/provider/Settings$Secure;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
@@ -19709,7 +17637,6 @@
 HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$Secure;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/Settings$Secure;->isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
 HSPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
 HSPLandroid/provider/Settings$Secure;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
@@ -19722,10 +17649,8 @@
 HSPLandroid/provider/Settings$System;->getCloneFromParentOnValueSettings(Ljava/util/Map;)V
 HSPLandroid/provider/Settings$System;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
 HSPLandroid/provider/Settings$System;->getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V
-HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F
 HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
 HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
-HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
 HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
 HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
 HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
@@ -19735,25 +17660,19 @@
 HSPLandroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/Settings$System;->putFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)Z
 HSPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
 HSPLandroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;IZ)Z
-HSPLandroid/provider/Settings;->canDrawOverlays(Landroid/content/Context;)Z
 HSPLandroid/provider/Settings;->checkAndNoteChangeNetworkStateOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
 HSPLandroid/provider/Settings;->getPackageNameForUid(Landroid/content/Context;I)Ljava/lang/String;
-HSPLandroid/provider/Settings;->isCallingPackageAllowedToDrawOverlays(Landroid/content/Context;ILjava/lang/String;Z)Z
 HSPLandroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z
 HSPLandroid/provider/Settings;->isInSystemServer()Z
 HSPLandroid/provider/Settings;->setInSystemServer()V
-HSPLandroid/provider/Telephony$Mms;-><clinit>()V
 HSPLandroid/provider/Telephony$Mms;->isPhoneNumber(Ljava/lang/String;)Z
 HSPLandroid/provider/Telephony$MmsSms;-><clinit>()V
-HSPLandroid/provider/Telephony$Sms$Intents;->getMessagesFromIntent(Landroid/content/Intent;)[Landroid/telephony/SmsMessage;
 HSPLandroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/provider/Telephony$Threads;-><clinit>()V
-HSPLandroid/provider/VoicemailContract$Status;-><clinit>()V
-HSPLandroid/provider/VoicemailContract$Voicemails;-><clinit>()V
 HSPLandroid/renderscript/BaseObj;-><init>(JLandroid/renderscript/RenderScript;)V
 HSPLandroid/renderscript/BaseObj;->equals(Ljava/lang/Object;)Z
 HSPLandroid/renderscript/BaseObj;->getID(Landroid/renderscript/RenderScript;)J
@@ -19800,7 +17719,6 @@
 HSPLandroid/security/GateKeeper;->getSecureUserId()J
 HSPLandroid/security/GateKeeper;->getService()Landroid/service/gatekeeper/IGateKeeperService;
 HSPLandroid/security/IFileIntegrityService$Stub;-><init>()V
-HPLandroid/security/IFileIntegrityService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/security/IKeyChainService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/security/IKeyChainService$Stub$Proxy;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
 HSPLandroid/security/IKeyChainService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IKeyChainService;
@@ -19811,10 +17729,6 @@
 HSPLandroid/security/KeyChain$KeyChainConnection;->getService()Landroid/security/IKeyChainService;
 HSPLandroid/security/KeyChain;->bindAsUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
 HSPLandroid/security/KeyChain;->ensureNotOnMainThread(Landroid/content/Context;)V
-HSPLandroid/security/KeyStore$ExportKeyPromise;-><init>(Landroid/security/KeyStore;)V
-HSPLandroid/security/KeyStore$ExportKeyPromise;-><init>(Landroid/security/KeyStore;Landroid/security/KeyStore$1;)V
-HSPLandroid/security/KeyStore$ExportKeyPromise;->getFuture()Ljava/util/concurrent/CompletableFuture;
-HSPLandroid/security/KeyStore$ExportKeyPromise;->onFinished(Landroid/security/keymaster/ExportResult;)V
 HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;-><init>(Landroid/security/KeyStore;Landroid/security/keystore/KeystoreResponse;Landroid/security/keymaster/KeyCharacteristics;)V
 HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeyCharacteristics()Landroid/security/keymaster/KeyCharacteristics;
 HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeystoreResponse()Landroid/security/keystore/KeystoreResponse;
@@ -19836,7 +17750,6 @@
 HSPLandroid/security/KeyStore;->contains(Ljava/lang/String;I)Z
 HSPLandroid/security/KeyStore;->delete(Ljava/lang/String;I)Z
 HSPLandroid/security/KeyStore;->delete2(Ljava/lang/String;I)I
-HSPLandroid/security/KeyStore;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
 HSPLandroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B[B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/KeyStore;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
 HSPLandroid/security/KeyStore;->generateKeyInternal(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
@@ -19849,7 +17762,6 @@
 HSPLandroid/security/KeyStore;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
 HSPLandroid/security/KeyStore;->getKeyStoreException(I)Landroid/security/KeyStoreException;
 HSPLandroid/security/KeyStore;->getToken()Landroid/os/IBinder;
-HSPLandroid/security/KeyStore;->getmtime(Ljava/lang/String;I)J
 HSPLandroid/security/KeyStore;->grant(Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/security/KeyStore;->insert(Ljava/lang/String;[BII)I
 HSPLandroid/security/KeyStore;->list(Ljava/lang/String;I)[Ljava/lang/String;
@@ -19858,28 +17770,17 @@
 HPLandroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
 HSPLandroid/security/KeyStore;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/KeyStoreException;->getErrorCode()I
-HSPLandroid/security/NetworkSecurityPolicy;->getInstance()Landroid/security/NetworkSecurityPolicy;
-HSPLandroid/security/NetworkSecurityPolicy;->isCleartextTrafficPermitted()Z
 HPLandroid/security/Scrypt;-><init>()V
-HPLandroid/security/Scrypt;->scrypt([B[BIIII)[B
-HSPLandroid/security/keymaster/ExportResult$1;-><init>()V
-HSPLandroid/security/keymaster/ExportResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/ExportResult;
-HSPLandroid/security/keymaster/ExportResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/security/keymaster/ExportResult;-><clinit>()V
-HSPLandroid/security/keymaster/ExportResult;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
 HPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLandroid/security/keymaster/KeyAttestationApplicationId;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/security/keymaster/KeyAttestationPackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/security/keymaster/KeyAttestationPackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeyCharacteristics;
 HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keymaster/KeyCharacteristics;-><init>()V
 HSPLandroid/security/keymaster/KeyCharacteristics;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/security/keymaster/KeyCharacteristics;->getBoolean(I)Z
-HSPLandroid/security/keymaster/KeyCharacteristics;->getDate(I)Ljava/util/Date;
 HSPLandroid/security/keymaster/KeyCharacteristics;->getEnum(I)Ljava/lang/Integer;
 HSPLandroid/security/keymaster/KeyCharacteristics;->getEnums(I)Ljava/util/List;
-HSPLandroid/security/keymaster/KeyCharacteristics;->getUnsignedInt(IJ)J
 HSPLandroid/security/keymaster/KeyCharacteristics;->getUnsignedLongs(I)Ljava/util/List;
 HSPLandroid/security/keymaster/KeyCharacteristics;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeyCharacteristics;->shallowCopyFrom(Landroid/security/keymaster/KeyCharacteristics;)V
@@ -19903,26 +17804,23 @@
 HSPLandroid/security/keymaster/KeymasterArguments;->addUnsignedLong(ILjava/math/BigInteger;)V
 HSPLandroid/security/keymaster/KeymasterArguments;->containsTag(I)Z
 HSPLandroid/security/keymaster/KeymasterArguments;->getArgumentByTag(I)Landroid/security/keymaster/KeymasterArgument;
-HSPLandroid/security/keymaster/KeymasterArguments;->getBoolean(I)Z
 HSPLandroid/security/keymaster/KeymasterArguments;->getBytes(I[B)[B
-HSPLandroid/security/keymaster/KeymasterArguments;->getDate(ILjava/util/Date;)Ljava/util/Date;
 HSPLandroid/security/keymaster/KeymasterArguments;->getEnum(II)I
 HSPLandroid/security/keymaster/KeymasterArguments;->getEnumTagValue(Landroid/security/keymaster/KeymasterArgument;)I
 HSPLandroid/security/keymaster/KeymasterArguments;->getEnums(I)Ljava/util/List;
 HSPLandroid/security/keymaster/KeymasterArguments;->getLongTagValue(Landroid/security/keymaster/KeymasterArgument;)Ljava/math/BigInteger;
-HSPLandroid/security/keymaster/KeymasterArguments;->getUnsignedInt(IJ)J
 HSPLandroid/security/keymaster/KeymasterArguments;->getUnsignedLongs(I)Ljava/util/List;
 HSPLandroid/security/keymaster/KeymasterArguments;->toUint64(J)Ljava/math/BigInteger;
 HSPLandroid/security/keymaster/KeymasterArguments;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/security/keymaster/KeymasterBlob;-><init>([B)V
 HSPLandroid/security/keymaster/KeymasterBlob;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/security/keymaster/KeymasterBlobArgument;-><init>(ILandroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterBlobArgument;-><init>(I[B)V
 HSPLandroid/security/keymaster/KeymasterBlobArgument;->writeValue(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterBooleanArgument;-><init>(I)V
 HSPLandroid/security/keymaster/KeymasterBooleanArgument;-><init>(ILandroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterBooleanArgument;->writeValue(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterCertificateChain;-><init>()V
+HSPLandroid/security/keymaster/KeymasterCertificateChain;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterDateArgument;-><init>(ILandroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterDefs;->getTagType(I)I
 HSPLandroid/security/keymaster/KeymasterIntArgument;-><init>(II)V
@@ -19967,8 +17865,6 @@
 HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putSignatureImpl(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putSymmetricCipherImpl(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createAdditionalAuthenticationDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineDoFinal([BII)[B
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
@@ -19981,17 +17877,6 @@
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetAll()V
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetWhilePreservingInitState()V
 HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->setKey(Landroid/security/keystore/AndroidKeyStoreKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi$SHA256;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;-><init>(I)V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;->getAdditionalEntropyAmountForSign()I
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;->initKey(Landroid/security/keystore/AndroidKeyStoreKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;->resetAll()V
-HSPLandroid/security/keystore/AndroidKeyStoreECDSASignatureSpi;->resetWhilePreservingInitState()V
-HSPLandroid/security/keystore/AndroidKeyStoreECPrivateKey;-><init>(Ljava/lang/String;ILjava/security/spec/ECParameterSpec;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECPublicKey;-><init>(Ljava/lang/String;ILjava/security/interfaces/ECPublicKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECPublicKey;-><init>(Ljava/lang/String;I[BLjava/security/spec/ECParameterSpec;Ljava/security/spec/ECPoint;)V
-HSPLandroid/security/keystore/AndroidKeyStoreECPublicKey;->getParams()Ljava/security/spec/ECParameterSpec;
 HSPLandroid/security/keystore/AndroidKeyStoreHmacSpi$HmacSHA256;-><init>()V
 HSPLandroid/security/keystore/AndroidKeyStoreHmacSpi;-><init>(I)V
 HSPLandroid/security/keystore/AndroidKeyStoreHmacSpi;->engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
@@ -20005,94 +17890,23 @@
 HSPLandroid/security/keystore/AndroidKeyStoreKey;->getUid()I
 HSPLandroid/security/keystore/AndroidKeyStoreKeyFactorySpi;-><init>()V
 HSPLandroid/security/keystore/AndroidKeyStoreKeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$EC;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$RSA;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;-><clinit>()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;-><init>(I)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->addAlgorithmSpecificParameters(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->checkValidKeySize(IIZ)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->constructKeyGenerationArguments()Landroid/security/keymaster/KeymasterArguments;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->createCertificateChain(Ljava/lang/String;Ljava/security/KeyPair;)Ljava/lang/Iterable;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateKeyPair()Ljava/security/KeyPair;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateKeystoreKeyPair(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BI)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificate(Ljava/security/PrivateKey;Ljava/security/PublicKey;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateBytes(Ljava/security/KeyPair;)[B
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithFakeSignature(Ljava/security/PublicKey;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithValidSignature(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAvailableKeymasterSignatureDigests([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Set;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getCertificateSignatureAlgorithm(IILandroid/security/keystore/KeyGenParameterSpec;)Ljava/lang/String;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->initAlgorithmSpecificParameters()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->loadKeystoreKeyPair(Ljava/lang/String;)Ljava/security/KeyPair;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->resetAll()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->storeCertificate(Ljava/lang/String;[BILjava/lang/String;)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->storeCertificateChain(ILjava/lang/Iterable;)V
 HSPLandroid/security/keystore/AndroidKeyStoreLoadStoreParameter;-><init>(I)V
 HSPLandroid/security/keystore/AndroidKeyStoreLoadStoreParameter;->getUid()I
-HSPLandroid/security/keystore/AndroidKeyStorePrivateKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->getAndroidKeyStorePrivateKey(Landroid/security/keystore/AndroidKeyStorePublicKey;)Landroid/security/keystore/AndroidKeyStorePrivateKey;
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->getAndroidKeyStorePublicKey(Ljava/lang/String;ILjava/lang/String;[B)Landroid/security/keystore/AndroidKeyStorePublicKey;
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->getKeyCharacteristics(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keymaster/KeyCharacteristics;
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->getKeyStoreForUid(I)Ljava/security/KeyStore;
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->install()V
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStoreKey;
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyPairFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Ljava/security/KeyPair;
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyPairFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Ljava/security/KeyPair;
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePrivateKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStorePrivateKey;
-HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStorePublicKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStorePublicKey;
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreSecretKeyFromKeystore(Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStoreSecretKey;
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->putKeyFactoryImpl(Ljava/lang/String;)V
 HSPLandroid/security/keystore/AndroidKeyStoreProvider;->putSecretKeyFactoryImpl(Ljava/lang/String;)V
-HSPLandroid/security/keystore/AndroidKeyStorePublicKey;-><init>(Ljava/lang/String;ILjava/lang/String;[B)V
-HSPLandroid/security/keystore/AndroidKeyStorePublicKey;->getEncoded()[B
-HSPLandroid/security/keystore/AndroidKeyStoreRSAPrivateKey;-><init>(Ljava/lang/String;ILjava/math/BigInteger;)V
-HSPLandroid/security/keystore/AndroidKeyStoreRSAPublicKey;-><init>(Ljava/lang/String;ILjava/security/interfaces/RSAPublicKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreRSAPublicKey;-><init>(Ljava/lang/String;I[BLjava/math/BigInteger;Ljava/math/BigInteger;)V
-HSPLandroid/security/keystore/AndroidKeyStoreRSAPublicKey;->getModulus()Ljava/math/BigInteger;
 HSPLandroid/security/keystore/AndroidKeyStoreSecretKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
-HSPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->getKeyInfo(Landroid/security/KeyStore;Ljava/lang/String;Ljava/lang/String;I)Landroid/security/keystore/KeyInfo;
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineInitSign(Ljava/security/PrivateKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineSign()[B
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineUpdate([BII)V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->ensureKeystoreOperationInitialized()V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->getKeyStore()Landroid/security/KeyStore;
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->initKey(Landroid/security/keystore/AndroidKeyStoreKey;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->resetAll()V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->resetWhilePreservingInitState()V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;-><init>(Ljava/lang/String;ILjava/security/cert/X509Certificate;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;->getPublicKey()Ljava/security/PublicKey;
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineAliases()Ljava/util/Enumeration;
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineContainsAlias(Ljava/lang/String;)Z
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCreationDate(Ljava/lang/String;)Ljava/util/Date;
+HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineDeleteEntry(Ljava/lang/String;)V
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetKey(Ljava/lang/String;[C)Ljava/security/Key;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsCertificateEntry(Ljava/lang/String;)Z
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsKeyEntry(Ljava/lang/String;)Z
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->getCertificateForPrivateKeyEntry(Ljava/lang/String;[B)Ljava/security/cert/Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->getUniqueAliases()Ljava/util/Set;
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->isKeyEntry(Ljava/lang/String;)Z
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->toCertificate([B)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->wrapIntoKeyStoreCertificate(Ljava/lang/String;ILjava/security/cert/X509Certificate;)Landroid/security/keystore/AndroidKeyStoreSpi$KeyStoreX509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding;->finalize()V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC;-><init>(I)V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;-><init>(IIZ)V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->getAdditionalEntropyAmountForBegin()I
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->getAdditionalEntropyAmountForFinish()I
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->initKey(ILjava/security/Key;)V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->resetAll()V
-HSPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->resetWhilePreservingInitState()V
 HSPLandroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([B)[B
 HSPLandroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/security/keystore/ArrayUtils;->concat([BII[BII)[B
@@ -20100,11 +17914,6 @@
 HSPLandroid/security/keystore/ArrayUtils;->copy([BI[BII)I
 HSPLandroid/security/keystore/ArrayUtils;->nullToEmpty([Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/security/keystore/ArrayUtils;->subarray([BII)[B
-HSPLandroid/security/keystore/DelegatingX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
-HSPLandroid/security/keystore/DelegatingX509Certificate;->getPublicKey()Ljava/security/PublicKey;
-HSPLandroid/security/keystore/IKeystoreExportKeyCallback$Stub;-><init>()V
-HSPLandroid/security/keystore/IKeystoreExportKeyCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/security/keystore/IKeystoreExportKeyCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;-><init>()V
 HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -20120,13 +17929,11 @@
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->begin(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->del(Ljava/lang/String;I)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exportKey(Landroid/security/keystore/IKeystoreExportKeyCallback;Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->finish(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B[B)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->generateKey(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BII)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->get(Ljava/lang/String;I)[B
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getKeyCharacteristics(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)I
 PLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getState(I)I
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getmtime(Ljava/lang/String;I)J
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->insert(Ljava/lang/String;[BII)I
 HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->list(Ljava/lang/String;I)[Ljava/lang/String;
@@ -20136,16 +17943,13 @@
 HSPLandroid/security/keystore/IKeystoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/keystore/IKeystoreService;
 HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;-><init>(Ljava/lang/String;I)V
 HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->build()Landroid/security/keystore/KeyGenParameterSpec;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
 HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAttestationChallenge([B)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
+HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setUserAuthenticationValidityDurationSeconds(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;
 HSPLandroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIIZ[BZZZZZZZ)V
-HSPLandroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZ[BZZZZZZZ)V
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getAttestationChallenge()[B
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getBlockModes()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getBoundToSpecificSecureUserId()J
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getCertificateNotAfter()Ljava/util/Date;
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getCertificateNotBefore()Ljava/util/Date;
 HSPLandroid/security/keystore/KeyGenParameterSpec;->getCertificateSerialNumber()Ljava/math/BigInteger;
@@ -20171,25 +17975,14 @@
 HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserAuthenticationValidWhileOnBody()Z
 HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserConfirmationRequired()Z
 HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserPresenceRequired()Z
-HSPLandroid/security/keystore/KeyInfo;->getUserAuthenticationValidityDurationSeconds()I
-HSPLandroid/security/keystore/KeyInfo;->isInsideSecureHardware()Z
-HSPLandroid/security/keystore/KeyProperties$BlockMode;->allFromKeymaster(Ljava/util/Collection;)[Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$BlockMode;->allToKeymaster([Ljava/lang/String;)[I
-HSPLandroid/security/keystore/KeyProperties$BlockMode;->fromKeymaster(I)Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$BlockMode;->toKeymaster(Ljava/lang/String;)I
-HSPLandroid/security/keystore/KeyProperties$Digest;->allFromKeymaster(Ljava/util/Collection;)[Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$Digest;->allToKeymaster([Ljava/lang/String;)[I
-HSPLandroid/security/keystore/KeyProperties$Digest;->fromKeymasterToSignatureAlgorithmDigest(I)Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$Digest;->toKeymaster(Ljava/lang/String;)I
 HSPLandroid/security/keystore/KeyProperties$EncryptionPadding;->allToKeymaster([Ljava/lang/String;)[I
-HSPLandroid/security/keystore/KeyProperties$EncryptionPadding;->fromKeymaster(I)Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$EncryptionPadding;->toKeymaster(Ljava/lang/String;)I
-HSPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterAsymmetricKeyAlgorithm(I)Ljava/lang/String;
 HSPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterSecretKeyAlgorithm(II)Ljava/lang/String;
-HSPLandroid/security/keystore/KeyProperties$Origin;->fromKeymaster(I)I
-HSPLandroid/security/keystore/KeyProperties$Purpose;->allFromKeymaster(Ljava/util/Collection;)I
 HSPLandroid/security/keystore/KeyProperties$Purpose;->allToKeymaster(I)[I
-HSPLandroid/security/keystore/KeyProperties$Purpose;->fromKeymaster(I)I
 HSPLandroid/security/keystore/KeyProperties$Purpose;->toKeymaster(I)I
 HSPLandroid/security/keystore/KeyProperties$SignaturePadding;->allToKeymaster([Ljava/lang/String;)[I
 HSPLandroid/security/keystore/KeyProperties;->access$000(I)[I
@@ -20208,6 +18001,7 @@
 HSPLandroid/security/keystore/KeyStoreCryptoOperationUtils;->getRandomBytesToMixIntoKeystoreRng(Ljava/security/SecureRandom;I)[B
 HSPLandroid/security/keystore/KeymasterUtils;->addUserAuthArgs(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keystore/UserAuthArgs;)V
 HSPLandroid/security/keystore/KeymasterUtils;->getDigestOutputSizeBits(I)I
+HSPLandroid/security/keystore/KeymasterUtils;->getRootSid()J
 HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/KeystoreResponse;
 HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keystore/KeystoreResponse;-><init>(ILjava/lang/String;)V
@@ -20216,7 +18010,7 @@
 HSPLandroid/security/keystore/Utils;->cloneIfNotNull([B)[B
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->build()Landroid/security/keystore/recovery/KeyChainProtectionParams;
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setKeyDerivationParams(Landroid/security/keystore/recovery/KeyDerivationParams;)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
+HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setKeyDerivationParams(Landroid/security/keystore/recovery/KeyDerivationParams;)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setLockScreenUiFormat(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setUserSecretType(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams;-><init>()V
@@ -20231,14 +18025,14 @@
 PLandroid/security/keystore/recovery/KeyChainProtectionParams;->access$402(Landroid/security/keystore/recovery/KeyChainProtectionParams;[B)[B
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->build()Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setCounterId(J)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setEncryptedRecoveryKeyBlob([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setKeyChainProtectionParams(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setMaxAttempts(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setServerParams([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setSnapshotVersion(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwareCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setWrappedApplicationKeys(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setCounterId(J)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setEncryptedRecoveryKeyBlob([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setKeyChainProtectionParams(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setMaxAttempts(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setServerParams([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setSnapshotVersion(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwareCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setWrappedApplicationKeys(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot;-><init>()V
 PLandroid/security/keystore/recovery/KeyChainSnapshot;-><init>(Landroid/security/keystore/recovery/KeyChainSnapshot$1;)V
 PLandroid/security/keystore/recovery/KeyChainSnapshot;->access$102(Landroid/security/keystore/recovery/KeyChainSnapshot;I)I
@@ -20256,14 +18050,8 @@
 PLandroid/security/keystore/recovery/KeyChainSnapshot;->access$802(Landroid/security/keystore/recovery/KeyChainSnapshot;[B)[B
 PLandroid/security/keystore/recovery/KeyDerivationParams;-><init>(I[BI)V
 HPLandroid/security/keystore/recovery/RecoveryCertPath;-><init>([B)V
-PLandroid/security/keystore/recovery/RecoveryCertPath;->createRecoveryCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/RecoveryCertPath;
+HPLandroid/security/keystore/recovery/RecoveryCertPath;->createRecoveryCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/RecoveryCertPath;
 HPLandroid/security/keystore/recovery/RecoveryCertPath;->encodeCertPath(Ljava/security/cert/CertPath;)[B
-HSPLandroid/security/keystore/recovery/RecoveryController;->getInstance(Landroid/content/Context;)Landroid/security/keystore/recovery/RecoveryController;
-HSPLandroid/security/keystore/recovery/RecoveryController;->getRecoverySecretTypes()[I
-HSPLandroid/security/keystore/recovery/RecoveryController;->initRecoveryService(Ljava/lang/String;[B[B)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setRecoverySecretTypes([I)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setServerParams([B)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->build()Landroid/security/keystore/recovery/WrappedApplicationKey;
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setAlias(Ljava/lang/String;)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
@@ -20279,9 +18067,7 @@
 HSPLandroid/security/net/config/ApplicationConfig;->getConfigForHostname(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
 HSPLandroid/security/net/config/ApplicationConfig;->getDefaultInstance()Landroid/security/net/config/ApplicationConfig;
 HSPLandroid/security/net/config/ApplicationConfig;->getTrustManager()Ljavax/net/ssl/X509TrustManager;
-HSPLandroid/security/net/config/ApplicationConfig;->hasPerDomainConfigs()Z
 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
 HSPLandroid/security/net/config/CertificatesEntryRef;-><init>(Landroid/security/net/config/CertificateSource;Z)V
 HSPLandroid/security/net/config/CertificatesEntryRef;->findAllCertificatesByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
@@ -20289,7 +18075,6 @@
 HSPLandroid/security/net/config/CertificatesEntryRef;->overridesPins()Z
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;-><init>(Landroid/security/net/config/ApplicationConfig;)V
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCertificateTransparencyVerificationRequired(Ljava/lang/String;)Z
-HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
 HSPLandroid/security/net/config/DirectoryCertificateSource$1;-><init>(Landroid/security/net/config/DirectoryCertificateSource;Ljava/security/cert/X509Certificate;)V
 HSPLandroid/security/net/config/DirectoryCertificateSource$3;-><init>(Landroid/security/net/config/DirectoryCertificateSource;Ljava/security/cert/X509Certificate;)V
@@ -20305,9 +18090,6 @@
 HSPLandroid/security/net/config/DirectoryCertificateSource;->readCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/Domain;->hashCode()I
 HSPLandroid/security/net/config/KeyStoreCertificateSource;-><init>(Ljava/security/KeyStore;)V
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->ensureInitialized()V
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/KeyStoreConfigSource;-><init>(Ljava/security/KeyStore;)V
 HSPLandroid/security/net/config/KeyStoreConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
 HSPLandroid/security/net/config/KeyStoreConfigSource;->getPerDomainConfigs()Ljava/util/Set;
@@ -20323,7 +18105,6 @@
 HSPLandroid/security/net/config/NetworkSecurityConfig$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;-><init>()V
 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;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCertificatesEntryRefs()Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCleartextTrafficPermitted()Z
@@ -20346,11 +18127,9 @@
 HSPLandroid/security/net/config/NetworkSecurityConfigProvider;->install(Landroid/content/Context;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkPins(Ljava/util/List;)V
-HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
 HSPLandroid/security/net/config/RootTrustManager;-><init>(Landroid/security/net/config/ApplicationConfig;)V
-HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
 HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
 HSPLandroid/security/net/config/RootTrustManagerFactorySpi;-><init>()V
@@ -20371,8 +18150,6 @@
 HSPLandroid/security/net/config/UserCertificateSource$NoPreloadHolder;->access$100()Landroid/security/net/config/UserCertificateSource;
 HSPLandroid/security/net/config/UserCertificateSource;-><init>()V
 HSPLandroid/security/net/config/UserCertificateSource;-><init>(Landroid/security/net/config/UserCertificateSource$1;)V
-HSPLandroid/security/net/config/UserCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLandroid/security/net/config/UserCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/UserCertificateSource;->getInstance()Landroid/security/net/config/UserCertificateSource;
 HSPLandroid/security/net/config/XmlConfigSource;-><init>(Landroid/content/Context;ILandroid/content/pm/ApplicationInfo;)V
 HSPLandroid/security/net/config/XmlConfigSource;->addDebugAnchorsIfNeeded(Landroid/security/net/config/NetworkSecurityConfig$Builder;Landroid/security/net/config/NetworkSecurityConfig$Builder;)V
@@ -20391,14 +18168,9 @@
 HPLandroid/service/appprediction/IPredictionService$Stub$Proxy;->requestPredictionUpdate(Landroid/app/prediction/AppPredictionSessionId;)V
 HSPLandroid/service/appprediction/IPredictionService$Stub;-><init>()V
 PLandroid/service/appprediction/IPredictionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/appprediction/IPredictionService;
-PLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
 PLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
-PLandroid/service/autofill/AutofillServiceInfo;->getCompatibilityPackages()Landroid/util/ArrayMap;
-PLandroid/service/autofill/AutofillServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
 PLandroid/service/autofill/AutofillServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
 PLandroid/service/autofill/AutofillServiceInfo;->parseCompatibilityPackages(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/util/ArrayMap;
-HSPLandroid/service/autofill/Dataset$1;-><init>()V
-HSPLandroid/service/autofill/Dataset;-><clinit>()V
 HSPLandroid/service/autofill/FillContext;-><init>(ILandroid/app/assist/AssistStructure;Landroid/view/autofill/AutofillId;)V
 HSPLandroid/service/autofill/FillContext;->getStructure()Landroid/app/assist/AssistStructure;
 HSPLandroid/service/autofill/FillRequest;->getFlags()I
@@ -20429,46 +18201,35 @@
 PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onConnected(ZZ)V
 HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onDestroyAllFillWindowsRequest()V
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onFillRequest(ILandroid/os/IBinder;ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/view/inputmethod/InlineSuggestionsRequest;Landroid/service/autofill/augmented/IFillCallback;)V
 PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/augmented/IAugmentedAutofillService;
+HPLandroid/service/autofill/augmented/IFillCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/autofill/augmented/IFillCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/contentcapture/ActivityEvent;-><clinit>()V
 HSPLandroid/service/contentcapture/ActivityEvent;-><init>(Landroid/content/ComponentName;I)V
 HPLandroid/service/contentcapture/ActivityEvent;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/contentcapture/ContentCaptureService;-><clinit>()V
 HSPLandroid/service/contentcapture/ContentCaptureService;->setClientState(Lcom/android/internal/os/IResultReceiver;ILandroid/os/IBinder;)V
-PLandroid/service/contentcapture/ContentCaptureServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ZI)V
-PLandroid/service/contentcapture/ContentCaptureServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
+HPLandroid/service/contentcapture/ContentCaptureServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
 PLandroid/service/contentcapture/ContentCaptureServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
 PLandroid/service/contentcapture/ContentCaptureServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;ZI)Landroid/content/pm/ServiceInfo;
+HPLandroid/service/contentcapture/FlushMetrics$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/contentcapture/FlushMetrics;
+HPLandroid/service/contentcapture/FlushMetrics$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/service/contentcapture/FlushMetrics;-><init>()V
 PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onActivityEvent(Landroid/service/contentcapture/ActivityEvent;)V
 PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onConnected(Landroid/os/IBinder;ZZ)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;IILcom/android/internal/os/IResultReceiver;I)V
 PLandroid/service/contentcapture/IContentCaptureService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/contentcapture/IContentCaptureService;
 PLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/dreams/DreamManagerInternal;-><init>()V
-HSPLandroid/service/dreams/DreamService$1;-><init>(Landroid/service/dreams/DreamService;Landroid/os/IRemoteCallback;)V
-HSPLandroid/service/dreams/DreamService$1;->run()V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$1;-><init>(Landroid/service/dreams/DreamService$DreamServiceWrapper;Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$1;->run()V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$2;-><init>(Landroid/service/dreams/DreamService$DreamServiceWrapper;)V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$2;->run()V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$3;-><init>(Landroid/service/dreams/DreamService$DreamServiceWrapper;)V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper$3;->run()V
 HSPLandroid/service/dreams/DreamService$DreamServiceWrapper;-><init>(Landroid/service/dreams/DreamService;)V
-HSPLandroid/service/dreams/DreamService$DreamServiceWrapper;-><init>(Landroid/service/dreams/DreamService;Landroid/service/dreams/DreamService$1;)V
 HSPLandroid/service/dreams/DreamService$DreamServiceWrapper;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
 HSPLandroid/service/dreams/DreamService$DreamServiceWrapper;->detach()V
 HSPLandroid/service/dreams/DreamService$DreamServiceWrapper;->wakeUp()V
 HSPLandroid/service/dreams/DreamService;-><init>()V
-HSPLandroid/service/dreams/DreamService;->access$100(Landroid/service/dreams/DreamService;)Landroid/view/Window;
-HSPLandroid/service/dreams/DreamService;->access$200(Landroid/service/dreams/DreamService;)Z
-HSPLandroid/service/dreams/DreamService;->access$300(Landroid/service/dreams/DreamService;)Z
-HSPLandroid/service/dreams/DreamService;->access$502(Landroid/service/dreams/DreamService;Z)Z
 HSPLandroid/service/dreams/DreamService;->access$600(Landroid/service/dreams/DreamService;Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-HSPLandroid/service/dreams/DreamService;->access$700(Landroid/service/dreams/DreamService;)Landroid/os/Handler;
-HSPLandroid/service/dreams/DreamService;->access$800(Landroid/service/dreams/DreamService;)V
-HSPLandroid/service/dreams/DreamService;->access$900(Landroid/service/dreams/DreamService;Z)V
 HSPLandroid/service/dreams/DreamService;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
 HSPLandroid/service/dreams/DreamService;->clampAbsoluteBrightness(I)I
 HSPLandroid/service/dreams/DreamService;->detach()V
@@ -20514,9 +18275,6 @@
 HPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/service/notification/Adjustment;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/service/notification/Adjustment;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/CharSequence;I)V
-PLandroid/service/notification/Adjustment;->getKey()Ljava/lang/String;
-PLandroid/service/notification/Adjustment;->getSignals()Landroid/os/Bundle;
-PLandroid/service/notification/Adjustment;->getUser()I
 HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Condition;
 HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/service/notification/Condition;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
@@ -20542,14 +18300,12 @@
 HSPLandroid/service/notification/ConditionProviderService;->notifyCondition(Landroid/service/notification/Condition;)V
 HSPLandroid/service/notification/ConditionProviderService;->notifyConditions([Landroid/service/notification/Condition;)V
 HSPLandroid/service/notification/ConditionProviderService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/ConditionProviderService;->requestUnbind()V
 PLandroid/service/notification/IConditionProvider$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/service/notification/IConditionProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/service/notification/IConditionProvider$Stub$Proxy;->onConnected()V
+HPLandroid/service/notification/IConditionProvider$Stub$Proxy;->onConnected()V
 HSPLandroid/service/notification/IConditionProvider$Stub;-><init>()V
 HSPLandroid/service/notification/IConditionProvider$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/notification/IConditionProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IConditionProvider;
-HSPLandroid/service/notification/IConditionProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/notification/INotificationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
@@ -20568,7 +18324,6 @@
 HSPLandroid/service/notification/INotificationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->get()Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;-><init>()V
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IStatusBarNotificationHolder;
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -20595,6 +18350,7 @@
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSmartReplies()Ljava/util/List;
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSuppressedVisualEffects()I
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->getVisibilityOverride()I
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->importanceToString(I)Ljava/lang/String;
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->isAmbient()Z
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->isConversation()Z
 HSPLandroid/service/notification/NotificationListenerService$Ranking;->isSuspended()Z
@@ -20643,7 +18399,6 @@
 HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap;
 HSPLandroid/service/notification/NotificationRankingUpdate;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/NotificationStats;-><init>()V
-PLandroid/service/notification/NotificationStats;->hasSeen()Z
 HPLandroid/service/notification/NotificationStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/ScheduleCalendar;-><init>()V
 HSPLandroid/service/notification/ScheduleCalendar;->addDays(JI)J
@@ -20671,6 +18426,7 @@
 HSPLandroid/service/notification/StatusBarNotification;->getGroupLogTag()Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->getId()I
 HSPLandroid/service/notification/StatusBarNotification;->getInitialPid()I
+HSPLandroid/service/notification/StatusBarNotification;->getInstanceId()Lcom/android/internal/logging/InstanceId;
 HSPLandroid/service/notification/StatusBarNotification;->getKey()Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->getLogMaker()Landroid/metrics/LogMaker;
 HSPLandroid/service/notification/StatusBarNotification;->getNotification()Landroid/app/Notification;
@@ -20690,6 +18446,7 @@
 HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z
 HSPLandroid/service/notification/StatusBarNotification;->isOngoing()Z
 HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->setOverrideGroupKey(Ljava/lang/String;)V
 HSPLandroid/service/notification/StatusBarNotification;->shortenTag(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig;
@@ -20793,24 +18550,11 @@
 HSPLandroid/service/notification/ZenPolicy;->isCategoryAllowed(IZ)Z
 HSPLandroid/service/notification/ZenPolicy;->isVisualEffectAllowed(IZ)Z
 HSPLandroid/service/oemlock/IOemLockService$Stub;-><init>()V
-HPLandroid/service/oemlock/IOemLockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getFlashLockState()I
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getMaximumDataBlockSize()J
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->read()[B
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->write([B)I
 HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;-><init>()V
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService;
 HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;-><init>(Landroid/service/persistentdata/IPersistentDataBlockService;)V
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->getFlashLockState()I
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->getMaximumDataBlockSize()J
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->read()[B
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->write([B)I
 HSPLandroid/service/quicksettings/IQSService$Stub;-><init>()V
 HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;-><init>()V
 HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierCallback;
 HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -20827,38 +18571,17 @@
 HSPLandroid/service/textclassifier/ITextClassifierService$Stub;-><init>()V
 HSPLandroid/service/textclassifier/ITextClassifierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierService;
 HSPLandroid/service/textclassifier/ITextClassifierService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/textclassifier/TextClassifierService;->getResponse(Landroid/os/Bundle;)Landroid/os/Parcelable;
 HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentName(Landroid/content/Context;)Landroid/content/ComponentName;
 HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentNameByPackage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/content/ComponentName;
-PLandroid/service/trust/ITrustAgentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceLocked()V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceUnlocked()V
-PLandroid/service/trust/ITrustAgentService$Stub$Proxy;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-HSPLandroid/service/trust/ITrustAgentService$Stub;-><init>()V
-PLandroid/service/trust/ITrustAgentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentService;
-HSPLandroid/service/trust/ITrustAgentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/service/trust/ITrustAgentServiceCallback$Stub;-><init>()V
-PLandroid/service/trust/ITrustAgentServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/trust/TrustAgentService$1;-><init>(Landroid/service/trust/TrustAgentService;)V
-HSPLandroid/service/trust/TrustAgentService$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/service/trust/TrustAgentService$ConfigurationData;-><init>(Ljava/util/List;Landroid/os/IBinder;)V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;-><init>(Landroid/service/trust/TrustAgentService;)V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;-><init>(Landroid/service/trust/TrustAgentService;Landroid/service/trust/TrustAgentService$1;)V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceLocked()V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceUnlocked()V
-HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-HSPLandroid/service/trust/TrustAgentService;-><init>()V
-HSPLandroid/service/trust/TrustAgentService;->access$000(Landroid/service/trust/TrustAgentService;)Ljava/lang/Object;
-HSPLandroid/service/trust/TrustAgentService;->access$102(Landroid/service/trust/TrustAgentService;Landroid/service/trust/ITrustAgentServiceCallback;)Landroid/service/trust/ITrustAgentServiceCallback;
-HSPLandroid/service/trust/TrustAgentService;->access$400(Landroid/service/trust/TrustAgentService;)Landroid/os/Handler;
-HSPLandroid/service/trust/TrustAgentService;->access$500(Landroid/service/trust/TrustAgentService;)Z
-HSPLandroid/service/trust/TrustAgentService;->access$600(Landroid/service/trust/TrustAgentService;)Ljava/lang/Runnable;
-HSPLandroid/service/trust/TrustAgentService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockAttempt(Z)V
+HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
+HPLandroid/service/trust/ITrustAgentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentService;
+HPLandroid/service/trust/ITrustAgentServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 PLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->ready()V
 HPLandroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
 HSPLandroid/service/voice/VoiceInteractionManagerInternal;-><init>()V
@@ -20872,6 +18595,8 @@
 HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getSettingsActivity()Ljava/lang/String;
 HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getSupportsAssist()Z
 HSPLandroid/service/vr/IPersistentVrStateCallbacks$Stub;-><init>()V
+HSPLandroid/service/vr/IVrManager$Stub$Proxy;->getVrModeState()Z
+HSPLandroid/service/vr/IVrManager$Stub$Proxy;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
 HSPLandroid/service/vr/IVrManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrManager;
 HSPLandroid/service/vr/IVrStateCallbacks$Stub;-><init>()V
 HSPLandroid/service/vr/IVrStateCallbacks$Stub;->asBinder()Landroid/os/IBinder;
@@ -20884,12 +18609,10 @@
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;I)V
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;-><init>()V
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperConnection;
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->requestWallpaperColors()V
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setInAmbientMode(ZJ)V
-HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;-><init>()V
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperEngine;
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -20901,7 +18624,6 @@
 HSPLandroid/service/wallpaper/WallpaperService$Engine$1;-><init>(Landroid/service/wallpaper/WallpaperService$Engine;)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine$2;-><init>(Landroid/service/wallpaper/WallpaperService$Engine;)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->dispatchAppVisibility(Z)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->dispatchWallpaperOffsets(FFFFZ)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine$3;-><init>(Landroid/service/wallpaper/WallpaperService$Engine;)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine$3;->onDisplayChanged(I)V
@@ -20918,6 +18640,7 @@
 HSPLandroid/service/wallpaper/WallpaperService$Engine;->doVisibilityChanged(Z)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine;->getSurfaceHolder()Landroid/view/SurfaceHolder;
 HSPLandroid/service/wallpaper/WallpaperService$Engine;->onApplyWindowInsets(Landroid/view/WindowInsets;)V
+HSPLandroid/service/wallpaper/WallpaperService$Engine;->onZoomChanged(F)V
 HSPLandroid/service/wallpaper/WallpaperService$Engine;->reportVisibility()V
 HSPLandroid/service/wallpaper/WallpaperService$Engine;->updateSurface(ZZZ)V
 HSPLandroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;-><init>(Landroid/service/wallpaper/WallpaperService;Landroid/service/wallpaper/WallpaperService;Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;I)V
@@ -20938,64 +18661,13 @@
 HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;-><clinit>()V
 HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;-><init>(Landroid/os/Parcel;Landroid/service/watchdog/ExplicitHealthCheckService$1;)V
-HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;->getHealthCheckTimeoutMillis()J
-HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;->getPackageName()Ljava/lang/String;
 HSPLandroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;->toString()Ljava/lang/String;
 HSPLandroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;->getRequestedPackages(Landroid/os/RemoteCallback;)V
 HSPLandroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;->getSupportedPackages(Landroid/os/RemoteCallback;)V
+PLandroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;->request(Ljava/lang/String;)V
 HSPLandroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;->setCallback(Landroid/os/RemoteCallback;)V
 HSPLandroid/service/watchdog/IExplicitHealthCheckService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/watchdog/IExplicitHealthCheckService;
-HSPLandroid/speech/tts/ITextToSpeechCallback$Stub;-><init>()V
-HSPLandroid/speech/tts/ITextToSpeechCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getClientDefaultLanguage()[Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-HSPLandroid/speech/tts/ITextToSpeechService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/speech/tts/ITextToSpeechService;
-HSPLandroid/speech/tts/TextToSpeech$Connection$1;-><init>(Landroid/speech/tts/TextToSpeech$Connection;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;-><init>(Landroid/speech/tts/TextToSpeech$Connection;Landroid/content/ComponentName;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Integer;
-HSPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->onPostExecute(Ljava/lang/Integer;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->onPostExecute(Ljava/lang/Object;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection;-><init>(Landroid/speech/tts/TextToSpeech;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection;-><init>(Landroid/speech/tts/TextToSpeech;Landroid/speech/tts/TextToSpeech$1;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection;->access$300(Landroid/speech/tts/TextToSpeech$Connection;)Landroid/speech/tts/ITextToSpeechCallback$Stub;
-HSPLandroid/speech/tts/TextToSpeech$Connection;->access$400(Landroid/speech/tts/TextToSpeech$Connection;)Landroid/speech/tts/ITextToSpeechService;
-HSPLandroid/speech/tts/TextToSpeech$Connection;->access$600(Landroid/speech/tts/TextToSpeech$Connection;)Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
-HSPLandroid/speech/tts/TextToSpeech$Connection;->access$602(Landroid/speech/tts/TextToSpeech$Connection;Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;)Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
-HSPLandroid/speech/tts/TextToSpeech$Connection;->access$702(Landroid/speech/tts/TextToSpeech$Connection;Z)Z
-HSPLandroid/speech/tts/TextToSpeech$Connection;->getCallerIdentity()Landroid/os/IBinder;
-HSPLandroid/speech/tts/TextToSpeech$Connection;->isEstablished()Z
-HSPLandroid/speech/tts/TextToSpeech$Connection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/speech/tts/TextToSpeech$Connection;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-HSPLandroid/speech/tts/TextToSpeech$EngineInfo;-><init>()V
-HSPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;)V
-HSPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;)V
-HSPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLandroid/speech/tts/TextToSpeech;->access$1002(Landroid/speech/tts/TextToSpeech;Landroid/speech/tts/TextToSpeech$Connection;)Landroid/speech/tts/TextToSpeech$Connection;
-HSPLandroid/speech/tts/TextToSpeech;->access$200(Landroid/speech/tts/TextToSpeech;)Ljava/lang/Object;
-HSPLandroid/speech/tts/TextToSpeech;->access$500(Landroid/speech/tts/TextToSpeech;)Landroid/os/Bundle;
-HSPLandroid/speech/tts/TextToSpeech;->access$800(Landroid/speech/tts/TextToSpeech;I)V
-HSPLandroid/speech/tts/TextToSpeech;->access$902(Landroid/speech/tts/TextToSpeech;Landroid/speech/tts/TextToSpeech$Connection;)Landroid/speech/tts/TextToSpeech$Connection;
-HSPLandroid/speech/tts/TextToSpeech;->connectToEngine(Ljava/lang/String;)Z
-HSPLandroid/speech/tts/TextToSpeech;->dispatchOnInit(I)V
-HSPLandroid/speech/tts/TextToSpeech;->getCallerIdentity()Landroid/os/IBinder;
-HSPLandroid/speech/tts/TextToSpeech;->getDefaultEngine()Ljava/lang/String;
-HSPLandroid/speech/tts/TextToSpeech;->initTts()I
-HSPLandroid/speech/tts/TextToSpeech;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/speech/tts/TextToSpeech;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-HSPLandroid/speech/tts/TtsEngines$EngineInfoComparator;-><clinit>()V
-HSPLandroid/speech/tts/TtsEngines$EngineInfoComparator;-><init>()V
-HSPLandroid/speech/tts/TtsEngines;-><init>(Landroid/content/Context;)V
-HSPLandroid/speech/tts/TtsEngines;->getDefaultEngine()Ljava/lang/String;
-HSPLandroid/speech/tts/TtsEngines;->getEngineInfo(Landroid/content/pm/ResolveInfo;Landroid/content/pm/PackageManager;)Landroid/speech/tts/TextToSpeech$EngineInfo;
-HSPLandroid/speech/tts/TtsEngines;->getEngineInfo(Ljava/lang/String;)Landroid/speech/tts/TextToSpeech$EngineInfo;
-HSPLandroid/speech/tts/TtsEngines;->getEngines()Ljava/util/List;
-HSPLandroid/speech/tts/TtsEngines;->getHighestRankedEngineName()Ljava/lang/String;
-HSPLandroid/speech/tts/TtsEngines;->isEngineInstalled(Ljava/lang/String;)Z
-HSPLandroid/speech/tts/TtsEngines;->isSystemEngine(Landroid/content/pm/ServiceInfo;)Z
 HSPLandroid/stats/devicepolicy/nano/StringList;-><init>()V
 HSPLandroid/stats/devicepolicy/nano/StringList;->clear()Landroid/stats/devicepolicy/nano/StringList;
 HSPLandroid/stats/devicepolicy/nano/StringList;->computeSerializedSize()I
@@ -21013,11 +18685,7 @@
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;-><clinit>()V
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;-><init>()V
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;-><clinit>()V
-HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;-><init>()V
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$VtSZ_Uto4bMa49ncgAfdWewMFOU;-><clinit>()V
-HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$VtSZ_Uto4bMa49ncgAfdWewMFOU;-><init>()V
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$VtSZ_Uto4bMa49ncgAfdWewMFOU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0;-><clinit>()V
 HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0;-><init>()V
@@ -21044,7 +18712,6 @@
 HSPLandroid/sysprop/TelephonyProperties;->lambda$icc_operator_iso_country$9(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/sysprop/TelephonyProperties;->lambda$icc_operator_numeric$7(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/sysprop/TelephonyProperties;->lambda$operator_alpha$1(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/sysprop/TelephonyProperties;->lambda$operator_is_roaming$3(Ljava/lang/String;)Ljava/lang/Boolean;
 HSPLandroid/sysprop/TelephonyProperties;->lambda$operator_numeric$2(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/sysprop/TelephonyProperties;->max_active_modems()Ljava/util/Optional;
 HSPLandroid/sysprop/TelephonyProperties;->multi_sim_config()Ljava/util/Optional;
@@ -21063,9 +18730,7 @@
 HSPLandroid/system/ErrnoException;-><init>(Ljava/lang/String;I)V
 HSPLandroid/system/ErrnoException;->getMessage()Ljava/lang/String;
 HSPLandroid/system/ErrnoException;->rethrowAsIOException()Ljava/io/IOException;
-HSPLandroid/system/ErrnoException;->rethrowAsSocketException()Ljava/net/SocketException;
 HSPLandroid/system/GaiException;-><init>(Ljava/lang/String;I)V
-HSPLandroid/system/GaiException;->getMessage()Ljava/lang/String;
 HSPLandroid/system/GaiException;->rethrowAsUnknownHostException(Ljava/lang/String;)Ljava/net/UnknownHostException;
 HSPLandroid/system/Int32Ref;-><init>(I)V
 HSPLandroid/system/Os;->accept(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)Ljava/io/FileDescriptor;
@@ -21096,7 +18761,6 @@
 HSPLandroid/system/Os;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
 HSPLandroid/system/Os;->listen(Ljava/io/FileDescriptor;I)V
 HSPLandroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
-HSPLandroid/system/Os;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLandroid/system/Os;->mkdir(Ljava/lang/String;I)V
 HSPLandroid/system/Os;->mlock(JJ)V
 HSPLandroid/system/Os;->mmap(JJIILjava/io/FileDescriptor;J)J
@@ -21105,7 +18769,6 @@
 HSPLandroid/system/Os;->pipe2(I)[Ljava/io/FileDescriptor;
 HSPLandroid/system/Os;->poll([Landroid/system/StructPollfd;I)I
 HSPLandroid/system/Os;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
-HSPLandroid/system/Os;->prctl(IJJJJ)I
 HSPLandroid/system/Os;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
 HSPLandroid/system/Os;->read(Ljava/io/FileDescriptor;[BII)I
 HSPLandroid/system/Os;->readlink(Ljava/lang/String;)Ljava/lang/String;
@@ -21113,24 +18776,17 @@
 HSPLandroid/system/Os;->setpgid(II)V
 HSPLandroid/system/Os;->setregid(II)V
 HSPLandroid/system/Os;->setreuid(II)V
-HSPLandroid/system/Os;->setsockoptInt(Ljava/io/FileDescriptor;III)V
 HSPLandroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
 HSPLandroid/system/Os;->socket(III)Ljava/io/FileDescriptor;
 HSPLandroid/system/Os;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
 HSPLandroid/system/Os;->stat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLandroid/system/Os;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
-HSPLandroid/system/Os;->symlink(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/system/Os;->sysconf(I)J
 HSPLandroid/system/Os;->umask(I)I
-HSPLandroid/system/Os;->uname()Landroid/system/StructUtsname;
 HSPLandroid/system/Os;->write(Ljava/io/FileDescriptor;[BII)I
 HSPLandroid/system/OsConstants;->S_ISDIR(I)Z
 HSPLandroid/system/OsConstants;->S_ISREG(I)Z
-HSPLandroid/system/OsConstants;->WEXITSTATUS(I)I
-HSPLandroid/system/OsConstants;->WIFEXITED(I)Z
-HSPLandroid/system/OsConstants;->WTERMSIG(I)I
 HSPLandroid/system/OsConstants;->errnoName(I)Ljava/lang/String;
-HSPLandroid/system/OsConstants;->gaiName(I)Ljava/lang/String;
 HSPLandroid/system/StructAddrinfo;-><init>()V
 HSPLandroid/system/StructCapUserData;-><init>(III)V
 HSPLandroid/system/StructCapUserHeader;-><init>(II)V
@@ -21145,7 +18801,6 @@
 HSPLandroid/system/StructTimespec;->equals(Ljava/lang/Object;)Z
 HSPLandroid/system/StructTimeval;-><init>(JJ)V
 HSPLandroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval;
-HSPLandroid/system/StructUtsname;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/system/UnixSocketAddress;-><init>([B)V
 HSPLandroid/system/suspend/ISuspendControlService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/system/suspend/ISuspendControlService$Stub$Proxy;->getWakeLockStats()[Landroid/system/suspend/WakeLockInfo;
@@ -21161,7 +18816,7 @@
 HSPLandroid/telecom/CallAudioState;->getRoute()I
 HSPLandroid/telecom/CallAudioState;->getSupportedRouteMask()I
 HSPLandroid/telecom/CallAudioState;->isMuted()Z
-HSPLandroid/telecom/CallAudioState;->listAppend(Ljava/lang/StringBuffer;Ljava/lang/String;)V
+HSPLandroid/telecom/CallAudioState;->toString()Ljava/lang/String;
 HSPLandroid/telecom/Connection;->capabilitiesToString(I)Ljava/lang/String;
 HSPLandroid/telecom/Connection;->capabilitiesToStringInternal(IZ)Ljava/lang/String;
 HSPLandroid/telecom/Connection;->propertiesToString(I)Ljava/lang/String;
@@ -21175,6 +18830,7 @@
 HSPLandroid/telecom/DisconnectCause$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telecom/DisconnectCause;-><init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;I)V
 HSPLandroid/telecom/DisconnectCause;->getCode()I
+HSPLandroid/telecom/DisconnectCause;->getReason()Ljava/lang/String;
 HPLandroid/telecom/DisconnectCause;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/Object;)V
 HSPLandroid/telecom/Log;->addRequestResponsePair(Landroid/telecom/Logging/EventManager$TimedEventPair;)V
@@ -21343,17 +18999,14 @@
 HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;Lcom/android/internal/telecom/ITelecomService;)V
-HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts()Ljava/util/List;
-HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List;
 HSPLandroid/telecom/TelecomManager;->getCallState()I
 HSPLandroid/telecom/TelecomManager;->getCurrentTtyMode()I
 HSPLandroid/telecom/TelecomManager;->getDefaultDialerPackage()Ljava/lang/String;
 HSPLandroid/telecom/TelecomManager;->getDefaultDialerPackage(I)Ljava/lang/String;
-HSPLandroid/telecom/TelecomManager;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
 PLandroid/telecom/TelecomManager;->getDefaultPhoneApp()Landroid/content/ComponentName;
 HSPLandroid/telecom/TelecomManager;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
 HSPLandroid/telecom/TelecomManager;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
-PLandroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
+HPLandroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
 HSPLandroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String;
 HSPLandroid/telecom/TelecomManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
 HSPLandroid/telecom/TelecomManager;->isInCall()Z
@@ -21362,7 +19015,6 @@
 HSPLandroid/telecom/VideoProfile;->hasState(II)Z
 HSPLandroid/telecom/VideoProfile;->isVideo(I)Z
 HSPLandroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2XBMUIj05jt4Xm08XAsE57q5gCc;-><init>(Landroid/telephony/PhoneStateListener;II)V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2XBMUIj05jt4Xm08XAsE57q5gCc;->run()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;-><init>(Landroid/telephony/PhoneStateListener;Landroid/telephony/CellLocation;)V
@@ -21371,6 +19023,8 @@
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls;->run()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$FBJGFGXoSvidKfm50cEzC3i9rVk;-><init>(Landroid/telephony/PhoneStateListener;I)V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$FBJGFGXoSvidKfm50cEzC3i9rVk;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$GJ2YJ4ARy5-u2bWutnqrYMAsLYA;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$GJ2YJ4ARy5-u2bWutnqrYMAsLYA;->runOrThrow()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;Landroid/telephony/CellLocation;)V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;->runOrThrow()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$MtX5gtAKHxLcUp_ibya6VO1zuoE;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;I)V
@@ -21393,207 +19047,66 @@
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$pLr-IfJJu1u_YG6I5LI0iHTuBi0;->runOrThrow()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$xj3Oc59znNki36q4HkPlDthcris;-><init>(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$xj3Oc59znNki36q4HkPlDthcris;->run()V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;Ljava/util/List;)V
 HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;->runOrThrow()V
 HSPLandroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;-><init>(Landroid/telephony/SubscriptionManager;)V
 HSPLandroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;->test(Ljava/lang/Object;)Z
-HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo;->createService(Landroid/content/Context;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM;->createService(Landroid/content/Context;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$mpe0Kh92VEQmEtmo60oqykdvnBE;->createService(Landroid/content/Context;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4;->createService(Landroid/content/Context;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$TelephonyManager$1$scMPky6lOZrCjFC3d4STbtLfpHE;-><init>(Landroid/telephony/TelephonyManager$CellInfoCallback;Ljava/util/List;)V
-HSPLandroid/telephony/-$$Lambda$TelephonyManager$1$scMPky6lOZrCjFC3d4STbtLfpHE;->run()V
-HSPLandroid/telephony/-$$Lambda$TelephonyManager$2$l6Pazxfi7QghMr2Z0MpduhNe6yc;-><init>(Landroid/telephony/TelephonyManager$CellInfoCallback;Ljava/util/List;)V
-HSPLandroid/telephony/-$$Lambda$TelephonyManager$2$l6Pazxfi7QghMr2Z0MpduhNe6yc;->run()V
 HSPLandroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
 HSPLandroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;->run()V
-HSPLandroid/telephony/AccessNetworkConstants;->transportTypeToString(I)Ljava/lang/String;
 HSPLandroid/telephony/AccessNetworkUtils;->getDuplexModeForEutranBand(I)I
 HSPLandroid/telephony/AccessNetworkUtils;->getOperatingBandForEarfcn(I)I
-HSPLandroid/telephony/CallAttributes;-><init>(Landroid/telephony/PreciseCallState;ILandroid/telephony/CallQuality;)V
-HSPLandroid/telephony/CallQuality$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CallQuality;
-HSPLandroid/telephony/CallQuality$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CallQuality;-><init>(IIIIIIIIIII)V
-HSPLandroid/telephony/CallQuality;-><init>(IIIIIIIIIIIZZZ)V
-HSPLandroid/telephony/CallQuality;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CallQuality;->toString()Ljava/lang/String;
-HPLandroid/telephony/CallQuality;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CarrierConfigManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/CarrierConfigManager;->getConfig()Landroid/os/PersistableBundle;
-HSPLandroid/telephony/CarrierConfigManager;->getConfigForSubId(I)Landroid/os/PersistableBundle;
-HSPLandroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HSPLandroid/telephony/CarrierConfigManager;->getDefaultConfig()Landroid/os/PersistableBundle;
-HSPLandroid/telephony/CarrierConfigManager;->getICarrierConfigLoader()Lcom/android/internal/telephony/ICarrierConfigLoader;
 HSPLandroid/telephony/CarrierConfigManager;->isConfigForIdentifiedCarrier(Landroid/os/PersistableBundle;)Z
-HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellConfigLte;
-HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellConfigLte;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellConfigLte;-><init>(Landroid/os/Parcel;Landroid/telephony/CellConfigLte$1;)V
-HSPLandroid/telephony/CellConfigLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellConfigLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentity;
 HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILandroid/os/Parcel;)V
-HSPLandroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/CellIdentity;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentity;->isMcc(Ljava/lang/String;)Z
-HSPLandroid/telephony/CellIdentity;->isMnc(Ljava/lang/String;)Z
-HSPLandroid/telephony/CellIdentity;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityCdma;
 HSPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityCdma;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellIdentityCdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityCdma;
 HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
 HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/CellIdentityGsm;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellIdentityGsm;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
 HSPLandroid/telephony/CellIdentityGsm;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellIdentityGsm;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellIdentityLte;->asCellLocation()Landroid/telephony/CellLocation;
 HSPLandroid/telephony/CellIdentityLte;->asCellLocation()Landroid/telephony/gsm/GsmCellLocation;
 HSPLandroid/telephony/CellIdentityLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellIdentityLte;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentityLte;->getBandwidth()I
-HSPLandroid/telephony/CellIdentityLte;->getCi()I
-HSPLandroid/telephony/CellIdentityLte;->getEarfcn()I
-HSPLandroid/telephony/CellIdentityLte;->getMcc()I
-HSPLandroid/telephony/CellIdentityLte;->getMnc()I
-HSPLandroid/telephony/CellIdentityLte;->getPci()I
-HSPLandroid/telephony/CellIdentityLte;->getTac()I
-HSPLandroid/telephony/CellIdentityLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellIdentityLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
 HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/CellIdentityWcdma;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellIdentityWcdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
-HSPLandroid/telephony/CellIdentityWcdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentityWcdma;->getCid()I
-HSPLandroid/telephony/CellIdentityWcdma;->getLac()I
 HSPLandroid/telephony/CellIdentityWcdma;->getMcc()I
-HSPLandroid/telephony/CellIdentityWcdma;->getMnc()I
 HSPLandroid/telephony/CellIdentityWcdma;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellIdentityWcdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellInfo;
-HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellInfo;->isRegistered()Z
-HSPLandroid/telephony/CellInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfo;->writeToParcel(Landroid/os/Parcel;II)V
-HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellInfoLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoLte;
-HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;
-HSPLandroid/telephony/CellInfoLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfoLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellInfoWcdma;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellInfoWcdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellInfoWcdma;
 HSPLandroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma;
 HSPLandroid/telephony/CellInfoWcdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellLocation;-><init>()V
-HSPLandroid/telephony/CellLocation;->getEmpty()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellSignalStrength;-><init>()V
-HSPLandroid/telephony/CellSignalStrength;->getNumSignalStrengthLevels()I
-HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthCdma;
-HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthCdma;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthCdma$1;)V
 HPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/telephony/CellSignalStrengthCdma;)V
 HPLandroid/telephony/CellSignalStrengthCdma;->copyFrom(Landroid/telephony/CellSignalStrengthCdma;)V
-HSPLandroid/telephony/CellSignalStrengthCdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthCdma;->getCdmaDbm()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getCdmaEcio()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getCdmaLevel()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getEvdoDbm()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getEvdoLevel()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getEvdoSnr()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthCdma;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthCdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthCdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthGsm;
-HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthGsm;-><init>()V
 HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthGsm$1;)V
 HPLandroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/telephony/CellSignalStrengthGsm;)V
 HPLandroid/telephony/CellSignalStrengthGsm;->copyFrom(Landroid/telephony/CellSignalStrengthGsm;)V
-HSPLandroid/telephony/CellSignalStrengthGsm;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellSignalStrengthGsm;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthGsm;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthGsm;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthGsm;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthGsm;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthLte;
-HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthLte;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthLte$1;)V
 HPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/telephony/CellSignalStrengthLte;)V
 HPLandroid/telephony/CellSignalStrengthLte;->copyFrom(Landroid/telephony/CellSignalStrengthLte;)V
-HPLandroid/telephony/CellSignalStrengthLte;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthLte;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthLte;->getDbm()I
-HSPLandroid/telephony/CellSignalStrengthLte;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthLte;->getTimingAdvance()I
-HSPLandroid/telephony/CellSignalStrengthLte;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthLte;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthLte;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthNr;
-HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthNr;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthNr;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthNr;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthNr$1;)V
 HPLandroid/telephony/CellSignalStrengthNr;-><init>(Landroid/telephony/CellSignalStrengthNr;)V
-HSPLandroid/telephony/CellSignalStrengthNr;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthNr;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthNr;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthNr;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthNr;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthTdscdma;
-HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>()V
 HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthTdscdma$1;)V
 HPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(Landroid/telephony/CellSignalStrengthTdscdma;)V
 HPLandroid/telephony/CellSignalStrengthTdscdma;->copyFrom(Landroid/telephony/CellSignalStrengthTdscdma;)V
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthWcdma;
-HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;Landroid/telephony/CellSignalStrengthWcdma$1;)V
 HPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/telephony/CellSignalStrengthWcdma;)V
 HPLandroid/telephony/CellSignalStrengthWcdma;->copyFrom(Landroid/telephony/CellSignalStrengthWcdma;)V
-HSPLandroid/telephony/CellSignalStrengthWcdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthWcdma;->getDbm()I
 HSPLandroid/telephony/CellSignalStrengthWcdma;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthWcdma;->isValid()Z
-HSPLandroid/telephony/CellSignalStrengthWcdma;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthWcdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthWcdma;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/DataFailCause;->getFailCause(I)I
 HSPLandroid/telephony/DataFailCause;->toString(I)Ljava/lang/String;
-HSPLandroid/telephony/DataSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/DataSpecificRegistrationInfo;
-HSPLandroid/telephony/DataSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/DataSpecificRegistrationInfo$1;)V
-HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/telephony/DataSpecificRegistrationInfo;)V
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->isUsingCarrierAggregation()Z
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/ICellInfoCallback$Stub;-><init>()V
-HSPLandroid/telephony/ICellInfoCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ICellInfoCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;-><init>()V
 HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->build()Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
 HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingPackage(Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
@@ -21616,58 +19129,12 @@
 HSPLandroid/telephony/LocationAccessPolicy;->isCurrentProfile(Landroid/content/Context;I)Z
 HSPLandroid/telephony/LocationAccessPolicy;->isLocationModeEnabled(Landroid/content/Context;I)Z
 HSPLandroid/telephony/LocationAccessPolicy;->logError(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;Ljava/lang/String;)V
-HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/LteVopsSupportInfo;
-HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/LteVopsSupportInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/LteVopsSupportInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/LteVopsSupportInfo$1;)V
-HSPLandroid/telephony/LteVopsSupportInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/LteVopsSupportInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/LteVopsSupportInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ModemActivityInfo;
-HPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/ModemActivityInfo$TransmitPower;-><init>(Landroid/telephony/ModemActivityInfo;Landroid/util/Range;I)V
-HSPLandroid/telephony/ModemActivityInfo$TransmitPower;->getTimeInMillis()I
-HSPLandroid/telephony/ModemActivityInfo$TransmitPower;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ModemActivityInfo;-><init>(JII[II)V
-HSPLandroid/telephony/ModemActivityInfo;->getIdleTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getReceiveTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getSleepTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getTimestamp()J
-HSPLandroid/telephony/ModemActivityInfo;->getTransmitPowerInfo()Ljava/util/List;
-HSPLandroid/telephony/ModemActivityInfo;->isEmpty()Z
-HSPLandroid/telephony/ModemActivityInfo;->isValid()Z
-HSPLandroid/telephony/ModemActivityInfo;->populateTransmitPowerRange([I)V
-HSPLandroid/telephony/ModemActivityInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/NetworkRegistrationInfo$1;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V
 HSPLandroid/telephony/NetworkRegistrationInfo;->copy()Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/NetworkRegistrationInfo;->domainToString(I)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/NetworkRegistrationInfo;->getAccessNetworkTechnology()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getDataSpecificInfo()Landroid/telephony/DataSpecificRegistrationInfo;
-HSPLandroid/telephony/NetworkRegistrationInfo;->getDomain()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getNrState()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getRegistrationState()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getRoamingType()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getTransportType()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->isInService()Z
-HSPLandroid/telephony/NetworkRegistrationInfo;->lambda$toString$0(Ljava/lang/Integer;)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->nrStateToString(I)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->registrationStateToString(I)Ljava/lang/String;
 HSPLandroid/telephony/NetworkRegistrationInfo;->sanitizeLocationInfo()Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/NetworkRegistrationInfo;->serviceTypeToString(I)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->writeToParcel(Landroid/os/Parcel;I)V
 PLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PhoneCapability;
 HPLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/telephony/PhoneCapability;-><init>(Landroid/os/Parcel;)V
 PLandroid/telephony/PhoneCapability;-><init>(Landroid/os/Parcel;Landroid/telephony/PhoneCapability$1;)V
-HSPLandroid/telephony/PhoneCapability;->toString()Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->bcdToChar(BI)C
-HSPLandroid/telephony/PhoneNumberUtils;->calledPartyBCDToString([BIII)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->compare(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/telephony/PhoneNumberUtils;->compare(Ljava/lang/String;Ljava/lang/String;Z)Z
 HSPLandroid/telephony/PhoneNumberUtils;->compareLoosely(Ljava/lang/String;Ljava/lang/String;)Z
@@ -21675,12 +19142,10 @@
 HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumberToE164(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->formatNumberInternal(Ljava/lang/String;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->getDefaultVoiceSubId()I
 HSPLandroid/telephony/PhoneNumberUtils;->getMinMatch()I
 HSPLandroid/telephony/PhoneNumberUtils;->indexOfLastNetworkChar(Ljava/lang/String;)I
-HSPLandroid/telephony/PhoneNumberUtils;->internalCalledPartyBCDFragmentToString(Ljava/lang/StringBuilder;[BIII)V
 HSPLandroid/telephony/PhoneNumberUtils;->is12Key(C)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isDialable(C)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumber(ILjava/lang/String;)Z
@@ -21691,14 +19156,13 @@
 HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;ILjava/lang/String;)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumberInternal(ILjava/lang/String;Landroid/content/Context;Z)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isNonSeparator(C)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isUriNumber(Ljava/lang/String;)Z
 HSPLandroid/telephony/PhoneNumberUtils;->minPositive(II)I
-HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;-><init>(Landroid/telephony/PhoneStateListener;Ljava/util/concurrent/Executor;)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$54(Landroid/telephony/PhoneStateListener;I)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$55$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$56(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$57$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallStateChanged$10(Landroid/telephony/PhoneStateListener;ILjava/lang/String;)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallStateChanged$11$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;ILjava/lang/String;)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellInfoChanged$20(Landroid/telephony/PhoneStateListener;Ljava/util/List;)V
@@ -21729,7 +19193,6 @@
 HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/util/concurrent/Executor;)V
 HSPLandroid/telephony/PhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
 HSPLandroid/telephony/PhoneStateListener;->onDataConnectionStateChanged(I)V
-HSPLandroid/telephony/PreciseCallState;-><init>(IIIII)V
 HSPLandroid/telephony/PreciseCallState;->getForegroundCallState()I
 HSPLandroid/telephony/PreciseDataConnectionState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PreciseDataConnectionState;
 HSPLandroid/telephony/PreciseDataConnectionState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -21741,72 +19204,15 @@
 PLandroid/telephony/PreciseDataConnectionState;->getDataConnectionLinkProperties()Landroid/net/LinkProperties;
 PLandroid/telephony/PreciseDataConnectionState;->getNetworkType()I
 PLandroid/telephony/PreciseDataConnectionState;->getState()I
+HSPLandroid/telephony/PreciseDataConnectionState;->toString()Ljava/lang/String;
 HSPLandroid/telephony/PreciseDataConnectionState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ServiceState;
-HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/ServiceState;-><init>()V
-HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/ServiceState;-><init>(Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/ServiceState;->copyFrom(Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/ServiceState;->createLocationInfoSanitizedCopy(Z)Landroid/telephony/ServiceState;
-HPLandroid/telephony/ServiceState;->describeContents()I
-HSPLandroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/ServiceState;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z
-HPLandroid/telephony/ServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V
-HSPLandroid/telephony/ServiceState;->getCellBandwidths()[I
-HSPLandroid/telephony/ServiceState;->getDataNetworkType()I
-HSPLandroid/telephony/ServiceState;->getDataRegState()I
-HSPLandroid/telephony/ServiceState;->getDataRegistrationState()I
-HSPLandroid/telephony/ServiceState;->getDataRoaming()Z
-HSPLandroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z
-HSPLandroid/telephony/ServiceState;->getDataRoamingType()I
-HSPLandroid/telephony/ServiceState;->getDuplexMode()I
-HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfo(II)Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfoList()Ljava/util/List;
-HSPLandroid/telephony/ServiceState;->getNrState()I
-HSPLandroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
-HPLandroid/telephony/ServiceState;->getRadioTechnology()I
-HSPLandroid/telephony/ServiceState;->getRilDataRadioTechnology()I
-HSPLandroid/telephony/ServiceState;->getRilVoiceRadioTechnology()I
-HSPLandroid/telephony/ServiceState;->getRoaming()Z
-HSPLandroid/telephony/ServiceState;->getState()I
-HSPLandroid/telephony/ServiceState;->getVoiceRegState()I
-HSPLandroid/telephony/ServiceState;->getVoiceRoaming()Z
-HSPLandroid/telephony/ServiceState;->getVoiceRoamingType()I
-HSPLandroid/telephony/ServiceState;->isEmergencyOnly()Z
-HSPLandroid/telephony/ServiceState;->isUsingCarrierAggregation()Z
-HSPLandroid/telephony/ServiceState;->networkTypeToRilRadioTechnology(I)I
-HSPLandroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState;
-HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->rilServiceStateToString(I)Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->roamingTypeToString(I)Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->setFromNotifierBundle(Landroid/os/Bundle;)V
-HSPLandroid/telephony/ServiceState;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SignalStrength;
-HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/SignalStrength;-><init>()V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/CellSignalStrengthCdma;Landroid/telephony/CellSignalStrengthGsm;Landroid/telephony/CellSignalStrengthWcdma;Landroid/telephony/CellSignalStrengthTdscdma;Landroid/telephony/CellSignalStrengthLte;Landroid/telephony/CellSignalStrengthNr;)V
 PLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/SignalStrength;)V
 HPLandroid/telephony/SignalStrength;->copyFrom(Landroid/telephony/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;->getCellSignalStrengths()Ljava/util/List;
-HSPLandroid/telephony/SignalStrength;->getCellSignalStrengths(Ljava/lang/Class;)Ljava/util/List;
-HSPLandroid/telephony/SignalStrength;->getLevel()I
-HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength;
 HSPLandroid/telephony/SignalStrength;->isGsm()Z
-HSPLandroid/telephony/SignalStrength;->toString()Ljava/lang/String;
-HSPLandroid/telephony/SignalStrength;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/SmsManager;-><init>(I)V
-HSPLandroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;
-HSPLandroid/telephony/SmsManager;->getISmsService()Lcom/android/internal/telephony/ISms;
 HSPLandroid/telephony/SmsManager;->getSmsManagerForSubscriptionId(I)Landroid/telephony/SmsManager;
 HSPLandroid/telephony/SmsManager;->getSubscriptionId()I
-HSPLandroid/telephony/SmsMessage;-><init>(Lcom/android/internal/telephony/SmsMessageBase;)V
-HSPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;
-HSPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;Z)Landroid/telephony/SmsMessage;
-HSPLandroid/telephony/SmsMessage;->getMessageBody()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;
 HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;IZLjava/lang/String;ZIIILjava/lang/String;[Landroid/telephony/UiccAccessRule;Z)V
@@ -21814,7 +19220,6 @@
 HSPLandroid/telephony/SubscriptionInfo;->getAllAccessRules()Ljava/util/List;
 HSPLandroid/telephony/SubscriptionInfo;->getCarrierId()I
 HSPLandroid/telephony/SubscriptionInfo;->getCarrierName()Ljava/lang/CharSequence;
-HSPLandroid/telephony/SubscriptionInfo;->getDataRoaming()I
 HSPLandroid/telephony/SubscriptionInfo;->getDisplayName()Ljava/lang/CharSequence;
 HSPLandroid/telephony/SubscriptionInfo;->getGroupUuid()Landroid/os/ParcelUuid;
 HSPLandroid/telephony/SubscriptionInfo;->getIccId()Ljava/lang/String;
@@ -21824,163 +19229,27 @@
 HSPLandroid/telephony/SubscriptionInfo;->getNumber()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo;->getSimSlotIndex()I
 HSPLandroid/telephony/SubscriptionInfo;->getSubscriptionId()I
-HSPLandroid/telephony/SubscriptionInfo;->givePrintableIccid(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z
 HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z
 HSPLandroid/telephony/SubscriptionInfo;->setAssociatedPlmns([Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;Landroid/os/Looper;)V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>()V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>(Landroid/os/Looper;)V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->access$000(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)Lcom/android/internal/telephony/util/HandlerExecutor;
-HSPLandroid/telephony/SubscriptionManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/SubscriptionManager;->addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
-HSPLandroid/telephony/SubscriptionManager;->addOnSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
 HSPLandroid/telephony/SubscriptionManager;->canManageSubscription(Landroid/telephony/SubscriptionInfo;Ljava/lang/String;)Z
-HSPLandroid/telephony/SubscriptionManager;->from(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;
-HSPLandroid/telephony/SubscriptionManager;->getActiveAndHiddenSubscriptionIdList()[I
-HSPLandroid/telephony/SubscriptionManager;->getActiveAndHiddenSubscriptionInfoList()Ljava/util/List;
-HSPLandroid/telephony/SubscriptionManager;->getActiveDataSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList(Z)[I
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoCount()I
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoCountMax()I
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList()Ljava/util/List;
-HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList(Z)Ljava/util/List;
-HSPLandroid/telephony/SubscriptionManager;->getAvailableSubscriptionInfoList()Ljava/util/List;
-HSPLandroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getDefaultSmsSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getDefaultSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getDefaultVoiceSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getPhoneId(I)I
-HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;I)Landroid/content/res/Resources;
-HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;IZ)Landroid/content/res/Resources;
-HSPLandroid/telephony/SubscriptionManager;->getSimStateForSlotIndex(I)I
-HSPLandroid/telephony/SubscriptionManager;->getSlotIndex(I)I
 HSPLandroid/telephony/SubscriptionManager;->isSubscriptionVisible(Landroid/telephony/SubscriptionInfo;)Z
-HSPLandroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z
-HSPLandroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z
-HSPLandroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z
 HSPLandroid/telephony/SubscriptionManager;->lambda$getActiveSubscriptionInfoList$0$SubscriptionManager(Landroid/telephony/SubscriptionInfo;)Z
 HSPLandroid/telephony/SubscriptionManager;->removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
-PLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Landroid/telephony/SubscriptionPlan;
-PLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->getTelephonyServiceManager()Landroid/os/TelephonyServiceManager;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$0(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$1(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$2(Landroid/content/Context;)Landroid/telephony/CarrierConfigManager;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$3(Landroid/content/Context;)Landroid/telephony/euicc/EuiccManager;
-HSPLandroid/telephony/TelephonyFrameworkInitializer;->setTelephonyServiceManager(Landroid/os/TelephonyServiceManager;)V
-HSPLandroid/telephony/TelephonyManager$1;-><init>(Landroid/telephony/TelephonyManager;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V
-HSPLandroid/telephony/TelephonyManager$1;->lambda$onCellInfo$0(Landroid/telephony/TelephonyManager$CellInfoCallback;Ljava/util/List;)V
-HSPLandroid/telephony/TelephonyManager$1;->onCellInfo(Ljava/util/List;)V
-HSPLandroid/telephony/TelephonyManager$2;-><init>(Landroid/telephony/TelephonyManager;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V
-HSPLandroid/telephony/TelephonyManager$2;->lambda$onCellInfo$0(Landroid/telephony/TelephonyManager$CellInfoCallback;Ljava/util/List;)V
-HSPLandroid/telephony/TelephonyManager$2;->onCellInfo(Ljava/util/List;)V
-HSPLandroid/telephony/TelephonyManager$CellInfoCallback;-><init>()V
-HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;I)V
+HSPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Landroid/telephony/SubscriptionPlan;
+HSPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
-HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-HSPLandroid/telephony/TelephonyManager;->createForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->createForSubscriptionId(I)Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->getActiveModemCount()I
-HSPLandroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
 HSPLandroid/telephony/TelephonyManager;->getAllNetworkTypes()[I
-HSPLandroid/telephony/TelephonyManager;->getCallState()I
-HSPLandroid/telephony/TelephonyManager;->getCardIdForDefaultEuicc()I
-HSPLandroid/telephony/TelephonyManager;->getCarrierConfig()Landroid/os/PersistableBundle;
-HSPLandroid/telephony/TelephonyManager;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
+HSPLandroid/telephony/TelephonyManager;->getAttributionTag()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getCarrierPrivilegeStatus(I)I
-HSPLandroid/telephony/TelephonyManager;->getCarrierPrivilegedPackagesForAllActiveSubscriptions()Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType()I
-HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType(I)I
-HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneTypeForSlot(I)I
-HSPLandroid/telephony/TelephonyManager;->getDataActivity()I
-HSPLandroid/telephony/TelephonyManager;->getDataEnabled()Z
-HSPLandroid/telephony/TelephonyManager;->getDataEnabled(I)Z
-HSPLandroid/telephony/TelephonyManager;->getDataNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getDataNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getDataState()I
-HSPLandroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->getDefaultSimCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getEmergencyNumberList()Ljava/util/Map;
-HSPLandroid/telephony/TelephonyManager;->getFeatureId()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getGroupIdLevel1()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
-HSPLandroid/telephony/TelephonyManager;->getImei()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getImei(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMeid()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMeid(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getMergedImsisFromGroup()[Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMultiSimConfiguration()Landroid/telephony/TelephonyManager$MultiSimVariants;
-HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIso(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorForPhone(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getOpPackageName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getPhoneCount()I
-HSPLandroid/telephony/TelephonyManager;->getPhoneId()I
-HSPLandroid/telephony/TelephonyManager;->getPhoneType()I
-HSPLandroid/telephony/TelephonyManager;->getPhoneType(I)I
-HSPLandroid/telephony/TelephonyManager;->getPhoneTypeFromNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getPhoneTypeFromProperty(I)I
-HSPLandroid/telephony/TelephonyManager;->getServiceState()Landroid/telephony/ServiceState;
-HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState;
-HSPLandroid/telephony/TelephonyManager;->getSimCarrierId()I
-HSPLandroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimCountryIso(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimCountryIsoForPhone(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorNameForPhone(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimState()I
-HSPLandroid/telephony/TelephonyManager;->getSimState(I)I
-HSPLandroid/telephony/TelephonyManager;->getSimStateIncludingLoaded()I
-HSPLandroid/telephony/TelephonyManager;->getSlotIndex()I
-HSPLandroid/telephony/TelephonyManager;->getSubId()I
-HSPLandroid/telephony/TelephonyManager;->getSubId(I)I
-HSPLandroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo;
 HPLandroid/telephony/TelephonyManager;->getSubscriptionId()I
-HSPLandroid/telephony/TelephonyManager;->getSubscriptionId(Landroid/telecom/PhoneAccountHandle;)I
-HSPLandroid/telephony/TelephonyManager;->getSupportedModemCount()I
-HSPLandroid/telephony/TelephonyManager;->getTelephonyProperty(ILjava/util/List;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/telephony/TelephonyManager;->getTelephonyRegistry()Lcom/android/internal/telephony/ITelephonyRegistry;
-HSPLandroid/telephony/TelephonyManager;->getVisualVoicemailPackageName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getVtDataUsage(I)Landroid/net/NetworkStats;
-HSPLandroid/telephony/TelephonyManager;->hasCarrierPrivileges(I)Z
-HSPLandroid/telephony/TelephonyManager;->isDataConnectionEnabled()Z
-HSPLandroid/telephony/TelephonyManager;->isDataEnabled()Z
+HSPLandroid/telephony/TelephonyManager;->getVoiceMailNumber(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->isEmergencyNumber(Ljava/lang/String;)Z
-HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming()Z
-HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming(I)Z
-HSPLandroid/telephony/TelephonyManager;->isSmsCapable()Z
-HSPLandroid/telephony/TelephonyManager;->isTetheringApnRequired(I)Z
-HSPLandroid/telephony/TelephonyManager;->isVoiceCapable()Z
-HSPLandroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
-HSPLandroid/telephony/TelephonyManager;->requestCellInfoUpdate(Landroid/os/WorkSource;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V
-HSPLandroid/telephony/TelephonyManager;->requestCellInfoUpdate(Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V
-HSPLandroid/telephony/TelephonyManager;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
 HPLandroid/telephony/TelephonyManager;->setPolicyDataEnabled(Z)V
 HSPLandroid/telephony/TelephonyRegistryManager$1;-><init>(Landroid/telephony/TelephonyRegistryManager;Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
 HSPLandroid/telephony/TelephonyRegistryManager$1;->lambda$onSubscriptionsChanged$0(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
@@ -21994,54 +19263,14 @@
 HSPLandroid/telephony/UiccAccessRule$1;->newArray(I)[Landroid/telephony/UiccAccessRule;
 HSPLandroid/telephony/UiccAccessRule$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/telephony/UiccAccessRule;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VoiceSpecificRegistrationInfo;
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/VoiceSpecificRegistrationInfo$1;)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/telephony/VoiceSpecificRegistrationInfo;)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/data/ApnSetting$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/data/ApnSetting;
 HSPLandroid/telephony/data/ApnSetting$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/data/ApnSetting$Builder;-><init>()V
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$000(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$100(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1000(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1100(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1200(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1300(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1400(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1500(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1600(Landroid/telephony/data/ApnSetting$Builder;)Z
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1700(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1800(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$1900(Landroid/telephony/data/ApnSetting$Builder;)Z
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$200(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2000(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2100(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2200(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2300(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2400(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2500(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2600(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2700(Landroid/telephony/data/ApnSetting$Builder;)I
 HSPLandroid/telephony/data/ApnSetting$Builder;->access$2800(Landroid/telephony/data/ApnSetting$Builder;I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$300(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$400(Landroid/telephony/data/ApnSetting$Builder;)Landroid/net/Uri;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$500(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$600(Landroid/telephony/data/ApnSetting$Builder;)I
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$700(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$800(Landroid/telephony/data/ApnSetting$Builder;)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$900(Landroid/telephony/data/ApnSetting$Builder;)I
 HSPLandroid/telephony/data/ApnSetting$Builder;->buildWithoutCheck()Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setApnName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setApnSetId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setApnTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setAuthType(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierEnabled(Z)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setEntryName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setId(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConns(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConnsTime(I)Landroid/telephony/data/ApnSetting$Builder;
@@ -22052,40 +19281,18 @@
 HSPLandroid/telephony/data/ApnSetting$Builder;->setMtu(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoMatchData(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoType(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setNetworkTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setOperatorNumeric(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setPassword(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setProfileId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setRoamingProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setSkip464Xlat(I)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setUser(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
 HSPLandroid/telephony/data/ApnSetting$Builder;->setWaitTime(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting;-><init>(Landroid/telephony/data/ApnSetting$Builder;)V
-HSPLandroid/telephony/data/ApnSetting;-><init>(Landroid/telephony/data/ApnSetting$Builder;Landroid/telephony/data/ApnSetting$1;)V
-HSPLandroid/telephony/data/ApnSetting;->UriToString(Landroid/net/Uri;)Ljava/lang/String;
 HSPLandroid/telephony/data/ApnSetting;->access$2900(Landroid/os/Parcel;)Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/data/ApnSetting;->getApnTypesBitmaskFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/data/ApnSetting;->getApnTypesStringFromBitmask(I)Ljava/lang/String;
 HSPLandroid/telephony/data/ApnSetting;->makeApnSetting(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/net/Uri;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IIIIZIIZIIIIILjava/lang/String;III)Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->portToString(I)Ljava/lang/String;
 HSPLandroid/telephony/data/ApnSetting;->readFromParcel(Landroid/os/Parcel;)Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String;
 HSPLandroid/telephony/data/ApnSetting;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/emergency/EmergencyNumber;
-HSPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/emergency/EmergencyNumber;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/emergency/EmergencyNumber;->isFromSources(I)Z
-HSPLandroid/telephony/emergency/EmergencyNumber;->toString()Ljava/lang/String;
-HSPLandroid/telephony/euicc/EuiccManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/euicc/EuiccManager;->getIEuiccController()Lcom/android/internal/telephony/euicc/IEuiccController;
-HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z
-HSPLandroid/telephony/euicc/EuiccManager;->refreshCardIdIfUninitialized()Z
-HSPLandroid/telephony/gsm/GsmCellLocation;-><init>()V
-HSPLandroid/telephony/gsm/GsmCellLocation;->isEmpty()Z
 HSPLandroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
 HSPLandroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
 HSPLandroid/telephony/ims/ImsMmTelManager;-><init>(I)V
@@ -22096,17 +19303,11 @@
 HSPLandroid/telephony/ims/ImsReasonInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/ims/ImsReasonInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/ims/ImsReasonInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/ims/ImsReasonInfo$1;)V
-HSPLandroid/telephony/ims/ImsReasonInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/ImsReasonInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/ims/RegistrationManager$RegistrationCallback$RegistrationBinder;-><init>(Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V
-HSPLandroid/telephony/ims/RegistrationManager$RegistrationCallback;-><init>()V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;-><init>()V
 HSPLandroid/text/-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY;-><init>(Landroid/graphics/Path;)V
 HSPLandroid/text/-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY;->accept(FFFFI)V
 HSPLandroid/text/AndroidBidi$EmojiBidiOverride;->classify(I)I
 HSPLandroid/text/AndroidBidi;->bidi(I[C[B)I
 HSPLandroid/text/AndroidBidi;->directions(I[BI[CII)Landroid/text/Layout$Directions;
-HSPLandroid/text/Annotation;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/text/AutoGrowArray$ByteArray;-><init>()V
 HSPLandroid/text/AutoGrowArray$ByteArray;-><init>(I)V
 HSPLandroid/text/AutoGrowArray$ByteArray;->clear()V
@@ -22147,7 +19348,6 @@
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence;
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/String;
 HSPLandroid/text/BoringLayout$Metrics;-><init>()V
 HSPLandroid/text/BoringLayout$Metrics;->access$000(Landroid/text/BoringLayout$Metrics;)V
@@ -22171,6 +19371,7 @@
 HSPLandroid/text/BoringLayout;->getParagraphDirection(I)I
 HSPLandroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z
 HSPLandroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
+HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;)Landroid/text/BoringLayout$Metrics;
 HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
 HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
 HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
@@ -22193,7 +19394,6 @@
 HSPLandroid/text/DynamicLayout$Builder;->access$1300(Landroid/text/DynamicLayout$Builder;)I
 HSPLandroid/text/DynamicLayout$Builder;->access$1400(Landroid/text/DynamicLayout$Builder;)Ljava/lang/CharSequence;
 HSPLandroid/text/DynamicLayout$Builder;->access$1500(Landroid/text/DynamicLayout$Builder;)Z
-HSPLandroid/text/DynamicLayout$Builder;->access$1600(Landroid/text/DynamicLayout$Builder;)I
 HSPLandroid/text/DynamicLayout$Builder;->access$1700(Landroid/text/DynamicLayout$Builder;)Landroid/graphics/Paint$FontMetricsInt;
 HSPLandroid/text/DynamicLayout$Builder;->access$200(Landroid/text/DynamicLayout$Builder;)Landroid/text/TextUtils$TruncateAt;
 HSPLandroid/text/DynamicLayout$Builder;->access$300(Landroid/text/DynamicLayout$Builder;)Ljava/lang/CharSequence;
@@ -22262,40 +19462,22 @@
 HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;
 HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;I)Landroid/text/Spanned;
 HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
-HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
-HSPLandroid/text/HtmlToSpannedConverter$Bold;-><init>()V
-HSPLandroid/text/HtmlToSpannedConverter$Bold;-><init>(Landroid/text/HtmlToSpannedConverter$1;)V
-HSPLandroid/text/HtmlToSpannedConverter$Foreground;-><init>(I)V
-HSPLandroid/text/HtmlToSpannedConverter$Foreground;->access$1500(Landroid/text/HtmlToSpannedConverter$Foreground;)I
-HSPLandroid/text/HtmlToSpannedConverter$Href;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter$Newline;-><init>(I)V
-HSPLandroid/text/HtmlToSpannedConverter$Newline;->access$900(Landroid/text/HtmlToSpannedConverter$Newline;)I
 HSPLandroid/text/HtmlToSpannedConverter;-><init>(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;Lorg/ccil/cowan/tagsoup/Parser;I)V
-HSPLandroid/text/HtmlToSpannedConverter;->appendNewlines(Landroid/text/Editable;I)V
 HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V
 HSPLandroid/text/HtmlToSpannedConverter;->convert()Landroid/text/Spanned;
 HSPLandroid/text/HtmlToSpannedConverter;->end(Landroid/text/Editable;Ljava/lang/Class;Ljava/lang/Object;)V
 HSPLandroid/text/HtmlToSpannedConverter;->endA(Landroid/text/Editable;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endBlockElement(Landroid/text/Editable;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endCssStyle(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->endDocument()V
 HSPLandroid/text/HtmlToSpannedConverter;->endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endFont(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->endPrefixMapping(Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->getHtmlColor(Ljava/lang/String;)I
 HSPLandroid/text/HtmlToSpannedConverter;->getLast(Landroid/text/Spanned;Ljava/lang/Class;)Ljava/lang/Object;
-HSPLandroid/text/HtmlToSpannedConverter;->handleBr(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V
 HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->setDocumentLocator(Lorg/xml/sax/Locator;)V
 HSPLandroid/text/HtmlToSpannedConverter;->setSpanFromMark(Landroid/text/Spannable;Ljava/lang/Object;[Ljava/lang/Object;)V
 HSPLandroid/text/HtmlToSpannedConverter;->start(Landroid/text/Editable;Ljava/lang/Object;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startA(Landroid/text/Editable;Lorg/xml/sax/Attributes;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startBlockElement(Landroid/text/Editable;Lorg/xml/sax/Attributes;I)V
-HSPLandroid/text/HtmlToSpannedConverter;->startCssStyle(Landroid/text/Editable;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->startDocument()V
 HSPLandroid/text/HtmlToSpannedConverter;->startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startFont(Landroid/text/Editable;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/text/Hyphenator;->init()V
 HSPLandroid/text/InputFilter$LengthFilter;-><init>(I)V
@@ -22463,9 +19645,7 @@
 HSPLandroid/text/SpannableStringBuilder;-><init>()V
 HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V
 HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;II)V
-HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
 HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
 HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
@@ -22479,7 +19659,6 @@
 HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I
 HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
 HSPLandroid/text/SpannableStringBuilder;->equals(Ljava/lang/Object;)Z
 HSPLandroid/text/SpannableStringBuilder;->getChars(II[CI)V
 HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I
@@ -22488,7 +19667,6 @@
 HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object;
 HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
-HSPLandroid/text/SpannableStringBuilder;->getTextRunCursor(IIZIILandroid/graphics/Paint;)I
 HSPLandroid/text/SpannableStringBuilder;->getTextWatcherDepth()I
 HSPLandroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z
 HSPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/Editable;
@@ -22552,7 +19730,6 @@
 HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V
 HSPLandroid/text/SpannableStringInternal;->toString()Ljava/lang/String;
 HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;II)V
 HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V
 HSPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z
 HSPLandroid/text/SpannedString;->getSpanEnd(Ljava/lang/Object;)I
@@ -22670,7 +19847,6 @@
 HSPLandroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
 HSPLandroid/text/TextPaint;-><init>()V
 HSPLandroid/text/TextPaint;-><init>(I)V
-HSPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V
 HSPLandroid/text/TextPaint;->getUnderlineThickness()F
 HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V
 HSPLandroid/text/TextPaint;->setUnderlineText(IF)V
@@ -22690,19 +19866,16 @@
 HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V
 HSPLandroid/text/TextUtils;->couldAffectRtl(C)Z
-HSPLandroid/text/TextUtils;->delimitedStringContains(Ljava/lang/String;CLjava/lang/String;)Z
 HSPLandroid/text/TextUtils;->doesNotNeedBidi([CII)Z
 HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-HSPLandroid/text/TextUtils;->expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->getCapsMode(Ljava/lang/CharSequence;II)I
 HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
 HSPLandroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I
-HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I
 HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I
 HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I
 HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I
@@ -22752,14 +19925,11 @@
 HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;JJI)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJI)Ljava/util/Formatter;
 HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJILjava/lang/String;)Ljava/util/Formatter;
-HSPLandroid/text/format/DateUtils;->formatDateTime(Landroid/content/Context;JI)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->formatElapsedTime(J)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->formatElapsedTime(Ljava/lang/StringBuilder;J)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;
 HSPLandroid/text/format/DateUtils;->initFormatStrings()V
 HSPLandroid/text/format/DateUtils;->initFormatStringsLocked()V
-HSPLandroid/text/format/DateUtils;->isSameDate(JJ)Z
-HSPLandroid/text/format/DateUtils;->isToday(J)Z
 HSPLandroid/text/format/Formatter$BytesResult;-><init>(Ljava/lang/String;Ljava/lang/String;J)V
 HSPLandroid/text/format/Formatter;->bidiWrap(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/format/Formatter;->formatBytes(Landroid/content/res/Resources;JI)Landroid/text/format/Formatter$BytesResult;
@@ -22768,19 +19938,10 @@
 HSPLandroid/text/format/Formatter;->formatShortElapsedTime(Landroid/content/Context;J)Ljava/lang/String;
 HSPLandroid/text/format/Formatter;->formatShortElapsedTimeRoundingUpToMinutes(Landroid/content/Context;J)Ljava/lang/String;
 HSPLandroid/text/format/Formatter;->localeFromContext(Landroid/content/Context;)Ljava/util/Locale;
-HSPLandroid/text/format/Time$TimeCalculator;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsFromTime(Landroid/text/format/Time;)V
 HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsToTime(Landroid/text/format/Time;)V
 HSPLandroid/text/format/Time$TimeCalculator;->lookupZoneInfo(Ljava/lang/String;)Llibcore/util/ZoneInfo;
 HSPLandroid/text/format/Time$TimeCalculator;->setTimeInMillis(J)V
-HSPLandroid/text/format/Time$TimeCalculator;->toMillis(Z)J
-HSPLandroid/text/format/Time$TimeCalculator;->updateZoneInfoFromTimeZone()V
 HSPLandroid/text/format/Time;-><init>()V
-HSPLandroid/text/format/Time;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/format/Time;->getCurrentTimezone()Ljava/lang/String;
-HSPLandroid/text/format/Time;->getJulianDay(JJ)I
-HSPLandroid/text/format/Time;->initialize(Ljava/lang/String;)V
-HSPLandroid/text/format/Time;->normalize(Z)J
 HSPLandroid/text/format/Time;->set(J)V
 HSPLandroid/text/method/AllCapsTransformationMethod;-><init>(Landroid/content/Context;)V
 HSPLandroid/text/method/AllCapsTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
@@ -22846,10 +20007,10 @@
 HSPLandroid/text/method/SingleLineTransformationMethod;->getOriginal()[C
 HSPLandroid/text/method/SingleLineTransformationMethod;->getReplacement()[C
 HSPLandroid/text/method/TextKeyListener$SettingsObserver;-><init>(Landroid/text/method/TextKeyListener;)V
-HPLandroid/text/method/TextKeyListener$SettingsObserver;->onChange(Z)V
+HSPLandroid/text/method/TextKeyListener$SettingsObserver;->onChange(Z)V
 HSPLandroid/text/method/TextKeyListener;-><init>(Landroid/text/method/TextKeyListener$Capitalize;Z)V
-HPLandroid/text/method/TextKeyListener;->access$000(Landroid/text/method/TextKeyListener;)Ljava/lang/ref/WeakReference;
-HPLandroid/text/method/TextKeyListener;->access$200(Landroid/text/method/TextKeyListener;Landroid/content/ContentResolver;)V
+HSPLandroid/text/method/TextKeyListener;->access$000(Landroid/text/method/TextKeyListener;)Ljava/lang/ref/WeakReference;
+HSPLandroid/text/method/TextKeyListener;->access$200(Landroid/text/method/TextKeyListener;Landroid/content/ContentResolver;)V
 HSPLandroid/text/method/TextKeyListener;->getInstance()Landroid/text/method/TextKeyListener;
 HSPLandroid/text/method/TextKeyListener;->getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/TextKeyListener;
 HSPLandroid/text/method/TextKeyListener;->getKeyListener(Landroid/view/KeyEvent;)Landroid/text/method/KeyListener;
@@ -22884,17 +20045,10 @@
 HSPLandroid/text/style/CharacterStyle;->getUnderlying()Landroid/text/style/CharacterStyle;
 HSPLandroid/text/style/ClickableSpan;-><init>()V
 HSPLandroid/text/style/ClickableSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/DynamicDrawableSpan;-><init>(I)V
-HSPLandroid/text/style/DynamicDrawableSpan;->draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
-HSPLandroid/text/style/DynamicDrawableSpan;->getCachedDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/text/style/DynamicDrawableSpan;->getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
 HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V
 HSPLandroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I
 HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HSPLandroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;I)V
-HSPLandroid/text/style/ImageSpan;->getDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/text/style/MetricAffectingSpan;-><init>()V
 HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/CharacterStyle;
 HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/MetricAffectingSpan;
@@ -22934,33 +20088,18 @@
 HSPLandroid/text/style/TtsSpan;-><init>(Ljava/lang/String;Landroid/os/PersistableBundle;)V
 HSPLandroid/text/style/TypefaceSpan;-><init>(Ljava/lang/String;)V
 HSPLandroid/text/style/TypefaceSpan;-><init>(Ljava/lang/String;Landroid/graphics/Typeface;)V
-HSPLandroid/text/style/TypefaceSpan;->applyFontFamily(Landroid/graphics/Paint;Ljava/lang/String;)V
-HSPLandroid/text/style/TypefaceSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TypefaceSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TypefaceSpan;->updateTypeface(Landroid/graphics/Paint;)V
 HSPLandroid/text/style/URLSpan;-><init>(Ljava/lang/String;)V
 HSPLandroid/text/style/URLSpan;->getURL()Ljava/lang/String;
 HSPLandroid/text/style/UnderlineSpan;-><init>()V
 HSPLandroid/text/style/UnderlineSpan;->getSpanTypeIdInternal()I
 HSPLandroid/text/style/UnderlineSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HSPLandroid/text/style/UnderlineSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/util/-$$Lambda$Linkify$7J_-cMhIF2bcttjkxA2jDFP8sKw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/text/util/Linkify$4;-><init>()V
 HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;I)Z
 HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;ILandroid/content/Context;Ljava/util/function/Function;)Z
-HSPLandroid/text/util/Linkify;->applyLink(Ljava/lang/String;IILandroid/text/Spannable;Ljava/util/function/Function;)V
 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;->gatherMapLinks(Ljava/util/ArrayList;Landroid/text/Spannable;)V
-HSPLandroid/text/util/Linkify;->gatherTelLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Landroid/content/Context;)V
-HSPLandroid/text/util/Linkify;->lambda$static$0(Ljava/lang/String;)Landroid/text/style/URLSpan;
-HSPLandroid/text/util/Linkify;->makeUrl(Ljava/lang/String;[Ljava/lang/String;Ljava/util/regex/Matcher;Landroid/text/util/Linkify$TransformFilter;)Ljava/lang/String;
 HSPLandroid/text/util/Linkify;->pruneOverlaps(Ljava/util/ArrayList;)V
-HSPLandroid/text/util/Rfc822Token;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/util/Rfc822Token;->getAddress()Ljava/lang/String;
-HSPLandroid/text/util/Rfc822Tokenizer;->crunch(Ljava/lang/StringBuilder;)V
-HSPLandroid/text/util/Rfc822Tokenizer;->tokenize(Ljava/lang/CharSequence;)[Landroid/text/util/Rfc822Token;
-HSPLandroid/text/util/Rfc822Tokenizer;->tokenize(Ljava/lang/CharSequence;Ljava/util/Collection;)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
@@ -22977,7 +20116,6 @@
 HSPLandroid/transition/Fade;->getStartAlpha(Landroid/transition/TransitionValues;F)F
 HSPLandroid/transition/Fade;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
 HSPLandroid/transition/Fade;->onDisappear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HSPLandroid/transition/Scene;-><init>(Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/transition/Scene;->enter()V
 HSPLandroid/transition/Scene;->getCurrentScene(Landroid/view/ViewGroup;)Landroid/transition/Scene;
 HSPLandroid/transition/Scene;->getSceneRoot()Landroid/view/ViewGroup;
@@ -23136,7 +20274,6 @@
 HSPLandroid/util/ArrayMap;->putAll(Ljava/util/Map;)V
 HSPLandroid/util/ArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/util/ArrayMap;->removeAt(I)Ljava/lang/Object;
-HSPLandroid/util/ArrayMap;->retainAll(Ljava/util/Collection;)Z
 HSPLandroid/util/ArrayMap;->setValueAt(ILjava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/util/ArrayMap;->size()I
 HSPLandroid/util/ArrayMap;->toString()Ljava/lang/String;
@@ -23226,9 +20363,6 @@
 HSPLandroid/util/EventLog$Event;-><init>([B)V
 HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object;
 HSPLandroid/util/EventLog$Event;->getData()Ljava/lang/Object;
-HSPLandroid/util/EventLog$Event;->getProcessId()I
-HSPLandroid/util/EventLog$Event;->getTag()I
-HSPLandroid/util/EventLog$Event;->getThreadId()I
 HSPLandroid/util/EventLog$Event;->getTimeNanos()J
 HSPLandroid/util/EventLog$Event;->getUid()I
 HSPLandroid/util/EventLog;->getTagCode(Ljava/lang/String;)I
@@ -23244,6 +20378,7 @@
 HSPLandroid/util/FloatProperty;-><init>(Ljava/lang/String;)V
 HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Float;)V
 HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/util/IconDrawableFactory;-><init>(Landroid/content/Context;Z)V
 HSPLandroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory;
 HSPLandroid/util/IntArray;-><init>()V
 HSPLandroid/util/IntArray;-><init>(I)V
@@ -23262,7 +20397,9 @@
 HSPLandroid/util/JsonReader;-><init>(Ljava/io/Reader;)V
 HSPLandroid/util/JsonReader;->advance()Landroid/util/JsonToken;
 HSPLandroid/util/JsonReader;->beginObject()V
+HSPLandroid/util/JsonReader;->close()V
 HSPLandroid/util/JsonReader;->decodeLiteral()Landroid/util/JsonToken;
+HSPLandroid/util/JsonReader;->endObject()V
 HSPLandroid/util/JsonReader;->expect(Landroid/util/JsonToken;)V
 HSPLandroid/util/JsonReader;->fillBuffer(I)Z
 HSPLandroid/util/JsonReader;->hasNext()Z
@@ -23276,31 +20413,7 @@
 HSPLandroid/util/JsonReader;->nextValue()Landroid/util/JsonToken;
 HSPLandroid/util/JsonReader;->objectValue()Landroid/util/JsonToken;
 HSPLandroid/util/JsonReader;->peek()Landroid/util/JsonToken;
-HSPLandroid/util/JsonReader;->peekStack()Landroid/util/JsonScope;
-HSPLandroid/util/JsonReader;->pop()Landroid/util/JsonScope;
-HSPLandroid/util/JsonReader;->push(Landroid/util/JsonScope;)V
-HSPLandroid/util/JsonReader;->readEscapeCharacter()C
 HSPLandroid/util/JsonReader;->readLiteral()Landroid/util/JsonToken;
-HSPLandroid/util/JsonReader;->replaceTop(Landroid/util/JsonScope;)V
-HSPLandroid/util/JsonReader;->skipValue()V
-HSPLandroid/util/JsonWriter;-><init>(Ljava/io/Writer;)V
-HSPLandroid/util/JsonWriter;->beforeName()V
-HSPLandroid/util/JsonWriter;->beforeValue(Z)V
-HSPLandroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->close()V
-HSPLandroid/util/JsonWriter;->close(Landroid/util/JsonScope;Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->newline()V
-HSPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope;
-HSPLandroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V
-HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V
-HSPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter;
 HSPLandroid/util/KeyValueListParser$IntValue;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/KeyValueListParser$IntValue;->getValue()I
 HSPLandroid/util/KeyValueListParser$IntValue;->parse(Landroid/util/KeyValueListParser;)V
@@ -23313,11 +20426,7 @@
 HSPLandroid/util/KeyValueListParser;->getLong(Ljava/lang/String;J)J
 HSPLandroid/util/KeyValueListParser;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/util/KeyValueListParser;->setString(Ljava/lang/String;)V
-HSPLandroid/util/KeyValueSettingObserver$SettingObserver;-><init>(Landroid/util/KeyValueSettingObserver;Landroid/os/Handler;)V
-HSPLandroid/util/KeyValueSettingObserver$SettingObserver;-><init>(Landroid/util/KeyValueSettingObserver;Landroid/os/Handler;Landroid/util/KeyValueSettingObserver$1;)V
-HSPLandroid/util/KeyValueSettingObserver;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;Landroid/net/Uri;)V
 HSPLandroid/util/KeyValueSettingObserver;->setParserValue()V
-HSPLandroid/util/KeyValueSettingObserver;->start()V
 HSPLandroid/util/LauncherIcons;-><init>(Landroid/content/Context;)V
 HSPLandroid/util/LauncherIcons;->getBadgedDrawable(Landroid/graphics/drawable/Drawable;II)Landroid/graphics/drawable/Drawable;
 HSPLandroid/util/LocalLog;-><init>(I)V
@@ -23343,7 +20452,6 @@
 HSPLandroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I
 HSPLandroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
@@ -23445,7 +20553,6 @@
 HSPLandroid/util/MapCollections;->getEntrySet()Ljava/util/Set;
 HSPLandroid/util/MapCollections;->getKeySet()Ljava/util/Set;
 HSPLandroid/util/MapCollections;->getValues()Ljava/util/Collection;
-HSPLandroid/util/MapCollections;->retainAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
 HSPLandroid/util/MapCollections;->toArrayHelper(I)[Ljava/lang/Object;
 HSPLandroid/util/MapCollections;->toArrayHelper([Ljava/lang/Object;I)[Ljava/lang/Object;
 HSPLandroid/util/MathUtils;->addOrThrow(II)I
@@ -23472,11 +20579,9 @@
 HSPLandroid/util/MemoryIntArray;-><init>(I)V
 HSPLandroid/util/MemoryIntArray;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/util/MemoryIntArray;-><init>(Landroid/os/Parcel;Landroid/util/MemoryIntArray$1;)V
-HSPLandroid/util/MemoryIntArray;->close()V
 HSPLandroid/util/MemoryIntArray;->enforceNotClosed()V
 HSPLandroid/util/MemoryIntArray;->enforceValidIndex(I)V
 HSPLandroid/util/MemoryIntArray;->enforceWritable()V
-HSPLandroid/util/MemoryIntArray;->finalize()V
 HSPLandroid/util/MemoryIntArray;->get(I)I
 HSPLandroid/util/MemoryIntArray;->isClosed()Z
 HSPLandroid/util/MemoryIntArray;->isWritable()Z
@@ -23514,8 +20619,8 @@
 HPLandroid/util/NtpTrustedTime$TimeResult;->currentTimeMillis()J
 HPLandroid/util/NtpTrustedTime$TimeResult;->getAgeMillis()J
 PLandroid/util/NtpTrustedTime$TimeResult;->getCertaintyMillis()J
-PLandroid/util/NtpTrustedTime$TimeResult;->getElapsedRealtimeMillis()J
-PLandroid/util/NtpTrustedTime$TimeResult;->getTimeMillis()J
+HPLandroid/util/NtpTrustedTime$TimeResult;->getElapsedRealtimeMillis()J
+HPLandroid/util/NtpTrustedTime$TimeResult;->getTimeMillis()J
 HSPLandroid/util/NtpTrustedTime;-><init>(Landroid/content/Context;)V
 PLandroid/util/NtpTrustedTime;->access$000(Landroid/util/NtpTrustedTime;)Landroid/content/Context;
 PLandroid/util/NtpTrustedTime;->forceRefresh()Z
@@ -23593,7 +20698,6 @@
 HSPLandroid/util/Singleton;-><init>()V
 HSPLandroid/util/Singleton;->get()Ljava/lang/Object;
 HSPLandroid/util/Size;-><init>(II)V
-HSPLandroid/util/Size;->equals(Ljava/lang/Object;)Z
 HSPLandroid/util/Size;->getHeight()I
 HSPLandroid/util/Size;->getWidth()I
 HSPLandroid/util/Size;->hashCode()I
@@ -23714,11 +20818,6 @@
 HPLandroid/util/TimedRemoteCaller;->getResultTimed(I)Ljava/lang/Object;
 HPLandroid/util/TimedRemoteCaller;->onBeforeRemoteCall()I
 HPLandroid/util/TimedRemoteCaller;->onRemoteMethodResult(Ljava/lang/Object;I)V
-HSPLandroid/util/TimingLogger;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/util/TimingLogger;->addSplit(Ljava/lang/String;)V
-HSPLandroid/util/TimingLogger;->dumpToLog()V
-HSPLandroid/util/TimingLogger;->reset()V
-HSPLandroid/util/TimingLogger;->reset(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;J)V
 HSPLandroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;JI)V
 HSPLandroid/util/TimingsTraceLog;->assertSameThread()V
@@ -23744,7 +20843,6 @@
 HSPLandroid/util/Xml;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;-><init>([[Ljava/security/cert/X509Certificate;[B)V
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->findSignature(Ljava/io/RandomAccessFile;)Landroid/util/apk/SignatureInfo;
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->isSupportedSignatureAlgorithm(I)Z
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->unsafeGetCertsWithoutVerification(Ljava/lang/String;)[[Ljava/security/cert/X509Certificate;
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
@@ -23754,7 +20852,6 @@
 HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)[Ljava/security/cert/X509Certificate;
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;-><init>([Ljava/security/cert/X509Certificate;Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;)V
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->findSignature(Ljava/io/RandomAccessFile;)Landroid/util/apk/SignatureInfo;
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->isSupportedSignatureAlgorithm(I)Z
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->unsafeGetCertsWithoutVerification(Ljava/lang/String;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
@@ -23764,6 +20861,7 @@
 HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
 HSPLandroid/util/apk/ApkSignatureVerifier;->closeQuietly(Landroid/util/jar/StrictJarFile;)V
 HSPLandroid/util/apk/ApkSignatureVerifier;->convertToSignatures([[Ljava/security/cert/Certificate;)[Landroid/content/pm/Signature;
+HSPLandroid/util/apk/ApkSignatureVerifier;->getMinimumSignatureSchemeVersionForTargetSdk(I)I
 HSPLandroid/util/apk/ApkSignatureVerifier;->loadCertificates(Landroid/util/jar/StrictJarFile;Ljava/util/zip/ZipEntry;)[[Ljava/security/cert/Certificate;
 HSPLandroid/util/apk/ApkSignatureVerifier;->readFullyIgnoringContents(Ljava/io/InputStream;)V
 HSPLandroid/util/apk/ApkSignatureVerifier;->unsafeGetCertsWithoutVerification(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
@@ -23974,17 +21072,31 @@
 HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;-><init>(Landroid/view/FocusFinder$FocusSorter;)V
 HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLandroid/view/-$$Lambda$InsetsAnimationThreadControlRunner$uH4_lrsZqDlpBAfYA-toGwSbZOM;-><init>(Landroid/view/InsetsAnimationThreadControlRunner;Landroid/view/WindowInsetsAnimationControlListener;I)V
+HSPLandroid/view/-$$Lambda$InsetsAnimationThreadControlRunner$uH4_lrsZqDlpBAfYA-toGwSbZOM;->run()V
+HSPLandroid/view/-$$Lambda$InsetsController$1n9XL98Th3ubITpOqj0dyKdV0bw;-><init>(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/-$$Lambda$InsetsController$1n9XL98Th3ubITpOqj0dyKdV0bw;->onFrameDraw(J)V
 HSPLandroid/view/-$$Lambda$InsetsController$6uoSHBPvxV1C0JOZKhH1AyuNXmo;-><init>(Landroid/view/InsetsController;)V
 HSPLandroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q;-><init>(Landroid/view/InsetsController;)V
+HSPLandroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$SInf91MjJKDQFXwrp7C-HBi0xaQ;-><init>(Landroid/view/InsetsController$InternalAnimationControlListener;Landroid/view/animation/Interpolator;Landroid/view/WindowInsetsAnimationController;Landroid/graphics/Insets;Landroid/graphics/Insets;Landroid/view/animation/Interpolator;)V
+HSPLandroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$SInf91MjJKDQFXwrp7C-HBi0xaQ;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+HSPLandroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$hxk87AxkClLRhRgGak0NUvJOACM;-><clinit>()V
+HSPLandroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$hxk87AxkClLRhRgGak0NUvJOACM;-><init>()V
+HSPLandroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$hxk87AxkClLRhRgGak0NUvJOACM;->getInterpolation(F)F
 HSPLandroid/view/-$$Lambda$InsetsController$RZT3QkL9zMFTeHtZbfcaHIzvlsc;-><clinit>()V
 HSPLandroid/view/-$$Lambda$InsetsController$RZT3QkL9zMFTeHtZbfcaHIzvlsc;-><init>()V
 HSPLandroid/view/-$$Lambda$InsetsController$RZT3QkL9zMFTeHtZbfcaHIzvlsc;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/-$$Lambda$InsetsController$zpmOxHfTFV_3me2u3C8YaXSUauQ;-><init>(Landroid/view/InsetsController;)V
 HSPLandroid/view/-$$Lambda$InsetsController$zpmOxHfTFV_3me2u3C8YaXSUauQ;->run()V
+HSPLandroid/view/-$$Lambda$OPw84JVgjgVWRUjBDztTKZ7zDyc;-><init>(Landroid/view/InsetsController;)V
+HSPLandroid/view/-$$Lambda$OPw84JVgjgVWRUjBDztTKZ7zDyc;->accept(Ljava/lang/Object;)V
 HSPLandroid/view/-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g;-><init>(Landroid/view/SurfaceView;)V
 HSPLandroid/view/-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g;->onScrollChanged()V
 HSPLandroid/view/-$$Lambda$QI1s392qW8l6mC24bcy9050SkuY;-><init>(Landroid/view/View;)V
+HSPLandroid/view/-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA;-><clinit>()V
+HSPLandroid/view/-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA;-><init>()V
+HSPLandroid/view/-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA;->accept(Ljava/lang/Object;)V
 HSPLandroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;-><init>(Landroid/view/SurfaceView;)V
 HSPLandroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;->run()V
 HSPLandroid/view/-$$Lambda$SurfaceView$TWz4D2u33ZlAmRtgKzbqqDue3iM;-><init>(Landroid/view/SurfaceView;)V
@@ -24016,6 +21128,10 @@
 HSPLandroid/view/-$$Lambda$WlJa6OPA72p3gYtA3nVKC7Z1tGY;->run()V
 HSPLandroid/view/-$$Lambda$Y3lG3v_J32-xL0IjMGgNorZjESw;->get()Ljava/lang/Object;
 HSPLandroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/view/-$$Lambda$kl-1KEyg7FwPQcg9XfREJM1iCiM;-><init>(Landroid/view/InsetsAnimationControlImpl;)V
+HSPLandroid/view/-$$Lambda$kl-1KEyg7FwPQcg9XfREJM1iCiM;->run()V
+HSPLandroid/view/-$$Lambda$yePAgdxpSSjmKnpPAp6YHM4lpEQ;-><init>(Landroid/view/InsetsAnimationControlCallbacks;)V
+HSPLandroid/view/-$$Lambda$yePAgdxpSSjmKnpPAp6YHM4lpEQ;->accept(Ljava/lang/Object;)V
 HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/view/AbsSavedState;
 HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
 HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
@@ -24024,8 +21140,6 @@
 HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/ActionMode$Callback2;-><init>()V
 HSPLandroid/view/ActionMode;-><init>()V
-HSPLandroid/view/ActionMode;->getType()I
-HSPLandroid/view/ActionMode;->setType(I)V
 HSPLandroid/view/BatchedInputEventReceiver$BatchedInputRunnable;-><init>(Landroid/view/BatchedInputEventReceiver;)V
 HSPLandroid/view/BatchedInputEventReceiver$BatchedInputRunnable;-><init>(Landroid/view/BatchedInputEventReceiver;Landroid/view/BatchedInputEventReceiver$1;)V
 HSPLandroid/view/BatchedInputEventReceiver$BatchedInputRunnable;->run()V
@@ -24137,7 +21251,6 @@
 HSPLandroid/view/Display;->getPresentationDeadlineNanos()J
 HSPLandroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V
 HSPLandroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
-HSPLandroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V
 HSPLandroid/view/Display;->getRefreshRate()F
 HSPLandroid/view/Display;->getRotation()I
 HSPLandroid/view/Display;->getSize(Landroid/graphics/Point;)V
@@ -24197,8 +21310,6 @@
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Insets;[Landroid/graphics/Rect;Z)V
 HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Insets;[Landroid/graphics/Rect;ZLandroid/view/DisplayCutout$1;)V
-HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;[Landroid/graphics/Rect;Z)V
-HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;[Landroid/graphics/Rect;ZLandroid/view/DisplayCutout$1;)V
 HSPLandroid/view/DisplayCutout;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLandroid/view/DisplayCutout;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/DisplayCutout;->fromResourcesRectApproximation(Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
@@ -24209,12 +21320,15 @@
 HSPLandroid/view/DisplayCutout;->getSafeInsetRight()I
 HSPLandroid/view/DisplayCutout;->getSafeInsetTop()I
 HSPLandroid/view/DisplayCutout;->getSafeInsets()Landroid/graphics/Rect;
+HSPLandroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout;
 HSPLandroid/view/DisplayCutout;->isEmpty()Z
 HSPLandroid/view/DisplayCutout;->loadWaterfallInset(Landroid/content/res/Resources;)Landroid/graphics/Insets;
 HSPLandroid/view/DisplayCutout;->pathAndDisplayCutoutFromSpec(Ljava/lang/String;IIFLandroid/graphics/Insets;)Landroid/util/Pair;
 HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;II)V
 HSPLandroid/view/DisplayEventReceiver;->dispatchConfigChanged(JJI)V
 HSPLandroid/view/DisplayEventReceiver;->dispatchVsync(JJI)V
+HSPLandroid/view/DisplayEventReceiver;->dispose(Z)V
+HSPLandroid/view/DisplayEventReceiver;->finalize()V
 HSPLandroid/view/DisplayEventReceiver;->scheduleVsync()V
 HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayInfo;
 HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -24263,18 +21377,10 @@
 HSPLandroid/view/FocusFinder;->getWeightedDistanceFor(JJ)J
 HSPLandroid/view/FocusFinder;->isBetterCandidate(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/FocusFinder;->isCandidate(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Z
-HSPLandroid/view/FocusFinder;->isToDirectionOf(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/FocusFinder;->majorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
 HSPLandroid/view/FocusFinder;->majorAxisDistanceRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/FocusFinder;->majorAxisDistanceToFarEdge(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/FocusFinder;->majorAxisDistanceToFarEdgeRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
 HSPLandroid/view/FocusFinder;->minorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
 HSPLandroid/view/FocusFinder;->sort([Landroid/view/View;IILandroid/view/ViewGroup;Z)V
-HSPLandroid/view/FrameMetrics;-><init>()V
-HSPLandroid/view/FrameMetrics;->getMetric(I)J
-HSPLandroid/view/FrameMetricsObserver;-><init>(Landroid/view/Window;Landroid/os/Handler;Landroid/view/Window$OnFrameMetricsAvailableListener;)V
-HSPLandroid/view/FrameMetricsObserver;->getRendererObserver()Landroid/graphics/HardwareRendererObserver;
-HSPLandroid/view/FrameMetricsObserver;->onFrameMetricsAvailable(I)V
 HSPLandroid/view/GestureDetector$GestureHandler;-><init>(Landroid/view/GestureDetector;)V
 HSPLandroid/view/GestureDetector$GestureHandler;-><init>(Landroid/view/GestureDetector;Landroid/os/Handler;)V
 HSPLandroid/view/GestureDetector$GestureHandler;->handleMessage(Landroid/os/Message;)V
@@ -24314,7 +21420,6 @@
 HSPLandroid/view/GestureExclusionTracker;->computeChangedRects()Ljava/util/List;
 HSPLandroid/view/GestureExclusionTracker;->updateRectsForView(Landroid/view/View;)V
 HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;)V
-HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;I)V
 HSPLandroid/view/Gravity;->applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLandroid/view/Gravity;->getAbsoluteGravity(II)I
@@ -24343,13 +21448,6 @@
 HSPLandroid/view/IDisplayWindowRotationController$Stub;-><init>()V
 HSPLandroid/view/IDisplayWindowRotationController$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IDisplayWindowRotationController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IDisplayWindowRotationController;
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onAdjustedForImeChanged(ZJ)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDividerVisibilityChanged(Z)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackExistsChanged(Z)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackMinimizedChanged(ZJZ)V
-HSPLandroid/view/IDockedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IDockedStackListener;
 HSPLandroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/view/IGraphicsStats$Stub;-><init>()V
@@ -24357,6 +21455,7 @@
 HSPLandroid/view/IGraphicsStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+PLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->onRotateGraphicsStatsBuffer()V
 HSPLandroid/view/IGraphicsStatsCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IGraphicsStatsCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStatsCallback;
 HSPLandroid/view/IGraphicsStatsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -24368,18 +21467,14 @@
 PLandroid/view/IInputMonitorHost$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IInputMonitorHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IInputMonitorHost;
 HPLandroid/view/IInputMonitorHost$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IPinnedStackController$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/IPinnedStackController$Stub;-><init>()V
 HSPLandroid/view/IPinnedStackController$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IPinnedStackController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackController;
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onImeVisibilityChanged(ZI)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onListenerRegistered(Landroid/view/IPinnedStackController;)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onMinimizedStateChanged(Z)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onMovementBoundsChanged(Landroid/graphics/Rect;ZZ)V
 HPLandroid/view/IPinnedStackListener$Stub$Proxy;->onResetReentryBounds(Landroid/content/ComponentName;)V
 HSPLandroid/view/IPinnedStackListener$Stub;-><init>()V
 HSPLandroid/view/IPinnedStackListener$Stub;->asBinder()Landroid/os/IBinder;
@@ -24416,7 +21511,6 @@
 HSPLandroid/view/IWindow$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/IWindow$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
 HSPLandroid/view/IWindow$Stub$Proxy;->dispatchAppVisibility(Z)V
-HSPLandroid/view/IWindow$Stub$Proxy;->dispatchWallpaperOffsets(FFFFZ)V
 HPLandroid/view/IWindow$Stub$Proxy;->dispatchWindowShown()V
 HPLandroid/view/IWindow$Stub$Proxy;->insetsChanged(Landroid/view/InsetsState;)V
 HPLandroid/view/IWindow$Stub$Proxy;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
@@ -24436,10 +21530,10 @@
 HSPLandroid/view/IWindowManager$Stub$Proxy;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
 HSPLandroid/view/IWindowManager$Stub$Proxy;->destroyInputConsumer(Ljava/lang/String;I)Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->getCurrentAnimatorScale()F
-HSPLandroid/view/IWindowManager$Stub$Proxy;->getDockedStackSide()I
 HSPLandroid/view/IWindowManager$Stub$Proxy;->getInitialDisplaySize(ILandroid/graphics/Point;)V
 HSPLandroid/view/IWindowManager$Stub$Proxy;->getStableInsets(ILandroid/graphics/Rect;)V
 HSPLandroid/view/IWindowManager$Stub$Proxy;->getWindowInsets(Landroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->getWindowInsets(Landroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InsetsState;)Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar(I)Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardLocked()Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardSecure(I)Z
@@ -24467,13 +21561,11 @@
 HSPLandroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(IZ)Z
 HSPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
-HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;)I
 HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;Landroid/view/SurfaceControl;)I
 HSPLandroid/view/IWindowSession$Stub$Proxy;->remove(Landroid/view/IWindow;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->updatePointerIcon(Landroid/view/IWindow;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
 HSPLandroid/view/IWindowSession$Stub;-><init>()V
 HSPLandroid/view/IWindowSession$Stub;->asBinder()Landroid/os/IBinder;
@@ -24503,18 +21595,20 @@
 HSPLandroid/view/ImeFocusController;->updateImeFocusable(Landroid/view/WindowManager$LayoutParams;Z)Z
 HSPLandroid/view/ImeInsetsSourceConsumer;-><init>(Landroid/view/InsetsState;Ljava/util/function/Supplier;Landroid/view/InsetsController;)V
 HSPLandroid/view/ImeInsetsSourceConsumer;->getImm()Landroid/view/inputmethod/InputMethodManager;
+HSPLandroid/view/ImeInsetsSourceConsumer;->hide(ZI)V
 HSPLandroid/view/ImeInsetsSourceConsumer;->isDummyOrEmptyEditor(Landroid/view/inputmethod/EditorInfo;)Z
 HSPLandroid/view/ImeInsetsSourceConsumer;->onServedEditorChanged(Landroid/view/inputmethod/EditorInfo;)V
 HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusGained()V
 HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusLost()V
+HSPLandroid/view/ImeInsetsSourceConsumer;->requestShow(Z)I
 HSPLandroid/view/ImeInsetsSourceConsumer;->setControl(Landroid/view/InsetsSourceControl;[I[I)V
+HSPLandroid/view/ImeInsetsSourceConsumer;->show(Z)V
 HSPLandroid/view/InputApplicationHandle;-><init>(Landroid/os/IBinder;)V
 HPLandroid/view/InputApplicationHandle;->finalize()V
 HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputChannel;
 HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/InputChannel;-><init>()V
 HSPLandroid/view/InputChannel;->dispose()V
-HPLandroid/view/InputChannel;->dup()Landroid/view/InputChannel;
 HSPLandroid/view/InputChannel;->finalize()V
 HSPLandroid/view/InputChannel;->getToken()Landroid/os/IBinder;
 HSPLandroid/view/InputChannel;->openInputChannelPair(Ljava/lang/String;)[Landroid/view/InputChannel;
@@ -24532,8 +21626,6 @@
 HSPLandroid/view/InputDevice$MotionRange;->access$600(Landroid/view/InputDevice$MotionRange;)F
 HSPLandroid/view/InputDevice$MotionRange;->access$700(Landroid/view/InputDevice$MotionRange;)F
 HSPLandroid/view/InputDevice$MotionRange;->access$800(Landroid/view/InputDevice$MotionRange;)F
-HSPLandroid/view/InputDevice$MotionRange;->getAxis()I
-HSPLandroid/view/InputDevice$MotionRange;->getSource()I
 HSPLandroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V
 HSPLandroid/view/InputDevice;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/InputDevice;-><init>(Landroid/os/Parcel;Landroid/view/InputDevice$1;)V
@@ -24544,9 +21636,7 @@
 HSPLandroid/view/InputDevice;->getId()I
 HSPLandroid/view/InputDevice;->getKeyCharacterMap()Landroid/view/KeyCharacterMap;
 HSPLandroid/view/InputDevice;->getKeyboardType()I
-HSPLandroid/view/InputDevice;->getMotionRanges()Ljava/util/List;
 HSPLandroid/view/InputDevice;->getSources()I
-HSPLandroid/view/InputDevice;->hasKeys([I)[Z
 HSPLandroid/view/InputDevice;->isExternal()Z
 HSPLandroid/view/InputDevice;->isFullKeyboard()Z
 HSPLandroid/view/InputDevice;->isVirtual()Z
@@ -24590,12 +21680,17 @@
 HSPLandroid/view/InputWindowHandle;-><init>(Landroid/view/InputApplicationHandle;I)V
 HPLandroid/view/InputWindowHandle;->finalize()V
 PLandroid/view/InputWindowHandle;->setTouchableRegionCrop(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/InsetsAnimationControlImpl;-><init>(Landroid/util/SparseArray;Landroid/graphics/Rect;Landroid/view/InsetsState;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/InsetsAnimationControlCallbacks;JLandroid/view/animation/Interpolator;I)V
+HSPLandroid/view/InsetsAnimationControlImpl;-><init>(Landroid/util/SparseArray;Landroid/graphics/Rect;Landroid/view/InsetsState;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/InsetsAnimationControlCallbacks;JLandroid/view/animation/Interpolator;ZI)V
+HSPLandroid/view/InsetsAnimationControlImpl;-><init>(Landroid/util/SparseArray;Landroid/graphics/Rect;Landroid/view/InsetsState;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/InsetsAnimationControlCallbacks;JLandroid/view/animation/Interpolator;ZII)V
 HSPLandroid/view/InsetsAnimationControlImpl;->addTranslationToMatrix(IILandroid/graphics/Matrix;Landroid/graphics/Rect;)V
 HSPLandroid/view/InsetsAnimationControlImpl;->applyChangeInsets(Landroid/view/InsetsState;)Z
 HSPLandroid/view/InsetsAnimationControlImpl;->buildTypeSourcesMap(Landroid/util/SparseIntArray;Landroid/util/SparseSetArray;Landroid/util/SparseArray;)V
 HSPLandroid/view/InsetsAnimationControlImpl;->calculateInsets(Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/util/SparseArray;ZLandroid/util/SparseIntArray;)Landroid/graphics/Insets;
+HSPLandroid/view/InsetsAnimationControlImpl;->cancel()V
 HSPLandroid/view/InsetsAnimationControlImpl;->finish(Z)V
 HSPLandroid/view/InsetsAnimationControlImpl;->getAnimation()Landroid/view/WindowInsetsAnimation;
+HSPLandroid/view/InsetsAnimationControlImpl;->getAnimationType()I
 HSPLandroid/view/InsetsAnimationControlImpl;->getCurrentAlpha()F
 HSPLandroid/view/InsetsAnimationControlImpl;->getHiddenStateInsets()Landroid/graphics/Insets;
 HSPLandroid/view/InsetsAnimationControlImpl;->getInsetsFromState(Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/util/SparseIntArray;)Landroid/graphics/Insets;
@@ -24603,37 +21698,79 @@
 HSPLandroid/view/InsetsAnimationControlImpl;->getShownStateInsets()Landroid/graphics/Insets;
 HSPLandroid/view/InsetsAnimationControlImpl;->getTypes()I
 HSPLandroid/view/InsetsAnimationControlImpl;->isCancelled()Z
+HSPLandroid/view/InsetsAnimationControlImpl;->releaseLeashes()V
 HSPLandroid/view/InsetsAnimationControlImpl;->sanitize(F)F
 HSPLandroid/view/InsetsAnimationControlImpl;->sanitize(Landroid/graphics/Insets;)Landroid/graphics/Insets;
 HSPLandroid/view/InsetsAnimationControlImpl;->setInsetsAndAlpha(Landroid/graphics/Insets;FF)V
 HSPLandroid/view/InsetsAnimationControlImpl;->updateLeashesForSide(IIIILjava/util/ArrayList;Landroid/view/InsetsState;Ljava/lang/Float;)V
+HSPLandroid/view/InsetsAnimationControlRunner;->controlsInternalType(I)Z
+HSPLandroid/view/InsetsAnimationThread;-><init>()V
+HSPLandroid/view/InsetsAnimationThread;->ensureThreadLocked()V
+HSPLandroid/view/InsetsAnimationThread;->getHandler()Landroid/os/Handler;
+HSPLandroid/view/InsetsAnimationThread;->release()V
+HSPLandroid/view/InsetsAnimationThreadControlRunner$1;-><init>(Landroid/view/InsetsAnimationThreadControlRunner;)V
+HSPLandroid/view/InsetsAnimationThreadControlRunner$1;->applySurfaceParams([Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
+HSPLandroid/view/InsetsAnimationThreadControlRunner$1;->releaseSurfaceControlFromRt(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/InsetsAnimationThreadControlRunner$1;->scheduleApplyChangeInsets()V
+HSPLandroid/view/InsetsAnimationThreadControlRunner$1;->startAnimation(Landroid/view/InsetsAnimationControlImpl;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)V
+HSPLandroid/view/InsetsAnimationThreadControlRunner;-><init>(Landroid/util/SparseArray;Landroid/graphics/Rect;Landroid/view/InsetsState;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/InsetsAnimationControlCallbacks;JLandroid/view/animation/Interpolator;ILandroid/os/Handler;)V
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->access$000(Landroid/view/InsetsAnimationThreadControlRunner;)Landroid/view/InsetsState;
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->access$100(Landroid/view/InsetsAnimationThreadControlRunner;)Landroid/view/InsetsAnimationControlImpl;
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->cancel()V
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->copyControls(Landroid/util/SparseArray;)Landroid/util/SparseArray;
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->getTypes()I
+HSPLandroid/view/InsetsAnimationThreadControlRunner;->lambda$new$0$InsetsAnimationThreadControlRunner(Landroid/view/WindowInsetsAnimationControlListener;I)V
 HSPLandroid/view/InsetsController$1;-><init>(Landroid/view/InsetsController;Landroid/view/InsetsAnimationControlImpl;Landroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;Landroid/view/WindowInsetsAnimationControlListener;I)V
 HSPLandroid/view/InsetsController$1;->onPreDraw()Z
 HSPLandroid/view/InsetsController$InsetsProperty;-><init>()V
 HSPLandroid/view/InsetsController$InsetsProperty;->set(Landroid/view/WindowInsetsAnimationController;Landroid/graphics/Insets;)V
 HSPLandroid/view/InsetsController$InsetsProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;-><init>(Landroid/view/InsetsController$InternalAnimationControlListener;)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Landroid/animation/AnimationHandler;
+HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Ljava/lang/Object;
 HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->onAnimationEnd(Landroid/animation/Animator;)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener$2;-><init>(Landroid/view/InsetsController$InternalAnimationControlListener;)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener$2;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/view/InsetsController$InternalAnimationControlListener;-><init>(Z)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;-><init>(ZZI)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->calculateDurationMs()J
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getAlphaInterpolator()Landroid/view/animation/Interpolator;
 HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getDurationMs()J
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getInterpolator()Landroid/view/animation/Interpolator;
 HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getRawFraction()F
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->lambda$getAlphaInterpolator$3(F)F
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->lambda$onReady$0$InsetsController$InternalAnimationControlListener(Landroid/view/animation/Interpolator;Landroid/view/WindowInsetsAnimationController;Landroid/graphics/Insets;Landroid/graphics/Insets;Landroid/view/animation/Interpolator;Landroid/animation/ValueAnimator;)V
 HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onAnimationFinish()V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onCancelled()V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onCancelled(Landroid/view/WindowInsetsAnimationController;)V
+HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onFinished(Landroid/view/WindowInsetsAnimationController;)V
 HSPLandroid/view/InsetsController$InternalAnimationControlListener;->onReady(Landroid/view/WindowInsetsAnimationController;I)V
 HSPLandroid/view/InsetsController$RunningAnimation;-><init>(Landroid/view/InsetsAnimationControlImpl;I)V
+HSPLandroid/view/InsetsController$RunningAnimation;-><init>(Landroid/view/InsetsAnimationControlRunner;I)V
 HSPLandroid/view/InsetsController;-><init>(Landroid/view/ViewRootImpl;)V
 HSPLandroid/view/InsetsController;-><init>(Landroid/view/ViewRootImpl;Ljava/util/function/BiFunction;Landroid/os/Handler;)V
 HSPLandroid/view/InsetsController;->abortPendingImeControlRequest()V
 HSPLandroid/view/InsetsController;->access$000()Landroid/animation/TypeEvaluator;
 HSPLandroid/view/InsetsController;->access$100(Landroid/view/InsetsController;)Landroid/view/ViewRootImpl;
+HSPLandroid/view/InsetsController;->access$200(Landroid/view/InsetsController;)Ljava/util/ArrayList;
+HSPLandroid/view/InsetsController;->access$300()Landroid/animation/TypeEvaluator;
+HSPLandroid/view/InsetsController;->access$302(Landroid/view/InsetsController;Z)Z
 HSPLandroid/view/InsetsController;->applyAnimation(IZZ)V
 HSPLandroid/view/InsetsController;->applyLocalVisibilityOverride()V
 HSPLandroid/view/InsetsController;->applySurfaceParams([Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
+HSPLandroid/view/InsetsController;->calculateControllableTypes()I
+HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;II)Landroid/view/WindowInsets;
 HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/WindowInsets;
 HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;II)Landroid/view/WindowInsets;
+HSPLandroid/view/InsetsController;->calculateVisibleInsets(I)Landroid/graphics/Rect;
 HSPLandroid/view/InsetsController;->calculateVisibleInsets(Landroid/graphics/Rect;I)Landroid/graphics/Rect;
 HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlImpl;Z)V
+HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlRunner;Z)V
 HSPLandroid/view/InsetsController;->cancelExistingControllers(I)V
+HSPLandroid/view/InsetsController;->captionInsetsUnchanged()Z
+HSPLandroid/view/InsetsController;->checkDisplayFramesForControlling()Z
 HSPLandroid/view/InsetsController;->collectSourceControls(ZLandroid/util/ArraySet;Landroid/util/SparseArray;I)Landroid/util/Pair;
+HSPLandroid/view/InsetsController;->controlAnimationUnchecked(ILandroid/os/CancellationSignal;Landroid/view/WindowInsetsAnimationControlListener;Landroid/graphics/Rect;ZJLandroid/view/animation/Interpolator;IIZ)V
 HSPLandroid/view/InsetsController;->controlAnimationUnchecked(ILandroid/view/WindowInsetsAnimationControlListener;Landroid/graphics/Rect;ZJLandroid/view/animation/Interpolator;ZII)Landroid/os/CancellationSignal;
 HSPLandroid/view/InsetsController;->dispatchAnimationEnd(Landroid/view/WindowInsetsAnimation;)V
 HSPLandroid/view/InsetsController;->getAnimationType(I)I
@@ -24641,9 +21778,14 @@
 HSPLandroid/view/InsetsController;->getSourceConsumer(I)Landroid/view/InsetsSourceConsumer;
 HSPLandroid/view/InsetsController;->getState()Landroid/view/InsetsState;
 HSPLandroid/view/InsetsController;->getViewRoot()Landroid/view/ViewRootImpl;
+HSPLandroid/view/InsetsController;->hide(I)V
 HSPLandroid/view/InsetsController;->hide(IZ)V
+HSPLandroid/view/InsetsController;->hideDirectly(IZI)V
+HSPLandroid/view/InsetsController;->invokeControllableInsetsChangedListeners()I
+HSPLandroid/view/InsetsController;->isRequestedVisible(I)Z
 HSPLandroid/view/InsetsController;->lambda$new$1(Landroid/view/InsetsController;Ljava/lang/Integer;)Landroid/view/InsetsSourceConsumer;
 HSPLandroid/view/InsetsController;->lambda$new$2$InsetsController()V
+HSPLandroid/view/InsetsController;->lambda$releaseSurfaceControlFromRt$4(Landroid/view/SurfaceControl;J)V
 HSPLandroid/view/InsetsController;->lambda$static$0(FLandroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;
 HSPLandroid/view/InsetsController;->notifyControlRevoked(Landroid/view/InsetsSourceConsumer;)V
 HSPLandroid/view/InsetsController;->notifyFinished(Landroid/view/InsetsAnimationControlImpl;Z)V
@@ -24653,9 +21795,12 @@
 HSPLandroid/view/InsetsController;->onStateChanged(Landroid/view/InsetsState;)Z
 HSPLandroid/view/InsetsController;->onWindowFocusGained()V
 HSPLandroid/view/InsetsController;->onWindowFocusLost()V
+HSPLandroid/view/InsetsController;->releaseSurfaceControlFromRt(Landroid/view/SurfaceControl;)V
 HSPLandroid/view/InsetsController;->scheduleApplyChangeInsets()V
 HSPLandroid/view/InsetsController;->sendStateToWindowManager()V
+HSPLandroid/view/InsetsController;->show(I)V
 HSPLandroid/view/InsetsController;->show(IZ)V
+HSPLandroid/view/InsetsController;->showDirectly(I)V
 HSPLandroid/view/InsetsController;->startAnimation(Landroid/view/InsetsAnimationControlImpl;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;I)V
 HSPLandroid/view/InsetsController;->updateCompatSysUiVisibility(IZZ)V
 HSPLandroid/view/InsetsFlags;-><init>()V
@@ -24672,11 +21817,12 @@
 HSPLandroid/view/InsetsSource;->calculateVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Insets;
 HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/InsetsSource;->getFrame()Landroid/graphics/Rect;
+HSPLandroid/view/InsetsSource;->getIntersection(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/InsetsSource;->getType()I
 HSPLandroid/view/InsetsSource;->isVisible()Z
 HSPLandroid/view/InsetsSource;->setFrame(Landroid/graphics/Rect;)V
 HSPLandroid/view/InsetsSource;->setVisible(Z)V
-HPLandroid/view/InsetsSource;->setVisibleFrame(Landroid/graphics/Rect;)V
+HSPLandroid/view/InsetsSource;->setVisibleFrame(Landroid/graphics/Rect;)V
 HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/InsetsSourceConsumer;-><init>(ILandroid/view/InsetsState;Ljava/util/function/Supplier;Landroid/view/InsetsController;)V
 HSPLandroid/view/InsetsSourceConsumer;->applyHiddenToControl()V
@@ -24684,34 +21830,47 @@
 HSPLandroid/view/InsetsSourceConsumer;->getControl()Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceConsumer;->getType()I
 HSPLandroid/view/InsetsSourceConsumer;->hide()V
+HSPLandroid/view/InsetsSourceConsumer;->hide(ZI)V
 HSPLandroid/view/InsetsSourceConsumer;->isRequestedVisible()Z
+HSPLandroid/view/InsetsSourceConsumer;->notifyHidden()V
 HSPLandroid/view/InsetsSourceConsumer;->onWindowFocusGained()V
 HSPLandroid/view/InsetsSourceConsumer;->onWindowFocusLost()V
+HSPLandroid/view/InsetsSourceConsumer;->requestShow(Z)I
 HSPLandroid/view/InsetsSourceConsumer;->setControl(Landroid/view/InsetsSourceControl;[I[I)V
 HSPLandroid/view/InsetsSourceConsumer;->setRequestedVisible(Z)V
+HSPLandroid/view/InsetsSourceConsumer;->show(Z)V
 HSPLandroid/view/InsetsSourceControl$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceControl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/InsetsSourceControl$1;->newArray(I)[Landroid/view/InsetsSourceControl;
 HSPLandroid/view/InsetsSourceControl$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/view/InsetsSourceControl;-><init>(ILandroid/view/SurfaceControl;Landroid/graphics/Point;)V
 HSPLandroid/view/InsetsSourceControl;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/view/InsetsSourceControl;-><init>(Landroid/view/InsetsSourceControl;)V
 HSPLandroid/view/InsetsSourceControl;->getLeash()Landroid/view/SurfaceControl;
 HSPLandroid/view/InsetsSourceControl;->getSurfacePosition()Landroid/graphics/Point;
 HSPLandroid/view/InsetsSourceControl;->getType()I
+HSPLandroid/view/InsetsSourceControl;->release(Landroid/view/InsetsController;)V
+HSPLandroid/view/InsetsSourceControl;->release(Ljava/util/function/Consumer;)V
 HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsState;
 HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/InsetsState;-><init>()V
 HSPLandroid/view/InsetsState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V
+HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V
+HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZZLandroid/view/DisplayCutout;IILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
+HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;IILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
 HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;IILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
 HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
+HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;I)Landroid/graphics/Rect;
 HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/graphics/Rect;
 HSPLandroid/view/InsetsState;->containsType([II)Z
 HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;Z)Z
 HSPLandroid/view/InsetsState;->getDefaultVisibility(I)Z
 HSPLandroid/view/InsetsState;->getDisplayFrame()Landroid/graphics/Rect;
 HSPLandroid/view/InsetsState;->getInsetSide(Landroid/graphics/Insets;)I
 HSPLandroid/view/InsetsState;->getSource(I)Landroid/view/InsetsSource;
+HSPLandroid/view/InsetsState;->peekSource(I)Landroid/view/InsetsSource;
 HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V
 HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V
 HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)V
@@ -24741,7 +21900,6 @@
 HSPLandroid/view/KeyEvent$DispatcherState;->reset(Ljava/lang/Object;)V
 HSPLandroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V
 HSPLandroid/view/KeyEvent;-><init>()V
-HSPLandroid/view/KeyEvent;-><init>(JJIIIIIII)V
 HPLandroid/view/KeyEvent;-><init>(JJIIIIIIII)V
 HSPLandroid/view/KeyEvent;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/KeyEvent;->access$076(Landroid/view/KeyEvent;I)I
@@ -24753,6 +21911,7 @@
 HSPLandroid/view/KeyEvent;->getEventTime()J
 HSPLandroid/view/KeyEvent;->getEventTimeNano()J
 HSPLandroid/view/KeyEvent;->getFlags()I
+HSPLandroid/view/KeyEvent;->getId()I
 HSPLandroid/view/KeyEvent;->getKeyCharacterMap()Landroid/view/KeyCharacterMap;
 HSPLandroid/view/KeyEvent;->getKeyCode()I
 HSPLandroid/view/KeyEvent;->getMetaState()I
@@ -24766,7 +21925,6 @@
 HSPLandroid/view/KeyEvent;->isCanceled()Z
 HSPLandroid/view/KeyEvent;->isConfirmKey(I)Z
 HSPLandroid/view/KeyEvent;->isCtrlPressed()Z
-HSPLandroid/view/KeyEvent;->isGamepadButton(I)Z
 HSPLandroid/view/KeyEvent;->isLongPress()Z
 HPLandroid/view/KeyEvent;->isMetaPressed()Z
 HSPLandroid/view/KeyEvent;->isModifierKey(I)Z
@@ -24777,7 +21935,7 @@
 HSPLandroid/view/KeyEvent;->metaStateToString(I)Ljava/lang/String;
 HSPLandroid/view/KeyEvent;->normalizeMetaState(I)I
 HSPLandroid/view/KeyEvent;->obtain()Landroid/view/KeyEvent;
-HSPLandroid/view/KeyEvent;->obtain(JJIIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
+HSPLandroid/view/KeyEvent;->obtain(IJJIIIIIIIII[BLjava/lang/String;)Landroid/view/KeyEvent;
 HSPLandroid/view/KeyEvent;->obtain(JJIIIIIIIII[BLjava/lang/String;)Landroid/view/KeyEvent;
 HSPLandroid/view/KeyEvent;->recycle()V
 HSPLandroid/view/KeyEvent;->recycleIfNeededAfterDispatch()V
@@ -24797,7 +21955,6 @@
 HSPLandroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
 HSPLandroid/view/LayoutInflater;->getContext()Landroid/content/Context;
 HSPLandroid/view/LayoutInflater;->getFactory()Landroid/view/LayoutInflater$Factory;
-HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Factory2;
 HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;
@@ -24858,18 +22015,14 @@
 HSPLandroid/view/MotionEvent;->getHistorySize()I
 HSPLandroid/view/MotionEvent;->getId()I
 HSPLandroid/view/MotionEvent;->getMetaState()I
-HSPLandroid/view/MotionEvent;->getOrientation()F
 HSPLandroid/view/MotionEvent;->getPointerCount()I
 HSPLandroid/view/MotionEvent;->getPointerId(I)I
 HSPLandroid/view/MotionEvent;->getPointerIdBits()I
 HSPLandroid/view/MotionEvent;->getPointerProperties(ILandroid/view/MotionEvent$PointerProperties;)V
-HSPLandroid/view/MotionEvent;->getPressure(I)F
 HSPLandroid/view/MotionEvent;->getRawX()F
 HSPLandroid/view/MotionEvent;->getRawY()F
 HSPLandroid/view/MotionEvent;->getSource()I
 HSPLandroid/view/MotionEvent;->getToolType(I)I
-HSPLandroid/view/MotionEvent;->getTouchMajor()F
-HSPLandroid/view/MotionEvent;->getTouchMinor()F
 HSPLandroid/view/MotionEvent;->getX()F
 HSPLandroid/view/MotionEvent;->getX(I)F
 HSPLandroid/view/MotionEvent;->getXPrecision()F
@@ -24902,13 +22055,15 @@
 HSPLandroid/view/NotificationHeaderView$HeaderTouchListener;->addWidthRect()V
 HSPLandroid/view/NotificationHeaderView$HeaderTouchListener;->bindTouchRects()V
 HSPLandroid/view/NotificationHeaderView$HeaderTouchListener;->getRectAroundView(Landroid/view/View;)Landroid/graphics/Rect;
+HSPLandroid/view/NotificationHeaderView$HeaderTouchListener;->isInside(FF)Z
 HSPLandroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/view/NotificationHeaderView;->access$100(Landroid/view/NotificationHeaderView;)Lcom/android/internal/widget/CachingIconView;
-HSPLandroid/view/NotificationHeaderView;->access$200(Landroid/view/NotificationHeaderView;)Landroid/widget/ImageView;
 HSPLandroid/view/NotificationHeaderView;->access$300(Landroid/view/NotificationHeaderView;)Landroid/view/View;
 HSPLandroid/view/NotificationHeaderView;->access$400(Landroid/view/NotificationHeaderView;)Landroid/view/View;
+HSPLandroid/view/NotificationHeaderView;->access$500(Landroid/view/NotificationHeaderView;)Z
+HSPLandroid/view/NotificationHeaderView;->access$600(Landroid/view/NotificationHeaderView;)Z
 HSPLandroid/view/NotificationHeaderView;->drawableStateChanged()V
 HSPLandroid/view/NotificationHeaderView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/view/NotificationHeaderView;->getFirstChildNotGone()Landroid/view/View;
@@ -24926,7 +22081,6 @@
 HSPLandroid/view/NotificationHeaderView;->setHeaderBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/NotificationHeaderView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
 HSPLandroid/view/NotificationHeaderView;->setOriginalIconColor(I)V
-HSPLandroid/view/NotificationHeaderView;->setOriginalNotificationColor(I)V
 HSPLandroid/view/NotificationHeaderView;->setRecentlyAudiblyAlerted(Z)V
 HSPLandroid/view/NotificationHeaderView;->setShowExpandButtonAtEnd(Z)V
 HSPLandroid/view/NotificationHeaderView;->showAppOpsIcons(Landroid/util/ArraySet;)V
@@ -24942,6 +22096,12 @@
 HSPLandroid/view/OrientationEventListener;->access$102(Landroid/view/OrientationEventListener;I)I
 HSPLandroid/view/OrientationEventListener;->disable()V
 HSPLandroid/view/OrientationEventListener;->enable()V
+HSPLandroid/view/PendingInsetsController;-><init>()V
+HSPLandroid/view/PendingInsetsController;->detach()V
+HSPLandroid/view/PendingInsetsController;->getState()Landroid/view/InsetsState;
+HSPLandroid/view/PendingInsetsController;->isRequestedVisible(I)Z
+HSPLandroid/view/PendingInsetsController;->replayAndAttach(Landroid/view/InsetsController;)V
+HSPLandroid/view/PendingInsetsController;->setCaptionInsetsHeight(I)V
 HSPLandroid/view/PixelCopy$1;-><init>(Landroid/view/PixelCopy$OnPixelCopyFinishedListener;I)V
 HSPLandroid/view/PixelCopy$1;->run()V
 HSPLandroid/view/PixelCopy;->request(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V
@@ -24978,18 +22138,14 @@
 HPLandroid/view/RemoteAnimationDefinition;->hasTransition(ILandroid/util/ArraySet;)Z
 HPLandroid/view/RemoteAnimationDefinition;->linkToDeath(Landroid/os/IBinder$DeathRecipient;)V
 PLandroid/view/RemoteAnimationDefinition;->setCallingPidUid(II)V
-HSPLandroid/view/RemoteAnimationTarget$1;-><init>()V
 HSPLandroid/view/RemoteAnimationTarget$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationTarget;
 HSPLandroid/view/RemoteAnimationTarget$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/RemoteAnimationTarget$1;->newArray(I)[Landroid/view/RemoteAnimationTarget;
 HSPLandroid/view/RemoteAnimationTarget$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/view/RemoteAnimationTarget;-><clinit>()V
-HPLandroid/view/RemoteAnimationTarget;-><init>(IILandroid/view/SurfaceControl;ZLandroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/graphics/Point;Landroid/graphics/Rect;Landroid/app/WindowConfiguration;ZLandroid/view/SurfaceControl;Landroid/graphics/Rect;)V
 HSPLandroid/view/RemoteAnimationTarget;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/RenderNodeAnimator$DelayedAnimationHelper;->addDelayedAnimation(Landroid/view/RenderNodeAnimator;)V
-HSPLandroid/view/RenderNodeAnimator$DelayedAnimationHelper;->run()V
+HPLandroid/view/RemoteAnimationTarget;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/RenderNodeAnimator;-><init>(IF)V
-HSPLandroid/view/RenderNodeAnimator;-><init>(IIFF)V
 HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;F)V
 HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;IF)V
 HSPLandroid/view/RenderNodeAnimator;->applyInterpolator()V
@@ -25006,7 +22162,6 @@
 HSPLandroid/view/RenderNodeAnimator;->notifyStartListeners()V
 HSPLandroid/view/RenderNodeAnimator;->onFinished()V
 HSPLandroid/view/RenderNodeAnimator;->releaseNativePtr()V
-HSPLandroid/view/RenderNodeAnimator;->setDuration(J)Landroid/animation/Animator;
 HSPLandroid/view/RenderNodeAnimator;->setDuration(J)Landroid/view/RenderNodeAnimator;
 HSPLandroid/view/RenderNodeAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
 HSPLandroid/view/RenderNodeAnimator;->setStartDelay(J)V
@@ -25022,7 +22177,7 @@
 HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V
 HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V
 HSPLandroid/view/ScaleGestureDetector;->getCurrentSpan()F
-HPLandroid/view/ScaleGestureDetector;->getCurrentSpanX()F
+HSPLandroid/view/ScaleGestureDetector;->getCurrentSpanX()F
 HSPLandroid/view/ScaleGestureDetector;->getFocusX()F
 HSPLandroid/view/ScaleGestureDetector;->getFocusY()F
 HSPLandroid/view/ScaleGestureDetector;->inAnchoredScaleMode()Z
@@ -25051,6 +22206,7 @@
 HSPLandroid/view/Surface;->rotationToString(I)Ljava/lang/String;
 HSPLandroid/view/Surface;->setNativeObjectLocked(J)V
 HSPLandroid/view/Surface;->toString()Ljava/lang/String;
+HSPLandroid/view/Surface;->transferFrom(Landroid/view/Surface;)V
 HSPLandroid/view/Surface;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
 HSPLandroid/view/Surface;->unlockSwCanvasAndPost(Landroid/graphics/Canvas;)V
 HSPLandroid/view/Surface;->writeToParcel(Landroid/os/Parcel;I)V
@@ -25073,6 +22229,7 @@
 HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->unsetBufferSize()V
 HSPLandroid/view/SurfaceControl$DesiredDisplayConfigSpecs;-><init>(IFF)V
+HSPLandroid/view/SurfaceControl$DisplayConfig;-><init>()V
 HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;-><init>(Landroid/graphics/GraphicBuffer;Landroid/graphics/ColorSpace;Z)V
 HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->createFromNative(IIIIJIZ)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
 HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->getColorSpace()Landroid/graphics/ColorSpace;
@@ -25086,6 +22243,7 @@
 HSPLandroid/view/SurfaceControl$Transaction;->apply(Z)V
 HSPLandroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V
 HSPLandroid/view/SurfaceControl$Transaction;->checkPreconditions(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/SurfaceControl$Transaction;->close()V
 HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;J)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->detachChildren(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
@@ -25097,6 +22255,7 @@
 HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setAnimationTransaction()Landroid/view/SurfaceControl$Transaction;
 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;->setColorSpaceAgnostic(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setDisplayLayerStack(Landroid/os/IBinder;I)Landroid/view/SurfaceControl$Transaction;
@@ -25134,18 +22293,18 @@
 HSPLandroid/view/SurfaceControl;->access$2400(JJF)V
 HSPLandroid/view/SurfaceControl;->access$2600(JJI)V
 HSPLandroid/view/SurfaceControl;->access$2700(JJJJ)V
-HSPLandroid/view/SurfaceControl;->access$2800(JJJJ)V
 HSPLandroid/view/SurfaceControl;->access$300(Landroid/view/SurfaceControl;)V
 HSPLandroid/view/SurfaceControl;->access$3000(JJJ)V
 HSPLandroid/view/SurfaceControl;->access$3100(JJ)V
+HSPLandroid/view/SurfaceControl;->access$3300(JJ[F)V
 HSPLandroid/view/SurfaceControl;->access$3500(JLandroid/os/IBinder;I)V
 HSPLandroid/view/SurfaceControl;->access$3600(JLandroid/os/IBinder;IIIIIIIII)V
 HPLandroid/view/SurfaceControl;->access$3800(J)V
 HSPLandroid/view/SurfaceControl;->access$3900(J)V
 HSPLandroid/view/SurfaceControl;->access$400()J
 HSPLandroid/view/SurfaceControl;->access$4100(JLandroid/os/Parcel;)V
-HSPLandroid/view/SurfaceControl;->access$4300(JLandroid/os/Parcel;)V
 HSPLandroid/view/SurfaceControl;->access$4400(JLandroid/os/Parcel;)V
+HSPLandroid/view/SurfaceControl;->access$4500(Landroid/os/Parcel;)J
 HSPLandroid/view/SurfaceControl;->access$500(JZ)V
 HSPLandroid/view/SurfaceControl;->access$600(Landroid/view/SurfaceControl;)Ljava/lang/Object;
 HSPLandroid/view/SurfaceControl;->access$702(Landroid/view/SurfaceControl;I)I
@@ -25165,6 +22324,7 @@
 HSPLandroid/view/SurfaceControl;->getDesiredDisplayConfigSpecs(Landroid/os/IBinder;)Landroid/view/SurfaceControl$DesiredDisplayConfigSpecs;
 HSPLandroid/view/SurfaceControl;->getDisplayBrightnessSupport(Landroid/os/IBinder;)Z
 HSPLandroid/view/SurfaceControl;->getDisplayColorModes(Landroid/os/IBinder;)[I
+HSPLandroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$DisplayConfig;
 HSPLandroid/view/SurfaceControl;->getGameContentTypeSupport(Landroid/os/IBinder;)Z
 HSPLandroid/view/SurfaceControl;->getHdrCapabilities(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;
 HSPLandroid/view/SurfaceControl;->getHeight()I
@@ -25223,6 +22383,7 @@
 HSPLandroid/view/SurfaceView;->gatherTransparentRegion(Landroid/graphics/Region;)Z
 HSPLandroid/view/SurfaceView;->getFixedAlpha()F
 HSPLandroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder;
+HSPLandroid/view/SurfaceView;->getRemoteAccessibilityEmbeddedConnection()Landroid/view/SurfaceView$RemoteAccessibilityEmbeddedConnection;
 HSPLandroid/view/SurfaceView;->getSurfaceCallbacks()[Landroid/view/SurfaceHolder$Callback;
 HSPLandroid/view/SurfaceView;->invalidate(Z)V
 HSPLandroid/view/SurfaceView;->isAboveParent()Z
@@ -25240,6 +22401,7 @@
 HSPLandroid/view/SurfaceView;->runOnUiThread(Ljava/lang/Runnable;)V
 HSPLandroid/view/SurfaceView;->setFrame(IIII)Z
 HSPLandroid/view/SurfaceView;->setParentSpaceRectangle(Landroid/graphics/Rect;J)V
+HSPLandroid/view/SurfaceView;->setRemoteAccessibilityEmbeddedConnection(Landroid/view/accessibility/IAccessibilityEmbeddedConnection;Landroid/os/IBinder;)V
 HSPLandroid/view/SurfaceView;->setVisibility(I)V
 HSPLandroid/view/SurfaceView;->setWindowStopped(Z)V
 HSPLandroid/view/SurfaceView;->setZOrderOnTop(Z)V
@@ -25249,8 +22411,16 @@
 HSPLandroid/view/SurfaceView;->updateOpaqueFlag()V
 HSPLandroid/view/SurfaceView;->updateRelativeZ(Landroid/view/SurfaceControl$Transaction;)V
 HSPLandroid/view/SurfaceView;->updateRequestedVisibility()V
+HSPLandroid/view/SurfaceView;->updateScreenMatrixForEmbeddedHierarchy()V
 HSPLandroid/view/SurfaceView;->updateSurface()V
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;-><init>(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;->build()Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;->withAlpha(F)Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;->withMatrix(Landroid/graphics/Matrix;)Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;->withVisibility(Z)Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;
 HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;-><init>(Landroid/view/SurfaceControl;FLandroid/graphics/Matrix;Landroid/graphics/Rect;IFZ)V
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;-><init>(Landroid/view/SurfaceControl;IFLandroid/graphics/Matrix;Landroid/graphics/Rect;IFIZ)V
+HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;-><init>(Landroid/view/SurfaceControl;IFLandroid/graphics/Matrix;Landroid/graphics/Rect;IFIZLandroid/view/SyncRtSurfaceTransactionApplier$1;)V
 HSPLandroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;->access$000(Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)I
 HSPLandroid/view/SyncRtSurfaceTransactionApplier;-><init>(Landroid/view/View;)V
 HSPLandroid/view/SyncRtSurfaceTransactionApplier;->applyParams(Landroid/view/SurfaceControl$Transaction;J[Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
@@ -25285,6 +22455,7 @@
 HSPLandroid/view/TextureView;->onVisibilityChanged(Landroid/view/View;I)V
 HSPLandroid/view/TextureView;->releaseSurfaceTexture()V
 HSPLandroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
+HSPLandroid/view/TextureView;->setTransform(Landroid/graphics/Matrix;)V
 HSPLandroid/view/TextureView;->updateLayer()V
 HSPLandroid/view/TextureView;->updateLayerAndInvalidate()V
 HSPLandroid/view/ThreadedRenderer;-><init>(Landroid/content/Context;ZLjava/lang/String;)V
@@ -25328,8 +22499,6 @@
 HSPLandroid/view/VelocityTracker;->getYVelocity(I)F
 HSPLandroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
 HSPLandroid/view/VelocityTracker;->recycle()V
-HSPLandroid/view/View$10;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$10;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float;
 HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/View$12;->setValue(Landroid/view/View;F)V
@@ -25369,6 +22538,8 @@
 HSPLandroid/view/View$7;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/View$7;->setValue(Landroid/view/View;F)V
 HSPLandroid/view/View$7;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/view/View$9;->setValue(Landroid/view/View;F)V
+HSPLandroid/view/View$9;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$AccessibilityDelegate;-><init>()V
 HSPLandroid/view/View$AccessibilityDelegate;->createAccessibilityNodeInfo(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
 HSPLandroid/view/View$AccessibilityDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
@@ -25383,7 +22554,6 @@
 HSPLandroid/view/View$AttachInfo$InvalidateInfo;->obtain()Landroid/view/View$AttachInfo$InvalidateInfo;
 HSPLandroid/view/View$AttachInfo$InvalidateInfo;->recycle()V
 HSPLandroid/view/View$AttachInfo;-><init>(Landroid/view/IWindowSession;Landroid/view/IWindow;Landroid/view/Display;Landroid/view/ViewRootImpl;Landroid/os/Handler;Landroid/view/View$AttachInfo$Callbacks;Landroid/content/Context;)V
-HSPLandroid/view/View$AttachInfo;->access$1100(Landroid/view/View$AttachInfo;Landroid/view/contentcapture/ContentCaptureSession;Landroid/view/View;Z)V
 HSPLandroid/view/View$AttachInfo;->delayNotifyContentCaptureEvent(Landroid/view/contentcapture/ContentCaptureSession;Landroid/view/View;Z)V
 HSPLandroid/view/View$AttachInfo;->getContentCaptureManager(Landroid/content/Context;)Landroid/view/contentcapture/ContentCaptureManager;
 HSPLandroid/view/View$BaseSavedState$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/view/View$BaseSavedState;
@@ -25406,15 +22576,12 @@
 HSPLandroid/view/View$ForegroundInfo;-><init>(Landroid/view/View$1;)V
 HSPLandroid/view/View$ForegroundInfo;->access$100(Landroid/view/View$ForegroundInfo;)Z
 HSPLandroid/view/View$ForegroundInfo;->access$102(Landroid/view/View$ForegroundInfo;Z)Z
-HSPLandroid/view/View$ForegroundInfo;->access$1500(Landroid/view/View$ForegroundInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/view/View$ForegroundInfo;->access$1600(Landroid/view/View$ForegroundInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/view/View$ForegroundInfo;->access$1602(Landroid/view/View$ForegroundInfo;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/view/View$ForegroundInfo;->access$1700(Landroid/view/View$ForegroundInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/view/View$ForegroundInfo;->access$1702(Landroid/view/View$ForegroundInfo;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/view/View$ForegroundInfo;->access$2102(Landroid/view/View$ForegroundInfo;Z)Z
 HSPLandroid/view/View$ForegroundInfo;->access$2200(Landroid/view/View$ForegroundInfo;)Z
 HSPLandroid/view/View$ForegroundInfo;->access$2202(Landroid/view/View$ForegroundInfo;Z)Z
-HSPLandroid/view/View$ForegroundInfo;->access$2300(Landroid/view/View$ForegroundInfo;)Z
 HSPLandroid/view/View$ForegroundInfo;->access$2302(Landroid/view/View$ForegroundInfo;Z)Z
 HSPLandroid/view/View$ForegroundInfo;->access$2600(Landroid/view/View$ForegroundInfo;)I
 HSPLandroid/view/View$ForegroundInfo;->access$2602(Landroid/view/View$ForegroundInfo;I)I
@@ -25424,14 +22591,11 @@
 HSPLandroid/view/View$ForegroundInfo;->access$2800(Landroid/view/View$ForegroundInfo;)Landroid/graphics/Rect;
 HSPLandroid/view/View$ForegroundInfo;->access$2800(Landroid/view/View$ForegroundInfo;)Landroid/view/View$TintInfo;
 HSPLandroid/view/View$ForegroundInfo;->access$2900(Landroid/view/View$ForegroundInfo;)Landroid/graphics/Rect;
-HSPLandroid/view/View$ForegroundInfo;->access$3000(Landroid/view/View$ForegroundInfo;)Landroid/graphics/Rect;
 HSPLandroid/view/View$ListenerInfo;-><init>()V
-HSPLandroid/view/View$ListenerInfo;->access$1300(Landroid/view/View$ListenerInfo;)Ljava/util/List;
 HSPLandroid/view/View$ListenerInfo;->access$1400(Landroid/view/View$ListenerInfo;)Ljava/util/List;
 HSPLandroid/view/View$ListenerInfo;->access$1402(Landroid/view/View$ListenerInfo;Ljava/util/List;)Ljava/util/List;
 HSPLandroid/view/View$ListenerInfo;->access$1500(Landroid/view/View$ListenerInfo;)Ljava/util/List;
 HSPLandroid/view/View$ListenerInfo;->access$1502(Landroid/view/View$ListenerInfo;Ljava/util/List;)Ljava/util/List;
-HSPLandroid/view/View$ListenerInfo;->access$1700(Landroid/view/View$ListenerInfo;)Landroid/view/View$OnSystemUiVisibilityChangeListener;
 HSPLandroid/view/View$ListenerInfo;->access$1800(Landroid/view/View$ListenerInfo;)Landroid/view/View$OnSystemUiVisibilityChangeListener;
 HSPLandroid/view/View$ListenerInfo;->access$1802(Landroid/view/View$ListenerInfo;Landroid/view/View$OnSystemUiVisibilityChangeListener;)Landroid/view/View$OnSystemUiVisibilityChangeListener;
 HSPLandroid/view/View$ListenerInfo;->access$1900(Landroid/view/View$ListenerInfo;)Landroid/view/View$OnSystemUiVisibilityChangeListener;
@@ -25477,11 +22641,9 @@
 HSPLandroid/view/View$TooltipInfo;->access$4100(Landroid/view/View$TooltipInfo;)V
 HSPLandroid/view/View$TooltipInfo;->clearAnchorPos()V
 HSPLandroid/view/View$TransformationInfo;-><init>()V
-HSPLandroid/view/View$TransformationInfo;->access$2200(Landroid/view/View$TransformationInfo;)Landroid/graphics/Matrix;
 HSPLandroid/view/View$TransformationInfo;->access$2300(Landroid/view/View$TransformationInfo;)Landroid/graphics/Matrix;
 HSPLandroid/view/View$TransformationInfo;->access$2400(Landroid/view/View$TransformationInfo;)F
 HSPLandroid/view/View$TransformationInfo;->access$2400(Landroid/view/View$TransformationInfo;)Landroid/graphics/Matrix;
-HSPLandroid/view/View$TransformationInfo;->access$2402(Landroid/view/View$TransformationInfo;F)F
 HSPLandroid/view/View$TransformationInfo;->access$2402(Landroid/view/View$TransformationInfo;Landroid/graphics/Matrix;)Landroid/graphics/Matrix;
 HSPLandroid/view/View$TransformationInfo;->access$2500(Landroid/view/View$TransformationInfo;)F
 HSPLandroid/view/View$TransformationInfo;->access$2500(Landroid/view/View$TransformationInfo;)Landroid/graphics/Matrix;
@@ -25510,10 +22672,8 @@
 HSPLandroid/view/View;->access$3600(Landroid/view/View;JFFI)V
 HSPLandroid/view/View;->access$3700(Landroid/view/View;)Z
 HSPLandroid/view/View;->access$3700(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->addChildrenForAccessibility(Ljava/util/ArrayList;)V
 HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V
 HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V
-HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V
 HSPLandroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
 HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
 HSPLandroid/view/View;->animate()Landroid/view/ViewPropertyAnimator;
@@ -25540,7 +22700,6 @@
 HSPLandroid/view/View;->canScrollVertically(I)Z
 HSPLandroid/view/View;->canTakeFocus()Z
 HSPLandroid/view/View;->cancel(Landroid/view/View$SendAccessibilityEventThrottle;)V
-HSPLandroid/view/View;->cancel(Landroid/view/View$SendViewScrolledAccessibilityEvent;)V
 HSPLandroid/view/View;->cancelLongPress()V
 HSPLandroid/view/View;->cancelPendingInputEvents()V
 HSPLandroid/view/View;->checkForLongClick(JFFI)V
@@ -25567,7 +22726,6 @@
 HSPLandroid/view/View;->computeVerticalScrollRange()I
 HSPLandroid/view/View;->createAccessibilityNodeInfo()Landroid/view/accessibility/AccessibilityNodeInfo;
 HSPLandroid/view/View;->createAccessibilityNodeInfoInternal()Landroid/view/accessibility/AccessibilityNodeInfo;
-HSPLandroid/view/View;->createContextMenu(Landroid/view/ContextMenu;)V
 HSPLandroid/view/View;->damageInParent()V
 HSPLandroid/view/View;->destroyDrawingCache()V
 HSPLandroid/view/View;->destroyHardwareResources()V
@@ -25591,7 +22749,6 @@
 HSPLandroid/view/View;->dispatchPointerEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/view/View;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/view/View;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
 HSPLandroid/view/View;->dispatchProvideContentCaptureStructure()V
 HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V
 HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
@@ -25622,10 +22779,8 @@
 HSPLandroid/view/View;->ensureTransformationInfo()V
 HSPLandroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View;
 HSPLandroid/view/View;->findFocus()Landroid/view/View;
-HSPLandroid/view/View;->findFrameMetricsObserver(Landroid/view/Window$OnFrameMetricsAvailableListener;)Landroid/view/FrameMetricsObserver;
 HSPLandroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View;
 HSPLandroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View;
-HSPLandroid/view/View;->findViewByAutofillIdTraversal(I)Landroid/view/View;
 HSPLandroid/view/View;->findViewById(I)Landroid/view/View;
 HSPLandroid/view/View;->findViewByPredicate(Ljava/util/function/Predicate;)Landroid/view/View;
 HSPLandroid/view/View;->findViewByPredicateInsideOut(Landroid/view/View;Ljava/util/function/Predicate;)Landroid/view/View;
@@ -25667,8 +22822,6 @@
 HSPLandroid/view/View;->getContentCaptureSession()Landroid/view/contentcapture/ContentCaptureSession;
 HSPLandroid/view/View;->getContentDescription()Ljava/lang/CharSequence;
 HSPLandroid/view/View;->getContext()Landroid/content/Context;
-HSPLandroid/view/View;->getContextMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;
-HSPLandroid/view/View;->getDefaultFocusHighlightEnabled()Z
 HSPLandroid/view/View;->getDefaultSize(II)I
 HSPLandroid/view/View;->getDisplay()Landroid/view/Display;
 HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;
@@ -25691,8 +22844,6 @@
 HSPLandroid/view/View;->getHeight()I
 HSPLandroid/view/View;->getHitRect(Landroid/graphics/Rect;)V
 HSPLandroid/view/View;->getHorizontalFadingEdgeLength()I
-HSPLandroid/view/View;->getHorizontalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getHorizontalScrollbarHeight()I
 HSPLandroid/view/View;->getId()I
 HSPLandroid/view/View;->getImportantForAccessibility()I
 HSPLandroid/view/View;->getImportantForAutofill()I
@@ -25761,7 +22912,6 @@
 HSPLandroid/view/View;->getTag(I)Ljava/lang/Object;
 HSPLandroid/view/View;->getTextAlignment()I
 HSPLandroid/view/View;->getTextDirection()I
-HSPLandroid/view/View;->getThreadedRenderer()Landroid/view/ThreadedRenderer;
 HSPLandroid/view/View;->getThrottleForAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Landroid/view/View$SendAccessibilityEventThrottle;
 HSPLandroid/view/View;->getTop()I
 HSPLandroid/view/View;->getTransitionAlpha()F
@@ -25807,6 +22957,8 @@
 HSPLandroid/view/View;->hasTransientState()Z
 HSPLandroid/view/View;->hasUnhandledKeyListener()Z
 HSPLandroid/view/View;->hasWindowFocus()Z
+HSPLandroid/view/View;->hasWindowInsetsAnimationCallback()Z
+HSPLandroid/view/View;->hideAutofillHighlight()Z
 HSPLandroid/view/View;->hideTooltip()V
 HSPLandroid/view/View;->includeForAccessibility()Z
 HSPLandroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
@@ -25919,14 +23071,12 @@
 HSPLandroid/view/View;->onCheckIsTextEditor()Z
 HSPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
 HSPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/view/View;->onCreateContextMenu(Landroid/view/ContextMenu;)V
 HSPLandroid/view/View;->onCreateDrawableState(I)[I
 HSPLandroid/view/View;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
 HSPLandroid/view/View;->onDetachedFromWindow()V
 HSPLandroid/view/View;->onDetachedFromWindowInternal()V
 HSPLandroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawForeground(Landroid/graphics/Canvas;)V
-HSPLandroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
 HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
@@ -25946,8 +23096,6 @@
 HSPLandroid/view/View;->onMeasure(II)V
 HSPLandroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/View;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V
 HSPLandroid/view/View;->onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V
 HSPLandroid/view/View;->onProvideStructure(Landroid/view/ViewStructure;II)V
 HSPLandroid/view/View;->onResolveDrawables(I)V
@@ -25997,7 +23145,6 @@
 HSPLandroid/view/View;->refreshDrawableState()V
 HSPLandroid/view/View;->registerPendingFrameMetricsObservers()V
 HSPLandroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
-HSPLandroid/view/View;->removeFrameMetricsListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V
 HSPLandroid/view/View;->removeLongPressCallback()V
 HSPLandroid/view/View;->removeOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
 HSPLandroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
@@ -26052,7 +23199,6 @@
 HSPLandroid/view/View;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/View;->sendAccessibilityEventUncheckedInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/View;->setAccessibilityDelegate(Landroid/view/View$AccessibilityDelegate;)V
-HSPLandroid/view/View;->setAccessibilityHeading(Z)V
 HSPLandroid/view/View;->setAccessibilityLiveRegion(I)V
 HSPLandroid/view/View;->setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/view/View;->setAccessibilityTraversalAfter(I)V
@@ -26063,6 +23209,7 @@
 HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z
 HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V
 HSPLandroid/view/View;->setAutofilled(Z)V
+HSPLandroid/view/View;->setAutofilled(ZZ)V
 HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/View;->setBackgroundBounds()V
 HSPLandroid/view/View;->setBackgroundColor(I)V
@@ -26103,7 +23250,6 @@
 HSPLandroid/view/View;->setKeepScreenOn(Z)V
 HSPLandroid/view/View;->setKeyboardNavigationCluster(Z)V
 HSPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V
-HSPLandroid/view/View;->setLabelFor(I)V
 HSPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V
 HSPLandroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
 HSPLandroid/view/View;->setLayoutDirection(I)V
@@ -26115,18 +23261,13 @@
 HSPLandroid/view/View;->setMeasuredDimensionRaw(II)V
 HSPLandroid/view/View;->setMinimumHeight(I)V
 HSPLandroid/view/View;->setMinimumWidth(I)V
-HSPLandroid/view/View;->setNextFocusDownId(I)V
-HSPLandroid/view/View;->setNextFocusForwardId(I)V
-HSPLandroid/view/View;->setNextFocusUpId(I)V
 HSPLandroid/view/View;->setNotifiedContentCaptureAppeared()V
 HSPLandroid/view/View;->setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V
 HSPLandroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
-HSPLandroid/view/View;->setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V
 HSPLandroid/view/View;->setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V
 HSPLandroid/view/View;->setOnHoverListener(Landroid/view/View$OnHoverListener;)V
 HSPLandroid/view/View;->setOnKeyListener(Landroid/view/View$OnKeyListener;)V
 HSPLandroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
-HSPLandroid/view/View;->setOnScrollChangeListener(Landroid/view/View$OnScrollChangeListener;)V
 HSPLandroid/view/View;->setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V
 HSPLandroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
 HSPLandroid/view/View;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
@@ -26139,7 +23280,6 @@
 HSPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V
 HSPLandroid/view/View;->setPressed(Z)V
 HSPLandroid/view/View;->setPressed(ZFF)V
-HSPLandroid/view/View;->setRevealClip(ZFFF)V
 HSPLandroid/view/View;->setRight(I)V
 HSPLandroid/view/View;->setRotation(F)V
 HSPLandroid/view/View;->setRotationX(F)V
@@ -26155,6 +23295,7 @@
 HSPLandroid/view/View;->setScrollIndicators(II)V
 HSPLandroid/view/View;->setScrollX(I)V
 HSPLandroid/view/View;->setScrollY(I)V
+HSPLandroid/view/View;->setScrollbarFadingEnabled(Z)V
 HSPLandroid/view/View;->setSelected(Z)V
 HSPLandroid/view/View;->setSoundEffectsEnabled(Z)V
 HSPLandroid/view/View;->setStateDescription(Ljava/lang/CharSequence;)V
@@ -26182,7 +23323,6 @@
 HSPLandroid/view/View;->setX(F)V
 HSPLandroid/view/View;->setY(F)V
 HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z
-HSPLandroid/view/View;->showContextMenu(FF)Z
 HSPLandroid/view/View;->sizeChange(IIII)V
 HSPLandroid/view/View;->skipInvalidate()Z
 HSPLandroid/view/View;->startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
@@ -26206,7 +23346,6 @@
 HSPLandroid/view/ViewAnimationHostBridge;->isAttached()Z
 HSPLandroid/view/ViewAnimationHostBridge;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
 HSPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
-HSPLandroid/view/ViewAnimationUtils;->createCircularReveal(Landroid/view/View;IIFF)Landroid/animation/Animator;
 HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
 HSPLandroid/view/ViewConfiguration;->getAmbiguousGestureMultiplier()F
@@ -26221,7 +23360,6 @@
 HSPLandroid/view/ViewConfiguration;->getScaledAmbiguousGestureMultiplier()F
 HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapSlop()I
 HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledEdgeSlop()I
 HSPLandroid/view/ViewConfiguration;->getScaledFadingEdgeLength()I
 HSPLandroid/view/ViewConfiguration;->getScaledHorizontalScrollFactor()F
 HSPLandroid/view/ViewConfiguration;->getScaledHoverSlop()I
@@ -26301,7 +23439,6 @@
 HSPLandroid/view/ViewGroup;->access$300(Landroid/view/ViewGroup;)Z
 HSPLandroid/view/ViewGroup;->access$302(Landroid/view/ViewGroup;Z)Z
 HSPLandroid/view/ViewGroup;->access$400(Landroid/view/ViewGroup;)Ljava/util/ArrayList;
-HSPLandroid/view/ViewGroup;->addChildrenForAccessibility(Ljava/util/ArrayList;)V
 HSPLandroid/view/ViewGroup;->addDisappearingView(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
 HSPLandroid/view/ViewGroup;->addInArray(Landroid/view/View;I)V
@@ -26351,7 +23488,6 @@
 HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
 HSPLandroid/view/ViewGroup;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
 HSPLandroid/view/ViewGroup;->dispatchProvideContentCaptureStructure()V
 HSPLandroid/view/ViewGroup;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
 HSPLandroid/view/ViewGroup;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
@@ -26382,7 +23518,6 @@
 HSPLandroid/view/ViewGroup;->exitHoverTargets()V
 HSPLandroid/view/ViewGroup;->exitTooltipHoverTargets()V
 HSPLandroid/view/ViewGroup;->findFocus()Landroid/view/View;
-HSPLandroid/view/ViewGroup;->findViewByAutofillIdTraversal(I)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
@@ -26401,7 +23536,6 @@
 HSPLandroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation;
 HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
 HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z
-HSPLandroid/view/ViewGroup;->getChildrenForAutofill(I)Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;
 HSPLandroid/view/ViewGroup;->getChildrenForContentCapture()Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;
 HSPLandroid/view/ViewGroup;->getClipChildren()Z
 HSPLandroid/view/ViewGroup;->getClipToPadding()Z
@@ -26427,6 +23561,7 @@
 HSPLandroid/view/ViewGroup;->hasFocusableChild(Z)Z
 HSPLandroid/view/ViewGroup;->hasTransientState()Z
 HSPLandroid/view/ViewGroup;->hasUnhandledKeyListener()Z
+HSPLandroid/view/ViewGroup;->hasWindowInsetsAnimationCallback()Z
 HSPLandroid/view/ViewGroup;->indexOfChild(Landroid/view/View;)I
 HSPLandroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/view/ViewGroup;->initViewGroup()V
@@ -26467,7 +23602,6 @@
 HSPLandroid/view/ViewGroup;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
 HSPLandroid/view/ViewGroup;->onViewAdded(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V
 HSPLandroid/view/ViewGroup;->populateChildrenForContentCapture(Ljava/util/ArrayList;)V
 HSPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->recreateChildDisplayList(Landroid/view/View;)V
@@ -26483,8 +23617,6 @@
 HSPLandroid/view/ViewGroup;->removeViewInLayout(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V
 HSPLandroid/view/ViewGroup;->removeViewInternal(Landroid/view/View;)Z
-HSPLandroid/view/ViewGroup;->removeViews(II)V
-HSPLandroid/view/ViewGroup;->removeViewsInternal(II)V
 HSPLandroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
 HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
@@ -26524,7 +23656,6 @@
 HSPLandroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z
 HSPLandroid/view/ViewGroup;->shouldDelayChildPressedState()Z
 HSPLandroid/view/ViewGroup;->showContextMenuForChild(Landroid/view/View;)Z
-HSPLandroid/view/ViewGroup;->showContextMenuForChild(Landroid/view/View;FF)Z
 HSPLandroid/view/ViewGroup;->startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
 HSPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->suppressLayout(Z)V
@@ -26532,7 +23663,6 @@
 HSPLandroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V
 HSPLandroid/view/ViewGroup;->unFocus(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->updateLocalSystemUiVisibility(II)Z
-HSPLandroid/view/ViewGroup;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/ViewGroupOverlay;-><init>(Landroid/content/Context;Landroid/view/View;)V
 HSPLandroid/view/ViewGroupOverlay;->add(Landroid/view/View;)V
 HSPLandroid/view/ViewGroupOverlay;->remove(Landroid/view/View;)V
@@ -26604,6 +23734,7 @@
 HSPLandroid/view/ViewRootImpl$1;->onDisplayChanged(I)V
 HSPLandroid/view/ViewRootImpl$1;->onDisplayRemoved(I)V
 HSPLandroid/view/ViewRootImpl$1;->toViewScreenState(I)I
+HSPLandroid/view/ViewRootImpl$2;->run()V
 HSPLandroid/view/ViewRootImpl$4;-><init>(Landroid/view/ViewRootImpl;)V
 HSPLandroid/view/ViewRootImpl$4;->run()V
 HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnection;-><init>(Landroid/view/ViewRootImpl;)V
@@ -26699,21 +23830,25 @@
 HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V
 HSPLandroid/view/ViewRootImpl$W;->dispatchSystemUiVisibilityChanged(IIII)V
 HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V
+HSPLandroid/view/ViewRootImpl$W;->hideInsets(IZ)V
 HSPLandroid/view/ViewRootImpl$W;->insetsChanged(Landroid/view/InsetsState;)V
 HSPLandroid/view/ViewRootImpl$W;->insetsControlChanged(Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V
 HSPLandroid/view/ViewRootImpl$W;->moved(II)V
 HSPLandroid/view/ViewRootImpl$W;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-HSPLandroid/view/ViewRootImpl$W;->windowFocusChanged(ZZ)V
+HSPLandroid/view/ViewRootImpl$W;->showInsets(IZ)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;-><init>(Landroid/view/ViewRootImpl;Landroid/view/InputChannel;Landroid/os/Looper;)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->dispose()V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending()V
+HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending(I)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onFocusEvent(ZZ)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->processUnbufferedRequest(Landroid/view/InputEvent;)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;)V
+HSPLandroid/view/ViewRootImpl;->access$1000(Landroid/view/ViewRootImpl;)Landroid/view/InsetsController;
 HSPLandroid/view/ViewRootImpl;->access$1000(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewRootImpl;->access$1100(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl;->access$1100(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewRootImpl;->access$1600(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$QueuedInputEvent;)V
 HSPLandroid/view/ViewRootImpl;->access$1900(Landroid/view/ViewRootImpl;)Landroid/view/ImeFocusController;
 HSPLandroid/view/ViewRootImpl;->access$2000(Landroid/view/ViewRootImpl;Landroid/view/KeyEvent;)Z
@@ -26728,9 +23863,12 @@
 HSPLandroid/view/ViewRootImpl;->access$4000(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/view/ViewRootImpl;->access$4100(Landroid/view/ViewRootImpl;Landroid/view/InsetsState;)V
 HSPLandroid/view/ViewRootImpl;->access$4300(Landroid/view/ViewRootImpl;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V
+HSPLandroid/view/ViewRootImpl;->access$4400(Landroid/view/ViewRootImpl;IZ)V
+HSPLandroid/view/ViewRootImpl;->access$4500(Landroid/view/ViewRootImpl;IZ)V
 HSPLandroid/view/ViewRootImpl;->access$4500(Landroid/view/ViewRootImpl;Landroid/view/View;Landroid/view/View;)Landroid/view/View;
 HSPLandroid/view/ViewRootImpl;->access$600(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewRootImpl;->access$700(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl;->access$700(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewRootImpl;->access$800(Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->access$900(Landroid/view/ViewRootImpl;)Landroid/view/InsetsController;
 HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
@@ -26747,7 +23885,6 @@
 HSPLandroid/view/ViewRootImpl;->clearChildFocus(Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z
 HSPLandroid/view/ViewRootImpl;->controlInsetsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/view/ViewRootImpl;->createContextMenu(Landroid/view/ContextMenu;)V
 HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
 HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V
 HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V
@@ -26804,6 +23941,7 @@
 HSPLandroid/view/ViewRootImpl;->getImpliedSystemUiVisibility(Landroid/view/WindowManager$LayoutParams;)I
 HSPLandroid/view/ViewRootImpl;->getInsetsController()Landroid/view/InsetsController;
 HSPLandroid/view/ViewRootImpl;->getNightMode()I
+HSPLandroid/view/ViewRootImpl;->getOrCreateBLASTSurface(II)Landroid/view/Surface;
 HSPLandroid/view/ViewRootImpl;->getParent()Landroid/view/ViewParent;
 HSPLandroid/view/ViewRootImpl;->getRenderSurfaceControl()Landroid/view/SurfaceControl;
 HSPLandroid/view/ViewRootImpl;->getRootMeasureSpec(II)I
@@ -26823,6 +23961,7 @@
 HSPLandroid/view/ViewRootImpl;->handleWindowContentChangedEvent(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/ViewRootImpl;->handleWindowFocusChanged()V
 HSPLandroid/view/ViewRootImpl;->hasColorModeChanged(I)Z
+HSPLandroid/view/ViewRootImpl;->hideInsets(IZ)V
 HSPLandroid/view/ViewRootImpl;->invalidate()V
 HSPLandroid/view/ViewRootImpl;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
@@ -26830,7 +23969,6 @@
 HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z
 HSPLandroid/view/ViewRootImpl;->isContentCaptureReallyEnabled()Z
 HSPLandroid/view/ViewRootImpl;->isInLayout()Z
-HSPLandroid/view/ViewRootImpl;->isInLocalFocusMode()Z
 HSPLandroid/view/ViewRootImpl;->isInTouchMode()Z
 HSPLandroid/view/ViewRootImpl;->isLayoutRequested()Z
 HSPLandroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z
@@ -26853,13 +23991,13 @@
 HSPLandroid/view/ViewRootImpl;->notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V
 HSPLandroid/view/ViewRootImpl;->notifySurfaceCreated()V
 HSPLandroid/view/ViewRootImpl;->notifySurfaceDestroyed()V
+HSPLandroid/view/ViewRootImpl;->notifySurfaceReplaced()V
 HSPLandroid/view/ViewRootImpl;->obtainQueuedInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;I)Landroid/view/ViewRootImpl$QueuedInputEvent;
 HSPLandroid/view/ViewRootImpl;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->onDescendantUnbufferedRequested()V
 HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
 HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V
 HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
-HSPLandroid/view/ViewRootImpl;->onWindowTitleChanged()V
 HSPLandroid/view/ViewRootImpl;->pendingDrawFinished()V
 HSPLandroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V
 HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V
@@ -26906,10 +24044,12 @@
 HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->setWindowStopped(Z)V
 HSPLandroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z
+HSPLandroid/view/ViewRootImpl;->showInsets(IZ)V
 HSPLandroid/view/ViewRootImpl;->systemGestureExclusionChanged()V
 HSPLandroid/view/ViewRootImpl;->unscheduleConsumeBatchedInput()V
 HSPLandroid/view/ViewRootImpl;->unscheduleTraversals()V
 HSPLandroid/view/ViewRootImpl;->updateBoundsLayer()V
+HSPLandroid/view/ViewRootImpl;->updateCaptionInsets()Z
 HSPLandroid/view/ViewRootImpl;->updateCompatSysUiVisibility(IZZ)V
 HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V
 HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z
@@ -26917,6 +24057,7 @@
 HSPLandroid/view/ViewRootImpl;->updateInternalDisplay(ILandroid/content/res/Resources;)V
 HSPLandroid/view/ViewRootImpl;->updateSystemGestureExclusionRectsForView(Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->updateVisibleInsets()V
+HSPLandroid/view/ViewRootImpl;->useBLAST()Z
 HSPLandroid/view/ViewRootImpl;->windowFocusChanged(ZZ)V
 HSPLandroid/view/ViewStructure;-><init>()V
 HSPLandroid/view/ViewStructure;->setImportantForAutofill(I)V
@@ -26955,7 +24096,6 @@
 HSPLandroid/view/ViewTreeObserver;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
-HSPLandroid/view/ViewTreeObserver;->addOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
@@ -26987,7 +24127,6 @@
 HSPLandroid/view/ViewTreeObserver;->removeOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V
 HSPLandroid/view/Window;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/Window;->addFlags(I)V
-HSPLandroid/view/Window;->addOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V
 HSPLandroid/view/Window;->adjustLayoutParamsForSubWindow(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/view/Window;->clearFlags(I)V
 HSPLandroid/view/Window;->destroy()V
@@ -26995,7 +24134,6 @@
 HSPLandroid/view/Window;->findViewById(I)Landroid/view/View;
 HSPLandroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
 HSPLandroid/view/Window;->getCallback()Landroid/view/Window$Callback;
-HSPLandroid/view/Window;->getColorMode()I
 HSPLandroid/view/Window;->getContainer()Landroid/view/Window;
 HSPLandroid/view/Window;->getContext()Landroid/content/Context;
 HSPLandroid/view/Window;->getDefaultFeatures(Landroid/content/Context;)I
@@ -27011,9 +24149,8 @@
 HSPLandroid/view/Window;->isActive()Z
 HSPLandroid/view/Window;->isDestroyed()Z
 HSPLandroid/view/Window;->isOutOfBounds(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->isWideColorGamut()Z
+HSPLandroid/view/Window;->isOverlayWithDecorCaptionEnabled()Z
 HSPLandroid/view/Window;->makeActive()V
-HSPLandroid/view/Window;->removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V
 HSPLandroid/view/Window;->requestFeature(I)Z
 HSPLandroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V
@@ -27044,8 +24181,10 @@
 HSPLandroid/view/WindowInsets$Builder;->setStableInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;
 HSPLandroid/view/WindowInsets$Builder;->setSystemWindowInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;
 HSPLandroid/view/WindowInsets$Side;->all()I
+HSPLandroid/view/WindowInsets$Type;->displayCutout()I
 HSPLandroid/view/WindowInsets$Type;->ime()I
 HSPLandroid/view/WindowInsets$Type;->indexOf(I)I
+HSPLandroid/view/WindowInsets$Type;->isVisibleInsetsType(II)Z
 HSPLandroid/view/WindowInsets$Type;->navigationBars()I
 HSPLandroid/view/WindowInsets$Type;->statusBars()I
 HSPLandroid/view/WindowInsets$Type;->systemBars()I
@@ -27063,7 +24202,6 @@
 HSPLandroid/view/WindowInsets;->access$700(Landroid/view/WindowInsets;)Z
 HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V
 HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets;
-HSPLandroid/view/WindowInsets;->consumeStableInsets()Landroid/view/WindowInsets;
 HSPLandroid/view/WindowInsets;->consumeSystemWindowInsets()Landroid/view/WindowInsets;
 HSPLandroid/view/WindowInsets;->createCompatTypeMap(Landroid/graphics/Rect;)[Landroid/graphics/Insets;
 HSPLandroid/view/WindowInsets;->createCompatVisibilityMap([Landroid/graphics/Insets;)[Z
@@ -27079,7 +24217,6 @@
 HSPLandroid/view/WindowInsets;->getStableInsetRight()I
 HSPLandroid/view/WindowInsets;->getStableInsetTop()I
 HSPLandroid/view/WindowInsets;->getStableInsets()Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->getSystemGestureInsets()Landroid/graphics/Insets;
 HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I
 HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I
 HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I
@@ -27159,11 +24296,13 @@
 HSPLandroid/view/WindowManagerImpl;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/WindowManagerImpl;->applyDefaultToken(Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/WindowManagerImpl;->computeWindowInsets()Landroid/view/WindowInsets;
+HSPLandroid/view/WindowManagerImpl;->computeWindowInsets(Landroid/graphics/Rect;)Landroid/view/WindowInsets;
 HSPLandroid/view/WindowManagerImpl;->createLocalWindowManager(Landroid/view/Window;)Landroid/view/WindowManagerImpl;
 HSPLandroid/view/WindowManagerImpl;->getDefaultDisplay()Landroid/view/Display;
 HSPLandroid/view/WindowManagerImpl;->getMaximumBounds()Landroid/graphics/Rect;
 HSPLandroid/view/WindowManagerImpl;->getMaximumWindowMetrics()Landroid/view/WindowMetrics;
 HSPLandroid/view/WindowManagerImpl;->getWindowInsetsFromServer(Landroid/view/WindowManager$LayoutParams;)Landroid/view/WindowInsets;
+HSPLandroid/view/WindowManagerImpl;->getWindowInsetsFromServer(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;)Landroid/view/WindowInsets;
 HSPLandroid/view/WindowManagerImpl;->removeView(Landroid/view/View;)V
 HSPLandroid/view/WindowManagerImpl;->removeViewImmediate(Landroid/view/View;)V
 HSPLandroid/view/WindowManagerImpl;->toSize(Landroid/graphics/Rect;)Landroid/util/Size;
@@ -27199,7 +24338,6 @@
 HSPLandroid/view/accessibility/AccessibilityManager;->access$200(Landroid/view/accessibility/AccessibilityManager;)Landroid/util/ArrayMap;
 HSPLandroid/view/accessibility/AccessibilityManager;->access$400(Landroid/view/accessibility/AccessibilityManager;I)V
 HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/accessibility/IAccessibilityInteractionConnection;)I
-HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Ljava/lang/String;Landroid/view/accessibility/IAccessibilityInteractionConnection;)I
 HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityServicesStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;Landroid/os/Handler;)V
 HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
 HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V
@@ -27217,8 +24355,9 @@
 HSPLandroid/view/accessibility/AccessibilityManager;->isEnabled()Z
 HSPLandroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z
 HSPLandroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z
-PLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
+HPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
 HSPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityStateChanged()V
+HSPLandroid/view/accessibility/AccessibilityManager;->registerSystemAction(Landroid/app/RemoteAction;I)V
 HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
 HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
 HSPLandroid/view/accessibility/AccessibilityManager;->removeHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;)V
@@ -27239,7 +24378,6 @@
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->addAction(I)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->addAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->addChildInternal(Landroid/view/View;IZ)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->addChildUnchecked(Landroid/view/View;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->enforceNotSealed()V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->getAccessibilityViewId(J)I
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->getBoundsInScreen(Landroid/graphics/Rect;)V
@@ -27256,7 +24394,6 @@
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->obtain(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->recycle()V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setAccessibilityFocused(Z)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setAvailableExtraData(Ljava/util/List;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setBooleanProperty(IZ)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setBoundsInParent(Landroid/graphics/Rect;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setBoundsInScreen(Landroid/graphics/Rect;)V
@@ -27269,25 +24406,18 @@
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setFocusable(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setFocused(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setHeading(Z)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setHintText(Ljava/lang/CharSequence;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setImportantForAccessibility(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setLiveRegion(I)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setLongClickable(Z)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setMovementGranularities(I)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setMultiLine(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setPackageName(Ljava/lang/CharSequence;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setPaneTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setParent(Landroid/view/View;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setParent(Landroid/view/View;I)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setPassword(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setScreenReaderFocusable(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setSelected(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setSource(Landroid/view/View;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setSource(Landroid/view/View;I)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setStateDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setTextSelection(II)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setViewIdResourceName(Ljava/lang/String;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->setVisibleToUser(Z)V
 HSPLandroid/view/accessibility/AccessibilityNodeProvider;-><init>()V
 HSPLandroid/view/accessibility/AccessibilityRecord;-><init>()V
@@ -27319,35 +24449,26 @@
 HSPLandroid/view/accessibility/AccessibilityRecord;->setToIndex(I)V
 HSPLandroid/view/accessibility/CaptioningManager$1;-><init>(Landroid/view/accessibility/CaptioningManager;)V
 HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->getTypeface()Landroid/graphics/Typeface;
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasBackgroundColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeType()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasForegroundColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasWindowColor()Z
 HSPLandroid/view/accessibility/CaptioningManager$CaptioningChangeListener;-><init>()V
 HSPLandroid/view/accessibility/CaptioningManager$MyContentObserver;-><init>(Landroid/view/accessibility/CaptioningManager;Landroid/os/Handler;)V
 HSPLandroid/view/accessibility/CaptioningManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/accessibility/CaptioningManager;->addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
 HSPLandroid/view/accessibility/CaptioningManager;->getFontScale()F
 HSPLandroid/view/accessibility/CaptioningManager;->getLocale()Ljava/util/Locale;
 HSPLandroid/view/accessibility/CaptioningManager;->getRawLocale()Ljava/lang/String;
 HSPLandroid/view/accessibility/CaptioningManager;->getRawUserStyle()I
 HSPLandroid/view/accessibility/CaptioningManager;->getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
 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
 HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;-><init>()V
 HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityInteractionConnection;
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/os/IBinder;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
-HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getAccessibilityShortcutTargets(I)Ljava/util/List;
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getRecommendedTimeoutMillis()J
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->registerSystemAction(Landroid/app/RemoteAction;I)V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
@@ -27526,14 +24647,8 @@
 HSPLandroid/view/animation/TranslateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/animation/TranslateAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
 HSPLandroid/view/animation/TranslateAnimation;->initialize(IIII)V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$qH36EJk2Hkdja9ZZmTxqYPyr0YA;-><init>(Landroid/view/autofill/AutofillManager;I)V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$qH36EJk2Hkdja9ZZmTxqYPyr0YA;->run()V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$vxNm6RuuD-r5pkiSxNSBBd1w_Qc;-><init>(Landroid/view/autofill/AutofillManager;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$vxNm6RuuD-r5pkiSxNSBBd1w_Qc;->run()V
 HSPLandroid/view/autofill/-$$Lambda$AutofillManager$V76JiQu509LCUz3-ckpb-nB3JhA;-><init>(Landroid/view/autofill/IAutoFillManager;Landroid/view/autofill/IAutoFillManagerClient;I)V
 HSPLandroid/view/autofill/-$$Lambda$AutofillManager$V76JiQu509LCUz3-ckpb-nB3JhA;->run()V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$YfpJNFodEuj5lbXfPlc77fsEvC8;-><init>(Landroid/view/autofill/AutofillManager;)V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$YfpJNFodEuj5lbXfPlc77fsEvC8;->run()V
 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
@@ -27545,62 +24660,28 @@
 HSPLandroid/view/autofill/AutofillId;->hashCode()I
 HSPLandroid/view/autofill/AutofillId;->isVirtualInt()Z
 HSPLandroid/view/autofill/AutofillId;->isVirtualLong()Z
-HSPLandroid/view/autofill/AutofillId;->resetSessionId()V
 HSPLandroid/view/autofill/AutofillId;->setSessionId(I)V
 HSPLandroid/view/autofill/AutofillId;->toString()Ljava/lang/String;
 HSPLandroid/view/autofill/AutofillId;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/autofill/AutofillManager$AugmentedAutofillManagerClient;-><init>(Landroid/view/autofill/AutofillManager;)V
-HSPLandroid/view/autofill/AutofillManager$AugmentedAutofillManagerClient;-><init>(Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager$1;)V
-HSPLandroid/view/autofill/AutofillManager$AugmentedAutofillManagerClient;->getViewCoordinates(Landroid/view/autofill/AutofillId;)Landroid/graphics/Rect;
-HSPLandroid/view/autofill/AutofillManager$AutofillCallback;-><init>()V
 HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;-><init>(Landroid/view/autofill/AutofillManager;)V
 HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;-><init>(Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager$1;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->lambda$getAugmentedAutofillClient$12(Landroid/view/autofill/AutofillManager;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->lambda$setState$0(Landroid/view/autofill/AutofillManager;I)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setState(I)V
 HSPLandroid/view/autofill/AutofillManager;-><init>(Landroid/content/Context;Landroid/view/autofill/IAutoFillManager;)V
-HSPLandroid/view/autofill/AutofillManager;->access$1300(Landroid/view/autofill/AutofillManager;Ljava/lang/Runnable;)V
-HSPLandroid/view/autofill/AutofillManager;->access$1400(Landroid/view/autofill/AutofillManager;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/AutofillManager;->access$2500(Landroid/view/autofill/AutofillManager;I)V
-HSPLandroid/view/autofill/AutofillManager;->access$900(Landroid/view/autofill/AutofillManager;)Landroid/view/autofill/AutofillManager$AutofillClient;
-HSPLandroid/view/autofill/AutofillManager;->addEnteredIdLocked(Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/AutofillManager;->cancelLocked()V
-HSPLandroid/view/autofill/AutofillManager;->cancelSessionLocked()V
 HSPLandroid/view/autofill/AutofillManager;->ensureServiceClientAddedIfNeededLocked()V
-HSPLandroid/view/autofill/AutofillManager;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
 HSPLandroid/view/autofill/AutofillManager;->getClient()Landroid/view/autofill/AutofillManager$AutofillClient;
 HSPLandroid/view/autofill/AutofillManager;->hasAutofillFeature()Z
 HSPLandroid/view/autofill/AutofillManager;->isActiveLocked()Z
-HSPLandroid/view/autofill/AutofillManager;->isAutofillSupported()Z
 HSPLandroid/view/autofill/AutofillManager;->isAutofillUiShowing()Z
-HSPLandroid/view/autofill/AutofillManager;->isClientDisablingEnterExitEvent()Z
-HSPLandroid/view/autofill/AutofillManager;->isCompatibilityModeEnabledLocked()Z
 HSPLandroid/view/autofill/AutofillManager;->isDisabledByServiceLocked()Z
 HSPLandroid/view/autofill/AutofillManager;->isEnabled()Z
-HSPLandroid/view/autofill/AutofillManager;->isFinishedLocked()Z
 HSPLandroid/view/autofill/AutofillManager;->lambda$ensureServiceClientAddedIfNeededLocked$1(Landroid/view/autofill/IAutoFillManager;Landroid/view/autofill/IAutoFillManagerClient;I)V
-HSPLandroid/view/autofill/AutofillManager;->lambda$onVisibleForAutofill$0$AutofillManager()V
 HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V
 HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredForAugmentedAutofill(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredLocked(Landroid/view/View;I)Landroid/view/autofill/AutofillManager$AutofillCallback;
 HSPLandroid/view/autofill/AutofillManager;->notifyViewExited(Landroid/view/View;)V
 HSPLandroid/view/autofill/AutofillManager;->notifyViewExitedLocked(Landroid/view/View;)V
 HSPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChanged(Landroid/view/View;Z)V
 HSPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
-HSPLandroid/view/autofill/AutofillManager;->onActivityFinishing()V
-HSPLandroid/view/autofill/AutofillManager;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/view/autofill/AutofillManager;->onInvisibleForAutofill(Z)V
-HSPLandroid/view/autofill/AutofillManager;->onSaveInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/view/autofill/AutofillManager;->onVisibleForAutofill()V
-HSPLandroid/view/autofill/AutofillManager;->post(Ljava/lang/Runnable;)V
-HSPLandroid/view/autofill/AutofillManager;->registerCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V
 HSPLandroid/view/autofill/AutofillManager;->requestHideFillUi()V
 HSPLandroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Z)V
-HSPLandroid/view/autofill/AutofillManager;->resetSessionLocked(Z)V
-HSPLandroid/view/autofill/AutofillManager;->setState(I)V
 HSPLandroid/view/autofill/AutofillManager;->shouldIgnoreViewEnteredLocked(Landroid/view/autofill/AutofillId;I)Z
 HSPLandroid/view/autofill/AutofillManager;->startAutofillIfNeededLocked(Landroid/view/View;)Z
 HSPLandroid/view/autofill/AutofillManager;->startSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;I)V
@@ -27616,16 +24697,9 @@
 HSPLandroid/view/autofill/AutofillValue;->getTextValue()Ljava/lang/CharSequence;
 HSPLandroid/view/autofill/AutofillValue;->isText()Z
 HSPLandroid/view/autofill/AutofillValue;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;-><init>()V
-HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->cancelSession(II)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->isServiceSupported(ILcom/android/internal/os/IResultReceiver;)V
 HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->setHasCallback(IIZ)V
 HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;ZLcom/android/internal/os/IResultReceiver;)V
 HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
 HSPLandroid/view/autofill/IAutoFillManager$Stub;-><init>()V
@@ -27633,6 +24707,7 @@
 HPLandroid/view/autofill/IAutoFillManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
 HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;-><init>()V
 HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
@@ -27672,11 +24747,9 @@
 HSPLandroid/view/contentcapture/ContentCaptureManager;->getMainContentCaptureSession()Landroid/view/contentcapture/MainContentCaptureSession;
 HSPLandroid/view/contentcapture/ContentCaptureManager;->isContentCaptureEnabled()Z
 HSPLandroid/view/contentcapture/ContentCaptureManager;->onActivityCreated(Landroid/os/IBinder;Landroid/content/ComponentName;)V
-HSPLandroid/view/contentcapture/ContentCaptureManager;->onActivityDestroyed()V
 HSPLandroid/view/contentcapture/ContentCaptureManager;->onActivityPaused()V
 HSPLandroid/view/contentcapture/ContentCaptureManager;->onActivityResumed()V
 HSPLandroid/view/contentcapture/ContentCaptureManager;->updateWindowAttributes(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/view/contentcapture/ContentCaptureSession;-><clinit>()V
 HSPLandroid/view/contentcapture/ContentCaptureSession;-><init>()V
 HSPLandroid/view/contentcapture/ContentCaptureSession;-><init>(I)V
 HSPLandroid/view/contentcapture/ContentCaptureSession;->destroy()V
@@ -27704,7 +24777,6 @@
 HSPLandroid/view/contentcapture/MainContentCaptureSession$1;-><init>(Landroid/view/contentcapture/MainContentCaptureSession;)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession$1;->lambda$send$1$MainContentCaptureSession$1(ILandroid/os/IBinder;)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession$1;->send(ILandroid/os/Bundle;)V
-HSPLandroid/view/contentcapture/MainContentCaptureSession;-><clinit>()V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;-><init>(Landroid/content/Context;Landroid/view/contentcapture/ContentCaptureManager;Landroid/os/Handler;Landroid/view/contentcapture/IContentCaptureManager;)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->access$200(Landroid/view/contentcapture/MainContentCaptureSession;)Landroid/os/Handler;
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->access$300(Landroid/view/contentcapture/MainContentCaptureSession;ILandroid/os/IBinder;)V
@@ -27733,7 +24805,6 @@
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->notifyViewTreeEvent(IZ)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->onDestroy()V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->onSessionStarted(ILandroid/os/IBinder;)V
-HSPLandroid/view/contentcapture/MainContentCaptureSession;->resetSession(I)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->scheduleFlush(IZ)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->sendEvent(Landroid/view/contentcapture/ContentCaptureEvent;)V
 HSPLandroid/view/contentcapture/MainContentCaptureSession;->sendEvent(Landroid/view/contentcapture/ContentCaptureEvent;Z)V
@@ -27744,7 +24815,6 @@
 HSPLandroid/view/contentcapture/ViewNode$ViewNodeText;->writeToParcel(Landroid/os/Parcel;Z)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;-><init>(Landroid/view/View;)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->getNodeText()Landroid/view/contentcapture/ViewNode$ViewNodeText;
-HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setActivated(Z)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillHints([Ljava/lang/String;)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillType(I)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
@@ -27757,7 +24827,6 @@
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setFocusable(Z)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setFocused(Z)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setHint(Ljava/lang/CharSequence;)V
-HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setHintIdEntry(Ljava/lang/String;)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setInputType(I)V
 HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setLongClickable(Z)V
@@ -27782,7 +24851,6 @@
 HSPLandroid/view/contentcapture/ViewNode;->access$1402(Landroid/view/contentcapture/ViewNode;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/view/contentcapture/ViewNode;->access$1502(Landroid/view/contentcapture/ViewNode;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/view/contentcapture/ViewNode;->access$1602(Landroid/view/contentcapture/ViewNode;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/view/contentcapture/ViewNode;->access$1702(Landroid/view/contentcapture/ViewNode;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/view/contentcapture/ViewNode;->access$1902(Landroid/view/contentcapture/ViewNode;I)I
 HSPLandroid/view/contentcapture/ViewNode;->access$2002(Landroid/view/contentcapture/ViewNode;[Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/view/contentcapture/ViewNode;->access$202(Landroid/view/contentcapture/ViewNode;I)I
@@ -27808,8 +24876,6 @@
 HSPLandroid/view/inputmethod/-$$Lambda$InputMethodManager$DelegateImpl$r2X8PLo_YIORJTYJGDfinf_IvK4;->run()V
 HSPLandroid/view/inputmethod/-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0;-><init>(Landroid/view/inputmethod/InputMethodManager;I)V
 HSPLandroid/view/inputmethod/-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0;->run()V
-HSPLandroid/view/inputmethod/-$$Lambda$InputMethodManager$i_90CXuqg7HqaqWjKFApAxiw7ac;-><init>(Landroid/view/inputmethod/InputMethodManager;ZLandroid/view/View;III)V
-HSPLandroid/view/inputmethod/-$$Lambda$InputMethodManager$i_90CXuqg7HqaqWjKFApAxiw7ac;->run()V
 HSPLandroid/view/inputmethod/BaseInputConnection;-><init>(Landroid/view/View;Z)V
 HSPLandroid/view/inputmethod/BaseInputConnection;-><init>(Landroid/view/inputmethod/InputMethodManager;Z)V
 HSPLandroid/view/inputmethod/BaseInputConnection;->beginBatchEdit()Z
@@ -27860,9 +24926,6 @@
 HSPLandroid/view/inputmethod/EditorInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/ExtractedText;-><init>()V
 HSPLandroid/view/inputmethod/ExtractedTextRequest;-><init>()V
-HSPLandroid/view/inputmethod/InlineSuggestionsRequest$1;-><init>()V
-HSPLandroid/view/inputmethod/InlineSuggestionsRequest;-><clinit>()V
-HSPLandroid/view/inputmethod/InlineSuggestionsRequest;->onConstructed()V
 HSPLandroid/view/inputmethod/InputBinding;-><init>(Landroid/view/inputmethod/InputConnection;Landroid/os/IBinder;II)V
 HPLandroid/view/inputmethod/InputBinding;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlags(Landroid/view/inputmethod/InputConnection;)I
@@ -27890,7 +24953,6 @@
 HSPLandroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/inputmethod/InputMethodInfo;->computeId(Landroid/content/pm/ResolveInfo;)Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/inputmethod/InputMethodInfo;->getComponent()Landroid/content/ComponentName;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getId()Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getPackageName()Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
@@ -27905,6 +24967,7 @@
 HSPLandroid/view/inputmethod/InputMethodManager$1;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->onUnbindMethod(II)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->reportFullscreenMode(Z)V
+HSPLandroid/view/inputmethod/InputMethodManager$1;->scheduleStartInputIfNecessary(Z)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->setActive(ZZ)V
 HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputMethodManager;)V
 HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->deactivate()V
@@ -27955,12 +25018,10 @@
 HSPLandroid/view/inputmethod/InputMethodManager;->createRealInstance(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->dispatchInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)I
 HSPLandroid/view/inputmethod/InputMethodManager;->dispatchKeyEventFromInputMethod(Landroid/view/View;Landroid/view/KeyEvent;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->displayCompletions(Landroid/view/View;[Landroid/view/inputmethod/CompletionInfo;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->ensureDefaultInstanceForDefaultDisplayIfNecessary()V
 HSPLandroid/view/inputmethod/InputMethodManager;->finishInputLocked()V
 HSPLandroid/view/inputmethod/InputMethodManager;->finishedInputEvent(IZZ)V
 HSPLandroid/view/inputmethod/InputMethodManager;->flushPendingEventsLocked()V
-HSPLandroid/view/inputmethod/InputMethodManager;->focusInLocked(Landroid/view/View;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->forContext(Landroid/content/Context;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->forContextInternal(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->getDelegate()Landroid/view/inputmethod/InputMethodManager$DelegateImpl;
@@ -27979,17 +25040,13 @@
 HSPLandroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z
 HSPLandroid/view/inputmethod/InputMethodManager;->isFullscreenMode()Z
 HSPLandroid/view/inputmethod/InputMethodManager;->isInEditMode()Z
-HSPLandroid/view/inputmethod/InputMethodManager;->lambda$onPostWindowFocus$2$InputMethodManager(ZLandroid/view/View;III)V
 HSPLandroid/view/inputmethod/InputMethodManager;->lambda$startInputInner$1$InputMethodManager(I)V
 HSPLandroid/view/inputmethod/InputMethodManager;->maybeCallServedViewChangedLocked(Landroid/view/inputmethod/EditorInfo;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->obtainPendingEventLocked(Landroid/view/InputEvent;Ljava/lang/Object;Ljava/lang/String;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)Landroid/view/inputmethod/InputMethodManager$PendingEvent;
-HSPLandroid/view/inputmethod/InputMethodManager;->onPostWindowFocus(Landroid/view/View;Landroid/view/View;II)V
-HSPLandroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V
 HSPLandroid/view/inputmethod/InputMethodManager;->onViewDetachedFromWindow(Landroid/view/View;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->recyclePendingEventLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->registerImeConsumer(Landroid/view/ImeInsetsSourceConsumer;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->scheduleCheckFocusLocked(Landroid/view/View;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->sendInputEventOnMainLooperLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)I
 HSPLandroid/view/inputmethod/InputMethodManager;->setInputChannelLocked(Landroid/view/InputChannel;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->setNextServedViewLocked(Landroid/view/View;)V
@@ -28000,7 +25057,6 @@
 HSPLandroid/view/inputmethod/InputMethodManager;->unregisterImeConsumer(Landroid/view/ImeInsetsSourceConsumer;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->updateSelection(Landroid/view/View;IIII)V
 HSPLandroid/view/inputmethod/InputMethodManager;->viewClicked(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V
 HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodSubtype;
 HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;->access$100(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;)I
@@ -28016,7 +25072,6 @@
 HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;)V
 HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;Landroid/view/inputmethod/InputMethodSubtype$1;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype;->containsExtraValueKey(Ljava/lang/String;)Z
 HSPLandroid/view/inputmethod/InputMethodSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
 HSPLandroid/view/inputmethod/InputMethodSubtype;->getLocale()Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodSubtype;->getMode()Ljava/lang/String;
@@ -28025,7 +25080,7 @@
 HSPLandroid/view/inputmethod/InputMethodSubtype;->isAuxiliary()Z
 HSPLandroid/view/inputmethod/InputMethodSubtype;->overridesImplicitlyEnabledSubtype()Z
 HSPLandroid/view/inputmethod/InputMethodSubtype;->sort(Landroid/content/Context;ILandroid/view/inputmethod/InputMethodInfo;Ljava/util/List;)Ljava/util/List;
-HPLandroid/view/inputmethod/InputMethodSubtype;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/view/inputmethod/InputMethodSubtype;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V
 HPLandroid/view/inputmethod/InputMethodSubtypeArray;->compress([B)[B
@@ -28034,7 +25089,6 @@
 HPLandroid/view/inputmethod/InputMethodSubtypeArray;->marshall([Landroid/view/inputmethod/InputMethodSubtype;)[B
 HPLandroid/view/inputmethod/InputMethodSubtypeArray;->writeToParcel(Landroid/os/Parcel;)V
 HSPLandroid/view/textclassifier/-$$Lambda$ActionsModelParamsSupplier$zElxNeuL3A8paTXvw8GWdpp4rFo;-><init>(Landroid/view/textclassifier/ActionsModelParamsSupplier;)V
-HSPLandroid/view/textclassifier/-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0;-><init>(Landroid/view/textclassifier/EntityConfidence;)V
 HSPLandroid/view/textclassifier/-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
 HSPLandroid/view/textclassifier/-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE;->createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$iSt_Guet-O6Vtdk0MA4z-Z4lzaM;-><init>(Landroid/view/textclassifier/TextClassifierImpl;)V
@@ -28047,7 +25101,7 @@
 HSPLandroid/view/textclassifier/ConversationActions$Message;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
 HSPLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/textclassifier/ConversationActions$Request;-><init>(Ljava/util/List;Landroid/view/textclassifier/TextClassifier$EntityConfig;ILjava/util/List;Landroid/os/Bundle;)V
+HSPLandroid/view/textclassifier/ConversationActions$Request;-><init>(Ljava/util/List;Landroid/view/textclassifier/TextClassifier$EntityConfig;ILjava/util/List;Landroid/os/Bundle;)V
 HPLandroid/view/textclassifier/ConversationActions$Request;->access$300(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
 HSPLandroid/view/textclassifier/ConversationActions$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
 PLandroid/view/textclassifier/ConversationActions$Request;->setCallingPackageName(Ljava/lang/String;)V
@@ -28056,20 +25110,16 @@
 HSPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/EntityConfidence;
 HSPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/textclassifier/EntityConfidence;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/EntityConfidence;-><init>(Landroid/os/Parcel;Landroid/view/textclassifier/EntityConfidence$1;)V
 HSPLandroid/view/textclassifier/EntityConfidence;->getEntities()Ljava/util/List;
 HSPLandroid/view/textclassifier/EntityConfidence;->resetSortedEntitiesFromMap()V
 HSPLandroid/view/textclassifier/GenerateLinksLogger;-><init>(I)V
 HSPLandroid/view/textclassifier/Log;->d(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;-><init>(Ljava/io/File;Ljava/lang/String;Ljava/io/File;Ljava/util/function/Function;Ljava/util/function/Function;)V
 HSPLandroid/view/textclassifier/ModelFileManager;-><init>(Ljava/util/function/Supplier;)V
 HSPLandroid/view/textclassifier/SelectionEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/SelectionEvent;
 HSPLandroid/view/textclassifier/SelectionEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/textclassifier/SelectionEvent;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/SelectionEvent;->getEntityType()Ljava/lang/String;
 HSPLandroid/view/textclassifier/SelectionEvent;->getEventIndex()I
-HSPLandroid/view/textclassifier/SelectionEvent;->getEventTime()J
 HSPLandroid/view/textclassifier/SelectionEvent;->getEventType()I
 HSPLandroid/view/textclassifier/SelectionEvent;->getInvocationMethod()I
 HSPLandroid/view/textclassifier/SelectionEvent;->getResultId()Ljava/lang/String;
@@ -28080,31 +25130,26 @@
 HSPLandroid/view/textclassifier/SystemTextClassifier$BlockingCallback;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/textclassifier/SystemTextClassifier$BlockingCallback;->get()Landroid/os/Parcelable;
 HSPLandroid/view/textclassifier/SystemTextClassifier$BlockingCallback;->onSuccess(Landroid/os/Bundle;)V
-HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;-><init>(Ljava/lang/String;Landroid/view/textclassifier/SystemTextClassifier$1;)V
 HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->get()Ljava/lang/Object;
-HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->onSuccess(Ljava/lang/Object;)V
 HSPLandroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
 HSPLandroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;Z)V
 HSPLandroid/view/textclassifier/SystemTextClassifier;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
 HSPLandroid/view/textclassifier/SystemTextClassifier;->destroy()V
 HSPLandroid/view/textclassifier/SystemTextClassifier;->initializeRemoteSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
+HSPLandroid/view/textclassifier/SystemTextClassifierMetadata$1;-><init>()V
+HSPLandroid/view/textclassifier/SystemTextClassifierMetadata;-><clinit>()V
+HSPLandroid/view/textclassifier/SystemTextClassifierMetadata;-><init>(Ljava/lang/String;IZ)V
+HSPLandroid/view/textclassifier/SystemTextClassifierMetadata;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification;
 HSPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/textclassifier/TextClassification$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification$Request;
 HSPLandroid/view/textclassifier/TextClassification$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/TextClassification$Request$Builder;-><init>(Ljava/lang/CharSequence;II)V
-HSPLandroid/view/textclassifier/TextClassification$Request$Builder;->build()Landroid/view/textclassifier/TextClassification$Request;
-HSPLandroid/view/textclassifier/TextClassification$Request$Builder;->setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification$Request$Builder;
 HSPLandroid/view/textclassifier/TextClassification$Request;-><init>(Ljava/lang/CharSequence;IILandroid/os/LocaleList;Ljava/time/ZonedDateTime;Landroid/os/Bundle;)V
-HSPLandroid/view/textclassifier/TextClassification$Request;-><init>(Ljava/lang/CharSequence;IILandroid/os/LocaleList;Ljava/time/ZonedDateTime;Landroid/os/Bundle;Landroid/view/textclassifier/TextClassification$1;)V
 HSPLandroid/view/textclassifier/TextClassification$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification$Request;
 HSPLandroid/view/textclassifier/TextClassification$Request;->setCallingPackageName(Ljava/lang/String;)V
 HSPLandroid/view/textclassifier/TextClassification$Request;->setUserId(I)V
 HSPLandroid/view/textclassifier/TextClassification$Request;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/textclassifier/TextClassification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/TextClassification;-><init>(Landroid/os/Parcel;Landroid/view/textclassifier/TextClassification$1;)V
-HSPLandroid/view/textclassifier/TextClassification;->getActions()Ljava/util/List;
 HSPLandroid/view/textclassifier/TextClassificationConstants;-><init>()V
 HSPLandroid/view/textclassifier/TextClassificationConstants;->getGenerateLinksLogSampleRate()I
 HSPLandroid/view/textclassifier/TextClassificationConstants;->getGenerateLinksMaxTextLength()I
@@ -28120,19 +25165,15 @@
 HSPLandroid/view/textclassifier/TextClassificationContext$Builder;->build()Landroid/view/textclassifier/TextClassificationContext;
 HSPLandroid/view/textclassifier/TextClassificationContext;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/textclassifier/TextClassificationContext;-><init>(Landroid/os/Parcel;Landroid/view/textclassifier/TextClassificationContext$1;)V
-HSPLandroid/view/textclassifier/TextClassificationContext;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/TextClassificationContext;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/view/textclassifier/TextClassificationContext$1;)V
 HSPLandroid/view/textclassifier/TextClassificationContext;->getPackageName()Ljava/lang/String;
 HSPLandroid/view/textclassifier/TextClassificationContext;->getUserId()I
 HSPLandroid/view/textclassifier/TextClassificationContext;->getWidgetType()Ljava/lang/String;
 HSPLandroid/view/textclassifier/TextClassificationContext;->getWidgetVersion()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassificationContext;->setUserId(I)V
 HSPLandroid/view/textclassifier/TextClassificationContext;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
 HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
 HSPLandroid/view/textclassifier/TextClassificationManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/textclassifier/TextClassificationManager;->createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/view/textclassifier/TextClassificationManager;->finalize()V
 HSPLandroid/view/textclassifier/TextClassificationManager;->getLocalTextClassifier()Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings()Landroid/view/textclassifier/TextClassificationConstants;
 HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
@@ -28141,16 +25182,15 @@
 HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier()Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/TextClassificationManager;->isSystemTextClassifierEnabled()Z
-HSPLandroid/view/textclassifier/TextClassificationManager;->lambda$new$0$TextClassificationManager(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;
+HSPLandroid/view/textclassifier/TextClassificationSession$CleanerRunnable;-><init>(Landroid/view/textclassifier/TextClassificationSession$SelectionEventHelper;Landroid/view/textclassifier/TextClassifier;)V
 HSPLandroid/view/textclassifier/TextClassificationSession$SelectionEventHelper;-><init>(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassificationContext;)V
 HSPLandroid/view/textclassifier/TextClassificationSession$SelectionEventHelper;->endSession()V
 HSPLandroid/view/textclassifier/TextClassificationSession;-><init>(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassifier;)V
 HSPLandroid/view/textclassifier/TextClassificationSession;->destroy()V
-HSPLandroid/view/textclassifier/TextClassificationSession;->initializeRemoteSession()V
 HSPLandroid/view/textclassifier/TextClassificationSessionId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassificationSessionId;
 HSPLandroid/view/textclassifier/TextClassificationSessionId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/TextClassificationSessionId;-><init>()V
 HSPLandroid/view/textclassifier/TextClassificationSessionId;-><init>(Ljava/lang/String;)V
+HSPLandroid/view/textclassifier/TextClassificationSessionId;-><init>(Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLandroid/view/textclassifier/TextClassificationSessionId;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/textclassifier/TextClassificationSessionId;->hashCode()I
 HSPLandroid/view/textclassifier/TextClassificationSessionId;->writeToParcel(Landroid/os/Parcel;I)V
@@ -28259,148 +25299,22 @@
 HSPLandroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z
 HSPLandroid/view/textservice/TextServicesManager;->newSpellCheckerSession(Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;
 HSPLandroid/view/textservice/TextServicesManager;->parseLanguageFromLocaleString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/ConsoleMessage;-><init>(Ljava/lang/String;Ljava/lang/String;ILandroid/webkit/ConsoleMessage$MessageLevel;)V
-HSPLandroid/webkit/ConsoleMessage;->lineNumber()I
-HSPLandroid/webkit/ConsoleMessage;->message()Ljava/lang/String;
-HSPLandroid/webkit/ConsoleMessage;->messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel;
-HSPLandroid/webkit/ConsoleMessage;->sourceId()Ljava/lang/String;
-HSPLandroid/webkit/CookieManager;-><init>()V
 HSPLandroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
-HSPLandroid/webkit/CookieSyncManager;->setGetInstanceIsAllowed()V
-HSPLandroid/webkit/FindAddress$ZipRange;-><init>(IIII)V
-HSPLandroid/webkit/FindAddress;-><clinit>()V
-HSPLandroid/webkit/FindAddress;->findAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/GeolocationPermissions;-><init>()V
-HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
 HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->isMultiProcessEnabled()Z
 HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
 HSPLandroid/webkit/IWebViewUpdateService$Stub;-><init>()V
-HSPLandroid/webkit/IWebViewUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
 HSPLandroid/webkit/IWebViewUpdateService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/webkit/MimeTypeMap;-><clinit>()V
 HSPLandroid/webkit/MimeTypeMap;-><init>()V
 HSPLandroid/webkit/MimeTypeMap;->getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/webkit/MimeTypeMap;->getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
-HSPLandroid/webkit/URLUtil;->isAboutUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isAssetUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isFileUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isHttpUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isHttpsUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isResourceUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isValidUrl(Ljava/lang/String;)Z
 HSPLandroid/webkit/UserPackage;-><init>(Landroid/content/pm/UserInfo;Landroid/content/pm/PackageInfo;)V
 HSPLandroid/webkit/UserPackage;->getAllUsers(Landroid/content/Context;)Ljava/util/List;
 HSPLandroid/webkit/UserPackage;->getPackageInfosAllUsers(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/List;
 HSPLandroid/webkit/UserPackage;->hasCorrectTargetSdkVersion(Landroid/content/pm/PackageInfo;)Z
 HSPLandroid/webkit/UserPackage;->isEnabledPackage()Z
 HSPLandroid/webkit/UserPackage;->isInstalledPackage()Z
-HSPLandroid/webkit/WebChromeClient;-><init>()V
-HSPLandroid/webkit/WebChromeClient;->getVisitedHistory(Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebChromeClient;->onProgressChanged(Landroid/webkit/WebView;I)V
-HSPLandroid/webkit/WebChromeClient;->onReceivedIcon(Landroid/webkit/WebView;Landroid/graphics/Bitmap;)V
-HSPLandroid/webkit/WebChromeClient;->onReceivedTitle(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebResourceResponse;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)V
-HSPLandroid/webkit/WebResourceResponse;->checkImmutable()V
-HSPLandroid/webkit/WebResourceResponse;->getData()Ljava/io/InputStream;
-HSPLandroid/webkit/WebResourceResponse;->getEncoding()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getMimeType()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getReasonPhrase()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getResponseHeaders()Ljava/util/Map;
-HSPLandroid/webkit/WebResourceResponse;->getStatusCode()I
-HSPLandroid/webkit/WebResourceResponse;->setData(Ljava/io/InputStream;)V
-HSPLandroid/webkit/WebSettings$PluginState;-><clinit>()V
-HSPLandroid/webkit/WebSettings$PluginState;-><init>(Ljava/lang/String;I)V
-HSPLandroid/webkit/WebSettings;-><init>()V
-HSPLandroid/webkit/WebSettings;->getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/webkit/WebStorage;-><init>()V
-HSPLandroid/webkit/WebView$HitTestResult;-><init>()V
-HSPLandroid/webkit/WebView$PrivateAccess;-><init>(Landroid/webkit/WebView;)V
-HSPLandroid/webkit/WebView$PrivateAccess;->overScrollBy(IIIIIIIIZ)V
-HSPLandroid/webkit/WebView$PrivateAccess;->setMeasuredDimension(II)V
-HSPLandroid/webkit/WebView$PrivateAccess;->super_getScrollBarStyle()I
-HSPLandroid/webkit/WebView$PrivateAccess;->super_onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/webkit/WebView$PrivateAccess;->super_requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebView$PrivateAccess;->super_scrollTo(II)V
-HSPLandroid/webkit/WebView$PrivateAccess;->super_setFrame(IIII)Z
-HSPLandroid/webkit/WebView$PrivateAccess;->super_setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILjava/util/Map;Z)V
-HSPLandroid/webkit/WebView;->access$1001(Landroid/webkit/WebView;ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebView;->access$101(Landroid/webkit/WebView;)I
-HSPLandroid/webkit/WebView;->access$1101(Landroid/webkit/WebView;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebView;->access$1300(Landroid/webkit/WebView;IIIIIIIIZ)Z
-HSPLandroid/webkit/WebView;->access$1800(Landroid/webkit/WebView;II)V
-HSPLandroid/webkit/WebView;->access$201(Landroid/webkit/WebView;II)V
-HSPLandroid/webkit/WebView;->access$701(Landroid/webkit/WebView;IIII)Z
-HSPLandroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->checkThread()V
-HSPLandroid/webkit/WebView;->computeHorizontalScrollOffset()I
-HSPLandroid/webkit/WebView;->computeHorizontalScrollRange()I
-HSPLandroid/webkit/WebView;->computeScroll()V
-HSPLandroid/webkit/WebView;->computeVerticalScrollExtent()I
-HSPLandroid/webkit/WebView;->computeVerticalScrollOffset()I
-HSPLandroid/webkit/WebView;->computeVerticalScrollRange()I
-HSPLandroid/webkit/WebView;->destroy()V
-HSPLandroid/webkit/WebView;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebView;->ensureProviderCreated()V
-HSPLandroid/webkit/WebView;->evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebView;->findAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/WebView;->findFocus()Landroid/view/View;
-HSPLandroid/webkit/WebView;->getContentHeight()I
-HSPLandroid/webkit/WebView;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-HSPLandroid/webkit/WebView;->getFactory()Landroid/webkit/WebViewFactoryProvider;
-HSPLandroid/webkit/WebView;->getFavicon()Landroid/graphics/Bitmap;
-HSPLandroid/webkit/WebView;->getHandler()Landroid/os/Handler;
-HSPLandroid/webkit/WebView;->getScale()F
-HSPLandroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
-HSPLandroid/webkit/WebView;->getUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->onAttachedToWindow()V
-HSPLandroid/webkit/WebView;->onCheckIsTextEditor()Z
-HSPLandroid/webkit/WebView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
-HSPLandroid/webkit/WebView;->onDetachedFromWindowInternal()V
-HSPLandroid/webkit/WebView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebView;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/webkit/WebView;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HSPLandroid/webkit/WebView;->onMeasure(II)V
-HSPLandroid/webkit/WebView;->onOverScrolled(IIZZ)V
-HSPLandroid/webkit/WebView;->onScrollChanged(IIII)V
-HSPLandroid/webkit/WebView;->onSizeChanged(IIII)V
-HSPLandroid/webkit/WebView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/webkit/WebView;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/webkit/WebView;->onWindowFocusChanged(Z)V
-HSPLandroid/webkit/WebView;->onWindowVisibilityChanged(I)V
-HSPLandroid/webkit/WebView;->removeJavascriptInterface(Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebView;->setBackgroundColor(I)V
-HSPLandroid/webkit/WebView;->setDataDirectorySuffix(Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->setDownloadListener(Landroid/webkit/DownloadListener;)V
-HSPLandroid/webkit/WebView;->setFrame(IIII)Z
-HSPLandroid/webkit/WebView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebView;->setOverScrollMode(I)V
-HSPLandroid/webkit/WebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
-HSPLandroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
-HSPLandroid/webkit/WebViewClient;-><init>()V
-HSPLandroid/webkit/WebViewClient;->doUpdateVisitedHistory(Landroid/webkit/WebView;Ljava/lang/String;Z)V
-HSPLandroid/webkit/WebViewClient;->onLoadResource(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageCommitVisible(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageStarted(Landroid/webkit/WebView;Ljava/lang/String;Landroid/graphics/Bitmap;)V
-HSPLandroid/webkit/WebViewClient;->onReceivedError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceError;)V
-HSPLandroid/webkit/WebViewClient;->onScaleChanged(Landroid/webkit/WebView;FF)V
-HSPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;
-HSPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Ljava/lang/String;)Landroid/webkit/WebResourceResponse;
-HSPLandroid/webkit/WebViewClient;->shouldOverrideUrlLoading(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Z
-HSPLandroid/webkit/WebViewDelegate$1;-><init>(Landroid/webkit/WebViewDelegate;Landroid/webkit/WebViewDelegate$OnTraceEnabledChangeListener;)V
-HSPLandroid/webkit/WebViewDelegate$1;->run()V
-HSPLandroid/webkit/WebViewDelegate;-><init>()V
-HSPLandroid/webkit/WebViewDelegate;->addWebViewAssetPath(Landroid/content/Context;)V
-HSPLandroid/webkit/WebViewDelegate;->drawWebViewFunctor(Landroid/graphics/Canvas;I)V
 HSPLandroid/webkit/WebViewDelegate;->getApplication()Landroid/app/Application;
 HSPLandroid/webkit/WebViewDelegate;->getDataDirectorySuffix()Ljava/lang/String;
 HSPLandroid/webkit/WebViewDelegate;->getPackageId(Landroid/content/res/Resources;Ljava/lang/String;)I
@@ -28411,15 +25325,10 @@
 HSPLandroid/webkit/WebViewFactory;->getLoadedPackageInfo()Landroid/content/pm/PackageInfo;
 HSPLandroid/webkit/WebViewFactory;->getProvider()Landroid/webkit/WebViewFactoryProvider;
 HSPLandroid/webkit/WebViewFactory;->getProviderClass()Ljava/lang/Class;
-HSPLandroid/webkit/WebViewFactory;->getUpdateService()Landroid/webkit/IWebViewUpdateService;
-HSPLandroid/webkit/WebViewFactory;->getUpdateServiceUnchecked()Landroid/webkit/IWebViewUpdateService;
 HSPLandroid/webkit/WebViewFactory;->getWebViewContextAndSetProvider()Landroid/content/Context;
 HSPLandroid/webkit/WebViewFactory;->getWebViewLibrary(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-HSPLandroid/webkit/WebViewFactory;->getWebViewProviderClass(Ljava/lang/ClassLoader;)Ljava/lang/Class;
-HSPLandroid/webkit/WebViewFactory;->isWebViewSupported()Z
 HSPLandroid/webkit/WebViewFactory;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
 HSPLandroid/webkit/WebViewFactory;->prepareWebViewInZygote()V
-HSPLandroid/webkit/WebViewFactory;->setDataDirectorySuffix(Ljava/lang/String;)V
 HSPLandroid/webkit/WebViewFactory;->signaturesEquals([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
 HSPLandroid/webkit/WebViewFactory;->verifyPackageInfo(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
 HSPLandroid/webkit/WebViewLibraryLoader$1;-><init>(Ljava/lang/String;)V
@@ -28432,8 +25341,6 @@
 HSPLandroid/webkit/WebViewProviderResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/webkit/WebViewProviderResponse;
 HSPLandroid/webkit/WebViewProviderResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/webkit/WebViewProviderResponse;-><init>(Landroid/content/pm/PackageInfo;I)V
-HSPLandroid/webkit/WebViewProviderResponse;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/webkit/WebViewProviderResponse;-><init>(Landroid/os/Parcel;Landroid/webkit/WebViewProviderResponse$1;)V
 HPLandroid/webkit/WebViewProviderResponse;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/webkit/WebViewZygote;->connectToZygoteIfNeededLocked()V
 HPLandroid/webkit/WebViewZygote;->getPackageName()Ljava/lang/String;
@@ -28443,10 +25350,8 @@
 HSPLandroid/webkit/WebViewZygote;->setMultiprocessEnabled(Z)V
 HSPLandroid/widget/-$$Lambda$DateTimeView$ReceiverInfo$AVLnX7U5lTcE9jLnlKKNAT1GUeI;-><init>(Landroid/widget/DateTimeView;)V
 HSPLandroid/widget/-$$Lambda$DateTimeView$ReceiverInfo$AVLnX7U5lTcE9jLnlKKNAT1GUeI;->run()V
-HSPLandroid/widget/-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg;-><init>(Landroid/widget/Editor$MagnifierMotionAnimator;)V
 HSPLandroid/widget/-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw;-><init>(Landroid/widget/TextView;)V
 HSPLandroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;-><init>(Landroid/widget/PopupWindow;)V
-HSPLandroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;->onLayoutChange(Landroid/view/View;IIIIIIII)V
 HSPLandroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;-><init>(Landroid/widget/PopupWindow$PopupDecorView;Landroid/transition/Transition$TransitionListener;Landroid/transition/Transition;Landroid/view/View;)V
 HSPLandroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;->run()V
 HSPLandroid/widget/-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc;-><init>(Landroid/widget/PopupWindow;)V
@@ -28460,12 +25365,10 @@
 HSPLandroid/widget/AbsListView$CheckForTap;-><init>(Landroid/widget/AbsListView;)V
 HSPLandroid/widget/AbsListView$CheckForTap;-><init>(Landroid/widget/AbsListView;Landroid/widget/AbsListView$1;)V
 HSPLandroid/widget/AbsListView$CheckForTap;->run()V
-HSPLandroid/widget/AbsListView$FlingRunnable$1;-><init>(Landroid/widget/AbsListView$FlingRunnable;)V
 HSPLandroid/widget/AbsListView$FlingRunnable;-><init>(Landroid/widget/AbsListView;)V
 HSPLandroid/widget/AbsListView$FlingRunnable;->endFling()V
 HSPLandroid/widget/AbsListView$FlingRunnable;->run()V
 HSPLandroid/widget/AbsListView$FlingRunnable;->start(I)V
-HSPLandroid/widget/AbsListView$LayoutParams;-><init>(II)V
 HSPLandroid/widget/AbsListView$LayoutParams;-><init>(III)V
 HSPLandroid/widget/AbsListView$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/AbsListView$PerformClick;-><init>(Landroid/widget/AbsListView;)V
@@ -28500,10 +25403,7 @@
 HSPLandroid/widget/AbsListView;->access$1602(Landroid/widget/AbsListView;Ljava/lang/Runnable;)Ljava/lang/Runnable;
 HSPLandroid/widget/AbsListView;->access$1700(Landroid/widget/AbsListView;)Z
 HSPLandroid/widget/AbsListView;->access$2300(Landroid/widget/AbsListView;)Landroid/os/StrictMode$Span;
-HSPLandroid/widget/AbsListView;->access$2302(Landroid/widget/AbsListView;Landroid/os/StrictMode$Span;)Landroid/os/StrictMode$Span;
 HSPLandroid/widget/AbsListView;->access$3000(Landroid/widget/AbsListView;)V
-HSPLandroid/widget/AbsListView;->access$3300(Landroid/widget/AbsListView;)I
-HSPLandroid/widget/AbsListView;->access$3400(Landroid/widget/AbsListView;)I
 HSPLandroid/widget/AbsListView;->access$4500(Landroid/widget/AbsListView;)Landroid/widget/FastScroller;
 HSPLandroid/widget/AbsListView;->access$4600(Landroid/widget/AbsListView;Landroid/view/View;Z)V
 HSPLandroid/widget/AbsListView;->access$600(Landroid/widget/AbsListView;)I
@@ -28546,12 +25446,10 @@
 HSPLandroid/widget/AbsListView;->onAttachedToWindow()V
 HSPLandroid/widget/AbsListView;->onCancelPendingInputEvents()V
 HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V
-HSPLandroid/widget/AbsListView;->onFocusChanged(ZILandroid/graphics/Rect;)V
 HSPLandroid/widget/AbsListView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/AbsListView;->onLayout(ZIIII)V
 HSPLandroid/widget/AbsListView;->onMeasure(II)V
 HSPLandroid/widget/AbsListView;->onOverScrolled(IIZZ)V
-HSPLandroid/widget/AbsListView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
 HSPLandroid/widget/AbsListView;->onRtlPropertiesChanged(I)V
 HSPLandroid/widget/AbsListView;->onSaveInstanceState()Landroid/os/Parcelable;
 HSPLandroid/widget/AbsListView;->onSizeChanged(IIII)V
@@ -28577,7 +25475,6 @@
 HSPLandroid/widget/AbsListView;->setFastScrollAlwaysVisible(Z)V
 HSPLandroid/widget/AbsListView;->setFastScrollEnabled(Z)V
 HSPLandroid/widget/AbsListView;->setFastScrollStyle(I)V
-HSPLandroid/widget/AbsListView;->setFilterText(Ljava/lang/String;)V
 HSPLandroid/widget/AbsListView;->setFrame(IIII)Z
 HSPLandroid/widget/AbsListView;->setItemChecked(IZ)V
 HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V
@@ -28605,9 +25502,9 @@
 HSPLandroid/widget/AbsSeekBar;->drawThumb(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/AbsSeekBar;->drawTickMarks(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/AbsSeekBar;->drawTrack(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/AbsSeekBar;->drawableHotspotChanged(FF)V
 HSPLandroid/widget/AbsSeekBar;->drawableStateChanged()V
 HSPLandroid/widget/AbsSeekBar;->getScale()F
-HSPLandroid/widget/AbsSeekBar;->getThumb()Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/AbsSeekBar;->getThumbOffset()I
 HSPLandroid/widget/AbsSeekBar;->growRectTo(Landroid/graphics/Rect;I)V
 HSPLandroid/widget/AbsSeekBar;->jumpDrawablesToCurrentState()V
@@ -28628,31 +25525,6 @@
 HSPLandroid/widget/AbsSeekBar;->updateGestureExclusionRects()V
 HSPLandroid/widget/AbsSeekBar;->updateThumbAndTrackPos(II)V
 HSPLandroid/widget/AbsSeekBar;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/AbsSpinner$RecycleBin;-><init>(Landroid/widget/AbsSpinner;)V
-HSPLandroid/widget/AbsSpinner$RecycleBin;->clear()V
-HSPLandroid/widget/AbsSpinner$RecycleBin;->get(I)Landroid/view/View;
-HSPLandroid/widget/AbsSpinner$RecycleBin;->put(ILandroid/view/View;)V
-HSPLandroid/widget/AbsSpinner$SavedState$1;-><init>()V
-HSPLandroid/widget/AbsSpinner$SavedState;-><clinit>()V
-HSPLandroid/widget/AbsSpinner$SavedState;-><init>(Landroid/os/Parcelable;)V
-HSPLandroid/widget/AbsSpinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/AbsSpinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/Adapter;
-HSPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/SpinnerAdapter;
-HSPLandroid/widget/AbsSpinner;->getAutofillType()I
-HSPLandroid/widget/AbsSpinner;->getChildHeight(Landroid/view/View;)I
-HSPLandroid/widget/AbsSpinner;->getChildWidth(Landroid/view/View;)I
-HSPLandroid/widget/AbsSpinner;->getSelectedView()Landroid/view/View;
-HSPLandroid/widget/AbsSpinner;->initAbsSpinner()V
-HSPLandroid/widget/AbsSpinner;->onMeasure(II)V
-HSPLandroid/widget/AbsSpinner;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/AbsSpinner;->recycleAllViews()V
-HSPLandroid/widget/AbsSpinner;->requestLayout()V
-HSPLandroid/widget/AbsSpinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
-HSPLandroid/widget/AbsSpinner;->setSelection(I)V
-HSPLandroid/widget/AbsoluteLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsoluteLayout;->onLayout(ZIIII)V
-HSPLandroid/widget/AbsoluteLayout;->onMeasure(II)V
 HSPLandroid/widget/ActionMenuPresenter$1;-><init>(Landroid/widget/ActionMenuPresenter;)V
 HSPLandroid/widget/ActionMenuPresenter$2;-><init>(Landroid/widget/ActionMenuPresenter;)V
 HSPLandroid/widget/ActionMenuPresenter$2;->onViewAttachedToWindow(Landroid/view/View;)V
@@ -28691,7 +25563,6 @@
 HSPLandroid/widget/ActionMenuView;->isOverflowMenuShowing()Z
 HSPLandroid/widget/ActionMenuView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/widget/ActionMenuView;->onDetachedFromWindow()V
-HSPLandroid/widget/ActionMenuView;->onLayout(ZIIII)V
 HSPLandroid/widget/ActionMenuView;->onMeasure(II)V
 HSPLandroid/widget/ActionMenuView;->peekMenu()Lcom/android/internal/view/menu/MenuBuilder;
 HSPLandroid/widget/ActionMenuView;->setExpandedActionViewsExclusive(Z)V
@@ -28704,24 +25575,17 @@
 HSPLandroid/widget/AdapterView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/AdapterView;->checkFocus()V
 HSPLandroid/widget/AdapterView;->checkSelectionChanged()V
-HSPLandroid/widget/AdapterView;->dispatchOnItemSelected()V
-HSPLandroid/widget/AdapterView;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
 HSPLandroid/widget/AdapterView;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/widget/AdapterView;->fireOnSelected()V
 HSPLandroid/widget/AdapterView;->getCount()I
 HSPLandroid/widget/AdapterView;->getFirstVisiblePosition()I
 HSPLandroid/widget/AdapterView;->getItemIdAtPosition(I)J
 HSPLandroid/widget/AdapterView;->getLastVisiblePosition()I
 HSPLandroid/widget/AdapterView;->getSelectedItemId()J
 HSPLandroid/widget/AdapterView;->getSelectedItemPosition()I
-HSPLandroid/widget/AdapterView;->isInFilterMode()Z
 HSPLandroid/widget/AdapterView;->onDetachedFromWindow()V
 HSPLandroid/widget/AdapterView;->onLayout(ZIIII)V
-HSPLandroid/widget/AdapterView;->onProvideStructure(Landroid/view/ViewStructure;II)V
-HSPLandroid/widget/AdapterView;->performAccessibilityActionsOnSelected()V
 HSPLandroid/widget/AdapterView;->performItemClick(Landroid/view/View;IJ)Z
 HSPLandroid/widget/AdapterView;->rememberSyncState()V
-HSPLandroid/widget/AdapterView;->selectionChanged()V
 HSPLandroid/widget/AdapterView;->setEmptyView(Landroid/view/View;)V
 HSPLandroid/widget/AdapterView;->setFocusable(I)V
 HSPLandroid/widget/AdapterView;->setFocusableInTouchMode(Z)V
@@ -28736,45 +25600,13 @@
 HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;ILjava/util/List;)V
 HSPLandroid/widget/ArrayAdapter;->add(Ljava/lang/Object;)V
 HSPLandroid/widget/ArrayAdapter;->clear()V
-HSPLandroid/widget/ArrayAdapter;->createViewFromResource(Landroid/view/LayoutInflater;ILandroid/view/View;Landroid/view/ViewGroup;I)Landroid/view/View;
-HSPLandroid/widget/ArrayAdapter;->getAutofillOptions()[Ljava/lang/CharSequence;
 HSPLandroid/widget/ArrayAdapter;->getContext()Landroid/content/Context;
 HSPLandroid/widget/ArrayAdapter;->getCount()I
-HSPLandroid/widget/ArrayAdapter;->getDropDownViewTheme()Landroid/content/res/Resources$Theme;
 HSPLandroid/widget/ArrayAdapter;->getItem(I)Ljava/lang/Object;
 HSPLandroid/widget/ArrayAdapter;->getItemId(I)J
-HSPLandroid/widget/ArrayAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
 HSPLandroid/widget/ArrayAdapter;->notifyDataSetChanged()V
-HSPLandroid/widget/ArrayAdapter;->setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/AutoCompleteTextView$DropDownItemClickListener;-><init>(Landroid/widget/AutoCompleteTextView;)V
-HSPLandroid/widget/AutoCompleteTextView$DropDownItemClickListener;-><init>(Landroid/widget/AutoCompleteTextView;Landroid/widget/AutoCompleteTextView$1;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;-><init>(Landroid/widget/AutoCompleteTextView;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;-><init>(Landroid/widget/AutoCompleteTextView;Landroid/widget/AutoCompleteTextView$1;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->afterTextChanged(Landroid/text/Editable;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/AutoCompleteTextView$PassThroughClickListener;-><init>(Landroid/widget/AutoCompleteTextView;)V
-HSPLandroid/widget/AutoCompleteTextView$PassThroughClickListener;-><init>(Landroid/widget/AutoCompleteTextView;Landroid/widget/AutoCompleteTextView$1;)V
-HSPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILandroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/AutoCompleteTextView;->dismissDropDown()V
-HSPLandroid/widget/AutoCompleteTextView;->getDropDownAnchor()I
-HSPLandroid/widget/AutoCompleteTextView;->getThreshold()I
-HSPLandroid/widget/AutoCompleteTextView;->isPopupShowing()Z
-HSPLandroid/widget/AutoCompleteTextView;->onAttachedToWindow()V
-HSPLandroid/widget/AutoCompleteTextView;->onDetachedFromWindow()V
-HSPLandroid/widget/AutoCompleteTextView;->onWindowFocusChanged(Z)V
-HSPLandroid/widget/AutoCompleteTextView;->refreshAutoCompleteResults()V
-HSPLandroid/widget/AutoCompleteTextView;->setCompletionHint(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/AutoCompleteTextView;->setDropDownBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/AutoCompleteTextView;->setFrame(IIII)Z
-HSPLandroid/widget/AutoCompleteTextView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
-HSPLandroid/widget/AutoCompleteTextView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/AutoCompleteTextView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
 HSPLandroid/widget/BaseAdapter;-><init>()V
 HSPLandroid/widget/BaseAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/BaseAdapter;->getAutofillOptions()[Ljava/lang/CharSequence;
 HSPLandroid/widget/BaseAdapter;->getItemViewType(I)I
 HSPLandroid/widget/BaseAdapter;->getViewTypeCount()I
 HSPLandroid/widget/BaseAdapter;->hasStableIds()Z
@@ -28796,12 +25628,10 @@
 HSPLandroid/widget/CheckedTextView;->applyCheckMarkTint()V
 HSPLandroid/widget/CheckedTextView;->drawableStateChanged()V
 HSPLandroid/widget/CheckedTextView;->internalSetPadding(IIII)V
-HSPLandroid/widget/CheckedTextView;->isCheckMarkAtStart()Z
 HSPLandroid/widget/CheckedTextView;->isChecked()Z
 HSPLandroid/widget/CheckedTextView;->jumpDrawablesToCurrentState()V
 HSPLandroid/widget/CheckedTextView;->onCreateDrawableState(I)[I
 HSPLandroid/widget/CheckedTextView;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/CheckedTextView;->setBasePadding(Z)V
 HSPLandroid/widget/CheckedTextView;->setCheckMarkDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/CheckedTextView;->setCheckMarkDrawableInternal(Landroid/graphics/drawable/Drawable;I)V
 HSPLandroid/widget/CheckedTextView;->setChecked(Z)V
@@ -28820,7 +25650,6 @@
 HSPLandroid/widget/CompoundButton$SavedState;-><clinit>()V
 HSPLandroid/widget/CompoundButton$SavedState;-><init>(Landroid/os/Parcelable;)V
 HSPLandroid/widget/CompoundButton$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/CompoundButton;->applyButtonTint()V
 HSPLandroid/widget/CompoundButton;->drawableHotspotChanged(FF)V
@@ -28841,7 +25670,6 @@
 HSPLandroid/widget/CompoundButton;->onSaveInstanceState()Landroid/os/Parcelable;
 HSPLandroid/widget/CompoundButton;->performClick()Z
 HSPLandroid/widget/CompoundButton;->setButtonDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/CompoundButton;->setButtonTintList(Landroid/content/res/ColorStateList;)V
 HSPLandroid/widget/CompoundButton;->setChecked(Z)V
 HSPLandroid/widget/CompoundButton;->setDefaultStateDescritption()V
 HSPLandroid/widget/CompoundButton;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
@@ -28912,7 +25740,6 @@
 HSPLandroid/widget/Editor$CorrectionHighlighter;->draw(Landroid/graphics/Canvas;I)V
 HSPLandroid/widget/Editor$CorrectionHighlighter;->highlight(Landroid/view/inputmethod/CorrectionInfo;)V
 HSPLandroid/widget/Editor$CorrectionHighlighter;->invalidate(Z)V
-HSPLandroid/widget/Editor$CorrectionHighlighter;->stopAnimation()V
 HSPLandroid/widget/Editor$CorrectionHighlighter;->updatePaint()Z
 HSPLandroid/widget/Editor$CorrectionHighlighter;->updatePath()Z
 HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;-><init>(Landroid/widget/Editor;)V
@@ -28922,6 +25749,7 @@
 HSPLandroid/widget/Editor$EditOperation;->access$8300(Landroid/widget/Editor$EditOperation;)Ljava/lang/String;
 HSPLandroid/widget/Editor$EditOperation;->access$8400(Landroid/widget/Editor$EditOperation;)Ljava/lang/String;
 HSPLandroid/widget/Editor$EditOperation;->access$8600(Landroid/widget/Editor$EditOperation;Landroid/widget/Editor$EditOperation;)Z
+HSPLandroid/widget/Editor$EditOperation;->access$8700(Landroid/widget/Editor$EditOperation;)Ljava/lang/String;
 HSPLandroid/widget/Editor$EditOperation;->commit()V
 HSPLandroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V
 HSPLandroid/widget/Editor$EditOperation;->getNewTextEnd()I
@@ -28931,7 +25759,6 @@
 HSPLandroid/widget/Editor$EditOperation;->mergeReplaceWith(Landroid/widget/Editor$EditOperation;)Z
 HSPLandroid/widget/Editor$EditOperation;->mergeWith(Landroid/widget/Editor$EditOperation;)Z
 HSPLandroid/widget/Editor$EditOperation;->modifyText(Landroid/text/Editable;IILjava/lang/CharSequence;II)V
-HSPLandroid/widget/Editor$EditOperation;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/Editor$HandleView;-><init>(Landroid/widget/Editor;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;I)V
 HSPLandroid/widget/Editor$HandleView;-><init>(Landroid/widget/Editor;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;ILandroid/widget/Editor$1;)V
 HSPLandroid/widget/Editor$HandleView;->addPositionToTouchUpFilter(I)V
@@ -28989,8 +25816,6 @@
 HSPLandroid/widget/Editor$InsertionPointCursorController;->show()V
 HSPLandroid/widget/Editor$MagnifierMotionAnimator;-><init>(Landroid/widget/Magnifier;)V
 HSPLandroid/widget/Editor$MagnifierMotionAnimator;-><init>(Landroid/widget/Magnifier;Landroid/widget/Editor$1;)V
-HSPLandroid/widget/Editor$MagnifierMotionAnimator;->access$100(Landroid/widget/Editor$MagnifierMotionAnimator;)V
-HSPLandroid/widget/Editor$MagnifierMotionAnimator;->update()V
 HSPLandroid/widget/Editor$PositionListener;-><init>(Landroid/widget/Editor;)V
 HSPLandroid/widget/Editor$PositionListener;-><init>(Landroid/widget/Editor;Landroid/widget/Editor$1;)V
 HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V
@@ -29038,7 +25863,6 @@
 HSPLandroid/widget/Editor$UndoInputFilter;->isComposition(Ljava/lang/CharSequence;)Z
 HSPLandroid/widget/Editor$UndoInputFilter;->isInTextWatcher()Z
 HSPLandroid/widget/Editor$UndoInputFilter;->recordEdit(Landroid/widget/Editor$EditOperation;I)V
-HSPLandroid/widget/Editor$UndoInputFilter;->restoreInstanceState(Landroid/os/Parcel;)V
 HSPLandroid/widget/Editor$UndoInputFilter;->saveInstanceState(Landroid/os/Parcel;)V
 HSPLandroid/widget/Editor;-><init>(Landroid/widget/TextView;)V
 HSPLandroid/widget/Editor;->access$000(Landroid/widget/Editor;)Landroid/widget/Editor$MagnifierMotionAnimator;
@@ -29053,7 +25877,6 @@
 HSPLandroid/widget/Editor;->access$6100(Landroid/widget/Editor;)Z
 HSPLandroid/widget/Editor;->access$6200(Landroid/widget/Editor;)Landroid/widget/EditorTouchState;
 HSPLandroid/widget/Editor;->access$7100(Landroid/widget/Editor;)Ljava/lang/Runnable;
-HSPLandroid/widget/Editor;->access$7200(Landroid/widget/Editor;)Z
 HSPLandroid/widget/Editor;->access$8100(Landroid/widget/Editor;)Landroid/content/UndoManager;
 HSPLandroid/widget/Editor;->access$8500(Landroid/widget/Editor;)Landroid/content/UndoOwner;
 HSPLandroid/widget/Editor;->access$8700(Ljava/lang/CharSequence;II)Z
@@ -29112,7 +25935,6 @@
 HSPLandroid/widget/Editor;->prepareCursorControllers()V
 HSPLandroid/widget/Editor;->refreshTextActionMode()V
 HSPLandroid/widget/Editor;->reportExtractedText()Z
-HSPLandroid/widget/Editor;->restoreInstanceState(Landroid/os/ParcelableParcel;)V
 HSPLandroid/widget/Editor;->resumeBlink()V
 HSPLandroid/widget/Editor;->saveInstanceState()Landroid/os/ParcelableParcel;
 HSPLandroid/widget/Editor;->sendOnTextChanged(III)V
@@ -29310,20 +26132,6 @@
 HSPLandroid/widget/GridLayout;->setUseDefaultMargins(Z)V
 HSPLandroid/widget/GridLayout;->spec(IILandroid/widget/GridLayout$Alignment;F)Landroid/widget/GridLayout$Spec;
 HSPLandroid/widget/GridLayout;->validateLayoutParams()V
-HSPLandroid/widget/HeaderViewListAdapter;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/HeaderViewListAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/HeaderViewListAdapter;->areAllListInfosSelectable(Ljava/util/ArrayList;)Z
-HSPLandroid/widget/HeaderViewListAdapter;->getCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getFootersCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getHeadersCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getItemId(I)J
-HSPLandroid/widget/HeaderViewListAdapter;->getItemViewType(I)I
-HSPLandroid/widget/HeaderViewListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/HeaderViewListAdapter;->getViewTypeCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->hasStableIds()Z
-HSPLandroid/widget/HeaderViewListAdapter;->isEnabled(I)Z
-HSPLandroid/widget/HeaderViewListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/HeaderViewListAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
 HSPLandroid/widget/HorizontalScrollView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/HorizontalScrollView$SavedState;
 HSPLandroid/widget/HorizontalScrollView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/widget/HorizontalScrollView$SavedState;-><init>(Landroid/os/Parcel;)V
@@ -29383,8 +26191,6 @@
 HSPLandroid/widget/ImageView;->getBaseline()I
 HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/ImageView;->getImageAlpha()I
-HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
-HSPLandroid/widget/ImageView;->getMaxHeight()I
 HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType;
 HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z
 HSPLandroid/widget/ImageView;->initImageView()V
@@ -29419,9 +26225,7 @@
 HSPLandroid/widget/ImageView;->setImageLevel(I)V
 HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
 HSPLandroid/widget/ImageView;->setImageResource(I)V
-HSPLandroid/widget/ImageView;->setImageTintBlendMode(Landroid/graphics/BlendMode;)V
 HSPLandroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/ImageView;->setImageTintMode(Landroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/widget/ImageView;->setMaxHeight(I)V
 HSPLandroid/widget/ImageView;->setMaxWidth(I)V
 HSPLandroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
@@ -29442,7 +26246,6 @@
 HSPLandroid/widget/LinearLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
 HSPLandroid/widget/LinearLayout;->drawDividersHorizontal(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/LinearLayout;->drawDividersVertical(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/LinearLayout;->drawHorizontalDivider(Landroid/graphics/Canvas;I)V
 HSPLandroid/widget/LinearLayout;->forceUniformHeight(II)V
 HSPLandroid/widget/LinearLayout;->forceUniformWidth(II)V
 HSPLandroid/widget/LinearLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
@@ -29482,7 +26285,6 @@
 HSPLandroid/widget/ListPopupWindow$ListSelectorHider;-><init>(Landroid/widget/ListPopupWindow;Landroid/widget/ListPopupWindow$1;)V
 HSPLandroid/widget/ListPopupWindow$PopupDataSetObserver;-><init>(Landroid/widget/ListPopupWindow;)V
 HSPLandroid/widget/ListPopupWindow$PopupDataSetObserver;-><init>(Landroid/widget/ListPopupWindow;Landroid/widget/ListPopupWindow$1;)V
-HSPLandroid/widget/ListPopupWindow$PopupDataSetObserver;->onChanged()V
 HSPLandroid/widget/ListPopupWindow$PopupScrollListener;-><init>(Landroid/widget/ListPopupWindow;)V
 HSPLandroid/widget/ListPopupWindow$PopupScrollListener;-><init>(Landroid/widget/ListPopupWindow;Landroid/widget/ListPopupWindow$1;)V
 HSPLandroid/widget/ListPopupWindow$PopupTouchInterceptor;-><init>(Landroid/widget/ListPopupWindow;)V
@@ -29491,29 +26293,17 @@
 HSPLandroid/widget/ListPopupWindow$ResizePopupRunnable;-><init>(Landroid/widget/ListPopupWindow;Landroid/widget/ListPopupWindow$1;)V
 HSPLandroid/widget/ListPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/ListPopupWindow;->dismiss()V
-HSPLandroid/widget/ListPopupWindow;->isDropDownAlwaysVisible()Z
 HSPLandroid/widget/ListPopupWindow;->isShowing()Z
 HSPLandroid/widget/ListPopupWindow;->setAdapter(Landroid/widget/ListAdapter;)V
 HSPLandroid/widget/ListPopupWindow;->setAnchorView(Landroid/view/View;)V
-HSPLandroid/widget/ListPopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ListPopupWindow;->setHeight(I)V
-HSPLandroid/widget/ListPopupWindow;->setListSelector(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/ListPopupWindow;->setModal(Z)V
 HSPLandroid/widget/ListPopupWindow;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/ListPopupWindow;->setPromptPosition(I)V
-HSPLandroid/widget/ListPopupWindow;->setPromptView(Landroid/view/View;)V
-HSPLandroid/widget/ListPopupWindow;->setSoftInputMode(I)V
-HSPLandroid/widget/ListPopupWindow;->setWidth(I)V
 HSPLandroid/widget/ListView$ArrowScrollFocusResult;-><init>()V
 HSPLandroid/widget/ListView$ArrowScrollFocusResult;-><init>(Landroid/widget/ListView$1;)V
-HSPLandroid/widget/ListView$FixedViewInfo;-><init>(Landroid/widget/ListView;)V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ListView;->addFooterView(Landroid/view/View;Ljava/lang/Object;Z)V
-HSPLandroid/widget/ListView;->addHeaderView(Landroid/view/View;)V
-HSPLandroid/widget/ListView;->addHeaderView(Landroid/view/View;Ljava/lang/Object;Z)V
 HSPLandroid/widget/ListView;->adjustViewsUpOrDown()V
 HSPLandroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V
 HSPLandroid/widget/ListView;->correctTooHigh(I)V
@@ -29530,7 +26320,6 @@
 HSPLandroid/widget/ListView;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/Adapter;
 HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;
-HSPLandroid/widget/ListView;->getDividerHeight()I
 HSPLandroid/widget/ListView;->getFooterViewsCount()I
 HSPLandroid/widget/ListView;->getHeaderViewsCount()I
 HSPLandroid/widget/ListView;->isOpaque()Z
@@ -29553,7 +26342,6 @@
 HSPLandroid/widget/ListView;->setSelection(I)V
 HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V
 HSPLandroid/widget/ListView;->trackMotionScroll(II)Z
-HSPLandroid/widget/ListView;->wrapHeaderListAdapterInternal(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
 HSPLandroid/widget/Magnifier$Builder;-><init>(Landroid/view/View;)V
 HSPLandroid/widget/Magnifier$Builder;->access$000(Landroid/widget/Magnifier$Builder;)I
 HSPLandroid/widget/Magnifier$Builder;->access$002(Landroid/widget/Magnifier$Builder;I)I
@@ -29610,7 +26398,6 @@
 HSPLandroid/widget/OverScroller$SplineOverScroller;->onEdgeReached()V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->springback(III)Z
 HSPLandroid/widget/OverScroller$SplineOverScroller;->startAfterEdge(IIII)V
-HSPLandroid/widget/OverScroller$SplineOverScroller;->startBounceAfterEdge(III)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->startSpringback(III)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->update()Z
@@ -29652,8 +26439,6 @@
 HSPLandroid/widget/PopupWindow$PopupDecorView$3;-><init>(Landroid/widget/PopupWindow$PopupDecorView;Landroid/graphics/Rect;)V
 HSPLandroid/widget/PopupWindow$PopupDecorView$4;-><init>(Landroid/widget/PopupWindow$PopupDecorView;)V
 HSPLandroid/widget/PopupWindow$PopupDecorView;-><init>(Landroid/widget/PopupWindow;Landroid/content/Context;)V
-HSPLandroid/widget/PopupWindow$PopupDecorView;->access$400(Landroid/widget/PopupWindow$PopupDecorView;Landroid/transition/Transition;)V
-HSPLandroid/widget/PopupWindow$PopupDecorView;->access$500(Landroid/widget/PopupWindow$PopupDecorView;)Ljava/lang/Runnable;
 HSPLandroid/widget/PopupWindow$PopupDecorView;->cancelTransitions()V
 HSPLandroid/widget/PopupWindow$PopupDecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/PopupWindow$PopupDecorView;->lambda$startExitTransition$0$PopupWindow$PopupDecorView(Landroid/transition/Transition$TransitionListener;Landroid/transition/Transition;Landroid/view/View;)V
@@ -29661,14 +26446,11 @@
 HSPLandroid/widget/PopupWindow$PopupDecorView;->requestEnterTransition(Landroid/transition/Transition;)V
 HSPLandroid/widget/PopupWindow$PopupDecorView;->startEnterTransition(Landroid/transition/Transition;)V
 HSPLandroid/widget/PopupWindow$PopupDecorView;->startExitTransition(Landroid/transition/Transition;Landroid/view/View;Landroid/graphics/Rect;Landroid/transition/Transition$TransitionListener;)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;II)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;IIZ)V
-HSPLandroid/widget/PopupWindow;->access$200(Landroid/widget/PopupWindow;Landroid/view/View;Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/widget/PopupWindow;->access$300(Landroid/widget/PopupWindow;)Landroid/view/View$OnTouchListener;
 HSPLandroid/widget/PopupWindow;->access$700(Landroid/widget/PopupWindow;)Z
 HSPLandroid/widget/PopupWindow;->alignToAnchor()V
@@ -29700,7 +26482,6 @@
 HSPLandroid/widget/PopupWindow;->isShowing()Z
 HSPLandroid/widget/PopupWindow;->isSplitTouchEnabled()Z
 HSPLandroid/widget/PopupWindow;->isTransitioningToDismiss()Z
-HSPLandroid/widget/PopupWindow;->lambda$new$0$PopupWindow(Landroid/view/View;IIIIIIII)V
 HSPLandroid/widget/PopupWindow;->preparePopup(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/widget/PopupWindow;->setAnimationStyle(I)V
 HSPLandroid/widget/PopupWindow;->setAttachedInDecor(Z)V
@@ -29717,7 +26498,6 @@
 HSPLandroid/widget/PopupWindow;->setLayoutDirectionFromAnchor()V
 HSPLandroid/widget/PopupWindow;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
 HSPLandroid/widget/PopupWindow;->setOutsideTouchable(Z)V
-HSPLandroid/widget/PopupWindow;->setSoftInputMode(I)V
 HSPLandroid/widget/PopupWindow;->setSplitTouchEnabled(Z)V
 HSPLandroid/widget/PopupWindow;->setTouchInterceptor(Landroid/view/View$OnTouchListener;)V
 HSPLandroid/widget/PopupWindow;->setWidth(I)V
@@ -29729,9 +26509,7 @@
 HSPLandroid/widget/PopupWindow;->tryFitVertical(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
 HSPLandroid/widget/PopupWindow;->update(IIII)V
 HSPLandroid/widget/PopupWindow;->update(IIIIZ)V
-HSPLandroid/widget/PopupWindow;->update(Landroid/view/View;IIII)V
 HSPLandroid/widget/PopupWindow;->update(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/widget/PopupWindow;->update(Landroid/view/View;ZIIII)V
 HSPLandroid/widget/PopupWindow;->updateAboveAnchor(Z)V
 HSPLandroid/widget/ProgressBar$1;-><init>(Landroid/widget/ProgressBar;Ljava/lang/String;)V
 HSPLandroid/widget/ProgressBar$1;->get(Landroid/widget/ProgressBar;)Ljava/lang/Float;
@@ -29825,7 +26603,6 @@
 HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(II)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;->access$100(Landroid/widget/RelativeLayout$LayoutParams;)I
 HSPLandroid/widget/RelativeLayout$LayoutParams;->access$102(Landroid/widget/RelativeLayout$LayoutParams;I)I
@@ -29850,10 +26627,6 @@
 HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveLayoutDirection(I)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveRules(I)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;->shouldResolveLayoutDirection(I)Z
-HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;-><init>(Landroid/widget/RelativeLayout;)V
-HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;-><init>(Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout$1;)V
-HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;->compare(Landroid/view/View;Landroid/view/View;)I
-HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
@@ -29864,7 +26637,6 @@
 HSPLandroid/widget/RelativeLayout;->centerVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
 HSPLandroid/widget/RelativeLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
 HSPLandroid/widget/RelativeLayout;->compareLayoutPosition(Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/widget/RelativeLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RelativeLayout$LayoutParams;
@@ -29949,7 +26721,6 @@
 HSPLandroid/widget/RemoteViews$RuntimeAction;-><init>(Landroid/widget/RemoteViews$1;)V
 HSPLandroid/widget/RemoteViews$SetDrawableTint;-><init>(Landroid/widget/RemoteViews;IZILandroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/widget/RemoteViews$SetDrawableTint;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews$SetIntTagAction;-><init>(Landroid/widget/RemoteViews;III)V
 HSPLandroid/widget/RemoteViews$SetIntTagAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
 HSPLandroid/widget/RemoteViews$SetOnClickResponse;-><init>(Landroid/widget/RemoteViews;ILandroid/widget/RemoteViews$RemoteResponse;)V
 HSPLandroid/widget/RemoteViews$SetOnClickResponse;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
@@ -29980,7 +26751,6 @@
 HSPLandroid/widget/RemoteViews$ViewTree;-><init>(Landroid/view/View;)V
 HSPLandroid/widget/RemoteViews$ViewTree;-><init>(Landroid/view/View;Landroid/widget/RemoteViews$1;)V
 HSPLandroid/widget/RemoteViews$ViewTree;->access$1400(Landroid/widget/RemoteViews$ViewTree;)Landroid/view/View;
-HSPLandroid/widget/RemoteViews$ViewTree;->access$2002(Landroid/widget/RemoteViews$ViewTree;Ljava/util/ArrayList;)Ljava/util/ArrayList;
 HSPLandroid/widget/RemoteViews$ViewTree;->addChild(Landroid/widget/RemoteViews$ViewTree;I)V
 HSPLandroid/widget/RemoteViews$ViewTree;->addViewChild(Landroid/view/View;)V
 HSPLandroid/widget/RemoteViews$ViewTree;->createTree()V
@@ -30028,7 +26798,6 @@
 HSPLandroid/widget/RemoteViews;->reapply(Landroid/content/Context;Landroid/view/View;)V
 HSPLandroid/widget/RemoteViews;->reapply(Landroid/content/Context;Landroid/view/View;Landroid/widget/RemoteViews$OnClickHandler;)V
 HSPLandroid/widget/RemoteViews;->reapplyAsync(Landroid/content/Context;Landroid/view/View;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/os/CancellationSignal;
-HSPLandroid/widget/RemoteViews;->reduceImageSizes(II)V
 HSPLandroid/widget/RemoteViews;->removeAllViews(I)V
 HSPLandroid/widget/RemoteViews;->setBitmap(ILjava/lang/String;Landroid/graphics/Bitmap;)V
 HSPLandroid/widget/RemoteViews;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
@@ -30107,7 +26876,6 @@
 HSPLandroid/widget/ScrollView;->inChild(II)Z
 HSPLandroid/widget/ScrollView;->initScrollView()V
 HSPLandroid/widget/ScrollView;->initVelocityTrackerIfNotExists()V
-HSPLandroid/widget/ScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
 HSPLandroid/widget/ScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
 HSPLandroid/widget/ScrollView;->onDetachedFromWindow()V
 HSPLandroid/widget/ScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
@@ -30120,10 +26888,8 @@
 HSPLandroid/widget/ScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/ScrollView;->recycleVelocityTracker()V
 HSPLandroid/widget/ScrollView;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/widget/ScrollView;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
 HSPLandroid/widget/ScrollView;->requestLayout()V
 HSPLandroid/widget/ScrollView;->scrollTo(II)V
-HSPLandroid/widget/ScrollView;->scrollToChildRect(Landroid/graphics/Rect;Z)Z
 HSPLandroid/widget/ScrollView;->scrollToDescendant(Landroid/view/View;)V
 HSPLandroid/widget/ScrollView;->setFillViewport(Z)V
 HSPLandroid/widget/ScrollView;->shouldDelayChildPressedState()Z
@@ -30204,28 +26970,6 @@
 HSPLandroid/widget/SpellChecker;->setLocale(Ljava/util/Locale;)V
 HSPLandroid/widget/SpellChecker;->spellCheck()V
 HSPLandroid/widget/SpellChecker;->spellCheck(II)V
-HSPLandroid/widget/Spinner$1;-><init>(Landroid/widget/Spinner;Landroid/view/View;Landroid/widget/Spinner$DropdownPopup;)V
-HSPLandroid/widget/Spinner$DropDownAdapter;-><init>(Landroid/widget/SpinnerAdapter;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/Spinner$DropDownAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/Spinner$DropdownPopup$1;-><init>(Landroid/widget/Spinner$DropdownPopup;Landroid/widget/Spinner;)V
-HSPLandroid/widget/Spinner$DropdownPopup;-><init>(Landroid/widget/Spinner;Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/Spinner$DropdownPopup;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/Spinner$DropdownPopup;->setPromptText(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Spinner$SavedState$1;-><init>()V
-HSPLandroid/widget/Spinner$SavedState;-><clinit>()V
-HSPLandroid/widget/Spinner$SavedState;-><init>(Landroid/os/Parcelable;)V
-HSPLandroid/widget/Spinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;III)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IIILandroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/Spinner;->layout(IZ)V
-HSPLandroid/widget/Spinner;->makeView(IZ)Landroid/view/View;
-HSPLandroid/widget/Spinner;->onDetachedFromWindow()V
-HSPLandroid/widget/Spinner;->onLayout(ZIIII)V
-HSPLandroid/widget/Spinner;->onMeasure(II)V
-HSPLandroid/widget/Spinner;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/Spinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
-HSPLandroid/widget/Spinner;->setUpChild(Landroid/view/View;Z)V
 HSPLandroid/widget/Switch$1;->get(Landroid/widget/Switch;)Ljava/lang/Float;
 HSPLandroid/widget/Switch$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/widget/Switch$1;->setValue(Landroid/widget/Switch;F)V
@@ -30299,11 +27043,6 @@
 HSPLandroid/widget/TextView$Drawables;->applyErrorDrawableIfNeeded(I)V
 HSPLandroid/widget/TextView$Drawables;->hasMetadata()Z
 HSPLandroid/widget/TextView$Drawables;->resolveWithLayoutDirection(I)Z
-HSPLandroid/widget/TextView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/TextView$SavedState;
-HSPLandroid/widget/TextView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/widget/TextView$SavedState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/widget/TextView$SavedState;-><init>(Landroid/os/Parcel;Landroid/widget/TextView$1;)V
-HSPLandroid/widget/TextView$SavedState;-><init>(Landroid/os/Parcelable;)V
 HSPLandroid/widget/TextView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>()V
 HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/TextView$1;)V
@@ -30324,21 +27063,13 @@
 HSPLandroid/widget/TextView;->beginBatchEdit()V
 HSPLandroid/widget/TextView;->bringPointIntoView(I)Z
 HSPLandroid/widget/TextView;->bringTextIntoView()Z
-HSPLandroid/widget/TextView;->canCopy()Z
-HSPLandroid/widget/TextView;->canCut()Z
 HSPLandroid/widget/TextView;->canMarquee()Z
-HSPLandroid/widget/TextView;->canPaste()Z
-HSPLandroid/widget/TextView;->canProcessText()Z
-HSPLandroid/widget/TextView;->canShare()Z
 HSPLandroid/widget/TextView;->cancelLongPress()V
 HSPLandroid/widget/TextView;->checkForRelayout()V
 HSPLandroid/widget/TextView;->checkForResize()V
-HSPLandroid/widget/TextView;->cleanupAutoSizePresetSizes([I)[I
 HSPLandroid/widget/TextView;->compressText(F)Z
 HSPLandroid/widget/TextView;->computeHorizontalScrollRange()I
 HSPLandroid/widget/TextView;->computeScroll()V
-HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I
-HSPLandroid/widget/TextView;->computeVerticalScrollRange()I
 HSPLandroid/widget/TextView;->convertFromViewportToContentCoordinates(Landroid/graphics/Rect;)V
 HSPLandroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F
 HSPLandroid/widget/TextView;->createEditorIfNeeded()V
@@ -30348,19 +27079,16 @@
 HSPLandroid/widget/TextView;->drawableHotspotChanged(FF)V
 HSPLandroid/widget/TextView;->drawableStateChanged()V
 HSPLandroid/widget/TextView;->endBatchEdit()V
-HSPLandroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I
 HSPLandroid/widget/TextView;->fixFocusableAndClickableSettings()V
 HSPLandroid/widget/TextView;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/TextView;->getAccessibilitySelectionEnd()I
 HSPLandroid/widget/TextView;->getAccessibilitySelectionStart()I
-HSPLandroid/widget/TextView;->getAutoSizeStepGranularity()I
 HSPLandroid/widget/TextView;->getAutofillType()I
 HSPLandroid/widget/TextView;->getAutofillValue()Landroid/view/autofill/AutofillValue;
 HSPLandroid/widget/TextView;->getBaseline()I
 HSPLandroid/widget/TextView;->getBaselineOffset()I
 HSPLandroid/widget/TextView;->getBottomVerticalOffset(Z)I
 HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I
-HSPLandroid/widget/TextView;->getBreakStrategy()I
 HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I
 HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/TextView;->getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;
@@ -30385,16 +27113,13 @@
 HSPLandroid/widget/TextView;->getFreezesText()Z
 HSPLandroid/widget/TextView;->getGravity()I
 HSPLandroid/widget/TextView;->getHint()Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->getHorizontalFadingEdgeStrength(FF)F
 HSPLandroid/widget/TextView;->getHorizontalOffsetForDrawables()I
 HSPLandroid/widget/TextView;->getHorizontallyScrolling()Z
-HSPLandroid/widget/TextView;->getHyphenationFrequency()I
 HSPLandroid/widget/TextView;->getIncludeFontPadding()Z
 HSPLandroid/widget/TextView;->getInputMethodManager()Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/widget/TextView;->getInputType()I
 HSPLandroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V
 HSPLandroid/widget/TextView;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->getJustificationMode()I
 HSPLandroid/widget/TextView;->getKeyListener()Landroid/text/method/KeyListener;
 HSPLandroid/widget/TextView;->getLayout()Landroid/text/Layout;
 HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;
@@ -30408,8 +27133,6 @@
 HSPLandroid/widget/TextView;->getMaxEms()I
 HSPLandroid/widget/TextView;->getMaxLines()I
 HSPLandroid/widget/TextView;->getMinEms()I
-HSPLandroid/widget/TextView;->getMinHeight()I
-HSPLandroid/widget/TextView;->getMinWidth()I
 HSPLandroid/widget/TextView;->getMovementMethod()Landroid/text/method/MovementMethod;
 HSPLandroid/widget/TextView;->getOffsetAtCoordinate(IF)I
 HSPLandroid/widget/TextView;->getOffsetForPosition(FF)I
@@ -30455,7 +27178,6 @@
 HSPLandroid/widget/TextView;->invalidateRegion(IIZ)V
 HSPLandroid/widget/TextView;->isAutoSizeEnabled()Z
 HSPLandroid/widget/TextView;->isAutofillable()Z
-HSPLandroid/widget/TextView;->isDeviceProvisioned()Z
 HSPLandroid/widget/TextView;->isDirectionalNavigationKey(I)Z
 HSPLandroid/widget/TextView;->isInBatchEditMode()Z
 HSPLandroid/widget/TextView;->isInExtractedMode()Z
@@ -30466,7 +27188,6 @@
 HSPLandroid/widget/TextView;->isPasswordInputType(I)Z
 HSPLandroid/widget/TextView;->isPositionVisible(FF)Z
 HSPLandroid/widget/TextView;->isShowingHint()Z
-HSPLandroid/widget/TextView;->isSingleLine()Z
 HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z
 HSPLandroid/widget/TextView;->isTextEditable()Z
 HSPLandroid/widget/TextView;->isTextSelectable()Z
@@ -30482,7 +27203,6 @@
 HSPLandroid/widget/TextView;->onCheckIsTextEditor()Z
 HSPLandroid/widget/TextView;->onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
 HSPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/widget/TextView;->onCreateContextMenu(Landroid/view/ContextMenu;)V
 HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I
 HSPLandroid/widget/TextView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
 HSPLandroid/widget/TextView;->onDetachedFromWindowInternal()V
@@ -30529,15 +27249,11 @@
 HSPLandroid/widget/TextView;->sendAfterTextChanged(Landroid/text/Editable;)V
 HSPLandroid/widget/TextView;->sendBeforeTextChanged(Ljava/lang/CharSequence;III)V
 HSPLandroid/widget/TextView;->sendOnTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/TextView;->setAllCaps(Z)V
-HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V
 HSPLandroid/widget/TextView;->setBreakStrategy(I)V
 HSPLandroid/widget/TextView;->setCompoundDrawablePadding(I)V
 HSPLandroid/widget/TextView;->setCompoundDrawableTintList(Landroid/content/res/ColorStateList;)V
 HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(IIII)V
 HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/TextView;->setCursorVisible(Z)V
@@ -30549,14 +27265,11 @@
 HSPLandroid/widget/TextView;->setFontFeatureSettings(Ljava/lang/String;)V
 HSPLandroid/widget/TextView;->setFrame(IIII)Z
 HSPLandroid/widget/TextView;->setGravity(I)V
-HSPLandroid/widget/TextView;->setHeight(I)V
 HSPLandroid/widget/TextView;->setHighlightColor(I)V
-HSPLandroid/widget/TextView;->setHint(I)V
 HSPLandroid/widget/TextView;->setHint(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/TextView;->setHintInternal(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/TextView;->setHintTextColor(Landroid/content/res/ColorStateList;)V
 HSPLandroid/widget/TextView;->setHorizontallyScrolling(Z)V
-HSPLandroid/widget/TextView;->setImeOptions(I)V
 HSPLandroid/widget/TextView;->setIncludeFontPadding(Z)V
 HSPLandroid/widget/TextView;->setInputType(I)V
 HSPLandroid/widget/TextView;->setInputType(IZ)V
@@ -30581,7 +27294,6 @@
 HSPLandroid/widget/TextView;->setPadding(IIII)V
 HSPLandroid/widget/TextView;->setPaddingRelative(IIII)V
 HSPLandroid/widget/TextView;->setPaintFlags(I)V
-HSPLandroid/widget/TextView;->setPrivateImeOptions(Ljava/lang/String;)V
 HSPLandroid/widget/TextView;->setRawInputType(I)V
 HSPLandroid/widget/TextView;->setRawTextSize(FZ)V
 HSPLandroid/widget/TextView;->setRelativeDrawablesIfNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
@@ -30608,15 +27320,12 @@
 HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V
 HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V
 HSPLandroid/widget/TextView;->setWidth(I)V
-HSPLandroid/widget/TextView;->setupAutoSizeText()Z
-HSPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z
 HSPLandroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z
 HSPLandroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V
 HSPLandroid/widget/TextView;->startMarquee()V
 HSPLandroid/widget/TextView;->startStopMarquee(Z)V
 HSPLandroid/widget/TextView;->stopMarquee()V
 HSPLandroid/widget/TextView;->stopTextActionMode()V
-HSPLandroid/widget/TextView;->suggestedSizeFitsInSpace(ILandroid/graphics/RectF;)Z
 HSPLandroid/widget/TextView;->supportsAutoSizeText()Z
 HSPLandroid/widget/TextView;->textCanBeSelected()Z
 HSPLandroid/widget/TextView;->unregisterForPreDraw()V
@@ -30644,6 +27353,7 @@
 HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
 HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
 HSPLandroid/widget/Toast;->show()V
+HSPLandroid/widget/ToastPresenter;-><init>(Landroid/content/Context;Landroid/view/accessibility/AccessibilityManager;)V
 HSPLandroid/widget/Toolbar$1;-><init>(Landroid/widget/Toolbar;)V
 HSPLandroid/widget/Toolbar$2;-><init>(Landroid/widget/Toolbar;)V
 HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;-><init>(Landroid/widget/Toolbar;)V
@@ -30664,7 +27374,6 @@
 HSPLandroid/widget/Toolbar;->ensureMenuView()V
 HSPLandroid/widget/Toolbar;->ensureNavButtonView()V
 HSPLandroid/widget/Toolbar;->generateDefaultLayoutParams()Landroid/widget/Toolbar$LayoutParams;
-HSPLandroid/widget/Toolbar;->getChildTop(Landroid/view/View;I)I
 HSPLandroid/widget/Toolbar;->getContentInsetEnd()I
 HSPLandroid/widget/Toolbar;->getContentInsetStart()I
 HSPLandroid/widget/Toolbar;->getCurrentContentInsetEnd()I
@@ -30727,18 +27436,14 @@
 HSPLandroid/widget/ViewFlipper;->onWindowVisibilityChanged(I)V
 HSPLandroid/widget/ViewFlipper;->updateRunning()V
 HSPLandroid/widget/ViewFlipper;->updateRunning(Z)V
-HSPLandroid/widget/ViewSwitcher;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ViewSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;-><init>([BII)V
-PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
+HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->isAtEnd()Z
-PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->newInstance([BII)Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
+HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->newInstance([BII)Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
 PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readBool()Z
-HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readFloat()F
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readInt32()I
 PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readInt64()J
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawByte()B
-HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawLittleEndian32()I
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawVarint64()J
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
@@ -30752,6 +27457,8 @@
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt32SizeNoTag(I)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt64Size(IJ)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt64SizeNoTag(J)I
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/framework/protobuf/nano/MessageNano;)I
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSizeNoTag(Lcom/android/framework/protobuf/nano/MessageNano;)I
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint32Size(I)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeStringSize(ILjava/lang/String;)I
@@ -30764,7 +27471,7 @@
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->spaceLeft()I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeBool(IZ)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeBoolNoTag(Z)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeFloat(IF)V
+PLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeDouble(ID)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
@@ -30773,7 +27480,7 @@
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/framework/protobuf/nano/MessageNano;)V
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian32(I)V
+PLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
 HSPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeString(ILjava/lang/String;)V
@@ -30784,7 +27491,7 @@
 HPLcom/android/framework/protobuf/nano/MessageNano;->getCachedSize()I
 HSPLcom/android/framework/protobuf/nano/MessageNano;->getSerializedSize()I
 PLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[B)Lcom/android/framework/protobuf/nano/MessageNano;
-PLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[BII)Lcom/android/framework/protobuf/nano/MessageNano;
+HPLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[BII)Lcom/android/framework/protobuf/nano/MessageNano;
 HSPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;)[B
 HSPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;[BII)V
 HSPLcom/android/framework/protobuf/nano/MessageNano;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
@@ -30797,62 +27504,65 @@
 HSPLcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;-><init>(Lcom/android/i18n/phonenumbers/MetadataLoader;)V
 HSPLcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;-><init>(Ljava/lang/String;Lcom/android/i18n/phonenumbers/MetadataLoader;)V
 HSPLcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher$State;-><clinit>()V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher$State;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;-><clinit>()V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;-><init>(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->extractInnerMatch(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->extractMatch(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->find(I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->hasNext()Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->limit(II)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->parseAndVerify(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->trimAfterFirstMatch(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$1;-><init>(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$1;->iterator()Ljava/util/Iterator;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$1;->verify(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Lcom/android/i18n/phonenumbers/PhoneNumberMatcher;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;-><init>(Lcom/android/i18n/phonenumbers/MetadataSource;Ljava/util/Map;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->buildNationalNumberForParsing(Ljava/lang/String;Ljava/lang/StringBuilder;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->checkRegionForParsing(Ljava/lang/CharSequence;Ljava/lang/String;)Z
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->chooseFormattingPatternForNumber(Ljava/util/List;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->createInstance(Lcom/android/i18n/phonenumbers/MetadataLoader;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->createInstance(Lcom/android/i18n/phonenumbers/MetadataSource;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractCountryCode(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractPossibleNumber(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->findNumbers(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)Ljava/lang/Iterable;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatInOriginalFormat(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsn(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsnUsingPattern(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForValidRegion(Ljava/lang/String;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getInstance()Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegionOrCallingCode(ILjava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNationalSignificantNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberType(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForCountryCode(I)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasValidCountryCallingCode(I)Z
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberGeographical(Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;I)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumberForTypeWithReason(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumberWithReason(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumberForRegion(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidRegionCode(Ljava/lang/String;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isViablePhoneNumber(Ljava/lang/CharSequence;)Z
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeAppendFormattedExtension(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeExtractCountryCode(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;ZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripExtension(Ljava/lang/StringBuilder;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripInternationalPrefixAndNormalize(Ljava/lang/StringBuilder;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripNationalPrefixAndCarrierCode(Ljava/lang/StringBuilder;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalize(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeDiallableCharsOnly(Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeDigits(Ljava/lang/CharSequence;Z)Ljava/lang/StringBuilder;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeDigitsOnly(Ljava/lang/CharSequence;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeHelper(Ljava/lang/CharSequence;Ljava/util/Map;Z)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parse(Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parse(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseAndKeepRawInput(Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseAndKeepRawInput(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseHelper(Ljava/lang/CharSequence;Ljava/lang/String;ZZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parsePrefixAsIdd(Ljava/util/regex/Pattern;Ljava/lang/StringBuilder;)Z
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->prefixNumberWithCountryCallingCode(ILcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->setInstance(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->setItalianLeadingZerosForPhoneNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;-><init>()V
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getFormat()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getLeadingDigitsPattern(I)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getNationalPrefixFormattingRule()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getPattern()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->leadingDigitsPatternSize()I
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->readExternal(Ljava/io/ObjectInput;)V
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setFormat(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixFormattingRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
@@ -30863,6 +27573,8 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getFixedLine()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getGeneralDesc()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getInternationalPrefix()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getLeadingDigits()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getMobile()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixForParsing()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixTransformRule()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getPager()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
@@ -30875,21 +27587,26 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoicemail()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoip()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasLeadingDigits()Z
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->intlNumberFormats()Ljava/util/List;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->numberFormats()Ljava/util/List;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->readExternal(Ljava/io/ObjectInput;)V
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setCountryCode(I)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setFixedLine(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setGeneralDesc(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setId(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setInternationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setLeadingDigits(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setLeadingZeroPossible(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMainCountryForCode(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMobile(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMobileNumberPortableRegion(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixForParsing(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixTransformRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNoInternationalDialling(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPager(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPersonalNumber(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPreferredExtnPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPremiumRate(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setSameMobileAndFixedLinePattern(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setSharedCost(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
@@ -30909,12 +27626,20 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->setNationalNumberPattern(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;-><init>()V
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCode()I
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCodeSource()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getNationalNumber()J
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getRawInput()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCodeSource()Z
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasExtension()Z
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasRawInput()Z
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->isItalianLeadingZero()Z
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCode(I)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCodeSource(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNationalNumber(J)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setRawInput(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
+HSPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;-><init>(Ljava/lang/String;)V
+HSPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;->getDescriptionForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/Locale;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;->getInstance()Lcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;
 HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;-><init>()V
 HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->create()Lcom/android/i18n/phonenumbers/internal/MatcherApi;
 HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->match(Ljava/lang/CharSequence;Ljava/util/regex/Pattern;Z)Z
@@ -30927,6 +27652,13 @@
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache;-><init>(I)V
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache;->getPatternForRegex(Ljava/lang/String;)Ljava/util/regex/Pattern;
+HSPLcom/android/i18n/phonenumbers/prefixmapper/MappingFileProvider;-><clinit>()V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/MappingFileProvider;-><init>()V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/MappingFileProvider;->readExternal(Ljava/io/ObjectInput;)V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;-><clinit>()V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;-><init>(Ljava/lang/String;)V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->close(Ljava/io/InputStream;)V
+HSPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->loadMappingFileProvider()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
@@ -30961,7 +27693,6 @@
 HSPLcom/android/icu/charset/NativeConverter;->setCallbackDecode(JLjava/nio/charset/CharsetDecoder;)V
 HSPLcom/android/icu/charset/NativeConverter;->setCallbackEncode(JLjava/nio/charset/CharsetEncoder;)V
 HSPLcom/android/icu/charset/NativeConverter;->translateCodingErrorAction(Ljava/nio/charset/CodingErrorAction;)I
-HSPLcom/android/icu/util/CaseMapperNative;->toLowerCase(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
 HSPLcom/android/icu/util/LocaleNative;->getDisplayCountry(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
 HSPLcom/android/icu/util/LocaleNative;->getDisplayLanguage(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
 HSPLcom/android/icu/util/regex/MatcherNative;-><init>(Lcom/android/icu/util/regex/PatternNative;)V
@@ -30972,13 +27703,16 @@
 HSPLcom/android/icu/util/regex/MatcherNative;->hitEnd()Z
 HSPLcom/android/icu/util/regex/MatcherNative;->lookingAt([I)Z
 HSPLcom/android/icu/util/regex/MatcherNative;->matches([I)Z
-HSPLcom/android/icu/util/regex/MatcherNative;->requireEnd()Z
 HSPLcom/android/icu/util/regex/MatcherNative;->setInput(Ljava/lang/String;II)V
 HSPLcom/android/icu/util/regex/MatcherNative;->useAnchoringBounds(Z)V
 HSPLcom/android/icu/util/regex/MatcherNative;->useTransparentBounds(Z)V
 HSPLcom/android/icu/util/regex/PatternNative;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/icu/util/regex/PatternNative;->create(Ljava/lang/String;I)Lcom/android/icu/util/regex/PatternNative;
 HSPLcom/android/icu/util/regex/PatternNative;->openMatcher()J
+HSPLcom/android/internal/BrightnessSynchronizer;-><clinit>()V
+HSPLcom/android/internal/BrightnessSynchronizer;->brightnessFloatToInt(FFFII)I
+HSPLcom/android/internal/BrightnessSynchronizer;->brightnessFloatToInt(Landroid/content/Context;F)I
+HSPLcom/android/internal/BrightnessSynchronizer;->floatEquals(FF)Z
 HSPLcom/android/internal/accessibility/AccessibilityShortcutController$1;-><init>(Lcom/android/internal/accessibility/AccessibilityShortcutController;Landroid/os/Handler;)V
 HSPLcom/android/internal/accessibility/AccessibilityShortcutController$FrameworkObjectProvider;-><init>()V
 HSPLcom/android/internal/accessibility/AccessibilityShortcutController$ToggleableFrameworkFeatureInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
@@ -31028,24 +27762,20 @@
 HSPLcom/android/internal/app/IAppOpsCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/app/IAppOpsCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsCallback;
 HSPLcom/android/internal/app/IAppOpsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->opNoted(IILjava/lang/String;I)V
 HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;-><init>()V
 HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/app/IAppOpsNotedCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsNotedCallback;
+HPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsNotedCallback;
 HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperationRaw(IILjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkPackage(ILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getPackagesForOps([I)Ljava/util/List;
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->shouldCollectNotes(I)Z
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
@@ -31053,10 +27783,10 @@
 HSPLcom/android/internal/app/IAppOpsService$Stub;-><init>()V
 HSPLcom/android/internal/app/IAppOpsService$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
+HPLcom/android/internal/app/IAppOpsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HSPLcom/android/internal/app/IAppOpsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->computeChargeTimeRemaining()J
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->isCharging()Z
 HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
 HSPLcom/android/internal/app/IBatteryStats$Stub;-><init>()V
 HSPLcom/android/internal/app/IBatteryStats$Stub;->asBinder()Landroid/os/IBinder;
@@ -31070,12 +27800,12 @@
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;-><init>()V
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionManagerService;
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onSetUiHints(Landroid/os/Bundle;)V
 HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;-><init>()V
 HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionListener;
+HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionListener;
 HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->onShown()V
 HSPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;-><init>()V
@@ -31127,7 +27857,7 @@
 HSPLcom/android/internal/app/procstats/AssociationState;->startSource(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState$SourceState;
 HPLcom/android/internal/app/procstats/AssociationState;->writeToParcel(Lcom/android/internal/app/procstats/ProcessStats;Landroid/os/Parcel;J)V
 HPLcom/android/internal/app/procstats/DumpUtils;->collapseString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/internal/app/procstats/DumpUtils;->dumpAdjTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;[JIJJ)V
+HPLcom/android/internal/app/procstats/DumpUtils;->dumpAdjTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;[JIJJ)V
 HPLcom/android/internal/app/procstats/DumpUtils;->printAdjTag(Ljava/io/PrintWriter;I)V
 HPLcom/android/internal/app/procstats/DumpUtils;->printAdjTagAndValue(Ljava/io/PrintWriter;IJ)V
 HPLcom/android/internal/app/procstats/DumpUtils;->printArrayEntry(Ljava/io/PrintWriter;[Ljava/lang/String;II)I
@@ -31220,7 +27950,6 @@
 HSPLcom/android/internal/app/procstats/ServiceState;->setExecuting(ZIJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->setForeground(ZIJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->setMemFactor(IJ)V
-HPLcom/android/internal/app/procstats/ServiceState;->setRestarting(ZIJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->setStarted(ZIJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->updateRunning(IJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->updateStartedState(IJ)V
@@ -31272,10 +28001,7 @@
 PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementIntentLabel()Ljava/lang/CharSequence;
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->name()Ljava/lang/String;
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->transportDirName()Ljava/lang/String;
-HSPLcom/android/internal/backup/IBackupTransport$Stub;-><init>()V
-HSPLcom/android/internal/backup/IBackupTransport$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/backup/IBackupTransport$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IBackupTransport;
-HSPLcom/android/internal/backup/IBackupTransport$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;-><init>()V
 HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->getColorPalette()[I
@@ -31337,9 +28063,6 @@
 HSPLcom/android/internal/compat/ChangeReporter;->shouldWriteToDebug(IJI)Z
 HSPLcom/android/internal/compat/ChangeReporter;->shouldWriteToStatsLog(IJI)Z
 HSPLcom/android/internal/compat/ChangeReporter;->stateToString(I)Ljava/lang/String;
-HSPLcom/android/internal/compat/CompatibilityChangeInfo$1;-><init>()V
-HSPLcom/android/internal/compat/CompatibilityChangeInfo;-><clinit>()V
-HSPLcom/android/internal/compat/CompatibilityChangeInfo;-><init>(Ljava/lang/Long;Ljava/lang/String;IZLjava/lang/String;)V
 HSPLcom/android/internal/compat/CompatibilityChangeInfo;->getDisabled()Z
 HSPLcom/android/internal/compat/CompatibilityChangeInfo;->getEnableAfterTargetSdk()I
 HSPLcom/android/internal/compat/CompatibilityChangeInfo;->getId()J
@@ -31348,10 +28071,8 @@
 HSPLcom/android/internal/compat/IPlatformCompat$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/compat/IPlatformCompat;
 HPLcom/android/internal/compat/IPlatformCompat$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/compat/IPlatformCompatNative$Stub;-><init>()V
-HPLcom/android/internal/compat/IPlatformCompatNative$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->close()V
 HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Landroid/content/pm/PackageParser$PackageLite;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
-HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Landroid/content/pm/parsing/AndroidPackage;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
 PLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/io/File;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
 HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/util/List;ZZZ)Lcom/android/internal/content/NativeLibraryHelper$Handle;
 HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->finalize()V
@@ -31364,13 +28085,13 @@
 PLcom/android/internal/content/NativeLibraryHelper;->removeNativeBinariesFromDirLI(Ljava/io/File;Z)V
 HSPLcom/android/internal/content/NativeLibraryHelper;->sumNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
 PLcom/android/internal/content/PackageHelper$1;->getAllow3rdPartyOnInternalConfig(Landroid/content/Context;)Z
-PLcom/android/internal/content/PackageHelper$1;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/internal/content/PackageHelper$1;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
 PLcom/android/internal/content/PackageHelper$1;->getForceAllowOnExternalSetting(Landroid/content/Context;)Z
 PLcom/android/internal/content/PackageHelper$1;->getStorageManager(Landroid/content/Context;)Landroid/os/storage/StorageManager;
 HSPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
 HSPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;Ljava/io/FileDescriptor;)J
-PLcom/android/internal/content/PackageHelper;->checkFitOnVolume(Landroid/os/storage/StorageManager;Ljava/lang/String;Landroid/content/pm/PackageInstaller$SessionParams;)Z
-PLcom/android/internal/content/PackageHelper;->fitsOnInternal(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Z
+HPLcom/android/internal/content/PackageHelper;->checkFitOnVolume(Landroid/os/storage/StorageManager;Ljava/lang/String;Landroid/content/pm/PackageInstaller$SessionParams;)Z
+HPLcom/android/internal/content/PackageHelper;->fitsOnInternal(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Z
 PLcom/android/internal/content/PackageHelper;->getDefaultTestableInterface()Lcom/android/internal/content/PackageHelper$TestableInterface;
 HSPLcom/android/internal/content/PackageHelper;->getStorageManager()Landroid/os/storage/IStorageManager;
 PLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)I
@@ -31378,11 +28099,11 @@
 PLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Ljava/lang/String;
 HPLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;Lcom/android/internal/content/PackageHelper$TestableInterface;)Ljava/lang/String;
 HSPLcom/android/internal/content/PackageMonitor;-><init>()V
-PLcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
+HPLcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
 HSPLcom/android/internal/content/PackageMonitor;->getChangingUserId()I
 HSPLcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
 HPLcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
-PLcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
+HPLcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
 HPLcom/android/internal/content/PackageMonitor;->isPackageDisappearing(Ljava/lang/String;)I
 HPLcom/android/internal/content/PackageMonitor;->isPackageModified(Ljava/lang/String;)Z
 HSPLcom/android/internal/content/PackageMonitor;->onBeginPackageChanges()V
@@ -31421,8 +28142,8 @@
 HSPLcom/android/internal/graphics/ColorUtils;->setAlphaComponent(II)I
 HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;-><init>()V
 HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;-><init>(Landroid/view/Choreographer;)V
-HPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->getFrameTime()J
-HPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
+HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->getFrameTime()J
+HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;-><init>(Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;Landroid/content/res/Resources;)V
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->addDrawable(Landroid/graphics/drawable/Drawable;)I
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->canApplyTheme()Z
@@ -31445,8 +28166,6 @@
 PLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;->accept(Ljava/lang/Object;)V
 HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;->accept(Ljava/lang/Object;)V
 HPLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/internal/infra/-$$Lambda$ServiceConnector$Impl$3vLWxkP1Z6JyExzdZboFFp1zM20;-><clinit>()V
-PLcom/android/internal/infra/-$$Lambda$ServiceConnector$Impl$3vLWxkP1Z6JyExzdZboFFp1zM20;-><init>()V
 PLcom/android/internal/infra/-$$Lambda$ServiceConnector$Impl$3vLWxkP1Z6JyExzdZboFFp1zM20;->run(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/internal/infra/-$$Lambda$T7zIZMFnvwrmtbuTMXLaZHHp-9s;-><clinit>()V
 HSPLcom/android/internal/infra/-$$Lambda$T7zIZMFnvwrmtbuTMXLaZHHp-9s;-><init>()V
@@ -31454,8 +28173,6 @@
 PLcom/android/internal/infra/-$$Lambda$XuWfs8-IsKaNygi8YjlVGjedkIw;-><clinit>()V
 PLcom/android/internal/infra/-$$Lambda$XuWfs8-IsKaNygi8YjlVGjedkIw;-><init>()V
 HPLcom/android/internal/infra/-$$Lambda$XuWfs8-IsKaNygi8YjlVGjedkIw;->accept(Ljava/lang/Object;)V
-PLcom/android/internal/infra/-$$Lambda$qN_gooelzsUiBhYWznXKzb-8_wA;-><clinit>()V
-PLcom/android/internal/infra/-$$Lambda$qN_gooelzsUiBhYWznXKzb-8_wA;-><init>()V
 PLcom/android/internal/infra/-$$Lambda$qN_gooelzsUiBhYWznXKzb-8_wA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/internal/infra/-$$Lambda$rAXGjry3wPGKviARzTYfDiY7xrs;-><clinit>()V
 HSPLcom/android/internal/infra/-$$Lambda$rAXGjry3wPGKviARzTYfDiY7xrs;-><init>()V
@@ -31499,10 +28216,8 @@
 HPLcom/android/internal/infra/AbstractRemoteService;->scheduleUnbind(Z)V
 PLcom/android/internal/infra/AndroidFuture$1;-><init>(Lcom/android/internal/infra/AndroidFuture;)V
 PLcom/android/internal/infra/AndroidFuture$1;->complete(Lcom/android/internal/infra/AndroidFuture;)V
-HSPLcom/android/internal/infra/AndroidFuture$2;-><init>()V
 HSPLcom/android/internal/infra/AndroidFuture$2;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/infra/AndroidFuture;
 HSPLcom/android/internal/infra/AndroidFuture$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/infra/AndroidFuture;-><clinit>()V
 HSPLcom/android/internal/infra/AndroidFuture;-><init>()V
 HSPLcom/android/internal/infra/AndroidFuture;-><init>(Landroid/os/Parcel;)V
 HPLcom/android/internal/infra/AndroidFuture;->callListener(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Throwable;)V
@@ -31543,14 +28258,14 @@
 HSPLcom/android/internal/infra/ServiceConnector$Impl;->enqueue(Lcom/android/internal/infra/ServiceConnector$Impl$CompletionAwareJob;)V
 HSPLcom/android/internal/infra/ServiceConnector$Impl;->enqueue(Lcom/android/internal/infra/ServiceConnector$Job;)Z
 HPLcom/android/internal/infra/ServiceConnector$Impl;->enqueueJobThread(Lcom/android/internal/infra/ServiceConnector$Job;)V
-PLcom/android/internal/infra/ServiceConnector$Impl;->getAutoDisconnectTimeoutMs()J
+HPLcom/android/internal/infra/ServiceConnector$Impl;->getAutoDisconnectTimeoutMs()J
 HPLcom/android/internal/infra/ServiceConnector$Impl;->getJobHandler()Landroid/os/Handler;
 HSPLcom/android/internal/infra/ServiceConnector$Impl;->getRequestTimeoutMs()J
 HPLcom/android/internal/infra/ServiceConnector$Impl;->isBound()Z
 PLcom/android/internal/infra/ServiceConnector$Impl;->lambda$connect$0(Landroid/os/IInterface;)Landroid/os/IInterface;
 HPLcom/android/internal/infra/ServiceConnector$Impl;->maybeScheduleUnbindTimeout()V
 HPLcom/android/internal/infra/ServiceConnector$Impl;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/internal/infra/ServiceConnector$Impl;->onServiceConnectionStatusChanged(Landroid/os/IInterface;Z)V
+HPLcom/android/internal/infra/ServiceConnector$Impl;->onServiceConnectionStatusChanged(Landroid/os/IInterface;Z)V
 PLcom/android/internal/infra/ServiceConnector$Impl;->onServiceUnbound()V
 HPLcom/android/internal/infra/ServiceConnector$Impl;->onTimeout()V
 HSPLcom/android/internal/infra/ServiceConnector$Impl;->postAsync(Lcom/android/internal/infra/ServiceConnector$Job;)Lcom/android/internal/infra/AndroidFuture;
@@ -31569,8 +28284,7 @@
 HPLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Ljava/lang/String;)Z
 HPLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
 PLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Ljava/util/List;Ljava/util/List;)V
-PLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;-><init>()V
-PLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/inputmethod/SubtypeLocaleUtils;->constructLocaleFromString(Ljava/lang/String;)Ljava/util/Locale;
 HSPLcom/android/internal/location/GpsNetInitiatedHandler$1;-><init>(Lcom/android/internal/location/GpsNetInitiatedHandler;)V
@@ -31586,19 +28300,13 @@
 HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
 HSPLcom/android/internal/location/ILocationProvider$Stub;-><init>()V
 HSPLcom/android/internal/location/ILocationProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProvider;
-HSPLcom/android/internal/location/ILocationProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/location/ILocationProviderManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/location/ILocationProviderManager$Stub$Proxy;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
 HSPLcom/android/internal/location/ILocationProviderManager$Stub;-><init>()V
-PLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/location/ILocationProviderManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProviderManager;
+HPLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/location/ILocationProviderManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderProperties;
 HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLcom/android/internal/location/ProviderProperties;-><init>(ZZZZZZZII)V
 HSPLcom/android/internal/location/ProviderProperties;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderRequest;
-HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLcom/android/internal/location/ProviderRequest$Builder;-><init>()V
 HSPLcom/android/internal/location/ProviderRequest$Builder;->build()Lcom/android/internal/location/ProviderRequest;
 HSPLcom/android/internal/location/ProviderRequest$Builder;->getInterval()J
@@ -31613,6 +28321,7 @@
 HPLcom/android/internal/location/ProviderRequest;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;-><init>(Lcom/android/internal/location/gnssmetrics/GnssMetrics;Lcom/android/internal/app/IBatteryStats;)V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;-><init>(Lcom/android/internal/location/gnssmetrics/GnssMetrics;Lcom/android/internal/app/IBatteryStats;Lcom/android/internal/location/gnssmetrics/GnssMetrics$1;)V
+PLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->buildProto()Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
 PLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
 PLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->getSignalLevel(D)I
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->reportSignalQuality([FI)V
@@ -31621,13 +28330,21 @@
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->addItem(D)V
 PLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getCount()I
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->reset()V
-HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;-><init>(Lcom/android/internal/app/IBatteryStats;)V
+PLcom/android/internal/location/gnssmetrics/GnssMetrics;->dumpGnssMetricsAsProtoString()Ljava/lang/String;
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->isL5Sv(F)Z
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logCn0([FI[F)V
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logCn0L5(I[F[F)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logPositionAccuracyMeters(F)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logReceivedLocationStatus(Z)V
 HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logSvStatus(Landroid/location/GnssStatus;)V
+PLcom/android/internal/location/gnssmetrics/GnssMetrics;->logTimeToFirstFixMilliSecs(I)V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;->reset()V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;->resetConstellationTypes()V
+PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->clear()Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
+PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->computeSerializedSize()I
+PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+PLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->computeSerializedSize()I
+PLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HSPLcom/android/internal/logging/AndroidConfig;-><init>()V
 HSPLcom/android/internal/logging/AndroidHandler$1;->format(Ljava/util/logging/LogRecord;)Ljava/lang/String;
 HSPLcom/android/internal/logging/AndroidHandler;-><init>()V
@@ -31642,6 +28359,7 @@
 HSPLcom/android/internal/logging/InstanceId;-><init>(I)V
 HSPLcom/android/internal/logging/InstanceId;-><init>(Landroid/os/Parcel;)V
 HSPLcom/android/internal/logging/InstanceId;-><init>(Landroid/os/Parcel;Lcom/android/internal/logging/InstanceId$1;)V
+HSPLcom/android/internal/logging/InstanceId;->getId()I
 HSPLcom/android/internal/logging/MetricsLogger;-><init>()V
 HSPLcom/android/internal/logging/MetricsLogger;->action(I)V
 HSPLcom/android/internal/logging/MetricsLogger;->action(II)V
@@ -31653,7 +28371,6 @@
 HSPLcom/android/internal/logging/MetricsLogger;->count(Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->getLogger()Lcom/android/internal/logging/MetricsLogger;
 HSPLcom/android/internal/logging/MetricsLogger;->hidden(I)V
-HPLcom/android/internal/logging/MetricsLogger;->hidden(Landroid/content/Context;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->histogram(Landroid/content/Context;Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->histogram(Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->saveLog(Landroid/metrics/LogMaker;)V
@@ -31662,10 +28379,10 @@
 HPLcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
 HSPLcom/android/internal/logging/UiEventLoggerImpl;-><init>()V
+HSPLcom/android/internal/logging/UiEventLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;)V
 HSPLcom/android/internal/logging/UiEventLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;ILjava/lang/String;)V
 HSPLcom/android/internal/net/INetworkWatchlistManager$Stub;-><init>()V
 PLcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
-HPLcom/android/internal/net/INetworkWatchlistManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/notification/SystemNotificationChannels;->createAll(Landroid/content/Context;)V
 HSPLcom/android/internal/notification/SystemNotificationChannels;->newAccountChannel(Landroid/content/Context;)Landroid/app/NotificationChannel;
 HSPLcom/android/internal/notification/SystemNotificationChannels;->removeDeprecated(Landroid/content/Context;)V
@@ -31762,13 +28479,16 @@
 HSPLcom/android/internal/os/BatteryStatsHistory;->getNextParcel(Landroid/os/BatteryStats$HistoryItem;)Landroid/os/Parcel;
 HPLcom/android/internal/os/BatteryStatsHistory;->readFileToParcel(Landroid/os/Parcel;Landroid/util/AtomicFile;)Z
 HSPLcom/android/internal/os/BatteryStatsHistory;->readFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsHistory;->resetAllFiles()V
 HSPLcom/android/internal/os/BatteryStatsHistory;->setActiveFile(I)V
 HPLcom/android/internal/os/BatteryStatsHistory;->skipHead(Landroid/os/Parcel;)Z
 HSPLcom/android/internal/os/BatteryStatsHistory;->startIteratingHistory()Z
 HSPLcom/android/internal/os/BatteryStatsHistory;->startNextFile()V
+HSPLcom/android/internal/os/BatteryStatsHistory;->writeToParcel(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$1;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$2;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-PLcom/android/internal/os/BatteryStatsImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/os/BatteryStatsImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$3;->run()V
 HSPLcom/android/internal/os/BatteryStatsImpl$5;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Parcel;Landroid/util/AtomicFile;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$5;->run()V
 HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
@@ -31781,6 +28501,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->recomputeLastDuration(JZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$1;)V
+HPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Constants;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Handler;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->startObserving(Landroid/content/ContentResolver;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateBatteryChargedDelayMsLocked()V
@@ -31800,40 +28521,46 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-PLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->reset(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
 HPLcom/android/internal/os/BatteryStatsImpl$Counter;->addAtomic(I)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$Counter;->getCountLocked(I)I
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStarted(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->stepAtomic()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->detach()V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStarted(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V
@@ -31851,12 +28578,14 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Looper;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->add(Ljava/lang/String;Ljava/lang/Object;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->cleanup()V
 HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->getMap()Landroid/util/ArrayMap;
 HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->startObject(Ljava/lang/String;)Ljava/lang/Object;
 HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;)Ljava/lang/Object;
@@ -31873,10 +28602,12 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeCurrentCountLocked()I
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeRunTimeLocked(J)J
+HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->isRunningLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;)J
+HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->reset(Z)Z
 HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setMark(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V
@@ -31897,6 +28628,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->setRunning(ZJJ)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeSummaryToParcel(Landroid/os/Parcel;JJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I
 HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J
@@ -31914,6 +28646,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Ljava/lang/Object;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->detach()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getLaunches(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTime(JI)J
@@ -31925,6 +28658,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V
@@ -31934,6 +28668,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(IIZ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addForegroundTimeLocked(J)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->detach()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumAnrs(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumCrashes(I)I
@@ -31953,6 +28688,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->reset()Z
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2400(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2402(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
@@ -31969,6 +28705,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundServiceTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVibratorOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVideoTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->detachFromTimeBase()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
@@ -32076,6 +28813,8 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOnLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOffLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOnLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastDisabledLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastEnabledLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRadioApWakeupLocked()V
@@ -32087,6 +28826,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readSyncSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readWakeSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->removeIsolatedUid(I)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->reset(JJ)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(I)V
@@ -32135,7 +28875,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull([[Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->excludeFromStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(IIIIIIII)V
-PLcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl;->getAttributionUid(ILandroid/os/WorkSource$WorkChain;)I
 HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptime(J)J
@@ -32231,6 +28971,7 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->hasWifiActivityReporting()Z
 HPLcom/android/internal/os/BatteryStatsImpl;->includeInStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/internal/os/BatteryStatsImpl;->init(Lcom/android/internal/os/BatteryStatsImpl$Clocks;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->initActiveHistoryEventsLocked(JJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->initDischarge()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->initTimes(JJ)V
 HPLcom/android/internal/os/BatteryStatsImpl;->isCharging()Z
@@ -32288,6 +29029,7 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneStateLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->notePowerSaveModeLocked(Z)V
 PLcom/android/internal/os/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteProcessCrashLocked(Ljava/lang/String;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessStartLocked(Ljava/lang/String;I)V
@@ -32309,6 +29051,8 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteUserActivityLocked(II)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOffLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOnLocked(IJ)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOffLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOnLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeUpLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
@@ -32345,13 +29089,14 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->recordCurrentTimeChangeLocked(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsIfNeededLocked(Z)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->registerUsbStateReceiver(Landroid/content/Context;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->removeIsolatedUidLocked(I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->reportChangesToStatsLog(Landroid/os/BatteryStats$HistoryItem;III)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->requestImmediateCpuUpdate()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->scheduleRemoveIsolatedUidLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->scheduleSyncExternalStatsLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIII)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setChargingLocked(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->setExternalStatsSyncLocked(Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;)V
@@ -32380,6 +29125,8 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateWifiState(Landroid/os/connectivity/WifiActivityEnergyInfo;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyItemsLocked(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyLevelSteps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryBuffer(Landroid/os/Parcel;ZZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;Landroid/os/BatteryStats$HistoryItem;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryLocked(Z)V
@@ -32445,7 +29192,7 @@
 HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;-><init>(Lcom/android/internal/os/CachedDeviceState;)V
 HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->access$000(Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;)V
 PLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->elapsedTime()J
-PLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
+HPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
 HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->isRunning()Z
 HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->reset()V
 HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->start()V
@@ -32464,9 +29211,7 @@
 HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;IZLjava/lang/String;)Ljava/lang/ClassLoader;
 HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;IZLjava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
 HSPLcom/android/internal/os/ClassLoaderFactory;->getPathClassLoaderName()Ljava/lang/String;
-HSPLcom/android/internal/os/ClassLoaderFactory;->isDelegateLastClassLoaderName(Ljava/lang/String;)Z
 HSPLcom/android/internal/os/ClassLoaderFactory;->isPathClassLoaderName(Ljava/lang/String;)Z
-HSPLcom/android/internal/os/ClassLoaderFactory;->isValidClassLoaderName(Ljava/lang/String;)Z
 HSPLcom/android/internal/os/CpuPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
 HSPLcom/android/internal/os/CpuPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
 HSPLcom/android/internal/os/FlashlightPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
@@ -32486,10 +29231,9 @@
 HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->add(Landroid/os/DropBoxManager$Entry;)V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
 HSPLcom/android/internal/os/IDropBoxManagerService$Stub;-><init>()V
 HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
+PLcom/android/internal/os/IDropBoxManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/os/IDropBoxManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -32500,7 +29244,6 @@
 HSPLcom/android/internal/os/IResultReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;-><init>(Lcom/android/internal/os/KernelCpuProcStringReader;I)V
 HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->close()V
-HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->hasNextLine()Z
 HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->nextLine()Ljava/nio/CharBuffer;
 HSPLcom/android/internal/os/KernelCpuProcStringReader;->access$100(Lcom/android/internal/os/KernelCpuProcStringReader;)Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
 HSPLcom/android/internal/os/KernelCpuProcStringReader;->asLongs(Ljava/nio/CharBuffer;[J)I
@@ -32542,6 +29285,7 @@
 HPLcom/android/internal/os/KernelCpuThreadReaderDiff;->changeToDiffs(Ljava/util/Map;Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;)V
 HPLcom/android/internal/os/KernelCpuThreadReaderDiff;->cpuTimeDiff([I[I)[I
 HPLcom/android/internal/os/KernelCpuThreadReaderDiff;->createCpuUsageMap(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/internal/os/KernelCpuThreadReaderDiff;->getCpuFrequenciesKhz()[I
 HPLcom/android/internal/os/KernelCpuThreadReaderDiff;->getProcessCpuUsageDiffed()Ljava/util/ArrayList;
 HPLcom/android/internal/os/KernelCpuThreadReaderDiff;->totalCpuUsage([I)I
 HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;-><init>(Ljava/util/List;)V
@@ -32551,22 +29295,16 @@
 HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;->getSettingsModifiedReader(Landroid/content/Context;)Lcom/android/internal/os/KernelCpuThreadReaderDiff;
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->sumActiveTime([J)J
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->sumClusterTime()V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;-><init>(Ljava/lang/String;Lcom/android/internal/os/KernelCpuProcStringReader;Z)V
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->copyToCurTimes()V
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->extractClusterInfoFromProcFileFreqs()Landroid/util/IntArray;
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->perClusterTimesAvailable()Z
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Lcom/android/internal/os/PowerProfile;)[J
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Ljava/lang/String;)[J
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;-><init>(Z)V
 HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readAbsoluteImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
 HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
@@ -32589,8 +29327,6 @@
 HSPLcom/android/internal/os/KernelWakelockStats;-><init>()V
 HSPLcom/android/internal/os/LoggingPrintStream$1;-><init>()V
 HSPLcom/android/internal/os/LoggingPrintStream;-><init>()V
-HSPLcom/android/internal/os/LoggingPrintStream;->flush(Z)V
-HSPLcom/android/internal/os/LoggingPrintStream;->println(Ljava/lang/Object;)V
 HSPLcom/android/internal/os/LoggingPrintStream;->println(Ljava/lang/String;)V
 HSPLcom/android/internal/os/LooperStats$Entry;-><init>(Ljava/lang/String;)V
 HSPLcom/android/internal/os/LooperStats$Entry;->idFor(Landroid/os/Message;Z)I
@@ -32603,7 +29339,7 @@
 HPLcom/android/internal/os/LooperStats;->getEntries()Ljava/util/List;
 HSPLcom/android/internal/os/LooperStats;->getSystemUptimeMillis()J
 HSPLcom/android/internal/os/LooperStats;->getThreadTimeMicro()J
-PLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
+HPLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
 HSPLcom/android/internal/os/LooperStats;->messageDispatchStarting()Ljava/lang/Object;
 HSPLcom/android/internal/os/LooperStats;->messageDispatched(Ljava/lang/Object;Landroid/os/Message;)V
 HSPLcom/android/internal/os/LooperStats;->reset()V
@@ -32744,6 +29480,7 @@
 HSPLcom/android/internal/os/Zygote;->disableExecuteOnly(I)V
 HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;IZ[Ljava/lang/String;)I
 HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)I
+HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;Z)I
 HSPLcom/android/internal/os/Zygote;->forkSystemServer(II[II[[IJJ)I
 HSPLcom/android/internal/os/Zygote;->getConfigurationProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/os/Zygote;->getConfigurationPropertyBoolean(Ljava/lang/String;Ljava/lang/Boolean;)Z
@@ -32813,40 +29550,25 @@
 HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V
 HSPLcom/android/internal/policy/-$$Lambda$PhoneWindow$9SyKQeTuaYx7qUIMJIr4Lk2OpYw;-><init>(Lcom/android/internal/policy/PhoneWindow;)V
 HSPLcom/android/internal/policy/-$$Lambda$PhoneWindow$9SyKQeTuaYx7qUIMJIr4Lk2OpYw;->onContentApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/util/Pair;
+HSPLcom/android/internal/policy/-$$Lambda$PhoneWindow$F9lizKYeW8CQHD_8FLjKaBpUfBQ;->onContentApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/util/Pair;
 HSPLcom/android/internal/policy/DecorContext;-><init>(Landroid/content/Context;Landroid/content/Context;)V
 HSPLcom/android/internal/policy/DecorContext;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
 HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources;
 HSPLcom/android/internal/policy/DecorContext;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
 HSPLcom/android/internal/policy/DecorContext;->setPhoneWindow(Lcom/android/internal/policy/PhoneWindow;)V
-HSPLcom/android/internal/policy/DecorView$2;-><init>(Lcom/android/internal/policy/DecorView;Landroid/graphics/drawable/Drawable;IIII)V
 HSPLcom/android/internal/policy/DecorView$2;->getPadding(Landroid/graphics/Rect;)Z
-HSPLcom/android/internal/policy/DecorView$3;-><init>(Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView$ColorViewState;)V
 HSPLcom/android/internal/policy/DecorView$3;->run()V
-HSPLcom/android/internal/policy/DecorView$6;-><init>(Lcom/android/internal/policy/DecorView;Lcom/android/internal/view/FloatingActionMode;)V
-HSPLcom/android/internal/policy/DecorView$6;->onPreDraw()Z
-HSPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;-><init>(Lcom/android/internal/policy/DecorView;Landroid/view/ActionMode$Callback;)V
-HSPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onCreateActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z
-HSPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onDestroyActionMode(Landroid/view/ActionMode;)V
-HSPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onGetContentRect(Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V
-HSPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z
 HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(IIZ)Z
 HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(Landroid/view/InsetsState;IZ)Z
+HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(ZIZ)Z
 HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(ZIIZ)Z
 HSPLcom/android/internal/policy/DecorView$ColorViewState;-><init>(Lcom/android/internal/policy/DecorView$ColorViewAttributes;)V
 HSPLcom/android/internal/policy/DecorView;-><init>(Landroid/content/Context;ILcom/android/internal/policy/PhoneWindow;Landroid/view/WindowManager$LayoutParams;)V
-HSPLcom/android/internal/policy/DecorView;->access$500(Lcom/android/internal/policy/DecorView;)Landroid/content/Context;
-HSPLcom/android/internal/policy/DecorView;->access$600(Lcom/android/internal/policy/DecorView;)Landroid/view/ActionMode;
-HSPLcom/android/internal/policy/DecorView;->access$602(Lcom/android/internal/policy/DecorView;Landroid/view/ActionMode;)Landroid/view/ActionMode;
-HSPLcom/android/internal/policy/DecorView;->access$800(Lcom/android/internal/policy/DecorView;)V
-HSPLcom/android/internal/policy/DecorView;->access$900(Lcom/android/internal/policy/DecorView;)Lcom/android/internal/policy/PhoneWindow;
 HSPLcom/android/internal/policy/DecorView;->calculateBarColor(IIIIIIZ)I
 HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor()I
 HSPLcom/android/internal/policy/DecorView;->calculateStatusBarColor()I
-HSPLcom/android/internal/policy/DecorView;->cleanupFloatingActionModeViews()V
-HSPLcom/android/internal/policy/DecorView;->createActionMode(ILandroid/view/ActionMode$Callback2;Landroid/view/View;)Landroid/view/ActionMode;
 HSPLcom/android/internal/policy/DecorView;->createDecorCaptionView(Landroid/view/LayoutInflater;)Lcom/android/internal/widget/DecorCaptionView;
-HSPLcom/android/internal/policy/DecorView;->createFloatingActionMode(Landroid/view/View;Landroid/view/ActionMode$Callback2;)Landroid/view/ActionMode;
 HSPLcom/android/internal/policy/DecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
@@ -32861,17 +29583,21 @@
 HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Lcom/android/internal/policy/DecorView$ColorViewState;Landroid/graphics/Region;)Z
 HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I
 HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable;
+HSPLcom/android/internal/policy/DecorView;->getCaptionHeight()I
+HSPLcom/android/internal/policy/DecorView;->getCaptionInsetsHeight()I
 HSPLcom/android/internal/policy/DecorView;->getColorViewBottomInset(II)I
 HSPLcom/android/internal/policy/DecorView;->getColorViewRightInset(II)I
 HSPLcom/android/internal/policy/DecorView;->getColorViewTopInset(II)I
 HSPLcom/android/internal/policy/DecorView;->getNavBarSize(III)I
 HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;
 HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String;
+HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController;
 HSPLcom/android/internal/policy/DecorView;->initResizingPaints()V
 HSPLcom/android/internal/policy/DecorView;->initializeElevation()V
 HSPLcom/android/internal/policy/DecorView;->isNavBarToLeftEdge(II)Z
 HSPLcom/android/internal/policy/DecorView;->isNavBarToRightEdge(II)Z
 HSPLcom/android/internal/policy/DecorView;->isResizing()Z
+HSPLcom/android/internal/policy/DecorView;->isShowingCaption()Z
 HSPLcom/android/internal/policy/DecorView;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
 HSPLcom/android/internal/policy/DecorView;->onAttachedToWindow()V
 HSPLcom/android/internal/policy/DecorView;->onCloseSystemDialogs(Ljava/lang/String;)V
@@ -32888,26 +29614,23 @@
 HSPLcom/android/internal/policy/DecorView;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->onWindowFocusChanged(Z)V
 HSPLcom/android/internal/policy/DecorView;->onWindowSystemUiVisibilityChanged(I)V
+HSPLcom/android/internal/policy/DecorView;->providePendingInsetsController()Landroid/view/PendingInsetsController;
 HSPLcom/android/internal/policy/DecorView;->releaseThreadedRenderer()V
 HSPLcom/android/internal/policy/DecorView;->sendAccessibilityEvent(I)V
 HSPLcom/android/internal/policy/DecorView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLcom/android/internal/policy/DecorView;->setBackgroundFallback(Landroid/graphics/drawable/Drawable;)V
 HSPLcom/android/internal/policy/DecorView;->setColor(Landroid/view/View;IIZZ)V
 HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z
-HSPLcom/android/internal/policy/DecorView;->setHandledActionMode(Landroid/view/ActionMode;)V
-HSPLcom/android/internal/policy/DecorView;->setHandledFloatingActionMode(Landroid/view/ActionMode;)V
 HSPLcom/android/internal/policy/DecorView;->setWindow(Lcom/android/internal/policy/PhoneWindow;)V
 HSPLcom/android/internal/policy/DecorView;->setWindowBackground(Landroid/graphics/drawable/Drawable;)V
 HSPLcom/android/internal/policy/DecorView;->setWindowFrame(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/policy/DecorView;->showContextMenuForChildInternal(Landroid/view/View;FF)Z
-HSPLcom/android/internal/policy/DecorView;->startActionMode(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
-HSPLcom/android/internal/policy/DecorView;->startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
 HSPLcom/android/internal/policy/DecorView;->startChanging()V
 HSPLcom/android/internal/policy/DecorView;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->updateAvailableWidth()V
 HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V
 HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIIZZIZZLandroid/view/InsetsState;)V
+HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIIZZIZZLandroid/view/WindowInsetsController;)V
 HSPLcom/android/internal/policy/DecorView;->updateColorViewTranslations()V
 HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;
 HSPLcom/android/internal/policy/DecorView;->updateDecorCaptionStatus(Landroid/content/res/Configuration;)V
@@ -32954,7 +29677,6 @@
 HSPLcom/android/internal/policy/IKeyguardService$Stub;-><init>()V
 PLcom/android/internal/policy/IKeyguardService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardService;
 HSPLcom/android/internal/policy/IKeyguardService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onHasLockscreenWallpaperChanged(Z)V
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onInputRestrictedStateChanged(Z)V
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onShowingStateChanged(Z)V
@@ -32962,7 +29684,6 @@
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;->onTrustedChanged(Z)V
 PLcom/android/internal/policy/IKeyguardStateCallback$Stub;-><init>()V
 PLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardStateCallback;
 HPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLcom/android/internal/policy/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/policy/IShortcutService$Stub;-><init>()V
@@ -33002,7 +29723,6 @@
 HSPLcom/android/internal/policy/PhoneWindow;->closeContextMenu()V
 HSPLcom/android/internal/policy/PhoneWindow;->closePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Z)V
 HSPLcom/android/internal/policy/PhoneWindow;->createDefaultContentWindowInsetsListener()Landroid/view/Window$OnContentApplyWindowInsetsListener;
-HSPLcom/android/internal/policy/PhoneWindow;->dismissContextMenu()V
 HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
 HSPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->generateDecor(I)Lcom/android/internal/policy/DecorView;
@@ -33014,17 +29734,15 @@
 HSPLcom/android/internal/policy/PhoneWindow;->getNavigationBarColor()I
 HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZ)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
 HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZLcom/android/internal/policy/PhoneWindow$PanelFeatureState;)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
-HSPLcom/android/internal/policy/PhoneWindow;->getStatusBarColor()I
 HSPLcom/android/internal/policy/PhoneWindow;->getTransition(Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
-HSPLcom/android/internal/policy/PhoneWindow;->getTransitionBackgroundFadeDuration()J
 HSPLcom/android/internal/policy/PhoneWindow;->getViewRootImpl()Landroid/view/ViewRootImpl;
-HSPLcom/android/internal/policy/PhoneWindow;->getVolumeControlStream()I
 HSPLcom/android/internal/policy/PhoneWindow;->installDecor()V
 HSPLcom/android/internal/policy/PhoneWindow;->invalidatePanelMenu(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->isFloating()Z
 HSPLcom/android/internal/policy/PhoneWindow;->isShowingWallpaper()Z
 HSPLcom/android/internal/policy/PhoneWindow;->isTranslucent()Z
 HSPLcom/android/internal/policy/PhoneWindow;->lambda$createDefaultContentWindowInsetsListener$0$PhoneWindow(Landroid/view/WindowInsets;)Landroid/util/Pair;
+HSPLcom/android/internal/policy/PhoneWindow;->lambda$static$0(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/util/Pair;
 HSPLcom/android/internal/policy/PhoneWindow;->onActive()V
 HSPLcom/android/internal/policy/PhoneWindow;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLcom/android/internal/policy/PhoneWindow;->onKeyDown(IILandroid/view/KeyEvent;)Z
@@ -33047,7 +29765,6 @@
 HSPLcom/android/internal/policy/PhoneWindow;->setDefaultWindowFormat(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarColor(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarContrastEnforced(Z)V
-HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarDividerColor(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setStatusBarColor(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTheme(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTitle(Ljava/lang/CharSequence;)V
@@ -33056,7 +29773,6 @@
 HSPLcom/android/internal/policy/PhoneWindow;->setVolumeControlStream(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/PhoneWindow;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLcom/android/internal/policy/PhoneWindow;->transitionTo(Landroid/transition/Scene;)V
 HSPLcom/android/internal/policy/ScreenDecorationsUtils;->getWindowCornerRadius(Landroid/content/res/Resources;)F
 HSPLcom/android/internal/policy/ScreenDecorationsUtils;->supportsRoundedCornersOnWindows(Landroid/content/res/Resources;)Z
 HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -33069,6 +29785,7 @@
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onSystemBarAppearanceChanged(II[Lcom/android/internal/view/AppearanceRegion;Z)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setImeWindowStatus(ILandroid/os/IBinder;IIZZ)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setTopAppHidesStatusBar(Z)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setWindowState(III)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->topAppWindowChanged(IZZ)V
 HSPLcom/android/internal/statusbar/IStatusBar$Stub;-><init>()V
 HSPLcom/android/internal/statusbar/IStatusBar$Stub;->asBinder()Landroid/os/IBinder;
@@ -33076,7 +29793,7 @@
 HSPLcom/android/internal/statusbar/IStatusBar$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->clearInlineReplyUriPermissions(Ljava/lang/String;)V
-HPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->clearNotificationEffects()V
+HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->clearNotificationEffects()V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
@@ -33112,24 +29829,20 @@
 HSPLcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/UserHandle;Ljava/lang/String;Landroid/graphics/drawable/Icon;IILjava/lang/CharSequence;)V
 HSPLcom/android/internal/statusbar/StatusBarIcon;->clone()Lcom/android/internal/statusbar/StatusBarIcon;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallCapablePhoneAccounts(ZLjava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallState()I
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCurrentTtyMode(Ljava/lang/String;Ljava/lang/String;)I
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInCall(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telecom/ITelecomService$Stub;-><init>()V
 HSPLcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService;
 HSPLcom/android/internal/telecom/ITelecomService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/telecom/IVideoProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoProvider;
+HSPLcom/android/internal/telephony/CarrierAppUtils;->disableCarrierAppsUntilPrivileged(Ljava/lang/String;ILandroid/content/Context;)V
 HSPLcom/android/internal/telephony/CarrierAppUtils;->disableCarrierAppsUntilPrivileged(Ljava/lang/String;Landroid/telephony/TelephonyManager;Landroid/content/ContentResolver;ILandroid/util/ArraySet;Landroid/util/ArrayMap;Landroid/content/Context;)V
+HSPLcom/android/internal/telephony/CarrierAppUtils;->getApplicationInfoIfSystemApp(ILjava/lang/String;Landroid/content/Context;)Landroid/content/pm/ApplicationInfo;
 HSPLcom/android/internal/telephony/CarrierAppUtils;->getContentResolverForUser(Landroid/content/Context;I)Landroid/content/ContentResolver;
 HSPLcom/android/internal/telephony/CarrierAppUtils;->getDefaultCarrierAssociatedAppsHelper(ILandroid/util/ArrayMap;Landroid/content/Context;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BIIIII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubIdWithFeature(ILjava/lang/String;Ljava/lang/String;)Landroid/os/PersistableBundle;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ICarrierConfigLoader;
+HSPLcom/android/internal/telephony/CarrierAppUtils;->isUpdatedSystemApp(Landroid/content/pm/ApplicationInfo;)Z
 HSPLcom/android/internal/telephony/IMms$Stub;-><init>()V
 HPLcom/android/internal/telephony/IMms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -33154,74 +29867,24 @@
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneStateListener;
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1NumberForSubscriber(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getSubscriberIdForSubscriber(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneSubInfo;
-HSPLcom/android/internal/telephony/ISms$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ISms$Stub$Proxy;->getPreferredSmsSubscription()I
-HSPLcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveDataSubscriptionId()I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList(Z)[I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCount(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCountMax()I
+HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailNumberForSubscriber(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfo(ILjava/lang/String;Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getAvailableSubscriptionInfoList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSimStateForSlotIndex(I)I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I
-HSPLcom/android/internal/telephony/ISub$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISub;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackage(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActivePhoneTypeForSlot(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAllCellInfo(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatus(I)I
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatusForUid(II)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCellLocation(Ljava/lang/String;Ljava/lang/String;)Landroid/telephony/CellIdentity;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataActivityForSubId(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataNetworkTypeForSubscriber(ILjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataStateForSubId(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceIdWithFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEmergencyNumberList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImeiForSlot(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1NumberForDisplay(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMeidForSlot(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMergedImsisFromGroup(ILjava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkCountryIsoForPhone(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkTypeForSubscriber(ILjava/lang/String;Ljava/lang/String;)I
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPackagesWithCarrierPrivilegesForAllPhones()Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getServiceStateForSubscriber(ILjava/lang/String;Ljava/lang/String;)Landroid/telephony/ServiceState;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubIdForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubscriptionCarrierId(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;Ljava/lang/String;)I
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isAvailable(III)Z
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataEnabled(I)Z
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isEmergencyNumber(Ljava/lang/String;Z)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isTetheringApnRequiredForSubscriber(I)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isUserDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestCellInfoUpdate(ILandroid/telephony/ICellInfoCallback;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestCellInfoUpdateWithWorkSource(ILandroid/telephony/ICellInfoCallback;Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->setPolicyDataEnabled(ZI)V
-HSPLcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony;
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listenForSubscriber(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;-><init>()V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry;
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/SmsAddress;-><init>()V
-HSPLcom/android/internal/telephony/SmsAddress;->couldBeEmailGateway()Z
 HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$000(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$002(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
@@ -33245,13 +29908,6 @@
 HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsPackage(Landroid/content/Context;I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/SmsApplication;->getIncomingUserId(Landroid/content/Context;)I
 HSPLcom/android/internal/telephony/SmsApplication;->tryFixExclusiveSmsAppops(Landroid/content/Context;Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Z)Z
-HSPLcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V
-HSPLcom/android/internal/telephony/SmsHeader;-><init>()V
-HSPLcom/android/internal/telephony/SmsHeader;->fromByteArray([B)Lcom/android/internal/telephony/SmsHeader;
-HSPLcom/android/internal/telephony/SmsMessageBase;-><init>()V
-HSPLcom/android/internal/telephony/SmsMessageBase;->getMessageBody()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsMessageBase;->getOriginatingAddress()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsMessageBase;->parseMessageBody()V
 HSPLcom/android/internal/telephony/TelephonyCommonStatsLog;->write(ILjava/lang/String;Ljava/lang/String;ZZ)V
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
@@ -33264,27 +29920,7 @@
 HSPLcom/android/internal/telephony/TelephonyPermissions;->enforceCarrierPrivilege(Landroid/content/Context;IILjava/lang/String;)V
 HSPLcom/android/internal/telephony/TelephonyPermissions;->getCarrierPrivilegeStatus(Landroid/content/Context;II)I
 HSPLcom/android/internal/telephony/TelephonyPermissions;->reportAccessDeniedToReadIdentifiers(Landroid/content/Context;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/euicc/IEuiccController;
-HSPLcom/android/internal/telephony/gsm/GsmSmsAddress;-><init>([BII)V
-HSPLcom/android/internal/telephony/gsm/GsmSmsAddress;->isAlphanumeric()Z
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;-><init>([B)V
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->constructUserData(ZZ)I
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getAddress()Lcom/android/internal/telephony/gsm/GsmSmsAddress;
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getByte()I
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getSCAddress()Ljava/lang/String;
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getSCTimestampMillis()J
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserData()[B
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserDataGSM7Bit(III)Ljava/lang/String;
-HSPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserDataHeader()Lcom/android/internal/telephony/SmsHeader;
-HSPLcom/android/internal/telephony/gsm/SmsMessage;-><init>()V
-HSPLcom/android/internal/telephony/gsm/SmsMessage;->createFromPdu([B)Lcom/android/internal/telephony/gsm/SmsMessage;
-HSPLcom/android/internal/telephony/gsm/SmsMessage;->parsePdu([B)V
-HSPLcom/android/internal/telephony/gsm/SmsMessage;->parseSmsDeliver(Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;I)V
-HSPLcom/android/internal/telephony/gsm/SmsMessage;->parseUserData(Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;Z)V
 HSPLcom/android/internal/telephony/uicc/IccUtils;->bytesToHexString([B)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->gsmBcdByteToInt(B)I
-HSPLcom/android/internal/telephony/util/HandlerExecutor;-><init>(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/util/HandlerExecutor;->execute(Ljava/lang/Runnable;)V
 HSPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onClose()V
@@ -33323,19 +29959,15 @@
 HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureStartValues(Landroid/transition/TransitionValues;)V
 HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureValues(Landroid/transition/TransitionValues;)V
 HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->createRectAnimator(Landroid/view/View;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLandroid/transition/TransitionValues;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;)Landroid/animation/Animator;
-HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->getBestRect(Landroid/transition/TransitionValues;)Landroid/graphics/Rect;
-HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->getEpicenterOrCenter(Landroid/graphics/Rect;)Landroid/graphics/Rect;
 HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
 HSPLcom/android/internal/transition/TransitionConstants;-><clinit>()V
-HPLcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;-><init>(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)V
+HPLcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;->test(Ljava/lang/Object;)Z
 HPLcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;->run()V
 HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/IntRange;ILjava/lang/String;J)V
 HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/IntRange;ILjava/lang/String;JLjava/lang/String;J)V
 HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/IntRange;JLjava/lang/String;J)V
 HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/NonNull;Ljava/lang/Object;)V
 HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Ljava/lang/annotation/Annotation;I)V
-HSPLcom/android/internal/util/ArrayUtils;->add(Ljava/util/ArrayList;ILjava/lang/Object;)Ljava/util/ArrayList;
-HSPLcom/android/internal/util/ArrayUtils;->add(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
 HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;Z)[Ljava/lang/Object;
 HSPLcom/android/internal/util/ArrayUtils;->appendInt([II)[I
@@ -33373,7 +30005,6 @@
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedLongArray(I)[J
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object;
 HSPLcom/android/internal/util/ArrayUtils;->referenceEquals(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLcom/android/internal/util/ArrayUtils;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
 HSPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLcom/android/internal/util/ArrayUtils;->removeInt([II)[I
 HSPLcom/android/internal/util/ArrayUtils;->size(Ljava/util/Collection;)I
@@ -33395,7 +30026,6 @@
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(IIILjava/lang/Object;)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/BitUtils;->bitAt(I)J
-HSPLcom/android/internal/util/BitUtils;->isBitSet(JI)Z
 HSPLcom/android/internal/util/BitUtils;->packBits([I)J
 HSPLcom/android/internal/util/BitUtils;->toBytes(J)[B
 HSPLcom/android/internal/util/BitUtils;->uint8(B)I
@@ -33406,7 +30036,7 @@
 HSPLcom/android/internal/util/CollectionUtils;->isEmpty(Ljava/util/Collection;)Z
 HPLcom/android/internal/util/CollectionUtils;->map(Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Set;
 HSPLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Collection;)I
-PLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Map;)I
+HSPLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Map;)I
 HSPLcom/android/internal/util/ConcurrentUtils$1$1;-><init>(Lcom/android/internal/util/ConcurrentUtils$1;Ljava/lang/String;Ljava/lang/Runnable;)V
 HSPLcom/android/internal/util/ConcurrentUtils$1$1;->run()V
 HSPLcom/android/internal/util/ConcurrentUtils$1;-><init>(Ljava/lang/String;I)V
@@ -33416,19 +30046,21 @@
 HSPLcom/android/internal/util/ConcurrentUtils;->waitForCountDownNoInterrupt(Ljava/util/concurrent/CountDownLatch;JLjava/lang/String;)V
 HSPLcom/android/internal/util/ConcurrentUtils;->waitForFutureNoInterrupt(Ljava/util/concurrent/Future;Ljava/lang/String;)Ljava/lang/Object;
 HSPLcom/android/internal/util/ConcurrentUtils;->wtfIfLockHeld(Ljava/lang/String;Ljava/lang/Object;)V
+HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->LABToColor(DDD)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->LABToXYZ(DDD[D)V
+HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->RGBToLAB(III[D)V
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->RGBToXYZ(III[D)V
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->XYZToColor(DDD)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->XYZToLAB(DDD[D)V
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->calculateContrast(II)D
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->calculateLuminance(I)D
+HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->colorToLAB(I[D)V
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->colorToXYZ(I[D)V
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->compositeAlpha(II)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->compositeColors(II)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->compositeComponent(IIIII)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->constrain(III)I
 HSPLcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;->getTempDouble3Array()[D
-HSPLcom/android/internal/util/ContrastColorUtil;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/util/ContrastColorUtil;->calculateContrast(II)D
 HSPLcom/android/internal/util/ContrastColorUtil;->clearColorSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLcom/android/internal/util/ContrastColorUtil;->compositeColors(II)I
@@ -33437,6 +30069,7 @@
 HSPLcom/android/internal/util/ContrastColorUtil;->findContrastColor(IIZD)I
 HSPLcom/android/internal/util/ContrastColorUtil;->getInstance(Landroid/content/Context;)Lcom/android/internal/util/ContrastColorUtil;
 HSPLcom/android/internal/util/ContrastColorUtil;->resolveColor(Landroid/content/Context;IZ)I
+HSPLcom/android/internal/util/ContrastColorUtil;->resolveContrastColor(Landroid/content/Context;II)I
 HSPLcom/android/internal/util/ContrastColorUtil;->resolveContrastColor(Landroid/content/Context;IIZ)I
 HSPLcom/android/internal/util/ContrastColorUtil;->resolveDefaultColor(Landroid/content/Context;IZ)I
 HSPLcom/android/internal/util/ContrastColorUtil;->resolvePrimaryColor(Landroid/content/Context;IZ)I
@@ -33447,6 +30080,7 @@
 HPLcom/android/internal/util/DumpUtils;->checkDumpPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
 HPLcom/android/internal/util/DumpUtils;->checkUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
 HPLcom/android/internal/util/DumpUtils;->filterRecord(Ljava/lang/String;)Ljava/util/function/Predicate;
+HPLcom/android/internal/util/DumpUtils;->lambda$filterRecord$2(ILjava/lang/String;Landroid/content/ComponentName$WithComponentName;)Z
 HSPLcom/android/internal/util/EmergencyAffordanceManager;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;-><init>(I)V
 HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;->add(I)V
@@ -33507,13 +30141,13 @@
 HPLcom/android/internal/util/FileRotator;->writeFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Writer;)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IIJII)V
 HSPLcom/android/internal/util/FrameworkStatsLog;->write(IILandroid/util/SparseArray;)V
+HSPLcom/android/internal/util/FrameworkStatsLog;->write(IILjava/lang/String;I)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
 HSPLcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;->accept(Ljava/lang/Object;)V
 HSPLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;->accept(Ljava/lang/Object;)V
 HPLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->run()V
-HPLcom/android/internal/util/FunctionalUtils;->handleExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)Ljava/lang/Runnable;
 HSPLcom/android/internal/util/FunctionalUtils;->ignoreRemoteException(Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;)Ljava/util/function/Consumer;
 HPLcom/android/internal/util/FunctionalUtils;->lambda$handleExceptions$0(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)V
 HSPLcom/android/internal/util/FunctionalUtils;->uncheckExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)Ljava/util/function/Consumer;
@@ -33583,6 +30217,8 @@
 HSPLcom/android/internal/util/NotificationMessagingUtil;->isDefaultMessagingApp(Landroid/service/notification/StatusBarNotification;)Z
 HSPLcom/android/internal/util/NotificationMessagingUtil;->isImportantMessaging(Landroid/service/notification/StatusBarNotification;I)Z
 HSPLcom/android/internal/util/ObjectUtils;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
+HSPLcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;->parcel(Ljava/lang/Boolean;Landroid/os/Parcel;I)V
+HSPLcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;->unparcel(Landroid/os/Parcel;)Ljava/lang/Boolean;
 HSPLcom/android/internal/util/Parcelling$Cache;-><clinit>()V
 HSPLcom/android/internal/util/Parcelling$Cache;->get(Ljava/lang/Class;)Lcom/android/internal/util/Parcelling;
 HSPLcom/android/internal/util/Parcelling$Cache;->put(Lcom/android/internal/util/Parcelling;)Lcom/android/internal/util/Parcelling;
@@ -33627,6 +30263,7 @@
 HSPLcom/android/internal/util/RingBuffer;->getNextSlot()Ljava/lang/Object;
 HSPLcom/android/internal/util/RingBuffer;->indexOf(J)I
 HSPLcom/android/internal/util/RingBuffer;->size()I
+HPLcom/android/internal/util/RingBuffer;->toArray()[Ljava/lang/Object;
 HSPLcom/android/internal/util/RingBufferIndices;-><init>(I)V
 HPLcom/android/internal/util/RingBufferIndices;->add()I
 HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V
@@ -33660,12 +30297,16 @@
 HSPLcom/android/internal/util/StateMachine$SmHandler;->getCurrentState()Lcom/android/internal/util/IState;
 HSPLcom/android/internal/util/StateMachine$SmHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->invokeEnterMethods(I)V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->invokeExitMethods(Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->isQuit(Landroid/os/Message;)Z
+HSPLcom/android/internal/util/StateMachine$SmHandler;->moveDeferredMessageAtFrontOfQueue()V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->moveTempStateStackToStateStack()I
 HSPLcom/android/internal/util/StateMachine$SmHandler;->performTransitions(Lcom/android/internal/util/State;Landroid/os/Message;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->processMsg(Landroid/os/Message;)Lcom/android/internal/util/State;
 HSPLcom/android/internal/util/StateMachine$SmHandler;->setInitialState(Lcom/android/internal/util/State;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->setupInitialStateStack()V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->setupTempStateStackWithStatesToEnter(Lcom/android/internal/util/State;)Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
+HSPLcom/android/internal/util/StateMachine$SmHandler;->transitionTo(Lcom/android/internal/util/IState;)V
 HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;)V
 HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;Landroid/os/Handler;)V
 HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
@@ -33685,10 +30326,9 @@
 HSPLcom/android/internal/util/StateMachine;->setInitialState(Lcom/android/internal/util/State;)V
 HSPLcom/android/internal/util/StateMachine;->setLogRecSize(I)V
 HSPLcom/android/internal/util/StateMachine;->start()V
+HSPLcom/android/internal/util/StateMachine;->transitionTo(Lcom/android/internal/util/IState;)V
 HSPLcom/android/internal/util/SyncResultReceiver;-><init>(I)V
 HSPLcom/android/internal/util/SyncResultReceiver;->getIntResult()I
-HSPLcom/android/internal/util/SyncResultReceiver;->getOptionalExtraIntResult(I)I
-HSPLcom/android/internal/util/SyncResultReceiver;->getParcelableResult()Landroid/os/Parcelable;
 HSPLcom/android/internal/util/SyncResultReceiver;->send(ILandroid/os/Bundle;)V
 HSPLcom/android/internal/util/SyncResultReceiver;->waitResult()V
 HSPLcom/android/internal/util/TokenBucket;-><init>(II)V
@@ -33705,7 +30345,6 @@
 HSPLcom/android/internal/util/VirtualRefBasePtr;->release()V
 HSPLcom/android/internal/util/XmlUtils;->beginDocument(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
 HSPLcom/android/internal/util/XmlUtils;->convertValueToBoolean(Ljava/lang/CharSequence;Z)Z
-HSPLcom/android/internal/util/XmlUtils;->convertValueToInt(Ljava/lang/CharSequence;I)I
 HSPLcom/android/internal/util/XmlUtils;->nextElement(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/internal/util/XmlUtils;->nextElementWithin(Lorg/xmlpull/v1/XmlPullParser;I)Z
 HSPLcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
@@ -33813,7 +30452,7 @@
 HSPLcom/android/internal/view/AppearanceRegion;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/view/BaseIWindow;-><init>()V
 HSPLcom/android/internal/view/BaseIWindow;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
+HPLcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
 HSPLcom/android/internal/view/BaseIWindow;->dispatchWindowShown()V
 HSPLcom/android/internal/view/BaseIWindow;->insetsChanged(Landroid/view/InsetsState;)V
 HSPLcom/android/internal/view/BaseIWindow;->setSession(Landroid/view/IWindowSession;)V
@@ -33878,7 +30517,6 @@
 HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageISC(IIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
 HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/view/IInputConnectionWrapper;->performEditorAction(I)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->requestUpdateCursorAnchorInfo(IILcom/android/internal/view/IInputContextCallback;)V
 HSPLcom/android/internal/view/IInputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)V
 HSPLcom/android/internal/view/IInputConnectionWrapper;->setComposingRegion(II)V
 HSPLcom/android/internal/view/IInputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)V
@@ -33890,18 +30528,17 @@
 HSPLcom/android/internal/view/IInputContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setCursorCapsMode(II)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setRequestUpdateCursorAnchorInfoResult(ZI)V
 HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setSelectedText(Ljava/lang/CharSequence;I)V
 HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
 HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
 HSPLcom/android/internal/view/IInputContextCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContextCallback;
-PLcom/android/internal/view/IInputMethod$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/internal/view/IInputMethod$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->bindInput(Landroid/view/inputmethod/InputBinding;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->hideSoftInput(ILandroid/os/ResultReceiver;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
+HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->showSoftInput(Landroid/os/IBinder;ILandroid/os/ResultReceiver;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;ZZ)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->unbindInput()V
 HPLcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
@@ -33920,6 +30557,7 @@
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList(I)Ljava/util/List;
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
+HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
 HSPLcom/android/internal/view/IInputMethodManager$Stub;-><init>()V
@@ -33931,12 +30569,10 @@
 HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateSelection(IIIIII)V
 HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->viewClicked(Z)V
 HSPLcom/android/internal/view/IInputMethodSession$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodSession;
-HPLcom/android/internal/view/IInputSessionCallback$Stub;-><init>()V
 HPLcom/android/internal/view/IInputSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/view/IInputSessionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/view/InputBindResult;
 HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/internal/view/InputBindResult;-><init>(ILcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;Ljava/lang/String;ILandroid/graphics/Matrix;)V
 HSPLcom/android/internal/view/InputBindResult;-><init>(Landroid/os/Parcel;)V
 HSPLcom/android/internal/view/InputBindResult;->getActivityViewToScreenMatrix()Landroid/graphics/Matrix;
 HPLcom/android/internal/view/InputBindResult;->writeToParcel(Landroid/os/Parcel;I)V
@@ -33960,13 +30596,11 @@
 HSPLcom/android/internal/view/menu/BaseMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
 HSPLcom/android/internal/view/menu/BaseMenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
 HSPLcom/android/internal/view/menu/BaseMenuPresenter;->updateMenuView(Z)V
-HSPLcom/android/internal/view/menu/ContextMenuBuilder;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIII)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->addMenuPresenter(Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->clear()V
 HSPLcom/android/internal/view/menu/MenuBuilder;->close()V
 HSPLcom/android/internal/view/menu/MenuBuilder;->close(Z)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->createNewMenuItem(IIIILjava/lang/CharSequence;I)Lcom/android/internal/view/menu/MenuItemImpl;
@@ -33984,14 +30618,11 @@
 HSPLcom/android/internal/view/menu/MenuBuilder;->onItemVisibleChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->onItemsChanged(Z)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->setCallback(Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->setCurrentMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->setDefaultShowAsAction(I)Lcom/android/internal/view/menu/MenuBuilder;
 HSPLcom/android/internal/view/menu/MenuBuilder;->setShortcutsVisibleInner(Z)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->size()I
 HSPLcom/android/internal/view/menu/MenuBuilder;->startDispatchingItemsChanged()V
 HSPLcom/android/internal/view/menu/MenuBuilder;->stopDispatchingItemsChanged()V
 HSPLcom/android/internal/view/menu/MenuItemImpl;-><init>(Lcom/android/internal/view/menu/MenuBuilder;IIIILjava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/menu/MenuItemImpl;->applyIconTintIfNecessary(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getActionProvider()Landroid/view/ActionProvider;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getContentDescription()Ljava/lang/CharSequence;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getGroupId()I
@@ -34001,7 +30632,6 @@
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getSubMenu()Landroid/view/SubMenu;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getTitle()Ljava/lang/CharSequence;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->getTooltipText()Ljava/lang/CharSequence;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->hasCollapsibleActionView()Z
 HSPLcom/android/internal/view/menu/MenuItemImpl;->hasSubMenu()Z
 HSPLcom/android/internal/view/menu/MenuItemImpl;->isActionButton()Z
 HSPLcom/android/internal/view/menu/MenuItemImpl;->isActionViewExpanded()Z
@@ -34028,6 +30658,8 @@
 HSPLcom/android/internal/view/menu/MenuPopupHelper;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZII)V
 HSPLcom/android/internal/view/menu/MenuPopupHelper;->setGravity(I)V
 HSPLcom/android/internal/view/menu/MenuPopupHelper;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
+HSPLcom/android/internal/widget/-$$Lambda$DKD2sNhLnyRFoBkFvfwKyxoEx10;-><clinit>()V
+HSPLcom/android/internal/widget/-$$Lambda$DKD2sNhLnyRFoBkFvfwKyxoEx10;-><init>()V
 HSPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$-uEfRwR-_1oHxMvRVdmbNRdukDM;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;Landroid/widget/ImageButton;)V
 HSPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)V
 HSPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
@@ -34132,7 +30764,6 @@
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;Landroid/content/Context;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;->onMeasure(II)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$12;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;Landroid/content/Context;I)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$12;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$13;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$1;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$2;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)V
@@ -34145,104 +30776,50 @@
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$LogAccelerateInterpolator;->computeLog(FI)F
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;-><init>(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;->awakenScrollBars()Z
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;->onMeasure(II)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;->calculateWidth(Landroid/view/MenuItem;)I
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;->createMenuButton(Landroid/view/MenuItem;)Landroid/view/View;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;->getView(Landroid/view/MenuItem;ILandroid/view/View;)Landroid/view/View;
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;->shouldShowIcon(Landroid/view/MenuItem;)Z
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;-><init>(Landroid/content/Context;Landroid/view/View;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$1000(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Landroid/widget/PopupWindow;
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$2100(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Z
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$2300(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Landroid/util/Size;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$2400(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$2500(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Landroid/content/Context;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$2600(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Landroid/util/Size;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->access$400(Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;)Landroid/view/ViewGroup;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->calculateOverflowHeight(I)I
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->cancelDismissAndHideAnimations()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->cancelOverflowAnimations()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->clearPanels()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->createMainPanel()Landroid/view/ViewGroup;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->createOverflowAnimationListener()Landroid/view/animation/Animation$AnimationListener;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->createOverflowButton()Landroid/widget/ImageButton;
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->createOverflowPanel()Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->dismiss()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->getAdjustedToolbarWidth(I)I
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->getOverflowWidth()I
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->hasOverflow()Z
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->hide()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->isInRTLMode()Z
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->isOverflowAnimating()Z
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->isShowing()Z
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->lambda$new$0$FloatingToolbar$FloatingToolbarPopup(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->layoutMainPanelItems(Ljava/util/List;I)Ljava/util/List;
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->layoutMenuItems(Ljava/util/List;Landroid/view/MenuItem$OnMenuItemClickListener;I)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->layoutOverflowPanelItems(Ljava/util/List;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->maybeComputeTransitionDurationScale()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->measure(Landroid/view/View;)Landroid/util/Size;
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->preparePopupContent()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->refreshCoordinatesAndOverflowDirection(Landroid/graphics/Rect;)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->refreshViewPort()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->runDismissAnimation()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->runShowAnimation()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setButtonTagAndClickListener(Landroid/view/View;Landroid/view/MenuItem;)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setContentAreaAsTouchableSurface()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setPanelsStatesAtRestingPosition()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setSize(Landroid/view/View;II)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setSize(Landroid/view/View;Landroid/util/Size;)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setTouchableSurfaceInsetsComputer()V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setZeroTouchableSurface()V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->show(Landroid/graphics/Rect;)V
-HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->updateOverflowHeight(I)V
 HSPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->updatePopupSize()V
 HSPLcom/android/internal/widget/FloatingToolbar;-><init>(Landroid/view/Window;)V
-HSPLcom/android/internal/widget/FloatingToolbar;->access$1100(Landroid/view/View;ILandroid/animation/Animator$AnimatorListener;)Landroid/animation/AnimatorSet;
-HSPLcom/android/internal/widget/FloatingToolbar;->access$2000(Landroid/content/Context;Landroid/view/MenuItem;IZ)Landroid/view/View;
-HSPLcom/android/internal/widget/FloatingToolbar;->access$2700(Landroid/view/View;Landroid/view/MenuItem;IZ)V
-HSPLcom/android/internal/widget/FloatingToolbar;->access$600(Landroid/content/Context;)Landroid/view/ViewGroup;
-HSPLcom/android/internal/widget/FloatingToolbar;->access$700(Landroid/view/ViewGroup;)Landroid/widget/PopupWindow;
-HSPLcom/android/internal/widget/FloatingToolbar;->access$900(Landroid/view/View;)Landroid/animation/AnimatorSet;
 HSPLcom/android/internal/widget/FloatingToolbar;->applyDefaultTheme(Landroid/content/Context;)Landroid/content/Context;
 HSPLcom/android/internal/widget/FloatingToolbar;->createContentContainer(Landroid/content/Context;)Landroid/view/ViewGroup;
 HSPLcom/android/internal/widget/FloatingToolbar;->createEnterAnimation(Landroid/view/View;)Landroid/animation/AnimatorSet;
 HSPLcom/android/internal/widget/FloatingToolbar;->createExitAnimation(Landroid/view/View;ILandroid/animation/Animator$AnimatorListener;)Landroid/animation/AnimatorSet;
-HSPLcom/android/internal/widget/FloatingToolbar;->createMenuItemButton(Landroid/content/Context;Landroid/view/MenuItem;IZ)Landroid/view/View;
 HSPLcom/android/internal/widget/FloatingToolbar;->createPopupWindow(Landroid/view/ViewGroup;)Landroid/widget/PopupWindow;
-HSPLcom/android/internal/widget/FloatingToolbar;->dismiss()V
 HSPLcom/android/internal/widget/FloatingToolbar;->doShow()V
 HSPLcom/android/internal/widget/FloatingToolbar;->getVisibleAndEnabledMenuItems(Landroid/view/Menu;)Ljava/util/List;
-HSPLcom/android/internal/widget/FloatingToolbar;->hide()V
 HSPLcom/android/internal/widget/FloatingToolbar;->isCurrentlyShowing(Ljava/util/List;)Z
 HSPLcom/android/internal/widget/FloatingToolbar;->lambda$new$1(Landroid/view/MenuItem;Landroid/view/MenuItem;)I
-HSPLcom/android/internal/widget/FloatingToolbar;->registerOrientationHandler()V
-HSPLcom/android/internal/widget/FloatingToolbar;->setContentRect(Landroid/graphics/Rect;)Lcom/android/internal/widget/FloatingToolbar;
-HSPLcom/android/internal/widget/FloatingToolbar;->setMenu(Landroid/view/Menu;)Lcom/android/internal/widget/FloatingToolbar;
-HSPLcom/android/internal/widget/FloatingToolbar;->setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Lcom/android/internal/widget/FloatingToolbar;
-HSPLcom/android/internal/widget/FloatingToolbar;->show()Lcom/android/internal/widget/FloatingToolbar;
-HSPLcom/android/internal/widget/FloatingToolbar;->unregisterOrientationHandler()V
-HSPLcom/android/internal/widget/FloatingToolbar;->updateLayout()Lcom/android/internal/widget/FloatingToolbar;
 HSPLcom/android/internal/widget/FloatingToolbar;->updateMenuItemButton(Landroid/view/View;Landroid/view/MenuItem;IZ)V
-PLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->onCredentialVerified()V
 HSPLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;-><init>()V
 HSPLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ICheckCredentialProgressCallback;
 HSPLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkCredential(Lcom/android/internal/widget/LockscreenCredential;ILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkVoldPassword(I)Z
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getBoolean(Ljava/lang/String;ZI)Z
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getCredentialType(I)I
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoverySecretTypes()[I
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getSeparateProfileChallengeEnabled(I)Z
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setBoolean(Ljava/lang/String;ZI)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoverySecretTypes([I)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setServerParams([B)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
 HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->userPresent(I)V
 HSPLcom/android/internal/widget/ILockSettings$Stub;-><init>()V
 HSPLcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
@@ -34273,7 +30850,6 @@
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getDefaultFlags(Landroid/content/Context;)I
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getStrongAuthForUser(I)I
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->isBiometricAllowedForUser(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->isTrustAllowedForUser(I)Z
 PLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
 HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;)V
@@ -34293,9 +30869,8 @@
 HSPLcom/android/internal/widget/LockPatternUtils;->getLockoutAttemptDeadline(I)J
 HSPLcom/android/internal/widget/LockPatternUtils;->getPowerButtonInstantlyLocks(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->getString(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/LockPatternUtils;->getTrustManager()Landroid/app/trust/TrustManager;
 HSPLcom/android/internal/widget/LockPatternUtils;->getUserManager()Landroid/os/UserManager;
-HPLcom/android/internal/widget/LockPatternUtils;->hasSecureLockScreen()Z
+HSPLcom/android/internal/widget/LockPatternUtils;->hasSecureLockScreen()Z
 HSPLcom/android/internal/widget/LockPatternUtils;->hasSeparateChallenge(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->isLockScreenDisabled(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->isManagedProfile(I)Z
@@ -34320,7 +30895,7 @@
 HPLcom/android/internal/widget/LockscreenCredential;->checkAgainstStoredType(I)Z
 HSPLcom/android/internal/widget/LockscreenCredential;->createNone()Lcom/android/internal/widget/LockscreenCredential;
 HSPLcom/android/internal/widget/LockscreenCredential;->duplicate()Lcom/android/internal/widget/LockscreenCredential;
-HPLcom/android/internal/widget/LockscreenCredential;->ensureNotZeroized()V
+HSPLcom/android/internal/widget/LockscreenCredential;->ensureNotZeroized()V
 HPLcom/android/internal/widget/LockscreenCredential;->getCredential()[B
 HPLcom/android/internal/widget/LockscreenCredential;->getType()I
 HPLcom/android/internal/widget/LockscreenCredential;->isNone()Z
@@ -34329,16 +30904,58 @@
 HSPLcom/android/internal/widget/LockscreenCredential;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/widget/LockscreenCredential;->zeroize()V
 HSPLcom/android/internal/widget/MessagingGroup;-><clinit>()V
+HSPLcom/android/internal/widget/MessagingGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/widget/MessagingGroup;->calculateSendingTextColor()I
+HSPLcom/android/internal/widget/MessagingGroup;->createGroup(Lcom/android/internal/widget/MessagingLinearLayout;)Lcom/android/internal/widget/MessagingGroup;
 HSPLcom/android/internal/widget/MessagingGroup;->dropCache()V
+HSPLcom/android/internal/widget/MessagingGroup;->getMessages()Ljava/util/List;
+HSPLcom/android/internal/widget/MessagingGroup;->getSender()Landroid/app/Person;
+HSPLcom/android/internal/widget/MessagingGroup;->getSenderName()Ljava/lang/CharSequence;
+HSPLcom/android/internal/widget/MessagingGroup;->needsGeneratedAvatar()Z
+HSPLcom/android/internal/widget/MessagingGroup;->onFinishInflate()V
+HSPLcom/android/internal/widget/MessagingGroup;->removeFromParentIfDifferent(Lcom/android/internal/widget/MessagingMessage;Landroid/view/ViewGroup;)Z
+HSPLcom/android/internal/widget/MessagingGroup;->setAvatar(Landroid/graphics/drawable/Icon;)V
+HSPLcom/android/internal/widget/MessagingGroup;->setLayoutColor(I)V
+HSPLcom/android/internal/widget/MessagingGroup;->setMessages(Ljava/util/List;)V
+HSPLcom/android/internal/widget/MessagingGroup;->setSender(Landroid/app/Person;Ljava/lang/CharSequence;)V
+HSPLcom/android/internal/widget/MessagingGroup;->setSending(Z)V
+HSPLcom/android/internal/widget/MessagingGroup;->setTextColors(II)V
+HSPLcom/android/internal/widget/MessagingGroup;->updateImageContainerVisibility()V
+HSPLcom/android/internal/widget/MessagingGroup;->updateMessageColor()V
 HSPLcom/android/internal/widget/MessagingImageMessage;-><clinit>()V
 HSPLcom/android/internal/widget/MessagingImageMessage;->dropCache()V
+HSPLcom/android/internal/widget/MessagingLayout;-><clinit>()V
+HSPLcom/android/internal/widget/MessagingLinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/widget/MessagingLinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/widget/MessagingLinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HSPLcom/android/internal/widget/MessagingLinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Lcom/android/internal/widget/MessagingLinearLayout$LayoutParams;
 HSPLcom/android/internal/widget/MessagingMessage;->dropCache()V
+HSPLcom/android/internal/widget/MessagingMessage;->getGroup()Lcom/android/internal/widget/MessagingGroup;
+HSPLcom/android/internal/widget/MessagingMessage;->getMessage()Landroid/app/Notification$MessagingStyle$Message;
+HSPLcom/android/internal/widget/MessagingMessage;->getView()Landroid/view/View;
+HSPLcom/android/internal/widget/MessagingMessage;->hasImage(Landroid/app/Notification$MessagingStyle$Message;)Z
+HSPLcom/android/internal/widget/MessagingMessage;->setIsHistoric(Z)V
+HSPLcom/android/internal/widget/MessagingMessage;->setMessage(Landroid/app/Notification$MessagingStyle$Message;)Z
+HSPLcom/android/internal/widget/MessagingMessage;->setMessagingGroup(Lcom/android/internal/widget/MessagingGroup;)V
+HSPLcom/android/internal/widget/MessagingMessageState;-><init>(Landroid/view/View;)V
+HSPLcom/android/internal/widget/MessagingMessageState;->getGroup()Lcom/android/internal/widget/MessagingGroup;
+HSPLcom/android/internal/widget/MessagingMessageState;->getMessage()Landroid/app/Notification$MessagingStyle$Message;
+HSPLcom/android/internal/widget/MessagingMessageState;->setGroup(Lcom/android/internal/widget/MessagingGroup;)V
+HSPLcom/android/internal/widget/MessagingMessageState;->setIsHistoric(Z)V
+HSPLcom/android/internal/widget/MessagingMessageState;->setMessage(Landroid/app/Notification$MessagingStyle$Message;)V
 HSPLcom/android/internal/widget/MessagingPropertyAnimator$1;-><init>(Ljava/lang/String;)V
 HSPLcom/android/internal/widget/MessagingPropertyAnimator;-><clinit>()V
+HSPLcom/android/internal/widget/MessagingPropertyAnimator;-><init>()V
+HSPLcom/android/internal/widget/MessagingPropertyAnimator;->getLayoutTop(Landroid/view/View;)I
 HSPLcom/android/internal/widget/MessagingPropertyAnimator;->getTop(Landroid/view/View;)I
 HSPLcom/android/internal/widget/MessagingPropertyAnimator;->isAnimatingTranslation(Landroid/view/View;)Z
+HSPLcom/android/internal/widget/MessagingPropertyAnimator;->setFirstLayout(Landroid/view/View;Z)V
 HSPLcom/android/internal/widget/MessagingTextMessage;-><clinit>()V
+HSPLcom/android/internal/widget/MessagingTextMessage;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLcom/android/internal/widget/MessagingTextMessage;->dropCache()V
+HSPLcom/android/internal/widget/MessagingTextMessage;->getState()Lcom/android/internal/widget/MessagingMessageState;
+HSPLcom/android/internal/widget/MessagingTextMessage;->setColor(I)V
+HSPLcom/android/internal/widget/MessagingTextMessage;->setMessage(Landroid/app/Notification$MessagingStyle$Message;)Z
 HSPLcom/android/internal/widget/NotificationActionListLayout;-><clinit>()V
 HSPLcom/android/internal/widget/NotificationActionListLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLcom/android/internal/widget/NotificationActionListLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
@@ -34383,8 +31000,6 @@
 HSPLcom/android/internal/widget/VerifyCredentialResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLcom/android/internal/widget/VerifyCredentialResponse;-><clinit>()V
 HSPLcom/android/internal/widget/VerifyCredentialResponse;-><init>(II[B)V
-HPLcom/android/internal/widget/VerifyCredentialResponse;-><init>([B)V
-HSPLcom/android/internal/widget/VerifyCredentialResponse;->getPayload()[B
 HSPLcom/android/internal/widget/VerifyCredentialResponse;->getResponseCode()I
 HPLcom/android/internal/widget/VerifyCredentialResponse;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/widget/ViewClippingUtil$ClippingParameters;->isClippingEnablingAllowed(Landroid/view/View;)Z
@@ -34446,7 +31061,6 @@
 HSPLcom/android/okhttp/Dns$1;->lookup(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/okhttp/Handshake;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
 HSPLcom/android/okhttp/Handshake;->get(Ljavax/net/ssl/SSLSession;)Lcom/android/okhttp/Handshake;
-HSPLcom/android/okhttp/Handshake;->peerCertificates()Ljava/util/List;
 HSPLcom/android/okhttp/Headers$Builder;-><init>()V
 HSPLcom/android/okhttp/Headers$Builder;->access$000(Lcom/android/okhttp/Headers$Builder;)Ljava/util/List;
 HSPLcom/android/okhttp/Headers$Builder;->add(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
@@ -34465,10 +31079,8 @@
 HSPLcom/android/okhttp/Headers;->newBuilder()Lcom/android/okhttp/Headers$Builder;
 HSPLcom/android/okhttp/Headers;->size()I
 HSPLcom/android/okhttp/Headers;->value(I)Ljava/lang/String;
-HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;->checkURLPermitted(Ljava/net/URL;)V
 HSPLcom/android/okhttp/HttpHandler;-><init>()V
 HSPLcom/android/okhttp/HttpHandler;->createHttpOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
-HSPLcom/android/okhttp/HttpHandler;->newOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
 HSPLcom/android/okhttp/HttpHandler;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
 HSPLcom/android/okhttp/HttpUrl$Builder;-><init>()V
 HSPLcom/android/okhttp/HttpUrl$Builder;->build()Lcom/android/okhttp/HttpUrl;
@@ -34495,7 +31107,6 @@
 HSPLcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;)V
 HSPLcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;Lcom/android/okhttp/HttpUrl$1;)V
 HSPLcom/android/okhttp/HttpUrl;->access$200(Ljava/lang/String;IILjava/lang/String;)I
-HSPLcom/android/okhttp/HttpUrl;->canonicalize(Lcom/android/okhttp/okio/Buffer;Ljava/lang/String;IILjava/lang/String;ZZZZ)V
 HSPLcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;IILjava/lang/String;ZZZZ)Ljava/lang/String;
 HSPLcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/lang/String;
 HSPLcom/android/okhttp/HttpUrl;->decodeHexDigit(C)I
@@ -34523,7 +31134,6 @@
 HSPLcom/android/okhttp/HttpUrl;->queryStringToNamesAndValues(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/okhttp/HttpUrl;->scheme()Ljava/lang/String;
 HSPLcom/android/okhttp/HttpUrl;->uri()Ljava/net/URI;
-HSPLcom/android/okhttp/HttpUrl;->url()Ljava/net/URL;
 HSPLcom/android/okhttp/HttpsHandler;-><init>()V
 HSPLcom/android/okhttp/HttpsHandler;->createHttpsOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
 HSPLcom/android/okhttp/HttpsHandler;->newOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
@@ -34544,9 +31154,7 @@
 HSPLcom/android/okhttp/OkHttpClient;->getConnectionPool()Lcom/android/okhttp/ConnectionPool;
 HSPLcom/android/okhttp/OkHttpClient;->getConnectionSpecs()Ljava/util/List;
 HSPLcom/android/okhttp/OkHttpClient;->getCookieHandler()Ljava/net/CookieHandler;
-HSPLcom/android/okhttp/OkHttpClient;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
 HSPLcom/android/okhttp/OkHttpClient;->getDns()Lcom/android/okhttp/Dns;
-HSPLcom/android/okhttp/OkHttpClient;->getFollowRedirects()Z
 HSPLcom/android/okhttp/OkHttpClient;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
 HSPLcom/android/okhttp/OkHttpClient;->getProtocols()Ljava/util/List;
 HSPLcom/android/okhttp/OkHttpClient;->getProxy()Ljava/net/Proxy;
@@ -34561,17 +31169,14 @@
 HSPLcom/android/okhttp/OkHttpClient;->setConnectTimeout(JLjava/util/concurrent/TimeUnit;)V
 HSPLcom/android/okhttp/OkHttpClient;->setConnectionPool(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setConnectionSpecs(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
-HSPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setFollowRedirects(Z)V
 HSPLcom/android/okhttp/OkHttpClient;->setFollowSslRedirects(Z)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setProxy(Ljava/net/Proxy;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setReadTimeout(JLjava/util/concurrent/TimeUnit;)V
-HSPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setSslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setWriteTimeout(JLjava/util/concurrent/TimeUnit;)V
-HSPLcom/android/okhttp/OkUrlFactories;->open(Lcom/android/okhttp/OkUrlFactory;Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
 HSPLcom/android/okhttp/OkUrlFactories;->setUrlFilter(Lcom/android/okhttp/OkUrlFactory;Lcom/android/okhttp/internal/URLFilter;)V
 HSPLcom/android/okhttp/OkUrlFactory;-><init>(Lcom/android/okhttp/OkHttpClient;)V
 HSPLcom/android/okhttp/OkUrlFactory;->client()Lcom/android/okhttp/OkHttpClient;
@@ -34607,8 +31212,6 @@
 HSPLcom/android/okhttp/Request;->isHttps()Z
 HSPLcom/android/okhttp/Request;->method()Ljava/lang/String;
 HSPLcom/android/okhttp/Request;->newBuilder()Lcom/android/okhttp/Request$Builder;
-HSPLcom/android/okhttp/Request;->uri()Ljava/net/URI;
-HSPLcom/android/okhttp/Request;->url()Ljava/net/URL;
 HSPLcom/android/okhttp/Response$Builder;-><init>()V
 HSPLcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response$1;)V
@@ -34650,7 +31253,6 @@
 HSPLcom/android/okhttp/Response;->body()Lcom/android/okhttp/ResponseBody;
 HSPLcom/android/okhttp/Response;->cacheResponse()Lcom/android/okhttp/Response;
 HSPLcom/android/okhttp/Response;->code()I
-HSPLcom/android/okhttp/Response;->handshake()Lcom/android/okhttp/Handshake;
 HSPLcom/android/okhttp/Response;->header(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/Response;->header(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/Response;->headers()Lcom/android/okhttp/Headers;
@@ -34662,7 +31264,6 @@
 HSPLcom/android/okhttp/ResponseBody;-><init>()V
 HSPLcom/android/okhttp/ResponseBody;->byteStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/Route;-><init>(Lcom/android/okhttp/Address;Ljava/net/Proxy;Ljava/net/InetSocketAddress;)V
-HSPLcom/android/okhttp/Route;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/okhttp/Route;->getAddress()Lcom/android/okhttp/Address;
 HSPLcom/android/okhttp/Route;->getProxy()Ljava/net/Proxy;
 HSPLcom/android/okhttp/Route;->getSocketAddress()Ljava/net/InetSocketAddress;
@@ -34680,7 +31281,6 @@
 HSPLcom/android/okhttp/internal/OptionalMethod;->invokeWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/okhttp/internal/OptionalMethod;->isSupported(Ljava/lang/Object;)Z
 HSPLcom/android/okhttp/internal/Platform;->afterHandshake(Ljavax/net/ssl/SSLSocket;)V
-HSPLcom/android/okhttp/internal/Platform;->concatLengthPrefixed(Ljava/util/List;)[B
 HSPLcom/android/okhttp/internal/Platform;->configureTlsExtensions(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V
 HSPLcom/android/okhttp/internal/Platform;->connectSocket(Ljava/net/Socket;Ljava/net/InetSocketAddress;I)V
 HSPLcom/android/okhttp/internal/Platform;->get()Lcom/android/okhttp/internal/Platform;
@@ -34693,15 +31293,11 @@
 HSPLcom/android/okhttp/internal/RouteDatabase;->shouldPostpone(Lcom/android/okhttp/Route;)Z
 HSPLcom/android/okhttp/internal/Util$1;-><init>(Ljava/lang/String;Z)V
 HSPLcom/android/okhttp/internal/Util$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-HSPLcom/android/okhttp/internal/Util;->checkOffsetAndCount(JJJ)V
-HSPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
 HSPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/net/Socket;)V
-HSPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
 HSPLcom/android/okhttp/internal/Util;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLcom/android/okhttp/internal/Util;->hostHeader(Lcom/android/okhttp/HttpUrl;Z)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/Util;->immutableList(Ljava/util/List;)Ljava/util/List;
 HSPLcom/android/okhttp/internal/Util;->immutableList([Ljava/lang/Object;)Ljava/util/List;
-HSPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
 HSPLcom/android/okhttp/internal/Util;->threadFactory(Ljava/lang/String;Z)Ljava/util/concurrent/ThreadFactory;
 HSPLcom/android/okhttp/internal/Util;->toHumanReadableAscii(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;-><init>(JLcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
@@ -34709,18 +31305,10 @@
 HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->getCandidate()Lcom/android/okhttp/internal/http/CacheStrategy;
 HSPLcom/android/okhttp/internal/http/CacheStrategy;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/internal/http/CacheStrategy;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;Lcom/android/okhttp/internal/http/CacheStrategy$1;)V
-HSPLcom/android/okhttp/internal/http/HeaderParser;->skipUntil(Ljava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/okhttp/internal/http/HeaderParser;->skipWhitespace(Ljava/lang/String;I)I
 HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/Http1xStream$1;)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->endOfInput()V
 HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->unexpectedEndOfInput()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/Http1xStream$1;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->close()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->flush()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/HttpEngine;)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->close()V
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
@@ -34740,12 +31328,10 @@
 HSPLcom/android/okhttp/internal/http/Http1xStream;->access$502(Lcom/android/okhttp/internal/http/Http1xStream;I)I
 HSPLcom/android/okhttp/internal/http/Http1xStream;->access$600(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/okio/BufferedSource;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->access$700(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/internal/http/StreamAllocation;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->cancel()V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->detachTimeout(Lcom/android/okhttp/okio/ForwardingTimeout;)V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->finishRequest()V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->getTransferStream(Lcom/android/okhttp/Response;)Lcom/android/okhttp/okio/Source;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSink()Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSource(Lcom/android/okhttp/internal/http/HttpEngine;)Lcom/android/okhttp/okio/Source;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSink(J)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSource(J)Lcom/android/okhttp/okio/Source;
@@ -34766,7 +31352,6 @@
 HSPLcom/android/okhttp/internal/http/HttpEngine;->followUpRequest()Lcom/android/okhttp/Request;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->getBufferedRequestBody()Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->getConnection()Lcom/android/okhttp/Connection;
-HSPLcom/android/okhttp/internal/http/HttpEngine;->getRequest()Lcom/android/okhttp/Request;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->getRequestBody()Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->getResponse()Lcom/android/okhttp/Response;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->hasBody(Lcom/android/okhttp/Response;)Z
@@ -34789,12 +31374,10 @@
 HSPLcom/android/okhttp/internal/http/HttpMethod;->requiresRequestBody(Ljava/lang/String;)Z
 HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/okhttp/internal/http/OkHeaders;->addCookies(Lcom/android/okhttp/Request$Builder;Ljava/util/Map;)V
 HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Headers;)J
 HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Request;)J
 HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Response;)J
 HSPLcom/android/okhttp/internal/http/OkHeaders;->stringToLong(Ljava/lang/String;)J
-HSPLcom/android/okhttp/internal/http/OkHeaders;->toMultimap(Lcom/android/okhttp/Headers;Ljava/lang/String;)Ljava/util/Map;
 HSPLcom/android/okhttp/internal/http/RealResponseBody;-><init>(Lcom/android/okhttp/Headers;Lcom/android/okhttp/okio/BufferedSource;)V
 HSPLcom/android/okhttp/internal/http/RealResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
 HSPLcom/android/okhttp/internal/http/RequestLine;->get(Lcom/android/okhttp/Request;Ljava/net/Proxy$Type;)Ljava/lang/String;
@@ -34817,7 +31400,6 @@
 HSPLcom/android/okhttp/internal/http/RouteSelector;->hasNextProxy()Z
 HSPLcom/android/okhttp/internal/http/RouteSelector;->next()Lcom/android/okhttp/Route;
 HSPLcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddress()Ljava/net/InetSocketAddress;
-HSPLcom/android/okhttp/internal/http/RouteSelector;->nextPostponed()Lcom/android/okhttp/Route;
 HSPLcom/android/okhttp/internal/http/RouteSelector;->nextProxy()Ljava/net/Proxy;
 HSPLcom/android/okhttp/internal/http/RouteSelector;->resetNextInetSocketAddress(Ljava/net/Proxy;)V
 HSPLcom/android/okhttp/internal/http/RouteSelector;->resetNextProxy(Lcom/android/okhttp/HttpUrl;Ljava/net/Proxy;)V
@@ -34834,8 +31416,6 @@
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->deallocate(ZZZ)V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->findConnection(IIIZ)Lcom/android/okhttp/internal/io/RealConnection;
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->findHealthyConnection(IIIZZ)Lcom/android/okhttp/internal/io/RealConnection;
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Lcom/android/okhttp/internal/http/RouteException;)Z
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Ljava/io/IOException;)Z
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->newStream(IIIZZ)Lcom/android/okhttp/internal/http/HttpStream;
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->noNewStreams()V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->recover(Lcom/android/okhttp/internal/http/RouteException;)Z
@@ -34844,7 +31424,6 @@
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->release(Lcom/android/okhttp/internal/io/RealConnection;)V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->routeDatabase()Lcom/android/okhttp/internal/RouteDatabase;
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->streamFinished(Lcom/android/okhttp/internal/http/HttpStream;)V
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->toString()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;-><init>(Ljava/net/HttpURLConnection;)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->connect()V
@@ -34852,19 +31431,16 @@
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentEncoding()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentLength()I
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentType()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getErrorStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderFields()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getInputStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperties()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getResponseCode()I
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getResponseMessage()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getURL()Ljava/net/URL;
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setChunkedStreamingMode(I)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setConnectTimeout(I)V
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setDefaultUseCaches(Z)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setDoInput(Z)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setDoOutput(Z)V
 HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setFixedLengthStreamingMode(I)V
@@ -34880,13 +31456,11 @@
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->defaultUserAgent()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->disconnect()V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->execute(Z)Z
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaders()Lcom/android/okhttp/Headers;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponse()Lcom/android/okhttp/internal/http/HttpEngine;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponseCode()I
@@ -34909,23 +31483,19 @@
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentEncoding()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentLength()I
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentType()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseCode()I
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getURL()Ljava/net/URL;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setChunkedStreamingMode(I)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setConnectTimeout(I)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDefaultUseCaches(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoInput(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoOutput(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setFixedLengthStreamingMode(I)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setInstanceFollowRedirects(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setReadTimeout(I)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
@@ -34934,7 +31504,6 @@
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setUseCaches(Z)V
 HSPLcom/android/okhttp/internal/io/RealConnection;-><init>(Lcom/android/okhttp/Route;)V
 HSPLcom/android/okhttp/internal/io/RealConnection;->allocationLimit()I
-HSPLcom/android/okhttp/internal/io/RealConnection;->cancel()V
 HSPLcom/android/okhttp/internal/io/RealConnection;->connect(IIILjava/util/List;Z)V
 HSPLcom/android/okhttp/internal/io/RealConnection;->connectSocket(IIILcom/android/okhttp/internal/ConnectionSpecSelector;)V
 HSPLcom/android/okhttp/internal/io/RealConnection;->connectTls(IILcom/android/okhttp/internal/ConnectionSpecSelector;)V
@@ -34948,15 +31517,6 @@
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyAsIpAddress(Ljava/lang/String;)Z
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Z
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;-><init>(Lcom/android/okhttp/internalandroidapi/Dns;)V
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->hashCode()I
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->lookup(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;-><init>()V
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->internalOpenConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->openConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setDns(Lcom/android/okhttp/internalandroidapi/Dns;)V
-HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setNewConnectionPool(IJLjava/util/concurrent/TimeUnit;)V
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;-><init>(Lcom/android/okhttp/okio/AsyncTimeout;Lcom/android/okhttp/okio/Sink;)V
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;->flush()V
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;->timeout()Lcom/android/okhttp/okio/Timeout;
@@ -34978,9 +31538,6 @@
 HSPLcom/android/okhttp/okio/AsyncTimeout;->scheduleTimeout(Lcom/android/okhttp/okio/AsyncTimeout;JZ)V
 HSPLcom/android/okhttp/okio/AsyncTimeout;->sink(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/okio/AsyncTimeout;->source(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/Source;
-HSPLcom/android/okhttp/okio/Base64;-><clinit>()V
-HSPLcom/android/okhttp/okio/Base64;->encode([B)Ljava/lang/String;
-HSPLcom/android/okhttp/okio/Base64;->encode([B[B)Ljava/lang/String;
 HSPLcom/android/okhttp/okio/Buffer;-><init>()V
 HSPLcom/android/okhttp/okio/Buffer;->clear()V
 HSPLcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
@@ -34993,7 +31550,6 @@
 HSPLcom/android/okhttp/okio/Buffer;->readByte()B
 HSPLcom/android/okhttp/okio/Buffer;->readByteArray()[B
 HSPLcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
-HSPLcom/android/okhttp/okio/Buffer;->readByteString()Lcom/android/okhttp/okio/ByteString;
 HSPLcom/android/okhttp/okio/Buffer;->readFully([B)V
 HSPLcom/android/okhttp/okio/Buffer;->readHexadecimalUnsignedLong()J
 HSPLcom/android/okhttp/okio/Buffer;->readInt()I
@@ -35009,14 +31565,9 @@
 HSPLcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/Buffer;J)V
 HSPLcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/ByteString;-><init>([B)V
-HSPLcom/android/okhttp/okio/ByteString;->base64()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/ByteString;->hex()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/ByteString;->of([B)Lcom/android/okhttp/okio/ByteString;
 HSPLcom/android/okhttp/okio/ForwardingTimeout;-><init>(Lcom/android/okhttp/okio/Timeout;)V
 HSPLcom/android/okhttp/okio/ForwardingTimeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/ForwardingTimeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
@@ -35041,8 +31592,6 @@
 HSPLcom/android/okhttp/okio/Okio$2;-><init>(Lcom/android/okhttp/okio/Timeout;Ljava/io/InputStream;)V
 HSPLcom/android/okhttp/okio/Okio$2;->read(Lcom/android/okhttp/okio/Buffer;J)J
 HSPLcom/android/okhttp/okio/Okio$3;-><init>(Ljava/net/Socket;)V
-HSPLcom/android/okhttp/okio/Okio$3;->newTimeoutException(Ljava/io/IOException;)Ljava/io/IOException;
-HSPLcom/android/okhttp/okio/Okio$3;->timedOut()V
 HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/BufferedSource;
 HSPLcom/android/okhttp/okio/Okio;->sink(Ljava/io/OutputStream;Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/Sink;
@@ -35059,13 +31608,11 @@
 HSPLcom/android/okhttp/okio/RealBufferedSink;->access$000(Lcom/android/okhttp/okio/RealBufferedSink;)Z
 HSPLcom/android/okhttp/okio/RealBufferedSink;->buffer()Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->close()V
-HSPLcom/android/okhttp/okio/RealBufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->flush()V
 HSPLcom/android/okhttp/okio/RealBufferedSink;->outputStream()Ljava/io/OutputStream;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->timeout()Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/okio/RealBufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/RealBufferedSource$1;-><init>(Lcom/android/okhttp/okio/RealBufferedSource;)V
 HSPLcom/android/okhttp/okio/RealBufferedSource$1;->available()I
@@ -35110,7 +31657,6 @@
 HSPLcom/android/okhttp/okio/Timeout;->timeout(JLjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/Timeout;->timeoutNanos()J
 HSPLcom/android/okhttp/okio/Util;->checkOffsetAndCount(JJJ)V
-HSPLcom/android/okhttp/okio/Util;->reverseBytesInt(I)I
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;-><init>([BI)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->derForm([BI)[B
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->fromInputStream(ILjava/io/InputStream;)Lcom/android/org/bouncycastle/asn1/ASN1BitString;
@@ -35134,12 +31680,10 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readLength(Ljava/io/InputStream;I)I
 HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readTagNumber(Ljava/io/InputStream;I)I
-HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;-><init>(J)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;-><init>(Ljava/math/BigInteger;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;-><init>([BZ)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->encodedLength()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getInstance(Lcom/android/org/bouncycastle/asn1/ASN1TaggedObject;Z)Lcom/android/org/bouncycastle/asn1/ASN1Integer;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Integer;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getPositiveValue()Ljava/math/BigInteger;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getValue()Ljava/math/BigInteger;
@@ -35148,9 +31692,7 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1Object;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Object;->getEncoded(Ljava/lang/String;)[B
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;-><init>([B)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;->hashCode()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>([B)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->asn1Equals(Lcom/android/org/bouncycastle/asn1/ASN1Primitive;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->doOutput(Ljava/io/ByteArrayOutputStream;)V
@@ -35160,10 +31702,6 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getBody()[B
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getId()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->hashCode()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->intern()Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->isValidBranchID(Ljava/lang/String;I)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->isValidIdentifier(Ljava/lang/String;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->toString()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->writeField(Ljava/io/ByteArrayOutputStream;J)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;-><init>(Ljava/io/OutputStream;)V
@@ -35171,7 +31709,6 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->write([B)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeEncoded(I[B)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeLength(I)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeTag(II)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->fromByteArray([B)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
@@ -35179,59 +31716,26 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;-><init>([Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getObjectAt(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getObjects()Ljava/util/Enumeration;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->size()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;-><init>()V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;Z)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Set;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getObjectAt(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getObjects()Ljava/util/Enumeration;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->size()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->sort()V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;-><init>(Ljava/io/InputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;-><init>(Ljava/io/InputStream;I)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readObject()Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readTaggedObject(ZI)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readVector()Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;
-HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->set00Check(Z)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;-><init>(ZILcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;->getObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/DERBitString;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
-HSPLcom/android/org/bouncycastle/asn1/DERBitString;-><init>([B)V
 HSPLcom/android/org/bouncycastle/asn1/DERBitString;-><init>([BI)V
 HSPLcom/android/org/bouncycastle/asn1/DERBitString;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/DERBitString;->encodedLength()I
 HSPLcom/android/org/bouncycastle/asn1/DERBitString;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/DERBitString;
 HSPLcom/android/org/bouncycastle/asn1/DERFactory;->createSequence(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
-HSPLcom/android/org/bouncycastle/asn1/DERFactory;->createSet(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)Lcom/android/org/bouncycastle/asn1/ASN1Set;
-HSPLcom/android/org/bouncycastle/asn1/DERNull;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/DERNull;->encodedLength()I
 HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;-><init>(Ljava/io/OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;->getDERSubStream()Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;
 HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;->writeObject(Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
-HSPLcom/android/org/bouncycastle/asn1/DERPrintableString;-><init>([B)V
-HSPLcom/android/org/bouncycastle/asn1/DERPrintableString;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/DERPrintableString;->encodedLength()I
 HSPLcom/android/org/bouncycastle/asn1/DERSequence;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/DERSequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
-HSPLcom/android/org/bouncycastle/asn1/DERSequence;-><init>([Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/DERSequence;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/DERSequence;->encodedLength()I
 HSPLcom/android/org/bouncycastle/asn1/DERSequence;->getBodyLength()I
-HSPLcom/android/org/bouncycastle/asn1/DERSet;-><init>()V
-HSPLcom/android/org/bouncycastle/asn1/DERSet;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/DERSet;->encodedLength()I
-HSPLcom/android/org/bouncycastle/asn1/DERSet;->getBodyLength()I
-HSPLcom/android/org/bouncycastle/asn1/DERTaggedObject;-><clinit>()V
-HSPLcom/android/org/bouncycastle/asn1/DERTaggedObject;-><init>(ZILcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/DLSequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
-HSPLcom/android/org/bouncycastle/asn1/DLSet;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
-HSPLcom/android/org/bouncycastle/asn1/DateUtil;-><clinit>()V
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;-><init>(Ljava/io/InputStream;I)V
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->getRemaining()I
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->read()I
@@ -35243,21 +31747,7 @@
 HSPLcom/android/org/bouncycastle/asn1/OIDTokenizer;->hasMoreTokens()Z
 HSPLcom/android/org/bouncycastle/asn1/OIDTokenizer;->nextToken()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->calculateBodyLength(I)I
-HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->calculateTagLength(I)I
 HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->findLimit(Ljava/io/InputStream;)I
-HSPLcom/android/org/bouncycastle/asn1/pkcs/RSASSAPSSparams;-><clinit>()V
-HSPLcom/android/org/bouncycastle/asn1/x500/RDN;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Set;)V
-HSPLcom/android/org/bouncycastle/asn1/x500/RDN;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x500/RDN;
-HSPLcom/android/org/bouncycastle/asn1/x500/RDN;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;-><clinit>()V
-HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;-><init>(Lcom/android/org/bouncycastle/asn1/x500/X500NameStyle;Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x500/X500Name;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x500/style/AbstractX500NameStyle;-><init>()V
-HSPLcom/android/org/bouncycastle/asn1/x500/style/AbstractX500NameStyle;->copyHashTable(Ljava/util/Hashtable;)Ljava/util/Hashtable;
-HSPLcom/android/org/bouncycastle/asn1/x500/style/BCStyle;-><clinit>()V
-HSPLcom/android/org/bouncycastle/asn1/x500/style/BCStyle;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
 HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;->getAlgorithm()Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
@@ -35277,17 +31767,8 @@
 HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
 HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->parsePublicKey()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x509/TBSCertificate;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/TBSCertificate;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x509/TBSCertificate;
-HSPLcom/android/org/bouncycastle/asn1/x509/Time;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x509/Time;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;-><clinit>()V
 HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->reset()V
 HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->getSecureRandom()Ljava/security/SecureRandom;
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->PKCS5PasswordToUTF8Bytes([C)[B
 HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->init([B[BI)V
 HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
 HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
@@ -35295,43 +31776,11 @@
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest$SHA1;-><init>()V
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getByteLength()I
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getDigestSize()I
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->reset()V
 HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->update([BII)V
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->getAlgorithmName()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;-><clinit>()V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->desFunc([I[BI[BI)V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->generateWorkingKey(Z[B)[I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESedeEngine;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;-><init>(Lcom/android/org/bouncycastle/crypto/Digest;)V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->F([BI[B[BI)V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedKey(I)[B
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedMacParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;-><clinit>()V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;-><init>(Lcom/android/org/bouncycastle/crypto/Digest;)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;-><init>(Lcom/android/org/bouncycastle/crypto/Digest;I)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->getByteLength(Lcom/android/org/bouncycastle/crypto/Digest;)I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->getMacSize()I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->init(Lcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->update([BII)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->xorPad([BIB)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->reset()V
 HSPLcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;-><init>()V
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;)V
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;Lcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;)V
@@ -35345,9 +31794,6 @@
 HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;-><init>([B)V
 HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;-><init>([BII)V
 HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;->getKey()[B
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;-><init>(Lcom/android/org/bouncycastle/crypto/CipherParameters;[BII)V
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;->getIV()[B
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;->getParameters()Lcom/android/org/bouncycastle/crypto/CipherParameters;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;-><init>(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getEncoded()[B
@@ -35372,9 +31818,6 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;->getEncodedSubjectPublicKeyInfo(Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)[B
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;->getEncodedSubjectPublicKeyInfo(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl;-><init>(Ljava/util/Hashtable;Ljava/util/Vector;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/x509/CertificateFactory;-><clinit>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$Std;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;-><init>(Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;Ljava/lang/String;Ljava/security/cert/Certificate;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getObject()Ljava/lang/Object;
@@ -35384,61 +31827,29 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineLoad(Ljava/io/InputStream;[C)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineSetCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineSize()I
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB$1;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB$1;->get()Lcom/android/org/bouncycastle/crypto/BlockCipher;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;-><init>(Ljava/lang/String;II)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;-><init>(Ljava/lang/String;IIII)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;-><init>(Ljava/lang/String;IILcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$1;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;->engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2WithHmacSHA1;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$PBKDF2WithHmacSHA1UTF8;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;-><init>(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;IIIILjavax/crypto/spec/PBEKeySpec;Lcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getEncoded()[B
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->getOutputSize(I)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->processBytes([BII[BI)I
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;-><init>(Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BlockCipherProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineDoFinal([BII)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineGetOutputSize(I)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactory;-><init>(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)V
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineSetMode(Ljava/lang/String;)V
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineSetPadding(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->convertPassword(ILjavax/crypto/spec/PBEKeySpec;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEGenerator(II)Lcom/android/org/bouncycastle/crypto/PBEParametersGenerator;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEMacParameters(Ljavax/crypto/spec/PBEKeySpec;III)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/jcajce/util/BCJcaJceHelper;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/util/BCJcaJceHelper;->getBouncyCastleProvider()Ljava/security/Provider;
 HSPLcom/android/org/bouncycastle/jcajce/util/DefaultJcaJceHelper;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/util/ProviderJcaJceHelper;-><init>(Ljava/security/Provider;)V
 HSPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;-><init>(Ljava/security/cert/CertStoreParameters;)V
 HPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
 HSPLcom/android/org/bouncycastle/util/Arrays;->areEqual([B[B)Z
 HSPLcom/android/org/bouncycastle/util/Arrays;->clone([B)[B
-HSPLcom/android/org/bouncycastle/util/Arrays;->copyOfRange([BII)[B
-HSPLcom/android/org/bouncycastle/util/Arrays;->fill([BB)V
-HSPLcom/android/org/bouncycastle/util/Arrays;->getLength(II)I
 HSPLcom/android/org/bouncycastle/util/Arrays;->hashCode([B)I
-HSPLcom/android/org/bouncycastle/util/Integers;->valueOf(I)Ljava/lang/Integer;
-HSPLcom/android/org/bouncycastle/util/Pack;->bigEndianToInt([BI)I
-HSPLcom/android/org/bouncycastle/util/Pack;->intToBigEndian(I[BI)V
 HSPLcom/android/org/bouncycastle/util/Properties$1;-><init>(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/util/Properties$1;->run()Ljava/lang/Object;
 HSPLcom/android/org/bouncycastle/util/Properties;->access$000()Ljava/lang/ThreadLocal;
 HSPLcom/android/org/bouncycastle/util/Properties;->fetchProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/util/Properties;->isOverrideSet(Ljava/lang/String;)Z
-HSPLcom/android/org/bouncycastle/util/Strings;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/util/Strings;->toUTF8ByteArray([C)[B
-HSPLcom/android/org/bouncycastle/util/Strings;->toUTF8ByteArray([CLjava/io/OutputStream;)V
 HSPLcom/android/org/bouncycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/util/io/Streams;->readFully(Ljava/io/InputStream;[B)I
 HSPLcom/android/org/bouncycastle/util/io/Streams;->readFully(Ljava/io/InputStream;[BII)I
-HSPLcom/android/org/bouncycastle/x509/X509Util;-><clinit>()V
 HSPLcom/android/org/kxml2/io/KXmlParser;-><init>()V
 HSPLcom/android/org/kxml2/io/KXmlParser;->adjustNsp()Z
 HSPLcom/android/org/kxml2/io/KXmlParser;->close()V
@@ -35450,15 +31861,12 @@
 HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributePrefix(I)Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(I)Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getColumnNumber()I
 HSPLcom/android/org/kxml2/io/KXmlParser;->getDepth()I
 HSPLcom/android/org/kxml2/io/KXmlParser;->getEventType()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getLineNumber()I
 HSPLcom/android/org/kxml2/io/KXmlParser;->getName()Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace()Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespaceCount(I)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getPositionDescription()Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getPrefix()Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->getText()Ljava/lang/String;
 HSPLcom/android/org/kxml2/io/KXmlParser;->keepNamespaceAttributes()V
@@ -35513,7 +31921,7 @@
 HPLcom/android/server/BootReceiver;->addFileWithFootersToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/BootReceiver;->addFsckErrorsToDropBoxAndLogFsStat(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/BootReceiver;->addLastkToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/BootReceiver;->addTextToDropBox(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/BootReceiver;->addTextToDropBox(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/BootReceiver;->getBootHeadersToLogAndUpdate()Ljava/lang/String;
 PLcom/android/server/BootReceiver;->getCurrentBootHeaders()Ljava/lang/String;
 PLcom/android/server/BootReceiver;->getPreviousBootHeaders()Ljava/lang/String;
@@ -35533,11 +31941,9 @@
 HSPLcom/android/server/NetworkManagementSocketTagger$1;->initialValue()Ljava/lang/Object;
 HSPLcom/android/server/NetworkManagementSocketTagger$SocketTags;-><init>()V
 HSPLcom/android/server/NetworkManagementSocketTagger;-><init>()V
-HSPLcom/android/server/NetworkManagementSocketTagger;->getThreadSocketStatsTag()I
 HSPLcom/android/server/NetworkManagementSocketTagger;->install()V
 HSPLcom/android/server/NetworkManagementSocketTagger;->setKernelCounterSet(II)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsTag(I)I
-HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsUid(I)I
 HSPLcom/android/server/NetworkManagementSocketTagger;->tag(Ljava/io/FileDescriptor;)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->tagSocketFd(Ljava/io/FileDescriptor;II)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->unTagSocketFd(Ljava/io/FileDescriptor;)V
@@ -35581,17 +31987,21 @@
 HSPLcom/android/server/SystemConfig;->readPermissionsFromXml(Ljava/io/File;I)V
 HSPLcom/android/server/SystemConfig;->readPrivAppPermissions(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
 HSPLcom/android/server/SystemConfig;->readSplitPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;)V
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;-><init>(Landroid/content/Context;I)V
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAdded(Landroid/content/Context;I)V
 PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAddedInternal(I)V
 PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->getStashFile(I)Ljava/io/File;
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;-><init>()V
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->setErrorCode(I)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->setStateTransition(Ljava/lang/String;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;->clear()Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;-><init>()V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->computeSerializedSize()I
 PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->emptyArray()[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->setDhcpEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->setNetworkEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->setValidationProbeEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ValidationProbeEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpProvisioningEvent;->computeSerializedSize()I
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpProvisioningEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;-><init>()V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->emptyArray()[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ValidationProbeEvent;-><init>()V
@@ -35616,21 +32026,12 @@
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;-><init>()V
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->clear()Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->computeSerializedSize()I
-PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/framework/protobuf/nano/MessageNano;
+HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/framework/protobuf/nano/MessageNano;
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->parseFrom([B)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
 HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/telephony/Rlog;->isLoggable(Ljava/lang/String;I)Z
-HSPLcom/android/telephony/Rlog;->log(ILjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/telephony/Rlog;->pii(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
-HSPLcom/android/telephony/Rlog;->pii(ZLjava/lang/Object;)Ljava/lang/String;
-HSPLcom/android/telephony/Rlog;->secureHash([B)Ljava/lang/String;
-HSPLcom/android/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
 HSPLcom/google/android/collect/Lists;->newArrayList()Ljava/util/ArrayList;
 HSPLcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;
-HSPLcom/google/android/collect/Maps;->newArrayMap()Landroid/util/ArrayMap;
 HSPLcom/google/android/collect/Maps;->newHashMap()Ljava/util/HashMap;
 HSPLcom/google/android/collect/Sets;->newArraySet()Landroid/util/ArraySet;
 HSPLcom/google/android/collect/Sets;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
@@ -35638,16 +32039,13 @@
 HSPLcom/google/android/collect/Sets;->newHashSet([Ljava/lang/Object;)Ljava/util/HashSet;
 HSPLcom/google/android/gles_jni/EGLConfigImpl;-><init>(J)V
 HSPLcom/google/android/gles_jni/EGLContextImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLContextImpl;->equals(Ljava/lang/Object;)Z
 HSPLcom/google/android/gles_jni/EGLContextImpl;->getGL()Ljavax/microedition/khronos/opengles/GL;
 HSPLcom/google/android/gles_jni/EGLDisplayImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLDisplayImpl;->equals(Ljava/lang/Object;)Z
 HSPLcom/google/android/gles_jni/EGLImpl;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
 HSPLcom/google/android/gles_jni/EGLImpl;->eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;
 HSPLcom/google/android/gles_jni/EGLImpl;->eglCreateWindowSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;
 HSPLcom/google/android/gles_jni/EGLImpl;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;
 HSPLcom/google/android/gles_jni/EGLSurfaceImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLSurfaceImpl;->equals(Ljava/lang/Object;)Z
 HSPLcom/google/android/gles_jni/GLImpl;-><init>()V
 HPLcom/google/android/rappor/Encoder;-><init>(Ljava/util/Random;Ljava/security/MessageDigest;Ljava/security/MessageDigest;[BLjava/lang/String;IDDDII)V
 HPLcom/google/android/rappor/Encoder;->checkArgument(ZLjava/lang/Object;)V
@@ -35663,8 +32061,6 @@
 HPLcom/google/android/rappor/HmacDrbg;->nextBytes([B)V
 HPLcom/google/android/rappor/HmacDrbg;->nextBytes([BII)V
 HPLcom/google/android/rappor/HmacDrbg;->setKey([B)V
-HSPLcom/google/android/textclassifier/ActionsSuggestionsModel;->getLocales(I)Ljava/lang/String;
-HSPLcom/google/android/textclassifier/ActionsSuggestionsModel;->getVersion(I)I
 HSPLcom/google/android/textclassifier/AnnotatorModel;->getLocales(I)Ljava/lang/String;
 HSPLcom/google/android/textclassifier/AnnotatorModel;->getVersion(I)I
 HSPLcom/google/android/textclassifier/LangIdModel;->getVersion(I)I
@@ -35710,7 +32106,6 @@
 HSPLdalvik/system/DexFile;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
 HSPLdalvik/system/DexFile;->defineClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Ldalvik/system/DexFile;Ljava/util/List;)Ljava/lang/Class;
 HSPLdalvik/system/DexFile;->finalize()V
-HSPLdalvik/system/DexFile;->getName()Ljava/lang/String;
 HSPLdalvik/system/DexFile;->loadClassBinaryName(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
 HSPLdalvik/system/DexFile;->openDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ljava/lang/Object;
 HSPLdalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;Ljava/io/File;)V
@@ -35751,8 +32146,6 @@
 HSPLdalvik/system/SocketTagger;-><init>()V
 HSPLdalvik/system/SocketTagger;->get()Ldalvik/system/SocketTagger;
 HSPLdalvik/system/SocketTagger;->set(Ldalvik/system/SocketTagger;)V
-HSPLdalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V
-HSPLdalvik/system/SocketTagger;->untag(Ljava/net/Socket;)V
 HSPLdalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String;
 HSPLdalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime;
 HSPLdalvik/system/VMRuntime;->getTargetSdkVersion()I
@@ -35810,14 +32203,11 @@
 HSPLjava/io/BufferedReader;->close()V
 HSPLjava/io/BufferedReader;->ensureOpen()V
 HSPLjava/io/BufferedReader;->fill()V
-HSPLjava/io/BufferedReader;->mark(I)V
 HSPLjava/io/BufferedReader;->read()I
 HSPLjava/io/BufferedReader;->read([CII)I
 HSPLjava/io/BufferedReader;->read1([CII)I
 HSPLjava/io/BufferedReader;->readLine()Ljava/lang/String;
 HSPLjava/io/BufferedReader;->readLine(Z)Ljava/lang/String;
-HSPLjava/io/BufferedReader;->reset()V
-HSPLjava/io/BufferedReader;->skip(J)J
 HSPLjava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V
 HSPLjava/io/BufferedWriter;-><init>(Ljava/io/Writer;I)V
 HSPLjava/io/BufferedWriter;->close()V
@@ -35888,9 +32278,6 @@
 HSPLjava/io/DataOutputStream;->writeShort(I)V
 HSPLjava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
 HSPLjava/io/DataOutputStream;->writeUTF(Ljava/lang/String;Ljava/io/DataOutput;)I
-HSPLjava/io/DeleteOnExitHook$1;-><init>()V
-HSPLjava/io/DeleteOnExitHook;-><clinit>()V
-HSPLjava/io/DeleteOnExitHook;->add(Ljava/lang/String;)V
 HSPLjava/io/EOFException;-><init>()V
 HSPLjava/io/EOFException;-><init>(Ljava/lang/String;)V
 HSPLjava/io/ExpiringCache;->clear()V
@@ -35906,9 +32293,9 @@
 HSPLjava/io/File;->compareTo(Ljava/io/File;)I
 HSPLjava/io/File;->compareTo(Ljava/lang/Object;)I
 HSPLjava/io/File;->createNewFile()Z
+HSPLjava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
 HSPLjava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
 HSPLjava/io/File;->delete()Z
-HSPLjava/io/File;->deleteOnExit()V
 HSPLjava/io/File;->equals(Ljava/lang/Object;)Z
 HSPLjava/io/File;->exists()Z
 HSPLjava/io/File;->getAbsoluteFile()Ljava/io/File;
@@ -35938,7 +32325,6 @@
 HSPLjava/io/File;->mkdir()Z
 HSPLjava/io/File;->mkdirs()Z
 HSPLjava/io/File;->renameTo(Ljava/io/File;)Z
-HSPLjava/io/File;->setExecutable(ZZ)Z
 HSPLjava/io/File;->setLastModified(J)Z
 HSPLjava/io/File;->setReadable(ZZ)Z
 HSPLjava/io/File;->setWritable(ZZ)Z
@@ -35949,6 +32335,7 @@
 HSPLjava/io/FileDescriptor$1;->set(Ljava/io/FileDescriptor;I)V
 HSPLjava/io/FileDescriptor;-><init>()V
 HSPLjava/io/FileDescriptor;->access$002(Ljava/io/FileDescriptor;I)I
+HSPLjava/io/FileDescriptor;->cloneForFork()V
 HSPLjava/io/FileDescriptor;->getInt$()I
 HSPLjava/io/FileDescriptor;->getOwnerId$()J
 HSPLjava/io/FileDescriptor;->isSocket$()Z
@@ -35975,7 +32362,6 @@
 HSPLjava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
 HSPLjava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;Z)V
 HSPLjava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
-HSPLjava/io/FileOutputStream;-><init>(Ljava/lang/String;Z)V
 HSPLjava/io/FileOutputStream;->close()V
 HSPLjava/io/FileOutputStream;->finalize()V
 HSPLjava/io/FileOutputStream;->getChannel()Ljava/nio/channels/FileChannel;
@@ -36004,11 +32390,9 @@
 HSPLjava/io/FilterOutputStream;->write([B)V
 HSPLjava/io/FilterReader;-><init>(Ljava/io/Reader;)V
 HSPLjava/io/FilterReader;->read()I
-HSPLjava/io/FilterWriter;-><init>(Ljava/io/Writer;)V
 HSPLjava/io/IOException;-><init>()V
 HSPLjava/io/IOException;-><init>(Ljava/lang/String;)V
 HSPLjava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/io/IOException;-><init>(Ljava/lang/Throwable;)V
 HSPLjava/io/InputStream;-><init>()V
 HSPLjava/io/InputStream;->close()V
 HSPLjava/io/InputStream;->markSupported()Z
@@ -36022,7 +32406,6 @@
 HSPLjava/io/InputStreamReader;->read()I
 HSPLjava/io/InputStreamReader;->read([CII)I
 HSPLjava/io/InputStreamReader;->ready()Z
-HSPLjava/io/InterruptedIOException;-><init>()V
 HSPLjava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;-><init>(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->close()V
@@ -36036,7 +32419,6 @@
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBlockHeader(Z)I
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBoolean()Z
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readByte()B
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFloat()F
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFloats([FII)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFully([BIIZ)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readInt()I
@@ -36050,12 +32432,6 @@
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->refill()V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->setBlockDataMode(Z)Z
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->skipBlockData()V
-HSPLjava/io/ObjectInputStream$GetField;-><init>()V
-HSPLjava/io/ObjectInputStream$GetFieldImpl;-><init>(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;I)I
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->getFieldOffset(Ljava/lang/String;Ljava/lang/Class;)I
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->readFields()V
 HSPLjava/io/ObjectInputStream$HandleTable$HandleList;-><init>()V
 HSPLjava/io/ObjectInputStream$HandleTable$HandleList;->add(I)V
 HSPLjava/io/ObjectInputStream$HandleTable;-><init>(I)V
@@ -36078,11 +32454,6 @@
 HSPLjava/io/ObjectInputStream$ValidationList;->clear()V
 HSPLjava/io/ObjectInputStream$ValidationList;->doCallbacks()V
 HSPLjava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
-HSPLjava/io/ObjectInputStream;->access$000(Ljava/io/ObjectInputStream;)I
-HSPLjava/io/ObjectInputStream;->access$002(Ljava/io/ObjectInputStream;I)I
-HSPLjava/io/ObjectInputStream;->access$100(Ljava/io/ObjectInputStream;)Ljava/io/ObjectInputStream$HandleTable;
-HSPLjava/io/ObjectInputStream;->access$200(Ljava/io/ObjectInputStream;)Ljava/io/ObjectInputStream$BlockDataInputStream;
-HSPLjava/io/ObjectInputStream;->access$300(Ljava/io/ObjectInputStream;Z)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->access$500(Ljava/io/ObjectInputStream;)Z
 HSPLjava/io/ObjectInputStream;->access$700([BI[FII)V
 HSPLjava/io/ObjectInputStream;->checkResolve(Ljava/lang/Object;)Ljava/lang/Object;
@@ -36098,8 +32469,6 @@
 HSPLjava/io/ObjectInputStream;->readClassDesc(Z)Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectInputStream;->readClassDescriptor()Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectInputStream;->readEnum(Z)Ljava/lang/Enum;
-HSPLjava/io/ObjectInputStream;->readFields()Ljava/io/ObjectInputStream$GetField;
-HSPLjava/io/ObjectInputStream;->readFloat()F
 HSPLjava/io/ObjectInputStream;->readHandle(Z)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readInt()I
 HSPLjava/io/ObjectInputStream;->readLong()J
@@ -36124,18 +32493,15 @@
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->getUTFLength(Ljava/lang/String;)J
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->setBlockDataMode(Z)Z
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->warnIfClosed()V
-HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->write(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->write([BIIZ)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBlockHeader(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeByte(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBytes(Ljava/lang/String;)V
-HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeFloat(F)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeInt(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeLong(J)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeShort(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;J)V
-HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTFBody(Ljava/lang/String;)V
 HSPLjava/io/ObjectOutputStream$HandleTable;-><init>(IF)V
 HSPLjava/io/ObjectOutputStream$HandleTable;->assign(Ljava/lang/Object;)I
 HSPLjava/io/ObjectOutputStream$HandleTable;->clear()V
@@ -36170,7 +32536,6 @@
 HSPLjava/io/ObjectOutputStream;->writeClassDescriptor(Ljava/io/ObjectStreamClass;)V
 HSPLjava/io/ObjectOutputStream;->writeEnum(Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
 HSPLjava/io/ObjectOutputStream;->writeFields()V
-HSPLjava/io/ObjectOutputStream;->writeFloat(F)V
 HSPLjava/io/ObjectOutputStream;->writeHandle(I)V
 HSPLjava/io/ObjectOutputStream;->writeInt(I)V
 HSPLjava/io/ObjectOutputStream;->writeLong(J)V
@@ -36266,7 +32631,6 @@
 HSPLjava/io/ObjectStreamClass;->getName()Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getNumObjFields()I
 HSPLjava/io/ObjectStreamClass;->getObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-HSPLjava/io/ObjectStreamClass;->getPackageName(Ljava/lang/Class;)Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getPrimDataSize()I
 HSPLjava/io/ObjectStreamClass;->getPrimFieldValues(Ljava/lang/Object;[B)V
 HSPLjava/io/ObjectStreamClass;->getPrivateMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
@@ -36294,7 +32658,6 @@
 HSPLjava/io/ObjectStreamClass;->lookup(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectStreamClass;->matchFields([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
 HSPLjava/io/ObjectStreamClass;->newInstance()Ljava/lang/Object;
-HSPLjava/io/ObjectStreamClass;->packageEquals(Ljava/lang/Class;Ljava/lang/Class;)Z
 HSPLjava/io/ObjectStreamClass;->processQueue(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
 HSPLjava/io/ObjectStreamClass;->readNonProxy(Ljava/io/ObjectInputStream;)V
 HSPLjava/io/ObjectStreamClass;->requireInitialized()V
@@ -36326,28 +32689,14 @@
 HSPLjava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
 HSPLjava/io/OutputStreamWriter;->close()V
 HSPLjava/io/OutputStreamWriter;->flush()V
-HSPLjava/io/OutputStreamWriter;->flushBuffer()V
 HSPLjava/io/OutputStreamWriter;->write(I)V
 HSPLjava/io/OutputStreamWriter;->write(Ljava/lang/String;II)V
 HSPLjava/io/OutputStreamWriter;->write([CII)V
-HSPLjava/io/PipedInputStream;-><clinit>()V
-HSPLjava/io/PipedInputStream;->close()V
-HSPLjava/io/PipedInputStream;->receivedLast()V
-HSPLjava/io/PipedOutputStream;->close()V
 HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;)V
 HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;Z)V
-HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;ZLjava/lang/String;)V
 HSPLjava/io/PrintStream;-><init>(ZLjava/io/OutputStream;)V
-HSPLjava/io/PrintStream;-><init>(ZLjava/io/OutputStream;Ljava/nio/charset/Charset;)V
 HSPLjava/io/PrintStream;->close()V
-HSPLjava/io/PrintStream;->ensureOpen()V
-HSPLjava/io/PrintStream;->flush()V
-HSPLjava/io/PrintStream;->getTextOut()Ljava/io/BufferedWriter;
-HSPLjava/io/PrintStream;->print(Ljava/lang/String;)V
 HSPLjava/io/PrintStream;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
-HSPLjava/io/PrintStream;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-HSPLjava/io/PrintStream;->write(Ljava/lang/String;)V
-HSPLjava/io/PrintStream;->write([BII)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/File;)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/OutputStream;Z)V
@@ -36384,9 +32733,7 @@
 HSPLjava/io/PrintWriter;->write(Ljava/lang/String;II)V
 HSPLjava/io/PrintWriter;->write([CII)V
 HSPLjava/io/PushbackInputStream;-><init>(Ljava/io/InputStream;I)V
-HSPLjava/io/PushbackInputStream;->close()V
 HSPLjava/io/PushbackInputStream;->ensureOpen()V
-HSPLjava/io/PushbackInputStream;->markSupported()Z
 HSPLjava/io/PushbackInputStream;->read()I
 HSPLjava/io/PushbackInputStream;->read([BII)I
 HSPLjava/io/PushbackInputStream;->unread([BII)V
@@ -36410,7 +32757,6 @@
 HSPLjava/io/RandomAccessFile;->readFully([B)V
 HSPLjava/io/RandomAccessFile;->readFully([BII)V
 HSPLjava/io/RandomAccessFile;->readInt()I
-HSPLjava/io/RandomAccessFile;->readLong()J
 HSPLjava/io/RandomAccessFile;->seek(J)V
 HSPLjava/io/RandomAccessFile;->setLength(J)V
 HSPLjava/io/RandomAccessFile;->write(I)V
@@ -36426,8 +32772,6 @@
 HSPLjava/io/Reader;->read(Ljava/nio/CharBuffer;)I
 HSPLjava/io/Reader;->read([C)I
 HSPLjava/io/SequenceInputStream;-><init>(Ljava/io/InputStream;Ljava/io/InputStream;)V
-HSPLjava/io/SequenceInputStream;->available()I
-HSPLjava/io/SequenceInputStream;->close()V
 HSPLjava/io/SequenceInputStream;->nextStream()V
 HSPLjava/io/SequenceInputStream;->read()I
 HSPLjava/io/SequenceInputStream;->read([BII)I
@@ -36449,6 +32793,7 @@
 HSPLjava/io/StringWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
 HSPLjava/io/StringWriter;->close()V
 HSPLjava/io/StringWriter;->flush()V
+HSPLjava/io/StringWriter;->getBuffer()Ljava/lang/StringBuffer;
 HSPLjava/io/StringWriter;->toString()Ljava/lang/String;
 HSPLjava/io/StringWriter;->write(I)V
 HSPLjava/io/StringWriter;->write(Ljava/lang/String;)V
@@ -36461,7 +32806,6 @@
 HSPLjava/io/UnixFileSystem;->createFileExclusively(Ljava/lang/String;)Z
 HSPLjava/io/UnixFileSystem;->delete(Ljava/io/File;)Z
 HSPLjava/io/UnixFileSystem;->getBooleanAttributes(Ljava/io/File;)I
-HSPLjava/io/UnixFileSystem;->getDefaultParent()Ljava/lang/String;
 HSPLjava/io/UnixFileSystem;->getLastModifiedTime(Ljava/io/File;)J
 HSPLjava/io/UnixFileSystem;->getLength(Ljava/io/File;)J
 HSPLjava/io/UnixFileSystem;->getSpace(Ljava/io/File;I)J
@@ -36512,7 +32856,6 @@
 HSPLjava/lang/AbstractStringBuilder;->length()I
 HSPLjava/lang/AbstractStringBuilder;->newCapacity(I)I
 HSPLjava/lang/AbstractStringBuilder;->replace(IILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
-HSPLjava/lang/AbstractStringBuilder;->reverse()Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->setCharAt(IC)V
 HSPLjava/lang/AbstractStringBuilder;->setLength(I)V
 HSPLjava/lang/AbstractStringBuilder;->subSequence(II)Ljava/lang/CharSequence;
@@ -36542,13 +32885,9 @@
 HSPLjava/lang/Byte;-><init>(B)V
 HSPLjava/lang/Byte;->byteValue()B
 HSPLjava/lang/Byte;->compare(BB)I
-HSPLjava/lang/Byte;->compareTo(Ljava/lang/Byte;)I
-HSPLjava/lang/Byte;->compareTo(Ljava/lang/Object;)I
 HSPLjava/lang/Byte;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Byte;->hashCode()I
 HSPLjava/lang/Byte;->hashCode(B)I
-HSPLjava/lang/Byte;->intValue()I
-HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;)B
 HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;I)B
 HSPLjava/lang/Byte;->toString()Ljava/lang/String;
 HSPLjava/lang/Byte;->toUnsignedInt(B)I
@@ -36576,20 +32915,15 @@
 HSPLjava/lang/Character;->forDigit(II)C
 HSPLjava/lang/Character;->getDirectionality(C)B
 HSPLjava/lang/Character;->getDirectionality(I)B
-HSPLjava/lang/Character;->getNumericValue(C)I
-HSPLjava/lang/Character;->getNumericValue(I)I
 HSPLjava/lang/Character;->getType(C)I
 HSPLjava/lang/Character;->getType(I)I
 HSPLjava/lang/Character;->hashCode()I
 HSPLjava/lang/Character;->hashCode(C)I
 HSPLjava/lang/Character;->highSurrogate(I)C
-HSPLjava/lang/Character;->isAlphabetic(I)Z
 HSPLjava/lang/Character;->isBmpCodePoint(I)Z
 HSPLjava/lang/Character;->isDigit(C)Z
 HSPLjava/lang/Character;->isDigit(I)Z
 HSPLjava/lang/Character;->isHighSurrogate(C)Z
-HSPLjava/lang/Character;->isISOControl(C)Z
-HSPLjava/lang/Character;->isISOControl(I)Z
 HSPLjava/lang/Character;->isLetter(C)Z
 HSPLjava/lang/Character;->isLetter(I)Z
 HSPLjava/lang/Character;->isLetterOrDigit(C)Z
@@ -36598,8 +32932,6 @@
 HSPLjava/lang/Character;->isLowerCase(I)Z
 HSPLjava/lang/Character;->isSpaceChar(C)Z
 HSPLjava/lang/Character;->isSpaceChar(I)Z
-HSPLjava/lang/Character;->isSupplementaryCodePoint(I)Z
-HSPLjava/lang/Character;->isSurrogate(C)Z
 HSPLjava/lang/Character;->isSurrogatePair(CC)Z
 HSPLjava/lang/Character;->isUpperCase(C)Z
 HSPLjava/lang/Character;->isUpperCase(I)Z
@@ -36607,7 +32939,6 @@
 HSPLjava/lang/Character;->isWhitespace(C)Z
 HSPLjava/lang/Character;->isWhitespace(I)Z
 HSPLjava/lang/Character;->lowSurrogate(I)C
-HSPLjava/lang/Character;->offsetByCodePoints(Ljava/lang/CharSequence;II)I
 HSPLjava/lang/Character;->toChars(I)[C
 HSPLjava/lang/Character;->toChars(I[CI)I
 HSPLjava/lang/Character;->toCodePoint(CC)I
@@ -36623,6 +32954,7 @@
 HSPLjava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
 HSPLjava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/Class;->classNameImpliesTopLevel()Z
+HSPLjava/lang/Class;->desiredAssertionStatus()Z
 HSPLjava/lang/Class;->findInterfaceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
 HSPLjava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
 HSPLjava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
@@ -36729,13 +33061,10 @@
 HSPLjava/lang/Double;-><init>(D)V
 HSPLjava/lang/Double;->compare(DD)I
 HSPLjava/lang/Double;->compareTo(Ljava/lang/Double;)I
-HSPLjava/lang/Double;->compareTo(Ljava/lang/Object;)I
 HSPLjava/lang/Double;->doubleToLongBits(D)J
 HSPLjava/lang/Double;->doubleValue()D
 HSPLjava/lang/Double;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Double;->floatValue()F
-HSPLjava/lang/Double;->hashCode()I
-HSPLjava/lang/Double;->hashCode(D)I
 HSPLjava/lang/Double;->isInfinite(D)Z
 HSPLjava/lang/Double;->isNaN(D)Z
 HSPLjava/lang/Double;->longValue()J
@@ -36779,16 +33108,14 @@
 HSPLjava/lang/Float;->isFinite(F)Z
 HSPLjava/lang/Float;->isInfinite(F)Z
 HSPLjava/lang/Float;->isNaN(F)Z
-HSPLjava/lang/Float;->longValue()J
 HSPLjava/lang/Float;->parseFloat(Ljava/lang/String;)F
 HSPLjava/lang/Float;->toString()Ljava/lang/String;
 HSPLjava/lang/Float;->toString(F)Ljava/lang/String;
 HSPLjava/lang/Float;->valueOf(F)Ljava/lang/Float;
+HSPLjava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;
 HSPLjava/lang/IllegalAccessException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/IllegalArgumentException;-><init>()V
 HSPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/IllegalMonitorStateException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalStateException;-><init>()V
 HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
@@ -36798,7 +33125,6 @@
 HSPLjava/lang/InheritableThreadLocal;->childValue(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/InheritableThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
 HSPLjava/lang/InheritableThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
-HSPLjava/lang/InstantiationException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Integer;-><init>(I)V
 HSPLjava/lang/Integer;->bitCount(I)I
 HSPLjava/lang/Integer;->byteValue()B
@@ -36832,7 +33158,6 @@
 HSPLjava/lang/Integer;->shortValue()S
 HSPLjava/lang/Integer;->signum(I)I
 HSPLjava/lang/Integer;->stringSize(I)I
-HSPLjava/lang/Integer;->sum(II)I
 HSPLjava/lang/Integer;->toBinaryString(I)Ljava/lang/String;
 HSPLjava/lang/Integer;->toHexString(I)Ljava/lang/String;
 HSPLjava/lang/Integer;->toString()Ljava/lang/String;
@@ -36897,7 +33222,6 @@
 HSPLjava/lang/Math;->floorDiv(JJ)J
 HSPLjava/lang/Math;->floorMod(II)I
 HSPLjava/lang/Math;->floorMod(JJ)J
-HSPLjava/lang/Math;->getExponent(D)I
 HSPLjava/lang/Math;->getExponent(F)I
 HSPLjava/lang/Math;->max(DD)D
 HSPLjava/lang/Math;->max(FF)F
@@ -37033,7 +33357,6 @@
 HSPLjava/lang/String;->lastIndexOf([CII[CIII)I
 HSPLjava/lang/String;->length()I
 HSPLjava/lang/String;->matches(Ljava/lang/String;)Z
-HSPLjava/lang/String;->offsetByCodePoints(II)I
 HSPLjava/lang/String;->regionMatches(ILjava/lang/String;II)Z
 HSPLjava/lang/String;->regionMatches(ZILjava/lang/String;II)Z
 HSPLjava/lang/String;->replace(CC)Ljava/lang/String;
@@ -37120,7 +33443,6 @@
 HSPLjava/lang/StringBuilder;->lastIndexOf(Ljava/lang/String;I)I
 HSPLjava/lang/StringBuilder;->length()I
 HSPLjava/lang/StringBuilder;->replace(IILjava/lang/String;)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->reverse()Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->setCharAt(IC)V
 HSPLjava/lang/StringBuilder;->setLength(I)V
 HSPLjava/lang/StringBuilder;->subSequence(II)Ljava/lang/CharSequence;
@@ -37129,7 +33451,6 @@
 HSPLjava/lang/StringBuilder;->toString()Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newEmptyString()Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([B)Ljava/lang/String;
-HSPLjava/lang/StringFactory;->newStringFromBytes([BI)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BII)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BIILjava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BIILjava/nio/charset/Charset;)Ljava/lang/String;
@@ -37141,6 +33462,7 @@
 HSPLjava/lang/System$PropertiesWithNonOverrideableDefaults;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/System;->arraycopy([BI[BII)V
 HSPLjava/lang/System;->arraycopy([CI[CII)V
+HSPLjava/lang/System;->arraycopy([DI[DII)V
 HSPLjava/lang/System;->arraycopy([FI[FII)V
 HSPLjava/lang/System;->arraycopy([II[III)V
 HSPLjava/lang/System;->arraycopy([JI[JII)V
@@ -37148,6 +33470,7 @@
 HSPLjava/lang/System;->checkKey(Ljava/lang/String;)V
 HSPLjava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/System;->gc()V
+HSPLjava/lang/System;->getProperties()Ljava/util/Properties;
 HSPLjava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/System;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/System;->getSecurityManager()Ljava/lang/SecurityManager;
@@ -37248,9 +33571,6 @@
 HSPLjava/lang/ThreadLocal;->withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
 HSPLjava/lang/Throwable$PrintStreamOrWriter;-><init>()V
 HSPLjava/lang/Throwable$PrintStreamOrWriter;-><init>(Ljava/lang/Throwable$1;)V
-HSPLjava/lang/Throwable$WrappedPrintStream;-><init>(Ljava/io/PrintStream;)V
-HSPLjava/lang/Throwable$WrappedPrintStream;->lock()Ljava/lang/Object;
-HSPLjava/lang/Throwable$WrappedPrintStream;->println(Ljava/lang/Object;)V
 HSPLjava/lang/Throwable$WrappedPrintWriter;-><init>(Ljava/io/PrintWriter;)V
 HSPLjava/lang/Throwable$WrappedPrintWriter;->lock()Ljava/lang/Object;
 HSPLjava/lang/Throwable$WrappedPrintWriter;->println(Ljava/lang/Object;)V
@@ -37269,8 +33589,6 @@
 HSPLjava/lang/Throwable;->getSuppressed()[Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->printEnclosedStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;[Ljava/lang/StackTraceElement;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-HSPLjava/lang/Throwable;->printStackTrace()V
-HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V
 HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
 HSPLjava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V
 HSPLjava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V
@@ -37291,7 +33609,6 @@
 HSPLjava/lang/UNIXProcess;-><init>([B[BI[BI[B[IZ)V
 HSPLjava/lang/UNIXProcess;->access$100(Ljava/lang/UNIXProcess;)I
 HSPLjava/lang/UNIXProcess;->access$200(Ljava/lang/UNIXProcess;I)I
-HSPLjava/lang/UNIXProcess;->destroy()V
 HSPLjava/lang/UNIXProcess;->getErrorStream()Ljava/io/InputStream;
 HSPLjava/lang/UNIXProcess;->getInputStream()Ljava/io/InputStream;
 HSPLjava/lang/UNIXProcess;->getOutputStream()Ljava/io/OutputStream;
@@ -37415,9 +33732,6 @@
 HSPLjava/lang/reflect/Executable;->isDefaultMethodInternal()Z
 HSPLjava/lang/reflect/Executable;->isSynthetic()Z
 HSPLjava/lang/reflect/Executable;->isVarArgs()Z
-HSPLjava/lang/reflect/Executable;->printModifiersIfNonzero(Ljava/lang/StringBuilder;IZ)V
-HSPLjava/lang/reflect/Executable;->separateWithCommas([Ljava/lang/Class;Ljava/lang/StringBuilder;)V
-HSPLjava/lang/reflect/Executable;->sharedToString(IZ[Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
 HSPLjava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
 HSPLjava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
 HSPLjava/lang/reflect/Field;->getGenericType()Ljava/lang/reflect/Type;
@@ -37443,8 +33757,6 @@
 HSPLjava/lang/reflect/Method;->isDefault()Z
 HSPLjava/lang/reflect/Method;->isSynthetic()Z
 HSPLjava/lang/reflect/Method;->isVarArgs()Z
-HSPLjava/lang/reflect/Method;->specificToStringHeader(Ljava/lang/StringBuilder;)V
-HSPLjava/lang/reflect/Method;->toString()Ljava/lang/String;
 HSPLjava/lang/reflect/Modifier;->isAbstract(I)Z
 HSPLjava/lang/reflect/Modifier;->isFinal(I)Z
 HSPLjava/lang/reflect/Modifier;->isPrivate(I)Z
@@ -37454,8 +33766,6 @@
 HSPLjava/lang/reflect/Modifier;->isSynthetic(I)Z
 HSPLjava/lang/reflect/Modifier;->isTransient(I)Z
 HSPLjava/lang/reflect/Modifier;->isVolatile(I)Z
-HSPLjava/lang/reflect/Modifier;->methodModifiers()I
-HSPLjava/lang/reflect/Modifier;->toString(I)Ljava/lang/String;
 HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)I
 HSPLjava/lang/reflect/Proxy$Key1;-><init>(Ljava/lang/Class;)V
@@ -37494,7 +33804,6 @@
 HSPLjava/math/BigDecimal;-><init>(D)V
 HSPLjava/math/BigDecimal;-><init>(I)V
 HSPLjava/math/BigDecimal;-><init>(II)V
-HSPLjava/math/BigDecimal;-><init>(J)V
 HSPLjava/math/BigDecimal;-><init>(JI)V
 HSPLjava/math/BigDecimal;-><init>(Ljava/lang/String;)V
 HSPLjava/math/BigDecimal;-><init>(Ljava/math/BigInteger;I)V
@@ -37518,13 +33827,11 @@
 HSPLjava/math/BigDecimal;->roundingBehavior(IILjava/math/RoundingMode;)I
 HSPLjava/math/BigDecimal;->safeLongToInt(J)I
 HSPLjava/math/BigDecimal;->scale()I
-HSPLjava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
 HSPLjava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
 HSPLjava/math/BigDecimal;->setUnscaledValue(Ljava/math/BigInteger;)V
 HSPLjava/math/BigDecimal;->signum()I
 HSPLjava/math/BigDecimal;->stripTrailingZeros()Ljava/math/BigDecimal;
 HSPLjava/math/BigDecimal;->subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->toBigInteger()Ljava/math/BigInteger;
 HSPLjava/math/BigDecimal;->toBigIntegerExact()Ljava/math/BigInteger;
 HSPLjava/math/BigDecimal;->toPlainString()Ljava/lang/String;
 HSPLjava/math/BigDecimal;->valueExact(I)J
@@ -37540,7 +33847,6 @@
 HSPLjava/math/BigInt;->decString()Ljava/lang/String;
 HSPLjava/math/BigInt;->division(Ljava/math/BigInt;Ljava/math/BigInt;Ljava/math/BigInt;Ljava/math/BigInt;)V
 HSPLjava/math/BigInt;->exp(Ljava/math/BigInt;I)Ljava/math/BigInt;
-HSPLjava/math/BigInt;->gcd(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
 HSPLjava/math/BigInt;->hasNativeBignum()Z
 HSPLjava/math/BigInt;->isBitSet(I)Z
 HSPLjava/math/BigInt;->littleEndianIntsMagnitude()[I
@@ -37587,7 +33893,6 @@
 HSPLjava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->pow(I)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->prepareJavaRepresentation()V
-HSPLjava/math/BigInteger;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/math/BigInteger;->setBigInt(Ljava/math/BigInt;)V
 HSPLjava/math/BigInteger;->setJavaRepresentation(II[I)V
 HSPLjava/math/BigInteger;->shiftLeft(I)Ljava/math/BigInteger;
@@ -37609,7 +33914,6 @@
 HSPLjava/math/MathContext;->getPrecision()I
 HSPLjava/math/MathContext;->getRoundingMode()Ljava/math/RoundingMode;
 HSPLjava/math/Multiplication;->powerOf10(J)Ljava/math/BigInteger;
-HSPLjava/math/RoundingMode;->valueOf(I)Ljava/math/RoundingMode;
 HSPLjava/math/RoundingMode;->values()[Ljava/math/RoundingMode;
 HSPLjava/net/AbstractPlainDatagramSocketImpl;-><init>()V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->bind(ILjava/net/InetAddress;)V
@@ -37621,9 +33925,7 @@
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->receive(Ljava/net/DatagramPacket;)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->setOption(ILjava/lang/Object;)V
 HSPLjava/net/AbstractPlainSocketImpl;-><init>()V
-HSPLjava/net/AbstractPlainSocketImpl;->accept(Ljava/net/SocketImpl;)V
 HSPLjava/net/AbstractPlainSocketImpl;->acquireFD()Ljava/io/FileDescriptor;
-HSPLjava/net/AbstractPlainSocketImpl;->bind(Ljava/net/InetAddress;I)V
 HSPLjava/net/AbstractPlainSocketImpl;->close()V
 HSPLjava/net/AbstractPlainSocketImpl;->connect(Ljava/net/SocketAddress;I)V
 HSPLjava/net/AbstractPlainSocketImpl;->connectToAddress(Ljava/net/InetAddress;II)V
@@ -37637,7 +33939,6 @@
 HSPLjava/net/AbstractPlainSocketImpl;->isClosedOrPending()Z
 HSPLjava/net/AbstractPlainSocketImpl;->isConnectionReset()Z
 HSPLjava/net/AbstractPlainSocketImpl;->isConnectionResetPending()Z
-HSPLjava/net/AbstractPlainSocketImpl;->listen(I)V
 HSPLjava/net/AbstractPlainSocketImpl;->releaseFD()V
 HSPLjava/net/AbstractPlainSocketImpl;->setOption(ILjava/lang/Object;)V
 HSPLjava/net/AbstractPlainSocketImpl;->socketClose()V
@@ -37650,30 +33951,16 @@
 HSPLjava/net/AddressCache;->get(Ljava/lang/String;I)Ljava/lang/Object;
 HSPLjava/net/AddressCache;->put(Ljava/lang/String;I[Ljava/net/InetAddress;)V
 HSPLjava/net/AddressCache;->putUnknownHost(Ljava/lang/String;ILjava/lang/String;)V
-HSPLjava/net/ConnectException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/ConnectException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLjava/net/CookieHandler;-><init>()V
 HSPLjava/net/CookieHandler;->getDefault()Ljava/net/CookieHandler;
-HSPLjava/net/CookieHandler;->setDefault(Ljava/net/CookieHandler;)V
-HSPLjava/net/CookieManager$CookiePathComparator;-><init>()V
-HSPLjava/net/CookieManager$CookiePathComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/net/CookieManager$CookiePathComparator;->compare(Ljava/net/HttpCookie;Ljava/net/HttpCookie;)I
 HSPLjava/net/CookieManager;-><init>()V
 HSPLjava/net/CookieManager;-><init>(Ljava/net/CookieStore;Ljava/net/CookiePolicy;)V
 HSPLjava/net/CookieManager;->get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;
-HSPLjava/net/CookieManager;->getCookieStore()Ljava/net/CookieStore;
-HSPLjava/net/CookieManager;->normalizePath(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/CookieManager;->pathMatches(Ljava/net/URI;Ljava/net/HttpCookie;)Z
 HSPLjava/net/CookieManager;->put(Ljava/net/URI;Ljava/util/Map;)V
-HSPLjava/net/CookieManager;->shouldAcceptInternal(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-HSPLjava/net/CookieManager;->sortByPath(Ljava/util/List;)Ljava/util/List;
-HSPLjava/net/CookiePolicy$3;->shouldAccept(Ljava/net/URI;Ljava/net/HttpCookie;)Z
 HSPLjava/net/DatagramPacket;-><init>([BI)V
 HSPLjava/net/DatagramPacket;-><init>([BII)V
 HSPLjava/net/DatagramPacket;-><init>([BIILjava/net/InetAddress;I)V
-HSPLjava/net/DatagramPacket;-><init>([BIILjava/net/SocketAddress;)V
 HSPLjava/net/DatagramPacket;-><init>([BILjava/net/InetAddress;I)V
-HSPLjava/net/DatagramPacket;-><init>([BILjava/net/SocketAddress;)V
 HSPLjava/net/DatagramPacket;->getAddress()Ljava/net/InetAddress;
 HSPLjava/net/DatagramPacket;->getData()[B
 HSPLjava/net/DatagramPacket;->getLength()I
@@ -37683,7 +33970,6 @@
 HSPLjava/net/DatagramPacket;->setData([BII)V
 HSPLjava/net/DatagramPacket;->setPort(I)V
 HSPLjava/net/DatagramPacket;->setReceivedLength(I)V
-HSPLjava/net/DatagramPacket;->setSocketAddress(Ljava/net/SocketAddress;)V
 HSPLjava/net/DatagramSocket$1;-><init>(Ljava/net/DatagramSocket;)V
 HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Object;
 HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Void;
@@ -37701,7 +33987,6 @@
 HSPLjava/net/DatagramSocket;->isClosed()Z
 HSPLjava/net/DatagramSocket;->receive(Ljava/net/DatagramPacket;)V
 HSPLjava/net/DatagramSocket;->send(Ljava/net/DatagramPacket;)V
-HSPLjava/net/DatagramSocket;->setReuseAddress(Z)V
 HSPLjava/net/DatagramSocket;->setSoTimeout(I)V
 HSPLjava/net/DatagramSocketImpl;-><init>()V
 HSPLjava/net/DatagramSocketImpl;->setDatagramSocket(Ljava/net/DatagramSocket;)V
@@ -37709,20 +33994,14 @@
 HSPLjava/net/HttpCookie$11;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie$4;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie$6;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/HttpCookie$8;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/HttpCookie$9;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie;->access$000(Ljava/net/HttpCookie;)J
 HSPLjava/net/HttpCookie;->assignAttribute(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->domainMatches(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/net/HttpCookie;->equals(Ljava/lang/Object;)Z
-HSPLjava/net/HttpCookie;->equalsIgnoreCase(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLjava/net/HttpCookie;->getDomain()Ljava/lang/String;
 HSPLjava/net/HttpCookie;->getMaxAge()J
 HSPLjava/net/HttpCookie;->getName()Ljava/lang/String;
 HSPLjava/net/HttpCookie;->getPath()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getPortlist()Ljava/lang/String;
 HSPLjava/net/HttpCookie;->getValue()Ljava/lang/String;
 HSPLjava/net/HttpCookie;->getVersion()I
 HSPLjava/net/HttpCookie;->guessCookieVersion(Ljava/lang/String;)I
@@ -37732,10 +34011,8 @@
 HSPLjava/net/HttpCookie;->parse(Ljava/lang/String;Z)Ljava/util/List;
 HSPLjava/net/HttpCookie;->parseInternal(Ljava/lang/String;Z)Ljava/net/HttpCookie;
 HSPLjava/net/HttpCookie;->setDomain(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setHttpOnly(Z)V
 HSPLjava/net/HttpCookie;->setMaxAge(J)V
 HSPLjava/net/HttpCookie;->setPath(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setSecure(Z)V
 HSPLjava/net/HttpCookie;->setVersion(I)V
 HSPLjava/net/HttpCookie;->startsWithIgnoreCase(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLjava/net/HttpCookie;->stripOffSurroundingQuote(Ljava/lang/String;)Ljava/lang/String;
@@ -37744,20 +34021,14 @@
 HSPLjava/net/HttpURLConnection;-><init>(Ljava/net/URL;)V
 HSPLjava/net/HttpURLConnection;->getFollowRedirects()Z
 HSPLjava/net/HttpURLConnection;->setChunkedStreamingMode(I)V
-HSPLjava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
 HSPLjava/net/IDN;->toASCII(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/IDN;->toASCII(Ljava/lang/String;I)Ljava/lang/String;
 HSPLjava/net/InMemoryCookieStore;-><init>()V
 HSPLjava/net/InMemoryCookieStore;-><init>(I)V
-HSPLjava/net/InMemoryCookieStore;->add(Ljava/net/URI;Ljava/net/HttpCookie;)V
-HSPLjava/net/InMemoryCookieStore;->addIndex(Ljava/util/Map;Ljava/lang/Object;Ljava/net/HttpCookie;)V
 HSPLjava/net/InMemoryCookieStore;->get(Ljava/net/URI;)Ljava/util/List;
-HSPLjava/net/InMemoryCookieStore;->getCookies()Ljava/util/List;
 HSPLjava/net/InMemoryCookieStore;->getEffectiveURI(Ljava/net/URI;)Ljava/net/URI;
 HSPLjava/net/InMemoryCookieStore;->getInternal1(Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
 HSPLjava/net/InMemoryCookieStore;->getInternal2(Ljava/util/List;Ljava/util/Map;Ljava/lang/Comparable;)V
-HSPLjava/net/InMemoryCookieStore;->netscapeDomainMatches(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/net/Inet4Address;-><init>()V
 HSPLjava/net/Inet4Address;-><init>(Ljava/lang/String;[B)V
 HSPLjava/net/Inet4Address;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/Inet4Address;->getAddress()[B
@@ -37777,9 +34048,7 @@
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->isLinkLocalAddress()Z
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->isLoopbackAddress()Z
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->isMulticastAddress()Z
-HSPLjava/net/Inet6Address$Inet6AddressHolder;->isSiteLocalAddress()Z
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->setAddr([B)V
-HSPLjava/net/Inet6Address;-><init>()V
 HSPLjava/net/Inet6Address;-><init>(Ljava/lang/String;[BI)V
 HSPLjava/net/Inet6Address;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/Inet6Address;->getAddress()[B
@@ -37791,7 +34060,6 @@
 HSPLjava/net/Inet6Address;->isLinkLocalAddress()Z
 HSPLjava/net/Inet6Address;->isLoopbackAddress()Z
 HSPLjava/net/Inet6Address;->isMulticastAddress()Z
-HSPLjava/net/Inet6Address;->isSiteLocalAddress()Z
 HSPLjava/net/Inet6AddressImpl;->clearAddressCache()V
 HSPLjava/net/Inet6AddressImpl;->lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;
 HSPLjava/net/Inet6AddressImpl;->lookupHostByName(Ljava/lang/String;I)[Ljava/net/InetAddress;
@@ -37802,13 +34070,11 @@
 HSPLjava/net/InetAddress;-><init>()V
 HSPLjava/net/InetAddress;->clearDnsCache()V
 HSPLjava/net/InetAddress;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
-HSPLjava/net/InetAddress;->getAllByNameOnNet(Ljava/lang/String;I)[Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[B)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[BI)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->getByAddress([B)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->getByNameOnNet(Ljava/lang/String;I)Ljava/net/InetAddress;
-HSPLjava/net/InetAddress;->getHostName()Ljava/lang/String;
 HSPLjava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder;
 HSPLjava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->toString()Ljava/lang/String;
@@ -37816,12 +34082,10 @@
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;-><init>(Ljava/lang/String;Ljava/net/InetAddress;ILjava/net/InetSocketAddress$1;)V
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$400(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)I
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$500(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/net/InetAddress;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$600(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/lang/String;
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$700(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/lang/String;
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$800(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Z
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getAddress()Ljava/net/InetAddress;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostName()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostString()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getPort()I
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->hashCode()I
@@ -37837,7 +34101,6 @@
 HSPLjava/net/InetSocketAddress;->createUnresolved(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
 HSPLjava/net/InetSocketAddress;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress;
-HSPLjava/net/InetSocketAddress;->getHostName()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress;->getHostString()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress;->getPort()I
 HSPLjava/net/InetSocketAddress;->hashCode()I
@@ -37845,15 +34108,9 @@
 HSPLjava/net/InetSocketAddress;->toString()Ljava/lang/String;
 HSPLjava/net/InterfaceAddress;-><init>(Ljava/net/InetAddress;Ljava/net/Inet4Address;Ljava/net/InetAddress;)V
 HSPLjava/net/InterfaceAddress;->countPrefixLength(Ljava/net/InetAddress;)S
-HSPLjava/net/InterfaceAddress;->getAddress()Ljava/net/InetAddress;
 HSPLjava/net/JarURLConnection;-><init>(Ljava/net/URL;)V
 HSPLjava/net/JarURLConnection;->getEntryName()Ljava/lang/String;
 HSPLjava/net/JarURLConnection;->parseSpecs(Ljava/net/URL;)V
-HSPLjava/net/MalformedURLException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/MulticastSocket;-><init>(I)V
-HSPLjava/net/MulticastSocket;-><init>(Ljava/net/SocketAddress;)V
-HSPLjava/net/MulticastSocket;->setNetworkInterface(Ljava/net/NetworkInterface;)V
-HSPLjava/net/MulticastSocket;->setTimeToLive(I)V
 HSPLjava/net/NetworkInterface$1checkedAddresses;-><init>(Ljava/net/NetworkInterface;)V
 HSPLjava/net/NetworkInterface$1checkedAddresses;->hasMoreElements()Z
 HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/lang/Object;
@@ -37862,17 +34119,11 @@
 HSPLjava/net/NetworkInterface;->access$000(Ljava/net/NetworkInterface;)[Ljava/net/InetAddress;
 HSPLjava/net/NetworkInterface;->getAll()[Ljava/net/NetworkInterface;
 HSPLjava/net/NetworkInterface;->getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;
-HSPLjava/net/NetworkInterface;->getFlags()I
+HSPLjava/net/NetworkInterface;->getHardwareAddress()[B
 HSPLjava/net/NetworkInterface;->getIndex()I
 HSPLjava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
-HSPLjava/net/NetworkInterface;->getInterfaceAddresses()Ljava/util/List;
 HSPLjava/net/NetworkInterface;->getName()Ljava/lang/String;
 HSPLjava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
-HSPLjava/net/NetworkInterface;->isLoopback()Z
-HSPLjava/net/NetworkInterface;->isPointToPoint()Z
-HSPLjava/net/NetworkInterface;->isUp()Z
-HSPLjava/net/NetworkInterface;->isVirtual()Z
-HSPLjava/net/NetworkInterface;->supportsMulticast()Z
 HSPLjava/net/Parts;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/Parts;->getPath()Ljava/lang/String;
 HSPLjava/net/Parts;->getQuery()Ljava/lang/String;
@@ -37882,23 +34133,15 @@
 HSPLjava/net/PlainDatagramSocketImpl;->datagramSocketClose()V
 HSPLjava/net/PlainDatagramSocketImpl;->datagramSocketCreate()V
 HSPLjava/net/PlainDatagramSocketImpl;->doRecv(Ljava/net/DatagramPacket;I)V
-HSPLjava/net/PlainDatagramSocketImpl;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/PlainDatagramSocketImpl;->leave(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
 HSPLjava/net/PlainDatagramSocketImpl;->receive0(Ljava/net/DatagramPacket;)V
 HSPLjava/net/PlainDatagramSocketImpl;->send(Ljava/net/DatagramPacket;)V
-HSPLjava/net/PlainDatagramSocketImpl;->setTimeToLive(I)V
 HSPLjava/net/PlainDatagramSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption(ILjava/lang/Object;)V
-HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
 HSPLjava/net/PlainSocketImpl;-><init>()V
 HSPLjava/net/PlainSocketImpl;->getMarkerFD()Ljava/io/FileDescriptor;
-HSPLjava/net/PlainSocketImpl;->socketAccept(Ljava/net/SocketImpl;)V
-HSPLjava/net/PlainSocketImpl;->socketBind(Ljava/net/InetAddress;I)V
 HSPLjava/net/PlainSocketImpl;->socketClose0(Z)V
 HSPLjava/net/PlainSocketImpl;->socketConnect(Ljava/net/InetAddress;II)V
 HSPLjava/net/PlainSocketImpl;->socketCreate(Z)V
 HSPLjava/net/PlainSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HSPLjava/net/PlainSocketImpl;->socketListen(I)V
 HSPLjava/net/PlainSocketImpl;->socketSetOption(ILjava/lang/Object;)V
 HSPLjava/net/PlainSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
 HSPLjava/net/Proxy;->address()Ljava/net/SocketAddress;
@@ -37908,21 +34151,6 @@
 HSPLjava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector;
 HSPLjava/net/ProxySelector;->setDefault(Ljava/net/ProxySelector;)V
 HSPLjava/net/ResponseCache;->getDefault()Ljava/net/ResponseCache;
-HSPLjava/net/ServerSocket;-><init>()V
-HSPLjava/net/ServerSocket;->accept()Ljava/net/Socket;
-HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;)V
-HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;I)V
-HSPLjava/net/ServerSocket;->createImpl()V
-HSPLjava/net/ServerSocket;->getImpl()Ljava/net/SocketImpl;
-HSPLjava/net/ServerSocket;->implAccept(Ljava/net/Socket;)V
-HSPLjava/net/ServerSocket;->isBound()Z
-HSPLjava/net/ServerSocket;->isClosed()Z
-HSPLjava/net/ServerSocket;->setBound()V
-HSPLjava/net/ServerSocket;->setCreated()V
-HSPLjava/net/ServerSocket;->setImpl()V
-HSPLjava/net/Socket$1;-><init>(Ljava/net/Socket;)V
-HSPLjava/net/Socket$1;->run()Ljava/lang/Boolean;
-HSPLjava/net/Socket$1;->run()Ljava/lang/Object;
 HSPLjava/net/Socket$2;-><init>(Ljava/net/Socket;)V
 HSPLjava/net/Socket$2;->run()Ljava/io/InputStream;
 HSPLjava/net/Socket$2;->run()Ljava/lang/Object;
@@ -37934,7 +34162,6 @@
 HSPLjava/net/Socket;-><init>(Ljava/net/SocketImpl;)V
 HSPLjava/net/Socket;-><init>([Ljava/net/InetAddress;ILjava/net/SocketAddress;Z)V
 HSPLjava/net/Socket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
-HSPLjava/net/Socket;->checkOldImpl()V
 HSPLjava/net/Socket;->close()V
 HSPLjava/net/Socket;->connect(Ljava/net/SocketAddress;)V
 HSPLjava/net/Socket;->connect(Ljava/net/SocketAddress;I)V
@@ -37963,7 +34190,6 @@
 HSPLjava/net/Socket;->setImpl()V
 HSPLjava/net/Socket;->setSoTimeout(I)V
 HSPLjava/net/Socket;->setTcpNoDelay(Z)V
-HSPLjava/net/Socket;->toString()Ljava/lang/String;
 HSPLjava/net/SocketAddress;-><init>()V
 HSPLjava/net/SocketException;-><init>(Ljava/lang/String;)V
 HSPLjava/net/SocketException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
@@ -37973,7 +34199,6 @@
 HSPLjava/net/SocketImpl;->getLocalPort()I
 HSPLjava/net/SocketImpl;->getPort()I
 HSPLjava/net/SocketImpl;->getSocket()Ljava/net/Socket;
-HSPLjava/net/SocketImpl;->setServerSocket(Ljava/net/ServerSocket;)V
 HSPLjava/net/SocketImpl;->setSocket(Ljava/net/Socket;)V
 HSPLjava/net/SocketInputStream;-><init>(Ljava/net/AbstractPlainSocketImpl;)V
 HSPLjava/net/SocketInputStream;->finalize()V
@@ -37997,7 +34222,6 @@
 HSPLjava/net/URI$Parser;->charAt(I)C
 HSPLjava/net/URI$Parser;->checkChar(IJJLjava/lang/String;)V
 HSPLjava/net/URI$Parser;->checkChars(IIJJLjava/lang/String;)V
-HSPLjava/net/URI$Parser;->fail(Ljava/lang/String;I)V
 HSPLjava/net/URI$Parser;->parse(Z)V
 HSPLjava/net/URI$Parser;->parseAuthority(II)I
 HSPLjava/net/URI$Parser;->parseHierarchical(II)I
@@ -38007,7 +34231,6 @@
 HSPLjava/net/URI$Parser;->scan(IIC)I
 HSPLjava/net/URI$Parser;->scan(IIJJ)I
 HSPLjava/net/URI$Parser;->scan(IILjava/lang/String;Ljava/lang/String;)I
-HSPLjava/net/URI$Parser;->scanByte(II)I
 HSPLjava/net/URI$Parser;->scanEscape(IIC)I
 HSPLjava/net/URI$Parser;->scanIPv4Address(IIZ)I
 HSPLjava/net/URI$Parser;->substring(II)Ljava/lang/String;
@@ -38050,10 +34273,6 @@
 HSPLjava/net/URI;->appendFragment(Ljava/lang/StringBuffer;Ljava/lang/String;)V
 HSPLjava/net/URI;->appendSchemeSpecificPart(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/URI;->checkPath(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/URI;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/net/URI;->compareIgnoringCase(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/net/URI;->compareTo(Ljava/lang/Object;)I
-HSPLjava/net/URI;->compareTo(Ljava/net/URI;)I
 HSPLjava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;
 HSPLjava/net/URI;->decode(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URI;->defineString()V
@@ -38082,12 +34301,8 @@
 HSPLjava/net/URI;->toLower(C)I
 HSPLjava/net/URI;->toString()Ljava/lang/String;
 HSPLjava/net/URI;->toString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URI;->toURL()Ljava/net/URL;
-HSPLjava/net/URISyntaxException;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLjava/net/URL;-><init>(Ljava/lang/String;)V
-HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
-HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V
 HSPLjava/net/URL;->createBuiltinHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
@@ -38113,16 +34328,12 @@
 HSPLjava/net/URLConnection;->getContentLengthLong()J
 HSPLjava/net/URLConnection;->getContentType()Ljava/lang/String;
 HSPLjava/net/URLConnection;->getHeaderFieldLong(Ljava/lang/String;J)J
-HSPLjava/net/URLConnection;->getReadTimeout()I
 HSPLjava/net/URLConnection;->getURL()Ljava/net/URL;
 HSPLjava/net/URLConnection;->getUseCaches()Z
-HSPLjava/net/URLConnection;->setDefaultUseCaches(Z)V
 HSPLjava/net/URLConnection;->setDoInput(Z)V
 HSPLjava/net/URLConnection;->setDoOutput(Z)V
-HSPLjava/net/URLConnection;->setReadTimeout(I)V
 HSPLjava/net/URLConnection;->setUseCaches(Z)V
 HSPLjava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URLDecoder;->isValidHexChar(C)Z
 HSPLjava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URLStreamHandler;-><init>()V
 HSPLjava/net/URLStreamHandler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V
@@ -38135,7 +34346,6 @@
 HSPLjava/nio/Bits;->getDouble(Ljava/nio/ByteBuffer;IZ)D
 HSPLjava/nio/Bits;->getDoubleL(Ljava/nio/ByteBuffer;I)D
 HSPLjava/nio/Bits;->getFloat(Ljava/nio/ByteBuffer;IZ)F
-HSPLjava/nio/Bits;->getFloatB(Ljava/nio/ByteBuffer;I)F
 HSPLjava/nio/Bits;->getFloatL(Ljava/nio/ByteBuffer;I)F
 HSPLjava/nio/Bits;->getInt(Ljava/nio/ByteBuffer;IZ)I
 HSPLjava/nio/Bits;->getIntB(Ljava/nio/ByteBuffer;I)I
@@ -38167,7 +34377,6 @@
 HSPLjava/nio/Bits;->putCharB(Ljava/nio/ByteBuffer;IC)V
 HSPLjava/nio/Bits;->putCharL(Ljava/nio/ByteBuffer;IC)V
 HSPLjava/nio/Bits;->putFloat(Ljava/nio/ByteBuffer;IFZ)V
-HSPLjava/nio/Bits;->putFloatB(Ljava/nio/ByteBuffer;IF)V
 HSPLjava/nio/Bits;->putInt(Ljava/nio/ByteBuffer;IIZ)V
 HSPLjava/nio/Bits;->putIntB(Ljava/nio/ByteBuffer;II)V
 HSPLjava/nio/Bits;->putIntL(Ljava/nio/ByteBuffer;II)V
@@ -38211,7 +34420,6 @@
 HSPLjava/nio/ByteBuffer;->arrayOffset()I
 HSPLjava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->compare(BB)I
-HSPLjava/nio/ByteBuffer;->compareTo(Ljava/lang/Object;)I
 HSPLjava/nio/ByteBuffer;->compareTo(Ljava/nio/ByteBuffer;)I
 HSPLjava/nio/ByteBuffer;->equals(BB)Z
 HSPLjava/nio/ByteBuffer;->equals(Ljava/lang/Object;)Z
@@ -38242,21 +34450,14 @@
 HSPLjava/nio/ByteBufferAsCharBuffer;->toString(II)Ljava/lang/String;
 HSPLjava/nio/ByteBufferAsFloatBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
 HSPLjava/nio/ByteBufferAsFloatBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsFloatBuffer;->put(F)Ljava/nio/FloatBuffer;
 HSPLjava/nio/ByteBufferAsFloatBuffer;->put(IF)Ljava/nio/FloatBuffer;
 HSPLjava/nio/ByteBufferAsFloatBuffer;->put([FII)Ljava/nio/FloatBuffer;
 HSPLjava/nio/ByteBufferAsIntBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HSPLjava/nio/ByteBufferAsIntBuffer;->get()I
-HSPLjava/nio/ByteBufferAsIntBuffer;->get(I)I
 HSPLjava/nio/ByteBufferAsIntBuffer;->get([III)Ljava/nio/IntBuffer;
 HSPLjava/nio/ByteBufferAsIntBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsIntBuffer;->put(I)Ljava/nio/IntBuffer;
-HSPLjava/nio/ByteBufferAsIntBuffer;->put(II)Ljava/nio/IntBuffer;
-HSPLjava/nio/ByteBufferAsIntBuffer;->put([III)Ljava/nio/IntBuffer;
 HSPLjava/nio/ByteBufferAsLongBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
 HSPLjava/nio/ByteBufferAsLongBuffer;->get([JII)Ljava/nio/LongBuffer;
 HSPLjava/nio/ByteBufferAsLongBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsLongBuffer;->put([JII)Ljava/nio/LongBuffer;
 HSPLjava/nio/ByteBufferAsShortBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
 HSPLjava/nio/ByteBufferAsShortBuffer;->get([SII)Ljava/nio/ShortBuffer;
 HSPLjava/nio/ByteBufferAsShortBuffer;->ix(I)I
@@ -38304,17 +34505,11 @@
 HSPLjava/nio/DirectByteBuffer;->getChar()C
 HSPLjava/nio/DirectByteBuffer;->getChar(I)C
 HSPLjava/nio/DirectByteBuffer;->getCharUnchecked(I)C
-HSPLjava/nio/DirectByteBuffer;->getDouble(I)D
-HSPLjava/nio/DirectByteBuffer;->getDouble(J)D
-HSPLjava/nio/DirectByteBuffer;->getFloat()F
-HSPLjava/nio/DirectByteBuffer;->getFloat(J)F
 HSPLjava/nio/DirectByteBuffer;->getInt()I
 HSPLjava/nio/DirectByteBuffer;->getInt(I)I
 HSPLjava/nio/DirectByteBuffer;->getInt(J)I
-HSPLjava/nio/DirectByteBuffer;->getLong()J
 HSPLjava/nio/DirectByteBuffer;->getLong(I)J
 HSPLjava/nio/DirectByteBuffer;->getLong(J)J
-HSPLjava/nio/DirectByteBuffer;->getShort()S
 HSPLjava/nio/DirectByteBuffer;->getShort(I)S
 HSPLjava/nio/DirectByteBuffer;->getShort(J)S
 HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[CII)V
@@ -38325,7 +34520,6 @@
 HSPLjava/nio/DirectByteBuffer;->isReadOnly()Z
 HSPLjava/nio/DirectByteBuffer;->ix(I)J
 HSPLjava/nio/DirectByteBuffer;->put(B)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->put(JB)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
@@ -38335,7 +34529,6 @@
 HSPLjava/nio/DirectByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putInt(JI)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putLong(JJ)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putShort(JS)Ljava/nio/ByteBuffer;
@@ -38357,7 +34550,6 @@
 HSPLjava/nio/HeapByteBuffer;->_get(I)B
 HSPLjava/nio/HeapByteBuffer;->_put(IB)V
 HSPLjava/nio/HeapByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
-HSPLjava/nio/HeapByteBuffer;->asLongBuffer()Ljava/nio/LongBuffer;
 HSPLjava/nio/HeapByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->asShortBuffer()Ljava/nio/ShortBuffer;
 HSPLjava/nio/HeapByteBuffer;->compact()Ljava/nio/ByteBuffer;
@@ -38370,14 +34562,11 @@
 HSPLjava/nio/HeapByteBuffer;->getFloat(I)F
 HSPLjava/nio/HeapByteBuffer;->getInt()I
 HSPLjava/nio/HeapByteBuffer;->getInt(I)I
-HSPLjava/nio/HeapByteBuffer;->getIntUnchecked(I)I
 HSPLjava/nio/HeapByteBuffer;->getLong()J
 HSPLjava/nio/HeapByteBuffer;->getLong(I)J
 HSPLjava/nio/HeapByteBuffer;->getShort()S
 HSPLjava/nio/HeapByteBuffer;->getShort(I)S
 HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[III)V
-HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[JII)V
-HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[SII)V
 HSPLjava/nio/HeapByteBuffer;->isDirect()Z
 HSPLjava/nio/HeapByteBuffer;->isReadOnly()Z
 HSPLjava/nio/HeapByteBuffer;->ix(I)I
@@ -38388,13 +34577,10 @@
 HSPLjava/nio/HeapByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putIntUnchecked(II)V
 HSPLjava/nio/HeapByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putShort(IS)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[III)V
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[JII)V
 HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[SII)V
 HSPLjava/nio/HeapByteBuffer;->slice()Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapCharBuffer;-><init>(II)V
@@ -38411,22 +34597,14 @@
 HSPLjava/nio/HeapCharBuffer;->toString(II)Ljava/lang/String;
 HSPLjava/nio/IntBuffer;-><init>(IIII)V
 HSPLjava/nio/IntBuffer;-><init>(IIII[II)V
-HSPLjava/nio/IntBuffer;->allocate(I)Ljava/nio/IntBuffer;
-HSPLjava/nio/IntBuffer;->array()Ljava/lang/Object;
-HSPLjava/nio/IntBuffer;->array()[I
-HSPLjava/nio/IntBuffer;->arrayOffset()I
-HSPLjava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
 HSPLjava/nio/IntBuffer;->get([I)Ljava/nio/IntBuffer;
-HSPLjava/nio/IntBuffer;->hasArray()Z
 HSPLjava/nio/IntBuffer;->limit(I)Ljava/nio/Buffer;
 HSPLjava/nio/IntBuffer;->position(I)Ljava/nio/Buffer;
-HSPLjava/nio/IntBuffer;->put([I)Ljava/nio/IntBuffer;
 HSPLjava/nio/LongBuffer;-><init>(IIII)V
 HSPLjava/nio/LongBuffer;-><init>(IIII[JI)V
 HSPLjava/nio/LongBuffer;->get([J)Ljava/nio/LongBuffer;
 HSPLjava/nio/LongBuffer;->limit(I)Ljava/nio/Buffer;
 HSPLjava/nio/LongBuffer;->position(I)Ljava/nio/Buffer;
-HSPLjava/nio/LongBuffer;->put([J)Ljava/nio/LongBuffer;
 HSPLjava/nio/MappedByteBuffer;-><init>(IIII)V
 HSPLjava/nio/MappedByteBuffer;-><init>(IIIILjava/io/FileDescriptor;)V
 HSPLjava/nio/MappedByteBuffer;-><init>(IIII[BI)V
@@ -38448,18 +34626,8 @@
 HSPLjava/nio/ShortBuffer;->put([S)Ljava/nio/ShortBuffer;
 HSPLjava/nio/StringCharBuffer;-><init>(Ljava/lang/CharSequence;II)V
 HSPLjava/nio/StringCharBuffer;->get()C
-HSPLjava/nio/channels/Channels$1;-><init>(Ljava/nio/channels/WritableByteChannel;)V
-HSPLjava/nio/channels/Channels$1;->close()V
-HSPLjava/nio/channels/Channels$1;->write([BII)V
-HSPLjava/nio/channels/Channels$WritableByteChannelImpl;-><init>(Ljava/io/OutputStream;)V
-HSPLjava/nio/channels/Channels$WritableByteChannelImpl;->write(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/Channels;->access$000(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
 HSPLjava/nio/channels/Channels;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
-HSPLjava/nio/channels/Channels;->newChannel(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
 HSPLjava/nio/channels/Channels;->newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
-HSPLjava/nio/channels/Channels;->newOutputStream(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
-HSPLjava/nio/channels/Channels;->writeFully(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
-HSPLjava/nio/channels/Channels;->writeFullyImpl(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
 HSPLjava/nio/channels/FileChannel;-><init>()V
 HSPLjava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
 HSPLjava/nio/channels/FileChannel;->open(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;
@@ -38469,56 +34637,12 @@
 HSPLjava/nio/channels/FileLock;->acquiredBy()Ljava/nio/channels/Channel;
 HSPLjava/nio/channels/FileLock;->position()J
 HSPLjava/nio/channels/FileLock;->size()J
-HSPLjava/nio/channels/SelectableChannel;-><init>()V
-HSPLjava/nio/channels/SelectableChannel;->register(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/SelectionKey;-><init>()V
-HSPLjava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/nio/channels/SelectionKey;->isReadable()Z
-HSPLjava/nio/channels/Selector;-><init>()V
-HSPLjava/nio/channels/Selector;->open()Ljava/nio/channels/Selector;
-HSPLjava/nio/channels/SocketChannel;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLjava/nio/channels/SocketChannel;->open()Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->validOps()I
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;-><init>()V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->begin()V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->blockedOn(Lsun/nio/ch/Interruptible;)V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->close()V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->end(Z)V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->isOpen()Z
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->addKey(Ljava/nio/channels/SelectionKey;)V
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->blockingLock()Ljava/lang/Object;
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->configureBlocking(Z)Ljava/nio/channels/SelectableChannel;
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->findKey(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->implCloseChannel()V
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->isBlocking()Z
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->isRegistered()Z
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->register(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->removeKey(Ljava/nio/channels/SelectionKey;)V
-HSPLjava/nio/channels/spi/AbstractSelectionKey;-><init>()V
-HSPLjava/nio/channels/spi/AbstractSelectionKey;->cancel()V
-HSPLjava/nio/channels/spi/AbstractSelectionKey;->invalidate()V
-HSPLjava/nio/channels/spi/AbstractSelectionKey;->isValid()Z
-HSPLjava/nio/channels/spi/AbstractSelector$1;-><init>(Ljava/nio/channels/spi/AbstractSelector;)V
-HSPLjava/nio/channels/spi/AbstractSelector;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLjava/nio/channels/spi/AbstractSelector;->begin()V
-HSPLjava/nio/channels/spi/AbstractSelector;->cancel(Ljava/nio/channels/SelectionKey;)V
-HSPLjava/nio/channels/spi/AbstractSelector;->cancelledKeys()Ljava/util/Set;
-HSPLjava/nio/channels/spi/AbstractSelector;->close()V
-HSPLjava/nio/channels/spi/AbstractSelector;->deregister(Ljava/nio/channels/spi/AbstractSelectionKey;)V
-HSPLjava/nio/channels/spi/AbstractSelector;->end()V
-HSPLjava/nio/channels/spi/AbstractSelector;->isOpen()Z
-HSPLjava/nio/channels/spi/SelectorProvider$1;-><init>()V
-HSPLjava/nio/channels/spi/SelectorProvider$1;->run()Ljava/lang/Object;
-HSPLjava/nio/channels/spi/SelectorProvider$1;->run()Ljava/nio/channels/spi/SelectorProvider;
-HSPLjava/nio/channels/spi/SelectorProvider;-><init>()V
-HSPLjava/nio/channels/spi/SelectorProvider;->access$000()Z
-HSPLjava/nio/channels/spi/SelectorProvider;->access$100()Ljava/nio/channels/spi/SelectorProvider;
-HSPLjava/nio/channels/spi/SelectorProvider;->access$102(Ljava/nio/channels/spi/SelectorProvider;)Ljava/nio/channels/spi/SelectorProvider;
-HSPLjava/nio/channels/spi/SelectorProvider;->access$200()Z
-HSPLjava/nio/channels/spi/SelectorProvider;->loadProviderAsService()Z
-HSPLjava/nio/channels/spi/SelectorProvider;->loadProviderFromProperty()Z
-HSPLjava/nio/channels/spi/SelectorProvider;->provider()Ljava/nio/channels/spi/SelectorProvider;
 HSPLjava/nio/charset/Charset;-><init>(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLjava/nio/charset/Charset;->aliases()Ljava/util/Set;
 HSPLjava/nio/charset/Charset;->atBugLevel(Ljava/lang/String;)Z
@@ -38526,8 +34650,6 @@
 HSPLjava/nio/charset/Charset;->checkName(Ljava/lang/String;)V
 HSPLjava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
 HSPLjava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
-HSPLjava/nio/charset/Charset;->encode(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-HSPLjava/nio/charset/Charset;->encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z
 HSPLjava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
 HSPLjava/nio/charset/Charset;->forNameUEE(Ljava/lang/String;)Ljava/nio/charset/Charset;
@@ -38566,24 +34688,29 @@
 HSPLjava/nio/charset/CharsetEncoder;->reset()Ljava/nio/charset/CharsetEncoder;
 HSPLjava/nio/charset/CharsetEncoder;->unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;
 HSPLjava/nio/charset/CoderResult;->isError()Z
+HSPLjava/nio/charset/CoderResult;->isMalformed()Z
 HSPLjava/nio/charset/CoderResult;->isOverflow()Z
 HSPLjava/nio/charset/CoderResult;->isUnderflow()Z
-HSPLjava/nio/file/AccessMode;->values()[Ljava/nio/file/AccessMode;
-HSPLjava/nio/file/FileAlreadyExistsException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/nio/file/-$$Lambda$Files$powUktDqIsUPxzmcqaqk0NiO6iA;-><init>(Ljava/io/Closeable;)V
 HSPLjava/nio/file/FileSystemException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/nio/file/FileSystemException;->getMessage()Ljava/lang/String;
 HSPLjava/nio/file/FileSystemException;->getReason()Ljava/lang/String;
 HSPLjava/nio/file/FileSystems;->getDefault()Ljava/nio/file/FileSystem;
 PLjava/nio/file/Files$1;-><init>(Ljava/nio/file/PathMatcher;)V
+HPLjava/nio/file/Files$1;->accept(Ljava/lang/Object;)Z
+HPLjava/nio/file/Files$1;->accept(Ljava/nio/file/Path;)Z
+HSPLjava/nio/file/Files$2;-><init>(Ljava/util/Iterator;)V
+HSPLjava/nio/file/Files$2;->hasNext()Z
+HSPLjava/nio/file/Files$2;->next()Ljava/lang/Object;
+HSPLjava/nio/file/Files$2;->next()Ljava/nio/file/Path;
 HSPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/lang/Object;)Z
 HSPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/nio/file/Path;)Z
+HSPLjava/nio/file/Files;->asUncheckedRunnable(Ljava/io/Closeable;)Ljava/lang/Runnable;
 HPLjava/nio/file/Files;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Files;->delete(Ljava/nio/file/Path;)V
 HSPLjava/nio/file/Files;->exists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
 HSPLjava/nio/file/Files;->followLinks([Ljava/nio/file/LinkOption;)Z
-HSPLjava/nio/file/Files;->isAccessible(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)Z
 HSPLjava/nio/file/Files;->isRegularFile(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
-HSPLjava/nio/file/Files;->isWritable(Ljava/nio/file/Path;)Z
+HSPLjava/nio/file/Files;->list(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
 HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
 HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
 HSPLjava/nio/file/Files;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
@@ -38591,7 +34718,6 @@
 HSPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
 HPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
 HSPLjava/nio/file/Files;->newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
-HSPLjava/nio/file/Files;->newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
 HSPLjava/nio/file/Files;->provider(Ljava/nio/file/Path;)Ljava/nio/file/spi/FileSystemProvider;
 HSPLjava/nio/file/Files;->read(Ljava/io/InputStream;I)[B
 HSPLjava/nio/file/Files;->readAllBytes(Ljava/nio/file/Path;)[B
@@ -38602,9 +34728,9 @@
 HSPLjava/nio/file/attribute/FileTime;-><init>(JLjava/util/concurrent/TimeUnit;Ljava/time/Instant;)V
 HSPLjava/nio/file/attribute/FileTime;->append(Ljava/lang/StringBuilder;II)Ljava/lang/StringBuilder;
 HSPLjava/nio/file/attribute/FileTime;->from(JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/attribute/FileTime;
+HSPLjava/nio/file/attribute/FileTime;->toMillis()J
 HSPLjava/nio/file/attribute/FileTime;->toString()Ljava/lang/String;
 HSPLjava/nio/file/spi/FileSystemProvider;->newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
-HSPLjava/nio/file/spi/FileSystemProvider;->newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
 HSPLjava/security/AccessControlContext;-><init>([Ljava/security/ProtectionDomain;)V
 HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
 HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
@@ -38613,48 +34739,32 @@
 HSPLjava/security/AlgorithmParametersSpi;-><init>()V
 HSPLjava/security/CodeSigner;-><init>(Ljava/security/cert/CertPath;Ljava/security/Timestamp;)V
 HSPLjava/security/CodeSigner;->getSignerCertPath()Ljava/security/cert/CertPath;
-HSPLjava/security/DigestInputStream;-><init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestInputStream;->read([BII)I
-HSPLjava/security/DigestInputStream;->setMessageDigest(Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestOutputStream;-><init>(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestOutputStream;->setMessageDigest(Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestOutputStream;->write([BII)V
 HSPLjava/security/GeneralSecurityException;-><init>(Ljava/lang/String;)V
 HSPLjava/security/KeyFactory;-><init>(Ljava/lang/String;)V
-HSPLjava/security/KeyFactory;-><init>(Ljava/security/KeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
 HSPLjava/security/KeyFactory;->generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
 HSPLjava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
 HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
-HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
-HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
 HSPLjava/security/KeyFactory;->nextSpi(Ljava/security/KeyFactorySpi;)Ljava/security/KeyFactorySpi;
 HSPLjava/security/KeyFactorySpi;-><init>()V
 HSPLjava/security/KeyPair;-><init>(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
 HSPLjava/security/KeyPair;->getPrivate()Ljava/security/PrivateKey;
 HSPLjava/security/KeyPair;->getPublic()Ljava/security/PublicKey;
-HSPLjava/security/KeyPairGenerator$Delegate;-><init>(Ljava/security/KeyPairGeneratorSpi;Ljava/lang/String;)V
-HSPLjava/security/KeyPairGenerator$Delegate;->generateKeyPair()Ljava/security/KeyPair;
-HSPLjava/security/KeyPairGenerator$Delegate;->initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
 HSPLjava/security/KeyPairGenerator;-><init>(Ljava/lang/String;)V
 HSPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
-HSPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyPairGenerator;
 HSPLjava/security/KeyPairGenerator;->getInstance(Lsun/security/jca/GetInstance$Instance;Ljava/lang/String;)Ljava/security/KeyPairGenerator;
 HSPLjava/security/KeyPairGenerator;->initialize(Ljava/security/spec/AlgorithmParameterSpec;)V
 HSPLjava/security/KeyPairGeneratorSpi;-><init>()V
 HSPLjava/security/KeyStore$1;-><init>()V
 HSPLjava/security/KeyStore$1;->run()Ljava/lang/Object;
 HSPLjava/security/KeyStore$1;->run()Ljava/lang/String;
-HSPLjava/security/KeyStore$PrivateKeyEntry;-><init>(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
-HSPLjava/security/KeyStore$PrivateKeyEntry;-><init>(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
-HSPLjava/security/KeyStore$PrivateKeyEntry;->getCertificate()Ljava/security/cert/Certificate;
-HSPLjava/security/KeyStore$PrivateKeyEntry;->getPrivateKey()Ljava/security/PrivateKey;
+HSPLjava/security/KeyStore$SecretKeyEntry;-><init>(Ljavax/crypto/SecretKey;)V
+HSPLjava/security/KeyStore$SecretKeyEntry;->getSecretKey()Ljavax/crypto/SecretKey;
 HSPLjava/security/KeyStore;-><init>(Ljava/security/KeyStoreSpi;Ljava/security/Provider;Ljava/lang/String;)V
 HSPLjava/security/KeyStore;->aliases()Ljava/util/Enumeration;
 HSPLjava/security/KeyStore;->containsAlias(Ljava/lang/String;)Z
+HSPLjava/security/KeyStore;->deleteEntry(Ljava/lang/String;)V
 HSPLjava/security/KeyStore;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLjava/security/KeyStore;->getCreationDate(Ljava/lang/String;)Ljava/util/Date;
 HSPLjava/security/KeyStore;->getDefaultType()Ljava/lang/String;
-HSPLjava/security/KeyStore;->getEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
 HSPLjava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
 HSPLjava/security/KeyStore;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
 HSPLjava/security/KeyStore;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
@@ -38662,9 +34772,7 @@
 HSPLjava/security/KeyStore;->load(Ljava/io/InputStream;[C)V
 HSPLjava/security/KeyStore;->load(Ljava/security/KeyStore$LoadStoreParameter;)V
 HSPLjava/security/KeyStore;->setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
-HSPLjava/security/KeyStore;->size()I
 HSPLjava/security/KeyStoreSpi;-><init>()V
-HSPLjava/security/KeyStoreSpi;->engineGetEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
 HSPLjava/security/KeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
 HSPLjava/security/MessageDigest$Delegate;-><init>(Ljava/security/MessageDigestSpi;Ljava/lang/String;)V
 HSPLjava/security/MessageDigest$Delegate;->clone()Ljava/lang/Object;
@@ -38684,7 +34792,6 @@
 HSPLjava/security/MessageDigest;->digest()[B
 HSPLjava/security/MessageDigest;->digest([B)[B
 HSPLjava/security/MessageDigest;->digest([BII)I
-HSPLjava/security/MessageDigest;->getAlgorithm()Ljava/lang/String;
 HSPLjava/security/MessageDigest;->getDigestLength()I
 HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
 HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;
@@ -38757,7 +34864,6 @@
 HSPLjava/security/SecureRandom;->next(I)I
 HSPLjava/security/SecureRandom;->nextBytes([B)V
 HSPLjava/security/SecureRandom;->setSeed(J)V
-HSPLjava/security/SecureRandom;->setSeed([B)V
 HSPLjava/security/SecureRandomSpi;-><init>()V
 HSPLjava/security/Security;->addProvider(Ljava/security/Provider;)I
 HSPLjava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
@@ -38774,9 +34880,7 @@
 HSPLjava/security/Signature$Delegate;-><init>(Ljava/lang/String;)V
 HSPLjava/security/Signature$Delegate;->chooseFirstProvider()V
 HSPLjava/security/Signature$Delegate;->chooseProvider(ILjava/security/Key;Ljava/security/SecureRandom;)V
-HSPLjava/security/Signature$Delegate;->engineInitSign(Ljava/security/PrivateKey;)V
 HSPLjava/security/Signature$Delegate;->engineInitVerify(Ljava/security/PublicKey;)V
-HSPLjava/security/Signature$Delegate;->engineSign()[B
 HSPLjava/security/Signature$Delegate;->engineUpdate(Ljava/nio/ByteBuffer;)V
 HSPLjava/security/Signature$Delegate;->engineUpdate([BII)V
 HSPLjava/security/Signature$Delegate;->engineVerify([B)Z
@@ -38786,10 +34890,8 @@
 HSPLjava/security/Signature;->access$000(Ljava/security/Signature;)Ljava/lang/String;
 HSPLjava/security/Signature;->access$200(Ljava/security/Provider$Service;)Z
 HSPLjava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
-HSPLjava/security/Signature;->initSign(Ljava/security/PrivateKey;)V
 HSPLjava/security/Signature;->initVerify(Ljava/security/PublicKey;)V
 HSPLjava/security/Signature;->isSpi(Ljava/security/Provider$Service;)Z
-HSPLjava/security/Signature;->sign()[B
 HSPLjava/security/Signature;->update(Ljava/nio/ByteBuffer;)V
 HSPLjava/security/Signature;->update([B)V
 HSPLjava/security/Signature;->update([BII)V
@@ -38798,17 +34900,16 @@
 HSPLjava/security/SignatureSpi;->engineUpdate(Ljava/nio/ByteBuffer;)V
 HSPLjava/security/cert/CertPath;-><init>(Ljava/lang/String;)V
 HSPLjava/security/cert/CertPath;->getType()Ljava/lang/String;
-PLjava/security/cert/CertPathBuilder;-><init>(Ljava/security/cert/CertPathBuilderSpi;Ljava/security/Provider;Ljava/lang/String;)V
-PLjava/security/cert/CertPathBuilder;->build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
+HSPLjava/security/cert/CertPathBuilder;-><init>(Ljava/security/cert/CertPathBuilderSpi;Ljava/security/Provider;Ljava/lang/String;)V
+HSPLjava/security/cert/CertPathBuilder;->build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
 PLjava/security/cert/CertPathBuilder;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
-PLjava/security/cert/CertPathBuilderSpi;-><init>()V
+HSPLjava/security/cert/CertPathBuilderSpi;-><init>()V
 PLjava/security/cert/CertPathHelperImpl;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
 HSPLjava/security/cert/CertPathValidator;-><init>(Ljava/security/cert/CertPathValidatorSpi;Ljava/security/Provider;Ljava/lang/String;)V
 HSPLjava/security/cert/CertPathValidator;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
 HSPLjava/security/cert/CertPathValidator;->validate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
 HSPLjava/security/cert/CertPathValidatorSpi;-><init>()V
 HSPLjava/security/cert/CertStore;-><init>(Ljava/security/cert/CertStoreSpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)V
-PLjava/security/cert/CertStore;->getCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
 HSPLjava/security/cert/CertStore;->getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
 HSPLjava/security/cert/CertStoreSpi;-><init>(Ljava/security/cert/CertStoreParameters;)V
 HSPLjava/security/cert/Certificate;-><init>(Ljava/lang/String;)V
@@ -38819,22 +34920,21 @@
 PLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
 HSPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;
 HSPLjava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
-HSPLjava/security/cert/CertificateFactory;->generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
 HSPLjava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
 HSPLjava/security/cert/CertificateFactorySpi;-><init>()V
 HSPLjava/security/cert/CollectionCertStoreParameters;-><init>(Ljava/util/Collection;)V
 HSPLjava/security/cert/CollectionCertStoreParameters;->clone()Ljava/lang/Object;
 HSPLjava/security/cert/CollectionCertStoreParameters;->getCollection()Ljava/util/Collection;
-PLjava/security/cert/PKIXBuilderParameters;-><init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
-PLjava/security/cert/PKIXBuilderParameters;->getMaxPathLength()I
-PLjava/security/cert/PKIXCertPathBuilderResult;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
+HSPLjava/security/cert/PKIXBuilderParameters;-><init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
+HSPLjava/security/cert/PKIXBuilderParameters;->getMaxPathLength()I
+HSPLjava/security/cert/PKIXCertPathBuilderResult;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
 PLjava/security/cert/PKIXCertPathBuilderResult;->getCertPath()Ljava/security/cert/CertPath;
 HSPLjava/security/cert/PKIXCertPathChecker;-><init>()V
 HSPLjava/security/cert/PKIXCertPathChecker;->clone()Ljava/lang/Object;
 HSPLjava/security/cert/PKIXCertPathValidatorResult;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
 HSPLjava/security/cert/PKIXParameters;-><init>(Ljava/util/Set;)V
 HSPLjava/security/cert/PKIXParameters;->addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V
-PLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
+HSPLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
 HSPLjava/security/cert/PKIXParameters;->getCertPathCheckers()Ljava/util/List;
 HSPLjava/security/cert/PKIXParameters;->getCertStores()Ljava/util/List;
 HSPLjava/security/cert/PKIXParameters;->getDate()Ljava/util/Date;
@@ -38857,9 +34957,9 @@
 HSPLjava/security/cert/TrustAnchor;->getTrustedCert()Ljava/security/cert/X509Certificate;
 HSPLjava/security/cert/TrustAnchor;->setNameConstraints([B)V
 HSPLjava/security/cert/X509CertSelector;-><init>()V
-HPLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
-PLjava/security/cert/X509CertSelector;->getBasicConstraints()I
-PLjava/security/cert/X509CertSelector;->getCertificate()Ljava/security/cert/X509Certificate;
+HSPLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
+HSPLjava/security/cert/X509CertSelector;->getBasicConstraints()I
+HSPLjava/security/cert/X509CertSelector;->getCertificate()Ljava/security/cert/X509Certificate;
 PLjava/security/cert/X509CertSelector;->getExtensionObject(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
 PLjava/security/cert/X509CertSelector;->getSubject()Ljavax/security/auth/x500/X500Principal;
 HSPLjava/security/cert/X509CertSelector;->match(Ljava/security/cert/Certificate;)Z
@@ -38874,9 +34974,9 @@
 HSPLjava/security/cert/X509CertSelector;->matchSubjectAlternativeNames(Ljava/security/cert/X509Certificate;)Z
 HSPLjava/security/cert/X509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
 HSPLjava/security/cert/X509CertSelector;->matchSubjectPublicKeyAlgID(Ljava/security/cert/X509Certificate;)Z
-PLjava/security/cert/X509CertSelector;->setBasicConstraints(I)V
-PLjava/security/cert/X509CertSelector;->setCertificate(Ljava/security/cert/X509Certificate;)V
-PLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
+HSPLjava/security/cert/X509CertSelector;->setBasicConstraints(I)V
+HSPLjava/security/cert/X509CertSelector;->setCertificate(Ljava/security/cert/X509Certificate;)V
+HSPLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
 PLjava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
 HSPLjava/security/cert/X509CertSelector;->setSubject(Ljavax/security/auth/x500/X500Principal;)V
 HSPLjava/security/cert/X509Certificate;-><init>()V
@@ -38891,21 +34991,14 @@
 HSPLjava/security/spec/ECGenParameterSpec;->getName()Ljava/lang/String;
 HSPLjava/security/spec/ECParameterSpec;-><init>(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V
 HSPLjava/security/spec/ECParameterSpec;->getCurve()Ljava/security/spec/EllipticCurve;
-HSPLjava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
-HSPLjava/security/spec/ECParameterSpec;->getGenerator()Ljava/security/spec/ECPoint;
 HSPLjava/security/spec/ECParameterSpec;->getOrder()Ljava/math/BigInteger;
 HSPLjava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V
 HSPLjava/security/spec/ECPoint;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
 HSPLjava/security/spec/ECPoint;->getAffineX()Ljava/math/BigInteger;
 HSPLjava/security/spec/ECPoint;->getAffineY()Ljava/math/BigInteger;
-HSPLjava/security/spec/ECPublicKeySpec;-><init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
-HSPLjava/security/spec/ECPublicKeySpec;->getParams()Ljava/security/spec/ECParameterSpec;
-HSPLjava/security/spec/ECPublicKeySpec;->getW()Ljava/security/spec/ECPoint;
 HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
 HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
 HSPLjava/security/spec/EllipticCurve;->checkValidity(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/lang/String;)V
-HSPLjava/security/spec/EllipticCurve;->getA()Ljava/math/BigInteger;
-HSPLjava/security/spec/EllipticCurve;->getB()Ljava/math/BigInteger;
 HSPLjava/security/spec/EllipticCurve;->getField()Ljava/security/spec/ECField;
 HSPLjava/security/spec/EncodedKeySpec;-><init>([B)V
 HSPLjava/security/spec/EncodedKeySpec;->getEncoded()[B
@@ -38913,25 +35006,21 @@
 HSPLjava/security/spec/PKCS8EncodedKeySpec;-><init>([B)V
 HSPLjava/security/spec/PKCS8EncodedKeySpec;->getEncoded()[B
 HSPLjava/security/spec/RSAKeyGenParameterSpec;-><clinit>()V
-HSPLjava/security/spec/RSAKeyGenParameterSpec;-><init>(ILjava/math/BigInteger;)V
-HSPLjava/security/spec/RSAKeyGenParameterSpec;->getKeysize()I
-HSPLjava/security/spec/RSAKeyGenParameterSpec;->getPublicExponent()Ljava/math/BigInteger;
 HSPLjava/security/spec/X509EncodedKeySpec;-><init>([B)V
 HSPLjava/security/spec/X509EncodedKeySpec;->getEncoded()[B
-HSPLjava/sql/Timestamp;-><init>(J)V
 HSPLjava/text/AttributedCharacterIterator$Attribute;-><init>(Ljava/lang/String;)V
 HSPLjava/text/AttributedCharacterIterator$Attribute;->equals(Ljava/lang/Object;)Z
 HSPLjava/text/AttributedCharacterIterator$Attribute;->hashCode()I
 HSPLjava/text/BreakIterator;-><init>()V
-HSPLjava/text/BreakIterator;->getWordInstance()Ljava/text/BreakIterator;
+HSPLjava/text/BreakIterator;->getLineInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;
 HSPLjava/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;
 HSPLjava/text/CalendarBuilder;-><init>()V
 HSPLjava/text/CalendarBuilder;->establish(Ljava/util/Calendar;)Ljava/util/Calendar;
 HSPLjava/text/CalendarBuilder;->isSet(I)Z
 HSPLjava/text/CalendarBuilder;->set(II)Ljava/text/CalendarBuilder;
-HSPLjava/text/CollationKey;-><init>(Ljava/lang/String;)V
 HSPLjava/text/Collator;-><init>(Landroid/icu/text/Collator;)V
 HSPLjava/text/Collator;->decompositionMode_Java_ICU(I)I
+HSPLjava/text/Collator;->getInstance()Ljava/text/Collator;
 HSPLjava/text/Collator;->getInstance(Ljava/util/Locale;)Ljava/text/Collator;
 HSPLjava/text/Collator;->setDecomposition(I)V
 HSPLjava/text/Collator;->setStrength(I)V
@@ -38939,11 +35028,7 @@
 HSPLjava/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
 HSPLjava/text/DateFormat;->get(IIILjava/util/Locale;)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getDateInstance(ILjava/util/Locale;)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getDateTimeInstance()Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getDateTimeInstance(IILjava/util/Locale;)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getTimeInstance(I)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getTimeInstance(ILjava/util/Locale;)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getTimeZone()Ljava/util/TimeZone;
 HSPLjava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
@@ -38951,7 +35036,6 @@
 HSPLjava/text/DateFormat;->setLenient(Z)V
 HSPLjava/text/DateFormat;->setTimeZone(Ljava/util/TimeZone;)V
 HSPLjava/text/DateFormatSymbols;-><init>(Ljava/util/Locale;)V
-HSPLjava/text/DateFormatSymbols;->copyMembers(Ljava/text/DateFormatSymbols;Ljava/text/DateFormatSymbols;)V
 HSPLjava/text/DateFormatSymbols;->getAmPmStrings()[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getCachedInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
 HSPLjava/text/DateFormatSymbols;->getInstanceRef(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
@@ -38963,12 +35047,10 @@
 HSPLjava/text/DateFormatSymbols;->initializeSupplementaryData(Llibcore/icu/LocaleData;)V
 HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
 HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
-HSPLjava/text/DecimalFormat;->adjustForCurrencyDefaultFractionDigits()V
 HSPLjava/text/DecimalFormat;->clone()Ljava/lang/Object;
 HSPLjava/text/DecimalFormat;->equals(Ljava/lang/Object;)Z
 HSPLjava/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DecimalFormat;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLjava/text/DecimalFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
 HSPLjava/text/DecimalFormat;->getIcuFieldPosition(Ljava/text/FieldPosition;)Ljava/text/FieldPosition;
 HSPLjava/text/DecimalFormat;->getMaximumFractionDigits()I
@@ -38995,7 +35077,6 @@
 HSPLjava/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;)V
 HSPLjava/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
 HSPLjava/text/DecimalFormatSymbols;->fromIcuInstance(Landroid/icu/text/DecimalFormatSymbols;)Ljava/text/DecimalFormatSymbols;
-HSPLjava/text/DecimalFormatSymbols;->getCurrency()Ljava/util/Currency;
 HSPLjava/text/DecimalFormatSymbols;->getDecimalSeparator()C
 HSPLjava/text/DecimalFormatSymbols;->getGroupingSeparator()C
 HSPLjava/text/DecimalFormatSymbols;->getIcuDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
@@ -39058,7 +35139,6 @@
 HSPLjava/text/NumberFormat;->clone()Ljava/lang/Object;
 HSPLjava/text/NumberFormat;->format(D)Ljava/lang/String;
 HSPLjava/text/NumberFormat;->format(J)Ljava/lang/String;
-HSPLjava/text/NumberFormat;->getCurrencyInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
 HSPLjava/text/NumberFormat;->getInstance()Ljava/text/NumberFormat;
 HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
 HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;
@@ -39078,13 +35158,10 @@
 HSPLjava/text/ParsePosition;->setIndex(I)V
 HSPLjava/text/RuleBasedCollator;-><init>(Landroid/icu/text/RuleBasedCollator;)V
 HSPLjava/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
 HSPLjava/text/SimpleDateFormat;-><init>()V
 HSPLjava/text/SimpleDateFormat;-><init>(IILjava/util/Locale;)V
 HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
 HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
-HSPLjava/text/SimpleDateFormat;->applyPattern(Ljava/lang/String;)V
-HSPLjava/text/SimpleDateFormat;->applyPatternImpl(Ljava/lang/String;)V
 HSPLjava/text/SimpleDateFormat;->checkNegativeNumberExpression()V
 HSPLjava/text/SimpleDateFormat;->compile(Ljava/lang/String;)[C
 HSPLjava/text/SimpleDateFormat;->encode(IILjava/lang/StringBuilder;)V
@@ -39093,11 +35170,9 @@
 HSPLjava/text/SimpleDateFormat;->formatMonth(IIILjava/lang/StringBuffer;ZZII)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->formatWeekday(IIZZ)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->getDateTimeFormat(IILjava/util/Locale;)Ljava/lang/String;
-HSPLjava/text/SimpleDateFormat;->getTimeZoneNames()Landroid/icu/text/TimeZoneNames;
 HSPLjava/text/SimpleDateFormat;->initialize(Ljava/util/Locale;)V
 HSPLjava/text/SimpleDateFormat;->initializeCalendar(Ljava/util/Locale;)V
 HSPLjava/text/SimpleDateFormat;->initializeDefaultCentury()V
-HSPLjava/text/SimpleDateFormat;->isDigit(C)Z
 HSPLjava/text/SimpleDateFormat;->matchString(Ljava/lang/String;II[Ljava/lang/String;Ljava/text/CalendarBuilder;)I
 HSPLjava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
 HSPLjava/text/SimpleDateFormat;->parseAmbiguousDatesAsAfter(Ljava/util/Date;)V
@@ -39106,7 +35181,6 @@
 HSPLjava/text/SimpleDateFormat;->parseWeekday(Ljava/lang/String;IIZZLjava/text/CalendarBuilder;)I
 HSPLjava/text/SimpleDateFormat;->subFormat(IILjava/text/Format$FieldDelegate;Ljava/lang/StringBuffer;Z)V
 HSPLjava/text/SimpleDateFormat;->subParse(Ljava/lang/String;IIIZ[ZLjava/text/ParsePosition;ZLjava/text/CalendarBuilder;)I
-HSPLjava/text/SimpleDateFormat;->subParseNumericZone(Ljava/lang/String;IIIZLjava/text/CalendarBuilder;)I
 HSPLjava/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->useDateFormatSymbols()Z
 HSPLjava/text/SimpleDateFormat;->zeroPaddingNumber(IIILjava/lang/StringBuffer;)V
@@ -39120,7 +35194,6 @@
 HSPLjava/text/StringCharacterIterator;->getEndIndex()I
 HSPLjava/text/StringCharacterIterator;->getIndex()I
 HSPLjava/text/StringCharacterIterator;->next()C
-HSPLjava/text/StringCharacterIterator;->previous()C
 HSPLjava/text/StringCharacterIterator;->setIndex(I)C
 HSPLjava/time/-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
 HSPLjava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
@@ -39137,11 +35210,16 @@
 HSPLjava/time/DayOfWeek;->of(I)Ljava/time/DayOfWeek;
 HSPLjava/time/DayOfWeek;->plus(J)Ljava/time/DayOfWeek;
 HSPLjava/time/Duration;-><init>(JI)V
-HSPLjava/time/Duration;->addTo(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
+HSPLjava/time/Duration;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
 HSPLjava/time/Duration;->compareTo(Ljava/time/Duration;)I
 HSPLjava/time/Duration;->create(JI)Ljava/time/Duration;
 HSPLjava/time/Duration;->getSeconds()J
+HSPLjava/time/Duration;->ofDays(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofHours(J)Ljava/time/Duration;
 HSPLjava/time/Duration;->ofMillis(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofMinutes(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofNanos(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofSeconds(J)Ljava/time/Duration;
 HSPLjava/time/Duration;->toMillis()J
 HSPLjava/time/Duration;->toNanos()J
 HSPLjava/time/Instant;-><init>(JI)V
@@ -39162,8 +35240,6 @@
 HSPLjava/time/Instant;->ofEpochSecond(JJ)Ljava/time/Instant;
 HSPLjava/time/Instant;->plus(JJ)Ljava/time/Instant;
 HSPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
-HSPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
-HSPLjava/time/Instant;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
 HSPLjava/time/Instant;->plusMillis(J)Ljava/time/Instant;
 HSPLjava/time/Instant;->plusSeconds(J)Ljava/time/Instant;
 HSPLjava/time/Instant;->toEpochMilli()J
@@ -39190,6 +35266,7 @@
 HSPLjava/time/LocalDate;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
 HSPLjava/time/LocalDate;->minusDays(J)Ljava/time/LocalDate;
+PLjava/time/LocalDate;->minusYears(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->of(III)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->of(ILjava/time/Month;I)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->ofEpochDay(J)Ljava/time/LocalDate;
@@ -39198,14 +35275,18 @@
 HSPLjava/time/LocalDate;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->plusDays(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->plusMonths(J)Ljava/time/LocalDate;
+PLjava/time/LocalDate;->plusYears(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
 HSPLjava/time/LocalDate;->toEpochDay()J
 HSPLjava/time/LocalDate;->toString()Ljava/lang/String;
 HSPLjava/time/LocalDate;->with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;
+HPLjava/time/LocalDate;->withDayOfMonth(I)Ljava/time/LocalDate;
+PLjava/time/LocalDate;->withMonth(I)Ljava/time/LocalDate;
 HSPLjava/time/LocalDateTime;-><init>(Ljava/time/LocalDate;Ljava/time/LocalTime;)V
 HSPLjava/time/LocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HSPLjava/time/LocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
 HSPLjava/time/LocalDateTime;->compareTo0(Ljava/time/LocalDateTime;)I
+PLjava/time/LocalDateTime;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/LocalDateTime;->getDayOfMonth()I
 HSPLjava/time/LocalDateTime;->getHour()I
 HSPLjava/time/LocalDateTime;->getLong(Ljava/time/temporal/TemporalField;)J
@@ -39217,8 +35298,8 @@
 HSPLjava/time/LocalDateTime;->isAfter(Ljava/time/chrono/ChronoLocalDateTime;)Z
 HSPLjava/time/LocalDateTime;->isBefore(Ljava/time/chrono/ChronoLocalDateTime;)Z
 HSPLjava/time/LocalDateTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
+HSPLjava/time/LocalDateTime;->now()Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->now(Ljava/time/Clock;)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->of(IIIIII)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->of(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->ofEpochSecond(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDateTime;
@@ -39230,13 +35311,13 @@
 HSPLjava/time/LocalDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
 HSPLjava/time/LocalDateTime;->toLocalTime()Ljava/time/LocalTime;
 HSPLjava/time/LocalDateTime;->toString()Ljava/lang/String;
-HPLjava/time/LocalDateTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->with(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalDateTime;->withSecond(I)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalTime$1;-><clinit>()V
 HSPLjava/time/LocalTime;-><init>(IIII)V
 HSPLjava/time/LocalTime;->compareTo(Ljava/time/LocalTime;)I
 HSPLjava/time/LocalTime;->create(IIII)Ljava/time/LocalTime;
+PLjava/time/LocalTime;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/LocalTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->get0(Ljava/time/temporal/TemporalField;)I
 HSPLjava/time/LocalTime;->getHour()I
@@ -39246,7 +35327,6 @@
 HSPLjava/time/LocalTime;->getSecond()I
 HSPLjava/time/LocalTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
 HSPLjava/time/LocalTime;->of(II)Ljava/time/LocalTime;
-HSPLjava/time/LocalTime;->of(III)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->of(IIII)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->ofNanoOfDay(J)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->ofSecondOfDay(J)Ljava/time/LocalTime;
@@ -39263,11 +35343,14 @@
 HSPLjava/time/Month;->values()[Ljava/time/Month;
 HSPLjava/time/Period;-><init>(III)V
 HSPLjava/time/Period;->create(III)Ljava/time/Period;
+PLjava/time/Period;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/Period;->getDays()I
 HSPLjava/time/Period;->getMonths()I
 HSPLjava/time/Period;->getYears()I
 HSPLjava/time/Period;->isZero()Z
 HSPLjava/time/Period;->multipliedBy(I)Ljava/time/Period;
+HSPLjava/time/Period;->parse(Ljava/lang/CharSequence;)Ljava/time/Period;
+HSPLjava/time/Period;->parseNumber(Ljava/lang/CharSequence;Ljava/lang/String;I)I
 HSPLjava/time/Period;->toString()Ljava/lang/String;
 HSPLjava/time/Period;->toTotalMonths()J
 HSPLjava/time/ZoneId;-><init>()V
@@ -39293,6 +35376,7 @@
 HSPLjava/time/ZonedDateTime$1;-><clinit>()V
 HSPLjava/time/ZonedDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)V
 HSPLjava/time/ZonedDateTime;->create(JILjava/time/ZoneId;)Ljava/time/ZonedDateTime;
+PLjava/time/ZonedDateTime;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/ZonedDateTime;->format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
 HSPLjava/time/ZonedDateTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;
 HSPLjava/time/ZonedDateTime;->getDayOfMonth()I
@@ -39313,7 +35397,6 @@
 HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
 HSPLjava/time/ZonedDateTime;->toLocalTime()Ljava/time/LocalTime;
 HSPLjava/time/ZonedDateTime;->toString()Ljava/lang/String;
-HPLjava/time/ZonedDateTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;
 HSPLjava/time/ZonedDateTime;->withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HSPLjava/time/chrono/AbstractChronology;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/chrono/AbstractChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
@@ -39390,6 +35473,7 @@
 HSPLjava/time/format/DateTimeFormatterBuilder;->appendText(Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;
 HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;)Ljava/time/format/DateTimeFormatterBuilder;
 HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/temporal/TemporalField;I)Ljava/time/format/DateTimeFormatterBuilder;
+HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;)Ljava/time/format/DateTimeFormatterBuilder;
 HSPLjava/time/format/DateTimeFormatterBuilder;->lambda$static$0(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId;
 HSPLjava/time/format/DateTimeFormatterBuilder;->parseField(CILjava/time/temporal/TemporalField;)V
 HSPLjava/time/format/DateTimeFormatterBuilder;->parsePattern(Ljava/lang/String;)V
@@ -39445,6 +35529,7 @@
 HSPLjava/time/format/Parsed;->resolveTimeLenient()V
 HSPLjava/time/format/Parsed;->updateCheckConflict(Ljava/time/LocalTime;Ljava/time/Period;)V
 HSPLjava/time/format/Parsed;->updateCheckConflict(Ljava/time/chrono/ChronoLocalDate;)V
+HPLjava/time/format/SignStyle;->parse(ZZZ)Z
 HSPLjava/time/format/SignStyle;->values()[Ljava/time/format/SignStyle;
 HSPLjava/time/temporal/-$$Lambda$TemporalAdjusters$A9OZwfMlHD1vy7-nYt5NssACu7Q;-><init>(I)V
 HSPLjava/time/temporal/-$$Lambda$TemporalAdjusters$A9OZwfMlHD1vy7-nYt5NssACu7Q;->adjustInto(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
@@ -39513,7 +35598,6 @@
 HSPLjava/time/zone/ZoneRulesProvider;->getAvailableZoneIds()Ljava/util/Set;
 HSPLjava/time/zone/ZoneRulesProvider;->getProvider(Ljava/lang/String;)Ljava/time/zone/ZoneRulesProvider;
 HSPLjava/time/zone/ZoneRulesProvider;->getRules(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
-HSPLjava/util/-$$Lambda$Comparator$4V5k8aLimtS0VsEILEAqQ9UGZYo;-><init>(Ljava/util/function/ToLongFunction;)V
 HSPLjava/util/-$$Lambda$Comparator$BZSVCoA8i87ehjxxZ1weEounfDQ;-><init>(Ljava/util/Comparator;Ljava/util/Comparator;)V
 HSPLjava/util/-$$Lambda$Comparator$BZSVCoA8i87ehjxxZ1weEounfDQ;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/-$$Lambda$Comparator$DNgpxUFZqmT4lOBzlVyPjWwvEvw;-><init>(Ljava/util/function/ToIntFunction;)V
@@ -39538,49 +35622,24 @@
 HSPLjava/util/AbstractList$Itr;->hasNext()Z
 HSPLjava/util/AbstractList$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/AbstractList$ListItr;-><init>(Ljava/util/AbstractList;I)V
-HSPLjava/util/AbstractList$ListItr;->hasPrevious()Z
 HSPLjava/util/AbstractList$ListItr;->nextIndex()I
-HSPLjava/util/AbstractList$ListItr;->previous()Ljava/lang/Object;
-HSPLjava/util/AbstractList$ListItr;->previousIndex()I
-HSPLjava/util/AbstractList$RandomAccessSpliterator;-><init>(Ljava/util/List;)V
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->characteristics()I
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->checkAbstractListModCount(Ljava/util/AbstractList;I)V
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->estimateSize()J
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->get(Ljava/util/List;I)Ljava/lang/Object;
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->getFence()I
-HSPLjava/util/AbstractList$RandomAccessSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
 HSPLjava/util/AbstractList$RandomAccessSubList;-><init>(Ljava/util/AbstractList;II)V
-HSPLjava/util/AbstractList$SubList$1;-><init>(Ljava/util/AbstractList$SubList;I)V
-HSPLjava/util/AbstractList$SubList$1;->hasNext()Z
-HSPLjava/util/AbstractList$SubList$1;->next()Ljava/lang/Object;
-HSPLjava/util/AbstractList$SubList$1;->nextIndex()I
 HSPLjava/util/AbstractList$SubList;-><init>(Ljava/util/AbstractList;II)V
-HSPLjava/util/AbstractList$SubList;->access$100(Ljava/util/AbstractList$SubList;)I
-HSPLjava/util/AbstractList$SubList;->access$200(Ljava/util/AbstractList$SubList;)Ljava/util/AbstractList;
 HSPLjava/util/AbstractList$SubList;->checkForComodification()V
-HSPLjava/util/AbstractList$SubList;->get(I)Ljava/lang/Object;
 HSPLjava/util/AbstractList$SubList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/AbstractList$SubList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/AbstractList$SubList;->rangeCheckForAdd(I)V
-HSPLjava/util/AbstractList$SubList;->size()I
 HSPLjava/util/AbstractList;-><init>()V
 HSPLjava/util/AbstractList;->add(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractList;->clear()V
 HSPLjava/util/AbstractList;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractList;->hashCode()I
-HSPLjava/util/AbstractList;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/AbstractList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/AbstractList;->listIterator()Ljava/util/ListIterator;
 HSPLjava/util/AbstractList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/AbstractList;->rangeCheckForAdd(I)V
 HSPLjava/util/AbstractList;->subList(II)Ljava/util/List;
 HSPLjava/util/AbstractList;->subListRangeCheck(III)V
-HSPLjava/util/AbstractMap$1$1;-><init>(Ljava/util/AbstractMap$1;)V
-HSPLjava/util/AbstractMap$1$1;->hasNext()Z
-HSPLjava/util/AbstractMap$1$1;->next()Ljava/lang/Object;
-HSPLjava/util/AbstractMap$1;-><init>(Ljava/util/AbstractMap;)V
-HSPLjava/util/AbstractMap$1;->iterator()Ljava/util/Iterator;
 HSPLjava/util/AbstractMap$2$1;-><init>(Ljava/util/AbstractMap$2;)V
 HSPLjava/util/AbstractMap$2$1;->hasNext()Z
 HSPLjava/util/AbstractMap$2$1;->next()Ljava/lang/Object;
@@ -39603,14 +35662,12 @@
 HSPLjava/util/AbstractMap;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractMap;->hashCode()I
 HSPLjava/util/AbstractMap;->isEmpty()Z
-HSPLjava/util/AbstractMap;->keySet()Ljava/util/Set;
 HSPLjava/util/AbstractMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/AbstractMap;->size()I
 HSPLjava/util/AbstractMap;->toString()Ljava/lang/String;
 HSPLjava/util/AbstractMap;->values()Ljava/util/Collection;
 HSPLjava/util/AbstractQueue;-><init>()V
 HSPLjava/util/AbstractQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/AbstractQueue;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/AbstractQueue;->clear()V
 HSPLjava/util/AbstractQueue;->remove()Ljava/lang/Object;
 HSPLjava/util/AbstractSequentialList;-><init>()V
@@ -39674,7 +35731,6 @@
 HSPLjava/util/ArrayList$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/ArrayList$Itr;->remove()V
 HSPLjava/util/ArrayList$ListItr;-><init>(Ljava/util/ArrayList;I)V
-HSPLjava/util/ArrayList$ListItr;->add(Ljava/lang/Object;)V
 HSPLjava/util/ArrayList$ListItr;->hasPrevious()Z
 HSPLjava/util/ArrayList$ListItr;->previous()Ljava/lang/Object;
 HSPLjava/util/ArrayList$ListItr;->set(Ljava/lang/Object;)V
@@ -39734,9 +35790,7 @@
 HSPLjava/util/Arrays$ArrayList;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/Arrays$ArrayList;->get(I)Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->indexOf(Ljava/lang/Object;)I
-HSPLjava/util/Arrays$ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->size()I
-HSPLjava/util/Arrays$ArrayList;->sort(Ljava/util/Comparator;)V
 HSPLjava/util/Arrays$ArrayList;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/Arrays$ArrayList;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
@@ -39770,7 +35824,6 @@
 HSPLjava/util/Arrays;->copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLjava/util/Arrays;->deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z
 HSPLjava/util/Arrays;->deepEquals0(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLjava/util/Arrays;->deepHashCode([Ljava/lang/Object;)I
 HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
 HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
 HSPLjava/util/Arrays;->equals([B[B)Z
@@ -39783,7 +35836,6 @@
 HSPLjava/util/Arrays;->fill([BIIB)V
 HSPLjava/util/Arrays;->fill([CC)V
 HSPLjava/util/Arrays;->fill([CIIC)V
-HSPLjava/util/Arrays;->fill([DD)V
 HSPLjava/util/Arrays;->fill([FF)V
 HSPLjava/util/Arrays;->fill([FIIF)V
 HSPLjava/util/Arrays;->fill([II)V
@@ -39793,7 +35845,6 @@
 HSPLjava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
 HSPLjava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/Arrays;->fill([SS)V
-HSPLjava/util/Arrays;->fill([ZIIZ)V
 HSPLjava/util/Arrays;->fill([ZZ)V
 HSPLjava/util/Arrays;->hashCode([B)I
 HSPLjava/util/Arrays;->hashCode([F)I
@@ -39867,9 +35918,7 @@
 HSPLjava/util/BitSet;->wordIndex(I)I
 HSPLjava/util/Calendar;-><init>()V
 HSPLjava/util/Calendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
-HSPLjava/util/Calendar;->after(Ljava/lang/Object;)Z
 HSPLjava/util/Calendar;->aggregateStamp(II)I
-HSPLjava/util/Calendar;->before(Ljava/lang/Object;)Z
 HSPLjava/util/Calendar;->clear()V
 HSPLjava/util/Calendar;->clone()Ljava/lang/Object;
 HSPLjava/util/Calendar;->compareTo(J)I
@@ -39898,7 +35947,6 @@
 HSPLjava/util/Calendar;->isSet(I)Z
 HSPLjava/util/Calendar;->selectFields()I
 HSPLjava/util/Calendar;->set(II)V
-HSPLjava/util/Calendar;->set(III)V
 HSPLjava/util/Calendar;->set(IIIIII)V
 HSPLjava/util/Calendar;->setFieldsComputed(I)V
 HSPLjava/util/Calendar;->setFieldsNormalized(I)V
@@ -39971,6 +36019,7 @@
 HSPLjava/util/Collections$SingletonList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$SingletonList;->size()I
 HSPLjava/util/Collections$SingletonMap;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLjava/util/Collections$SingletonMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$SingletonMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/Collections$SingletonMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SingletonMap;->keySet()Ljava/util/Set;
@@ -40000,7 +36049,6 @@
 HSPLjava/util/Collections$SynchronizedMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/Collections$SynchronizedMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedMap;->isEmpty()Z
-HSPLjava/util/Collections$SynchronizedMap;->keySet()Ljava/util/Set;
 HSPLjava/util/Collections$SynchronizedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedMap;->size()I
@@ -40120,7 +36168,6 @@
 HSPLjava/util/ComparableTimSort;->sort([Ljava/lang/Object;II[Ljava/lang/Object;II)V
 HSPLjava/util/Comparator;->comparing(Ljava/util/function/Function;)Ljava/util/Comparator;
 HSPLjava/util/Comparator;->comparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->comparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
 HSPLjava/util/Comparator;->lambda$comparing$77a9974f$1(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/Comparator;->lambda$comparingInt$7b0bb60$1(Ljava/util/function/ToIntFunction;Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/Comparator;->lambda$thenComparing$36697e65$1(Ljava/util/Comparator;Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
@@ -40132,7 +36179,6 @@
 HPLjava/util/Comparators$NullComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/Currency;-><init>(Landroid/icu/util/Currency;)V
 HSPLjava/util/Currency;->getCurrencyCode()Ljava/lang/String;
-HSPLjava/util/Currency;->getDefaultFractionDigits()I
 HSPLjava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency;
 HSPLjava/util/Currency;->getInstance(Ljava/util/Locale;)Ljava/util/Currency;
 HSPLjava/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
@@ -40143,9 +36189,7 @@
 HSPLjava/util/Date;->clone()Ljava/lang/Object;
 HSPLjava/util/Date;->compareTo(Ljava/util/Date;)I
 HSPLjava/util/Date;->convertToAbbr(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
-HSPLjava/util/Date;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Date;->from(Ljava/time/Instant;)Ljava/util/Date;
-HSPLjava/util/Date;->getCalendarSystem(I)Lsun/util/calendar/BaseCalendar;
 HSPLjava/util/Date;->getCalendarSystem(J)Lsun/util/calendar/BaseCalendar;
 HSPLjava/util/Date;->getDate()I
 HSPLjava/util/Date;->getHours()I
@@ -40200,7 +36244,6 @@
 HSPLjava/util/EnumMap$Values;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap$1;)V
 HSPLjava/util/EnumMap$Values;->iterator()Ljava/util/Iterator;
 HSPLjava/util/EnumMap;-><init>(Ljava/lang/Class;)V
-HSPLjava/util/EnumMap;-><init>(Ljava/util/Map;)V
 HSPLjava/util/EnumMap;->access$1100(Ljava/util/EnumMap;)[Ljava/lang/Enum;
 HSPLjava/util/EnumMap;->access$1200(Ljava/util/EnumMap;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/EnumMap;->access$200(Ljava/util/EnumMap;)I
@@ -40224,7 +36267,6 @@
 HSPLjava/util/EnumSet;-><init>(Ljava/lang/Class;[Ljava/lang/Enum;)V
 HSPLjava/util/EnumSet;->allOf(Ljava/lang/Class;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->clone()Ljava/util/EnumSet;
-HSPLjava/util/EnumSet;->complementOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->copyOf(Ljava/util/Collection;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->copyOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->getUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
@@ -40282,7 +36324,6 @@
 HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/String;)V
 HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;DLjava/util/Locale;Ljava/util/Formatter$Flags;CIZ)V
 HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/util/Calendar;CLjava/util/Locale;)Ljava/lang/Appendable;
-HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigInteger;Ljava/util/Locale;)V
 HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/util/Calendar;CLjava/util/Locale;)V
 HSPLjava/util/Formatter$FormatSpecifier;->print(SLjava/util/Locale;)V
 HSPLjava/util/Formatter$FormatSpecifier;->printBoolean(Ljava/lang/Object;)V
@@ -40320,8 +36361,6 @@
 HSPLjava/util/Formatter;->parse(Ljava/lang/String;)[Ljava/util/Formatter$FormatString;
 HSPLjava/util/Formatter;->toString()Ljava/lang/String;
 HSPLjava/util/GregorianCalendar;-><init>()V
-HSPLjava/util/GregorianCalendar;-><init>(III)V
-HSPLjava/util/GregorianCalendar;-><init>(IIIIII)V
 HSPLjava/util/GregorianCalendar;-><init>(IIIIIII)V
 HSPLjava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;)V
 HSPLjava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
@@ -40404,6 +36443,7 @@
 HSPLjava/util/HashMap;->capacity()I
 HSPLjava/util/HashMap;->clear()V
 HSPLjava/util/HashMap;->clone()Ljava/lang/Object;
+HSPLjava/util/HashMap;->comparableClassFor(Ljava/lang/Object;)Ljava/lang/Class;
 HSPLjava/util/HashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
 HSPLjava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/HashMap;->containsValue(Ljava/lang/Object;)Z
@@ -40416,7 +36456,6 @@
 HSPLjava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
 HSPLjava/util/HashMap;->isEmpty()Z
 HSPLjava/util/HashMap;->keySet()Ljava/util/Set;
-HSPLjava/util/HashMap;->loadFactor()F
 HSPLjava/util/HashMap;->merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
 HSPLjava/util/HashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
 HSPLjava/util/HashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
@@ -40448,11 +36487,9 @@
 HSPLjava/util/HashSet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/HashSet;->isEmpty()Z
 HSPLjava/util/HashSet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/HashSet;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/util/HashSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/HashSet;->size()I
 HSPLjava/util/HashSet;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/HashSet;->writeObject(Ljava/io/ObjectOutputStream;)V
 HSPLjava/util/Hashtable$EntrySet;-><init>(Ljava/util/Hashtable;)V
 HSPLjava/util/Hashtable$EntrySet;-><init>(Ljava/util/Hashtable;Ljava/util/Hashtable$1;)V
 HSPLjava/util/Hashtable$EntrySet;->iterator()Ljava/util/Iterator;
@@ -40513,11 +36550,9 @@
 HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->nextIndex()I
 HSPLjava/util/IdentityHashMap$KeyIterator;-><init>(Ljava/util/IdentityHashMap;)V
 HSPLjava/util/IdentityHashMap$KeyIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
-HSPLjava/util/IdentityHashMap$KeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap$KeySet;-><init>(Ljava/util/IdentityHashMap;)V
 HSPLjava/util/IdentityHashMap$KeySet;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
 HSPLjava/util/IdentityHashMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/IdentityHashMap$KeySet;->size()I
 HSPLjava/util/IdentityHashMap$ValueIterator;-><init>(Ljava/util/IdentityHashMap;)V
 HSPLjava/util/IdentityHashMap$ValueIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
 HSPLjava/util/IdentityHashMap$ValueIterator;->next()Ljava/lang/Object;
@@ -40541,7 +36576,6 @@
 HSPLjava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap;->resize(I)Z
-HSPLjava/util/IdentityHashMap;->size()I
 HSPLjava/util/IdentityHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
@@ -40588,12 +36622,10 @@
 HSPLjava/util/LinkedHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/LinkedHashSet;-><init>()V
 HSPLjava/util/LinkedHashSet;-><init>(I)V
-HSPLjava/util/LinkedHashSet;-><init>(IF)V
 HSPLjava/util/LinkedHashSet;-><init>(Ljava/util/Collection;)V
 HSPLjava/util/LinkedList$LLSpliterator;-><init>(Ljava/util/LinkedList;II)V
 HSPLjava/util/LinkedList$LLSpliterator;->characteristics()I
 HSPLjava/util/LinkedList$LLSpliterator;->estimateSize()J
-HSPLjava/util/LinkedList$LLSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/LinkedList$LLSpliterator;->getEst()I
 HSPLjava/util/LinkedList$ListItr;-><init>(Ljava/util/LinkedList;I)V
 HSPLjava/util/LinkedList$ListItr;->add(Ljava/lang/Object;)V
@@ -40658,9 +36690,6 @@
 HSPLjava/util/Locale$Builder;-><init>()V
 HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale;
 HSPLjava/util/Locale$Builder;->setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setRegion(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setScript(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setVariant(Ljava/lang/String;)Ljava/util/Locale$Builder;
 HSPLjava/util/Locale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Locale$Cache;->createObject(Ljava/util/Locale$LocaleKey;)Ljava/util/Locale;
 HSPLjava/util/Locale$LocaleKey;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)V
@@ -40674,25 +36703,19 @@
 HSPLjava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/Locale;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)V
 HSPLjava/util/Locale;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;Ljava/util/Locale$1;)V
-HSPLjava/util/Locale;->access$700(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions;
 HSPLjava/util/Locale;->adjustLanguageCode(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/Locale;->clone()Ljava/lang/Object;
 HSPLjava/util/Locale;->convertOldISOCodes(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/Locale;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Locale;->forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;
-HSPLjava/util/Locale;->getAvailableLocales()[Ljava/util/Locale;
-HSPLjava/util/Locale;->getBaseLocale()Lsun/util/locale/BaseLocale;
 HSPLjava/util/Locale;->getCompatibilityExtensions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions;
 HSPLjava/util/Locale;->getCountry()Ljava/lang/String;
 HSPLjava/util/Locale;->getDefault()Ljava/util/Locale;
 HSPLjava/util/Locale;->getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
 HSPLjava/util/Locale;->getDisplayCountry(Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/Locale;->getDisplayLanguage()Ljava/lang/String;
 HSPLjava/util/Locale;->getDisplayLanguage(Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/Locale;->getDisplayName()Ljava/lang/String;
 HSPLjava/util/Locale;->getDisplayName(Ljava/util/Locale;)Ljava/lang/String;
 HSPLjava/util/Locale;->getExtensionKeys()Ljava/util/Set;
-HSPLjava/util/Locale;->getISO3Country()Ljava/lang/String;
 HSPLjava/util/Locale;->getISO3Language()Ljava/lang/String;
 HSPLjava/util/Locale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
 HSPLjava/util/Locale;->getInstance(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
@@ -40704,8 +36727,6 @@
 HSPLjava/util/Locale;->isValidBcp47Alpha(Ljava/lang/String;II)Z
 HSPLjava/util/Locale;->normalizeAndValidateLanguage(Ljava/lang/String;Z)Ljava/lang/String;
 HSPLjava/util/Locale;->normalizeAndValidateRegion(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLjava/util/Locale;->readObject(Ljava/io/ObjectInputStream;)V
-HSPLjava/util/Locale;->readResolve()Ljava/lang/Object;
 HSPLjava/util/Locale;->setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V
 HSPLjava/util/Locale;->setDefault(Ljava/util/Locale;)V
 HSPLjava/util/Locale;->toLanguageTag()Ljava/lang/String;
@@ -40714,6 +36735,7 @@
 HSPLjava/util/Map;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
 HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
 HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/Map;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/NoSuchElementException;-><init>()V
 HSPLjava/util/NoSuchElementException;-><init>(Ljava/lang/String;)V
@@ -40731,13 +36753,9 @@
 HSPLjava/util/Observable;->addObserver(Ljava/util/Observer;)V
 HSPLjava/util/Observable;->clearChanged()V
 HSPLjava/util/Observable;->deleteObserver(Ljava/util/Observer;)V
-HSPLjava/util/Observable;->hasChanged()Z
-HSPLjava/util/Observable;->notifyObservers()V
 HSPLjava/util/Observable;->notifyObservers(Ljava/lang/Object;)V
-HSPLjava/util/Observable;->setChanged()V
 HSPLjava/util/Optional;-><init>(Ljava/lang/Object;)V
 HSPLjava/util/Optional;->empty()Ljava/util/Optional;
-HSPLjava/util/Optional;->flatMap(Ljava/util/function/Function;)Ljava/util/Optional;
 HSPLjava/util/Optional;->get()Ljava/lang/Object;
 HSPLjava/util/Optional;->ifPresent(Ljava/util/function/Consumer;)V
 HSPLjava/util/Optional;->isPresent()Z
@@ -40746,18 +36764,12 @@
 HSPLjava/util/Optional;->ofNullable(Ljava/lang/Object;)Ljava/util/Optional;
 HSPLjava/util/Optional;->orElse(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Optional;->orElseGet(Ljava/util/function/Supplier;)Ljava/lang/Object;
-HSPLjava/util/OptionalInt;-><clinit>()V
-HSPLjava/util/OptionalInt;-><init>()V
-HSPLjava/util/OptionalInt;-><init>(I)V
-HSPLjava/util/OptionalInt;->empty()Ljava/util/OptionalInt;
-HSPLjava/util/OptionalInt;->of(I)Ljava/util/OptionalInt;
 HSPLjava/util/PriorityQueue$Itr;-><init>(Ljava/util/PriorityQueue;)V
 HSPLjava/util/PriorityQueue$Itr;-><init>(Ljava/util/PriorityQueue;Ljava/util/PriorityQueue$1;)V
 HSPLjava/util/PriorityQueue$Itr;->hasNext()Z
 HSPLjava/util/PriorityQueue$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/PriorityQueue$Itr;->remove()V
 HSPLjava/util/PriorityQueue;-><init>()V
-HSPLjava/util/PriorityQueue;-><init>(I)V
 HSPLjava/util/PriorityQueue;-><init>(ILjava/util/Comparator;)V
 HSPLjava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
 HSPLjava/util/PriorityQueue;->clear()V
@@ -40794,7 +36806,6 @@
 HSPLjava/util/Properties;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
 HSPLjava/util/Properties;->store(Ljava/io/OutputStream;Ljava/lang/String;)V
 HSPLjava/util/Properties;->store0(Ljava/io/BufferedWriter;Ljava/lang/String;Z)V
-HSPLjava/util/PropertyResourceBundle;-><init>(Ljava/io/Reader;)V
 HSPLjava/util/Random;-><init>()V
 HSPLjava/util/Random;-><init>(J)V
 HSPLjava/util/Random;->initialScramble(J)J
@@ -40820,23 +36831,18 @@
 HSPLjava/util/RegularEnumSet;->addAll()V
 HSPLjava/util/RegularEnumSet;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/RegularEnumSet;->clear()V
-HSPLjava/util/RegularEnumSet;->complement()V
 HSPLjava/util/RegularEnumSet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/RegularEnumSet;->containsAll(Ljava/util/Collection;)Z
-HSPLjava/util/RegularEnumSet;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/RegularEnumSet;->isEmpty()Z
 HSPLjava/util/RegularEnumSet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/RegularEnumSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/RegularEnumSet;->size()I
 HSPLjava/util/ResourceBundle$BundleReference;-><init>(Ljava/util/ResourceBundle;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
-HSPLjava/util/ResourceBundle$BundleReference;->getCacheKey()Ljava/util/ResourceBundle$CacheKey;
 HSPLjava/util/ResourceBundle$CacheKey;-><init>(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)V
 HSPLjava/util/ResourceBundle$CacheKey;->access$400(Ljava/util/ResourceBundle$CacheKey;)Ljava/lang/Throwable;
 HSPLjava/util/ResourceBundle$CacheKey;->access$600(Ljava/util/ResourceBundle$CacheKey;)J
 HSPLjava/util/ResourceBundle$CacheKey;->access$602(Ljava/util/ResourceBundle$CacheKey;J)J
 HSPLjava/util/ResourceBundle$CacheKey;->calculateHashCode()V
 HSPLjava/util/ResourceBundle$CacheKey;->clone()Ljava/lang/Object;
-HSPLjava/util/ResourceBundle$CacheKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/ResourceBundle$CacheKey;->getCause()Ljava/lang/Throwable;
 HSPLjava/util/ResourceBundle$CacheKey;->getLoader()Ljava/lang/ClassLoader;
 HSPLjava/util/ResourceBundle$CacheKey;->getLocale()Ljava/util/Locale;
@@ -40844,25 +36850,11 @@
 HSPLjava/util/ResourceBundle$CacheKey;->hashCode()I
 HSPLjava/util/ResourceBundle$CacheKey;->setFormat(Ljava/lang/String;)V
 HSPLjava/util/ResourceBundle$CacheKey;->setLocale(Ljava/util/Locale;)Ljava/util/ResourceBundle$CacheKey;
-HSPLjava/util/ResourceBundle$Control$1;-><init>(Ljava/util/ResourceBundle$Control;ZLjava/lang/ClassLoader;Ljava/lang/String;)V
 HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/io/InputStream;
 HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/lang/Object;
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;-><init>()V
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;-><init>(Ljava/util/ResourceBundle$1;)V
 HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Lsun/util/locale/BaseLocale;)Ljava/util/List;
 HSPLjava/util/ResourceBundle$Control$CandidateListCache;->getDefaultList(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;-><clinit>()V
-HSPLjava/util/ResourceBundle$Control;-><init>()V
-HSPLjava/util/ResourceBundle$Control;->access$300()Ljava/util/ResourceBundle$Control;
-HSPLjava/util/ResourceBundle$Control;->getCandidateLocales(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;->getFallbackLocale(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/Locale;
-HSPLjava/util/ResourceBundle$Control;->getFormats(Ljava/lang/String;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;->getTimeToLive(Ljava/lang/String;Ljava/util/Locale;)J
-HSPLjava/util/ResourceBundle$Control;->newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle$Control;->toBundleName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/ResourceBundle$Control;->toResourceName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/ResourceBundle$Control;->toResourceName0(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/ResourceBundle$LoaderReference;-><init>(Ljava/lang/ClassLoader;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
 HSPLjava/util/ResourceBundle;-><init>()V
 HSPLjava/util/ResourceBundle;->access$200()Ljava/lang/ref/ReferenceQueue;
@@ -40882,37 +36874,21 @@
 HSPLjava/util/Scanner$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Scanner$1;->create(Ljava/lang/String;)Ljava/util/regex/Pattern;
 HSPLjava/util/Scanner;-><init>(Ljava/io/InputStream;)V
-HSPLjava/util/Scanner;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
 HSPLjava/util/Scanner;-><init>(Ljava/lang/Readable;Ljava/util/regex/Pattern;)V
 HSPLjava/util/Scanner;-><init>(Ljava/lang/String;)V
 HSPLjava/util/Scanner;->clearCaches()V
-HSPLjava/util/Scanner;->close()V
 HSPLjava/util/Scanner;->ensureOpen()V
 HSPLjava/util/Scanner;->getCompleteTokenInBuffer(Ljava/util/regex/Pattern;)Ljava/lang/String;
 HSPLjava/util/Scanner;->hasNext()Z
 HSPLjava/util/Scanner;->hasTokenInBuffer()Z
-HSPLjava/util/Scanner;->makeReadable(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljava/lang/Readable;
 HSPLjava/util/Scanner;->makeSpace()Z
 HSPLjava/util/Scanner;->next()Ljava/lang/String;
 HSPLjava/util/Scanner;->readInput()V
 HSPLjava/util/Scanner;->revertState(Z)Z
 HSPLjava/util/Scanner;->saveState()V
-HSPLjava/util/Scanner;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
 HSPLjava/util/Scanner;->translateSavedIndexes(I)V
 HSPLjava/util/Scanner;->useDelimiter(Ljava/lang/String;)Ljava/util/Scanner;
 HSPLjava/util/Scanner;->useLocale(Ljava/util/Locale;)Ljava/util/Scanner;
-HSPLjava/util/ServiceLoader$1;-><init>(Ljava/util/ServiceLoader;)V
-HSPLjava/util/ServiceLoader$1;->hasNext()Z
-HSPLjava/util/ServiceLoader$LazyIterator;-><init>(Ljava/util/ServiceLoader;Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-HSPLjava/util/ServiceLoader$LazyIterator;-><init>(Ljava/util/ServiceLoader;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/util/ServiceLoader$1;)V
-HSPLjava/util/ServiceLoader$LazyIterator;->hasNext()Z
-HSPLjava/util/ServiceLoader$LazyIterator;->hasNextService()Z
-HSPLjava/util/ServiceLoader;-><init>(Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-HSPLjava/util/ServiceLoader;->access$300(Ljava/util/ServiceLoader;)Ljava/util/LinkedHashMap;
-HSPLjava/util/ServiceLoader;->access$400(Ljava/util/ServiceLoader;)Ljava/util/ServiceLoader$LazyIterator;
-HSPLjava/util/ServiceLoader;->iterator()Ljava/util/Iterator;
-HSPLjava/util/ServiceLoader;->load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
-HSPLjava/util/ServiceLoader;->reload()V
 HSPLjava/util/Set;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/SimpleTimeZone;-><init>(ILjava/lang/String;)V
 HSPLjava/util/SimpleTimeZone;->clone()Ljava/lang/Object;
@@ -40922,10 +36898,6 @@
 HSPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z
 HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/Spliterator;->getExactSizeIfKnown()J
-HSPLjava/util/Spliterators$1Adapter;-><init>(Ljava/util/Spliterator;)V
-HSPLjava/util/Spliterators$1Adapter;->accept(Ljava/lang/Object;)V
-HSPLjava/util/Spliterators$1Adapter;->hasNext()Z
-HSPLjava/util/Spliterators$1Adapter;->next()Ljava/lang/Object;
 HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;I)V
 HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V
 HSPLjava/util/Spliterators$ArraySpliterator;->characteristics()I
@@ -40941,17 +36913,18 @@
 HSPLjava/util/Spliterators$IntArraySpliterator;->estimateSize()J
 HSPLjava/util/Spliterators$IntArraySpliterator;->forEachRemaining(Ljava/util/function/IntConsumer;)V
 HSPLjava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Collection;I)V
+HSPLjava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Iterator;I)V
 HSPLjava/util/Spliterators$IteratorSpliterator;->characteristics()I
 HSPLjava/util/Spliterators$IteratorSpliterator;->estimateSize()J
 HSPLjava/util/Spliterators$IteratorSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/Spliterators$IteratorSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
 HSPLjava/util/Spliterators;->checkFromToBounds(III)V
 HSPLjava/util/Spliterators;->emptySpliterator()Ljava/util/Spliterator;
-HSPLjava/util/Spliterators;->iterator(Ljava/util/Spliterator;)Ljava/util/Iterator;
 HSPLjava/util/Spliterators;->spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;
 HSPLjava/util/Spliterators;->spliterator([IIII)Ljava/util/Spliterator$OfInt;
 HSPLjava/util/Spliterators;->spliterator([Ljava/lang/Object;I)Ljava/util/Spliterator;
 HSPLjava/util/Spliterators;->spliterator([Ljava/lang/Object;III)Ljava/util/Spliterator;
+HSPLjava/util/Spliterators;->spliteratorUnknownSize(Ljava/util/Iterator;I)Ljava/util/Spliterator;
 HSPLjava/util/Stack;-><init>()V
 HSPLjava/util/Stack;->empty()Z
 HSPLjava/util/Stack;->peek()Ljava/lang/Object;
@@ -40997,14 +36970,15 @@
 HSPLjava/util/TimSort;->pushRun(II)V
 HSPLjava/util/TimSort;->reverseRange([Ljava/lang/Object;II)V
 HSPLjava/util/TimSort;->sort([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
+HSPLjava/util/TimeZone$NoImagePreloadHolder;-><clinit>()V
 HSPLjava/util/TimeZone;-><init>()V
 HSPLjava/util/TimeZone;->appendNumber(Ljava/lang/StringBuilder;II)V
 HSPLjava/util/TimeZone;->clone()Ljava/lang/Object;
 HSPLjava/util/TimeZone;->createGmtOffsetString(ZZI)Ljava/lang/String;
 HSPLjava/util/TimeZone;->getAvailableIDs()[Ljava/lang/String;
+HSPLjava/util/TimeZone;->getCustomTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
 HSPLjava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
 HSPLjava/util/TimeZone;->getDefaultRef()Ljava/util/TimeZone;
-HSPLjava/util/TimeZone;->getDisplayName()Ljava/lang/String;
 HSPLjava/util/TimeZone;->getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;
 HSPLjava/util/TimeZone;->getID()Ljava/lang/String;
 HSPLjava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
@@ -41036,23 +37010,16 @@
 HSPLjava/util/TreeMap$AscendingSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
 HSPLjava/util/TreeMap$AscendingSubMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/TreeMap$AscendingSubMap;->keyIterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$DescendingSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
-HSPLjava/util/TreeMap$DescendingSubMap;->keyIterator()Ljava/util/Iterator;
+HSPLjava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$EntryIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap$EntrySet;-><init>(Ljava/util/TreeMap;)V
 HSPLjava/util/TreeMap$EntrySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$EntrySet;->size()I
 HSPLjava/util/TreeMap$KeyIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap$KeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$KeySet;-><init>(Ljava/util/NavigableMap;)V
-HSPLjava/util/TreeMap$KeySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/TreeMap$KeySet;->isEmpty()Z
 HSPLjava/util/TreeMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$KeySet;->size()I
-HSPLjava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;-><init>(Ljava/util/TreeMap$NavigableSubMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
-HSPLjava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;-><init>(Ljava/util/TreeMap$NavigableSubMap;)V
 HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->isEmpty()Z
 HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->size()I
@@ -41063,14 +37030,12 @@
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;-><init>(Ljava/util/TreeMap$NavigableSubMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->hasNext()Z
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->prevEntry()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->removeAscending()V
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;-><init>(Ljava/util/TreeMap$NavigableSubMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$NavigableSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
 HSPLjava/util/TreeMap$NavigableSubMap;->absHighFence()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap;->absHighest()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->absLowFence()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap;->absLowest()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap;->inRange(Ljava/lang/Object;)Z
 HSPLjava/util/TreeMap$NavigableSubMap;->isEmpty()Z
@@ -41098,7 +37063,6 @@
 HSPLjava/util/TreeMap;->access$000(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap;->access$100(Ljava/util/TreeMap;)I
 HSPLjava/util/TreeMap;->access$200()Ljava/lang/Object;
-HSPLjava/util/TreeMap;->access$300(Ljava/util/TreeMap;)Ljava/util/Comparator;
 HSPLjava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
 HSPLjava/util/TreeMap;->buildFromSorted(IIIILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->buildFromSorted(ILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)V
@@ -41112,8 +37076,6 @@
 HSPLjava/util/TreeMap;->computeRedLevel(I)I
 HSPLjava/util/TreeMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/TreeMap;->deleteEntry(Ljava/util/TreeMap$TreeMapEntry;)V
-HSPLjava/util/TreeMap;->descendingKeySet()Ljava/util/NavigableSet;
-HSPLjava/util/TreeMap;->descendingMap()Ljava/util/NavigableMap;
 HSPLjava/util/TreeMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/TreeMap;->exportEntry(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap;->firstEntry()Ljava/util/Map$Entry;
@@ -41131,19 +37093,16 @@
 HSPLjava/util/TreeMap;->getLastEntry()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->getLowerEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/TreeMap;->higherKey(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->key(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->keyIterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap;->keyOrNull(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->keySet()Ljava/util/Set;
-HSPLjava/util/TreeMap;->lastEntry()Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap;->lastKey()Ljava/lang/Object;
 HSPLjava/util/TreeMap;->leftOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->lowerEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap;->navigableKeySet()Ljava/util/NavigableSet;
 HSPLjava/util/TreeMap;->parentOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->pollFirstEntry()Ljava/util/Map$Entry;
-HSPLjava/util/TreeMap;->predecessor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/TreeMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
@@ -41161,23 +37120,18 @@
 HSPLjava/util/TreeSet;-><init>(Ljava/util/Collection;)V
 HSPLjava/util/TreeSet;-><init>(Ljava/util/Comparator;)V
 HSPLjava/util/TreeSet;-><init>(Ljava/util/NavigableMap;)V
-HSPLjava/util/TreeSet;-><init>(Ljava/util/SortedSet;)V
 HSPLjava/util/TreeSet;->add(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/TreeSet;->ceiling(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeSet;->clear()V
 HSPLjava/util/TreeSet;->comparator()Ljava/util/Comparator;
 HSPLjava/util/TreeSet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->first()Ljava/lang/Object;
 HSPLjava/util/TreeSet;->headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
-HSPLjava/util/TreeSet;->higher(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeSet;->isEmpty()Z
 HSPLjava/util/TreeSet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/TreeSet;->last()Ljava/lang/Object;
 HSPLjava/util/TreeSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->size()I
-HSPLjava/util/TreeSet;->subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;
-HSPLjava/util/TreeSet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
 HSPLjava/util/TreeSet;->tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;
 HSPLjava/util/TreeSet;->tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
 HSPLjava/util/UUID;-><init>(JJ)V
@@ -41188,7 +37142,6 @@
 HSPLjava/util/UUID;->getLeastSignificantBits()J
 HSPLjava/util/UUID;->getMostSignificantBits()J
 HSPLjava/util/UUID;->hashCode()I
-HSPLjava/util/UUID;->nameUUIDFromBytes([B)Ljava/util/UUID;
 HSPLjava/util/UUID;->randomUUID()Ljava/util/UUID;
 HSPLjava/util/UUID;->toString()Ljava/lang/String;
 HSPLjava/util/Vector$1;-><init>(Ljava/util/Vector;)V
@@ -41204,7 +37157,6 @@
 HSPLjava/util/Vector;-><init>(I)V
 HSPLjava/util/Vector;-><init>(II)V
 HSPLjava/util/Vector;->add(Ljava/lang/Object;)Z
-HSPLjava/util/Vector;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/Vector;->addElement(Ljava/lang/Object;)V
 HSPLjava/util/Vector;->clear()V
 HSPLjava/util/Vector;->contains(Ljava/lang/Object;)Z
@@ -41224,7 +37176,6 @@
 HSPLjava/util/Vector;->removeAllElements()V
 HSPLjava/util/Vector;->removeElement(Ljava/lang/Object;)Z
 HSPLjava/util/Vector;->removeElementAt(I)V
-HSPLjava/util/Vector;->setElementAt(Ljava/lang/Object;I)V
 HSPLjava/util/Vector;->size()I
 HSPLjava/util/Vector;->sort(Ljava/util/Comparator;)V
 HSPLjava/util/Vector;->toArray()[Ljava/lang/Object;
@@ -41280,7 +37231,6 @@
 HSPLjava/util/WeakHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/WeakHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/concurrent/AbstractExecutorService;-><init>()V
-HSPLjava/util/concurrent/AbstractExecutorService;->invokeAll(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;
 HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
 HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
 HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
@@ -41299,7 +37249,6 @@
 HSPLjava/util/concurrent/ArrayBlockingQueue;->poll()Ljava/lang/Object;
 HSPLjava/util/concurrent/ArrayBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ArrayBlockingQueue;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/ArrayBlockingQueue;->remainingCapacity()I
 HSPLjava/util/concurrent/ArrayBlockingQueue;->size()I
 HSPLjava/util/concurrent/ArrayBlockingQueue;->take()Ljava/lang/Object;
 HSPLjava/util/concurrent/CancellationException;-><init>()V
@@ -41317,10 +37266,14 @@
 HSPLjava/util/concurrent/CompletableFuture$UniWhenComplete;-><init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;)V
 HSPLjava/util/concurrent/CompletableFuture$UniWhenComplete;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
 HSPLjava/util/concurrent/CompletableFuture;-><init>()V
+HSPLjava/util/concurrent/CompletableFuture;-><init>(Ljava/lang/Object;)V
+HSPLjava/util/concurrent/CompletableFuture;->cancel(Z)Z
 HSPLjava/util/concurrent/CompletableFuture;->casStack(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
+HSPLjava/util/concurrent/CompletableFuture;->cleanStack()V
 HSPLjava/util/concurrent/CompletableFuture;->complete(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CompletableFuture;->completeExceptionally(Ljava/lang/Throwable;)Z
 HSPLjava/util/concurrent/CompletableFuture;->completeValue(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/CompletableFuture;->completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
 HSPLjava/util/concurrent/CompletableFuture;->get()Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
@@ -41334,7 +37287,6 @@
 HSPLjava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
 HSPLjava/util/concurrent/CompletableFuture;->push(Ljava/util/concurrent/CompletableFuture$UniCompletion;)V
 HSPLjava/util/concurrent/CompletableFuture;->reportGet(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletableFuture;->reportJoin(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->tryPushStack(Ljava/util/concurrent/CompletableFuture$Completion;)Z
 HSPLjava/util/concurrent/CompletableFuture;->uniHandle(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$UniHandle;)Z
@@ -41347,7 +37299,6 @@
 HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasNext()Z
 HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->remove()V
 HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
-HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->isEmpty()Z
 HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->size()I
 HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->toArray()[Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap$CounterCell;-><init>(J)V
@@ -41374,15 +37325,7 @@
 HSPLjava/util/concurrent/ConcurrentHashMap$ReservationNode;-><init>()V
 HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
 HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;->advance()Ljava/util/concurrent/ConcurrentHashMap$Node;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;-><init>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->balanceInsertion(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->lockRoot()V
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->putTreeVal(ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateLeft(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateRight(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->unlockRoot()V
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeNode;->findTreeNode(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 HSPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;->next()Ljava/lang/Object;
@@ -41391,7 +37334,6 @@
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>()V
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(I)V
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
-HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(Ljava/util/Map;)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->addCount(JI)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->casTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->clear()V
@@ -41405,13 +37347,11 @@
 HSPLjava/util/concurrent/ConcurrentHashMap;->isEmpty()Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->keySet()Ljava/util/Set;
 HSPLjava/util/concurrent/ConcurrentHashMap;->mappingCount()J
-HSPLjava/util/concurrent/ConcurrentHashMap;->newKeySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
 HSPLjava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->removeEntryIf(Ljava/util/function/Predicate;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -41423,7 +37363,6 @@
 HSPLjava/util/concurrent/ConcurrentHashMap;->tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;
 HSPLjava/util/concurrent/ConcurrentHashMap;->tableSizeFor(I)I
 HSPLjava/util/concurrent/ConcurrentHashMap;->transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->treeifyBin([Ljava/util/concurrent/ConcurrentHashMap$Node;I)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->tryPresize(I)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;-><init>(Ljava/util/concurrent/ConcurrentLinkedDeque;)V
@@ -41453,6 +37392,8 @@
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->peekFirst()Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->pollFirst()Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->prevTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
+HSPLjava/util/concurrent/ConcurrentLinkedDeque;->removeFirst()Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentLinkedDeque;->screenNullResult(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->size()I
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedPredecessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedSuccessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
@@ -41464,7 +37405,6 @@
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue;)V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->hasNext()Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->remove()V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>()V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue$1;)V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
@@ -41473,7 +37413,6 @@
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casItem(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casNext(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casTail(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->first()Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->iterator()Ljava/util/Iterator;
@@ -41491,9 +37430,6 @@
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->casRight(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->link(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->unlink(Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap;)V
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->advance()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->hasNext()Z
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;->appendMarker(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)Z
@@ -41501,22 +37437,14 @@
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;->casValue(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentSkipListMap;-><init>()V
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->casHead(Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;)Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->clear()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->cpr(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->doGet(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->doPut(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->doRemove(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->findFirst()Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->findPredecessor(Ljava/lang/Object;Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->initialize()V
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->tryReduceLevel()V
-HSPLjava/util/concurrent/ConcurrentSkipListSet;-><init>()V
-HSPLjava/util/concurrent/ConcurrentSkipListSet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentSkipListSet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;-><init>([Ljava/lang/Object;I)V
 HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->hasNext()Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->next()Ljava/lang/Object;
@@ -41549,7 +37477,6 @@
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->toString()Ljava/lang/String;
 HSPLjava/util/concurrent/CopyOnWriteArraySet;-><init>()V
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->clear()V
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->isEmpty()Z
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z
@@ -41580,7 +37507,6 @@
 HSPLjava/util/concurrent/Executors$FinalizableDelegatedExecutorService;->finalize()V
 HSPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
 HSPLjava/util/concurrent/Executors$RunnableAdapter;->call()Ljava/lang/Object;
-HSPLjava/util/concurrent/Executors;->callable(Ljava/lang/Runnable;)Ljava/util/concurrent/Callable;
 HSPLjava/util/concurrent/Executors;->callable(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
 HSPLjava/util/concurrent/Executors;->defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;
 HSPLjava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
@@ -41631,18 +37557,13 @@
 HSPLjava/util/concurrent/LinkedBlockingDeque;->add(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->addFirst(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/LinkedBlockingDeque;->addLast(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingDeque;->clear()V
 HSPLjava/util/concurrent/LinkedBlockingDeque;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->linkFirst(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->linkLast(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->offer(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->offerFirst(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->offerLast(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->peekFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->poll()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HPLjava/util/concurrent/LinkedBlockingDeque;->pop()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->remainingCapacity()I
 HSPLjava/util/concurrent/LinkedBlockingDeque;->removeFirst()Ljava/lang/Object;
@@ -41665,7 +37586,6 @@
 HSPLjava/util/concurrent/LinkedBlockingQueue;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/LinkedBlockingQueue;->peek()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->poll()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->put(Ljava/lang/Object;)V
@@ -41677,15 +37597,12 @@
 HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>(ILjava/util/Comparator;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->add(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/PriorityBlockingQueue;->dequeue()Ljava/lang/Object;
-HSPLjava/util/concurrent/PriorityBlockingQueue;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/concurrent/PriorityBlockingQueue;->offer(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/PriorityBlockingQueue;->peek()Ljava/lang/Object;
 HSPLjava/util/concurrent/PriorityBlockingQueue;->poll()Ljava/lang/Object;
 HSPLjava/util/concurrent/PriorityBlockingQueue;->put(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownComparable(ILjava/lang/Object;[Ljava/lang/Object;I)V
-HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;ILjava/util/Comparator;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->siftUpComparable(ILjava/lang/Object;[Ljava/lang/Object;)V
-HSPLjava/util/concurrent/PriorityBlockingQueue;->siftUpUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->size()I
 HSPLjava/util/concurrent/PriorityBlockingQueue;->take()Ljava/lang/Object;
 HSPLjava/util/concurrent/PriorityBlockingQueue;->tryGrow([Ljava/lang/Object;I)V
@@ -41826,9 +37743,7 @@
 HSPLjava/util/concurrent/ThreadPoolExecutor;->ensurePrestart()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->finalize()V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getMaximumPoolSize()I
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getRejectedExecutionHandler()Ljava/util/concurrent/RejectedExecutionHandler;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getTask()Ljava/lang/Runnable;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getThreadFactory()Ljava/util/concurrent/ThreadFactory;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers()V
@@ -41839,7 +37754,6 @@
 HSPLjava/util/concurrent/ThreadPoolExecutor;->isShutdown()Z
 HSPLjava/util/concurrent/ThreadPoolExecutor;->onShutdown()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartAllCoreThreads()I
-HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartCoreThread()Z
 HSPLjava/util/concurrent/ThreadPoolExecutor;->processWorkerExit(Ljava/util/concurrent/ThreadPoolExecutor$Worker;Z)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->purge()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->reject(Ljava/lang/Runnable;)V
@@ -41859,12 +37773,9 @@
 HSPLjava/util/concurrent/ThreadPoolExecutor;->tryTerminate()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->workerCountOf(I)I
 HSPLjava/util/concurrent/TimeUnit$1;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$1;->excessNanos(JJ)I
-HSPLjava/util/concurrent/TimeUnit$1;->toDays(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toHours(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toMicros(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toMillis(J)J
-HSPLjava/util/concurrent/TimeUnit$1;->toMinutes(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$2;->convert(JLjava/util/concurrent/TimeUnit;)J
@@ -41883,7 +37794,6 @@
 HSPLjava/util/concurrent/TimeUnit$4;->convert(JLjava/util/concurrent/TimeUnit;)J
 HSPLjava/util/concurrent/TimeUnit$4;->toMicros(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toMillis(J)J
-HSPLjava/util/concurrent/TimeUnit$4;->toMinutes(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$5;->convert(JLjava/util/concurrent/TimeUnit;)J
@@ -41897,13 +37807,10 @@
 HSPLjava/util/concurrent/TimeUnit$6;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$6;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$7;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$7;->toHours(J)J
 HSPLjava/util/concurrent/TimeUnit$7;->toMillis(J)J
 HSPLjava/util/concurrent/TimeUnit$7;->toMinutes(J)J
 HSPLjava/util/concurrent/TimeUnit$7;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$7;->toSeconds(J)J
-HSPLjava/util/concurrent/TimeUnit;->sleep(J)V
-HSPLjava/util/concurrent/TimeUnit;->values()[Ljava/util/concurrent/TimeUnit;
 HSPLjava/util/concurrent/TimeUnit;->x(JJJ)J
 HSPLjava/util/concurrent/TimeoutException;-><init>()V
 HSPLjava/util/concurrent/TimeoutException;-><init>(Ljava/lang/String;)V
@@ -41928,16 +37835,11 @@
 HSPLjava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
 HSPLjava/util/concurrent/atomic/AtomicInteger;->set(I)V
-HSPLjava/util/concurrent/atomic/AtomicInteger;->toString()Ljava/lang/String;
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;-><init>(I)V
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->byteOffset(I)J
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->checkedByteOffset(I)J
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->compareAndSet(Ljava/lang/Object;II)Z
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->decrementAndGet(Ljava/lang/Object;)I
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->getAndAdd(Ljava/lang/Object;I)I
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->getAndSet(Ljava/lang/Object;I)I
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->set(Ljava/lang/Object;I)V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;-><init>()V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
@@ -41958,7 +37860,6 @@
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->accessCheck(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndAdd(Ljava/lang/Object;J)J
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndIncrement(Ljava/lang/Object;)J
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->incrementAndGet(Ljava/lang/Object;)J
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;-><init>()V
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
@@ -41990,13 +37891,8 @@
 HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
 HSPLjava/util/concurrent/atomic/LongAdder;-><init>()V
 HSPLjava/util/concurrent/atomic/LongAdder;->add(J)V
-HSPLjava/util/concurrent/atomic/Striped64$Cell;-><clinit>()V
-HSPLjava/util/concurrent/atomic/Striped64$Cell;-><init>(J)V
 HSPLjava/util/concurrent/atomic/Striped64;-><init>()V
 HSPLjava/util/concurrent/atomic/Striped64;->casBase(JJ)Z
-HSPLjava/util/concurrent/atomic/Striped64;->casCellsBusy()Z
-HSPLjava/util/concurrent/atomic/Striped64;->getProbe()I
-HSPLjava/util/concurrent/atomic/Striped64;->longAccumulate(JLjava/util/function/LongBinaryOperator;Z)V
 HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;-><init>()V
 HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;->getExclusiveOwnerThread()Ljava/lang/Thread;
 HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;->setExclusiveOwnerThread(Ljava/lang/Thread;)V
@@ -42055,7 +37951,6 @@
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->shouldParkAfterFailedAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferAfterCancelledWait(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferForSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->tryAcquireNanos(IJ)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->tryAcquireSharedNanos(IJ)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->unparkSuccessor(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
 HSPLjava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V
@@ -42081,7 +37976,6 @@
 HSPLjava/util/concurrent/locks/ReentrantLock;->lockInterruptibly()V
 HSPLjava/util/concurrent/locks/ReentrantLock;->newCondition()Ljava/util/concurrent/locks/Condition;
 HSPLjava/util/concurrent/locks/ReentrantLock;->tryLock()Z
-HSPLjava/util/concurrent/locks/ReentrantLock;->tryLock(JLjava/util/concurrent/TimeUnit;)Z
 HSPLjava/util/concurrent/locks/ReentrantLock;->unlock()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;-><init>()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->readerShouldBlock()Z
@@ -42118,23 +38012,21 @@
 HSPLjava/util/function/-$$Lambda$BinaryOperator$V_WUclL0kAOZvMw9EtWtwAvmNJc;-><init>(Ljava/util/Comparator;)V
 HSPLjava/util/function/-$$Lambda$BinaryOperator$V_WUclL0kAOZvMw9EtWtwAvmNJc;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/-$$Lambda$BinaryOperator$WKN0kahVeFfmJEk_tKszY8tRayo;-><init>(Ljava/util/Comparator;)V
+HSPLjava/util/function/-$$Lambda$BinaryOperator$WKN0kahVeFfmJEk_tKszY8tRayo;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA;-><init>(Ljava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;)V
 HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA;->applyAsDouble(D)D
 HSPLjava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/function/-$$Lambda$Function$T8wYIfMRq5hbW0Q4qNkHIIrI-BA;-><init>(Ljava/util/function/Function;Ljava/util/function/Function;)V
-HSPLjava/util/function/-$$Lambda$Function$T8wYIfMRq5hbW0Q4qNkHIIrI-BA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM;-><init>(Ljava/util/function/Predicate;Ljava/util/function/Predicate;)V
 HSPLjava/util/function/-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM;->test(Ljava/lang/Object;)Z
 HPLjava/util/function/-$$Lambda$Predicate$GyIVQ08CWbeMZxHDkkrN-5apRkc;-><init>(Ljava/util/function/Predicate;Ljava/util/function/Predicate;)V
 PLjava/util/function/-$$Lambda$Predicate$GyIVQ08CWbeMZxHDkkrN-5apRkc;->test(Ljava/lang/Object;)Z
 HSPLjava/util/function/BinaryOperator;->lambda$maxBy$1(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/function/BinaryOperator;->lambda$minBy$0(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/BinaryOperator;->maxBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;
 HSPLjava/util/function/BinaryOperator;->minBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;
 HSPLjava/util/function/DoubleUnaryOperator;->andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;
 HSPLjava/util/function/DoubleUnaryOperator;->lambda$andThen$1(Ljava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;D)D
-HSPLjava/util/function/Function;->andThen(Ljava/util/function/Function;)Ljava/util/function/Function;
 HSPLjava/util/function/Function;->identity()Ljava/util/function/Function;
-HSPLjava/util/function/Function;->lambda$andThen$1(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/Function;->lambda$identity$2(Ljava/lang/Object;)Ljava/lang/Object;
 HPLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
 PLjava/util/function/Predicate;->lambda$and$0(Ljava/util/function/Predicate;Ljava/util/function/Predicate;Ljava/lang/Object;)Z
@@ -42173,7 +38065,6 @@
 HSPLjava/util/jar/JarFile;->maybeInstantiateVerifier()V
 HSPLjava/util/jar/JarVerifier$3;-><init>(Ljava/util/jar/JarVerifier;)V
 HSPLjava/util/jar/JarVerifier$VerifierStream;-><init>(Ljava/util/jar/Manifest;Ljava/util/jar/JarEntry;Ljava/io/InputStream;Ljava/util/jar/JarVerifier;)V
-HSPLjava/util/jar/JarVerifier$VerifierStream;->available()I
 HSPLjava/util/jar/JarVerifier$VerifierStream;->close()V
 HSPLjava/util/jar/JarVerifier$VerifierStream;->read()I
 HSPLjava/util/jar/JarVerifier$VerifierStream;->read([BII)I
@@ -42200,43 +38091,15 @@
 HSPLjava/util/jar/Manifest;->read(Ljava/io/InputStream;)V
 HSPLjava/util/jar/Manifest;->toLower(I)I
 HSPLjava/util/logging/ErrorManager;-><init>()V
-HSPLjava/util/logging/FileHandler$1;-><init>(Ljava/util/logging/FileHandler;)V
-HSPLjava/util/logging/FileHandler$1;->run()Ljava/lang/Object;
-HSPLjava/util/logging/FileHandler$InitializationErrorManager;-><init>()V
-HSPLjava/util/logging/FileHandler$InitializationErrorManager;-><init>(Ljava/util/logging/FileHandler$1;)V
-HSPLjava/util/logging/FileHandler$MeteredStream;-><init>(Ljava/util/logging/FileHandler;Ljava/io/OutputStream;I)V
-HSPLjava/util/logging/FileHandler$MeteredStream;->close()V
-HSPLjava/util/logging/FileHandler$MeteredStream;->flush()V
-HSPLjava/util/logging/FileHandler$MeteredStream;->write([BII)V
-HSPLjava/util/logging/FileHandler;-><clinit>()V
-HSPLjava/util/logging/FileHandler;-><init>(Ljava/lang/String;IIZ)V
-HSPLjava/util/logging/FileHandler;->access$100(Ljava/util/logging/FileHandler;)V
-HSPLjava/util/logging/FileHandler;->configure()V
-HSPLjava/util/logging/FileHandler;->generate(Ljava/lang/String;II)Ljava/io/File;
-HSPLjava/util/logging/FileHandler;->isParentWritable(Ljava/nio/file/Path;)Z
-HSPLjava/util/logging/FileHandler;->open(Ljava/io/File;Z)V
-HSPLjava/util/logging/FileHandler;->openFiles()V
-HSPLjava/util/logging/FileHandler;->publish(Ljava/util/logging/LogRecord;)V
-HSPLjava/util/logging/FileHandler;->rotate()V
-HSPLjava/util/logging/Formatter;-><init>()V
-HSPLjava/util/logging/Formatter;->formatMessage(Ljava/util/logging/LogRecord;)Ljava/lang/String;
-HSPLjava/util/logging/Formatter;->getHead(Ljava/util/logging/Handler;)Ljava/lang/String;
-HSPLjava/util/logging/Formatter;->getTail(Ljava/util/logging/Handler;)Ljava/lang/String;
 HSPLjava/util/logging/Handler;-><init>()V
 HSPLjava/util/logging/Handler;->checkPermission()V
-HSPLjava/util/logging/Handler;->getEncoding()Ljava/lang/String;
 HSPLjava/util/logging/Handler;->getFilter()Ljava/util/logging/Filter;
 HSPLjava/util/logging/Handler;->getFormatter()Ljava/util/logging/Formatter;
 HSPLjava/util/logging/Handler;->getLevel()Ljava/util/logging/Level;
 HSPLjava/util/logging/Handler;->isLoggable(Ljava/util/logging/LogRecord;)Z
-HSPLjava/util/logging/Handler;->setEncoding(Ljava/lang/String;)V
-HSPLjava/util/logging/Handler;->setErrorManager(Ljava/util/logging/ErrorManager;)V
-HSPLjava/util/logging/Handler;->setFilter(Ljava/util/logging/Filter;)V
 HSPLjava/util/logging/Handler;->setFormatter(Ljava/util/logging/Formatter;)V
 HSPLjava/util/logging/Handler;->setLevel(Ljava/util/logging/Level;)V
-HSPLjava/util/logging/Level$KnownLevel;->findByName(Ljava/lang/String;)Ljava/util/logging/Level$KnownLevel;
 HSPLjava/util/logging/Level;->equals(Ljava/lang/Object;)Z
-HSPLjava/util/logging/Level;->findLevel(Ljava/lang/String;)Ljava/util/logging/Level;
 HSPLjava/util/logging/Level;->intValue()I
 HSPLjava/util/logging/LogManager$5;-><init>(Ljava/util/logging/LogManager;Ljava/lang/String;Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/LogManager$5;->run()Ljava/lang/Object;
@@ -42281,14 +38144,10 @@
 HSPLjava/util/logging/LogManager;->drainLoggerRefQueueBounded()V
 HSPLjava/util/logging/LogManager;->ensureLogManagerInitialized()V
 HSPLjava/util/logging/LogManager;->getBooleanProperty(Ljava/lang/String;Z)Z
-HSPLjava/util/logging/LogManager;->getFilterProperty(Ljava/lang/String;Ljava/util/logging/Filter;)Ljava/util/logging/Filter;
-HSPLjava/util/logging/LogManager;->getFormatterProperty(Ljava/lang/String;Ljava/util/logging/Formatter;)Ljava/util/logging/Formatter;
-HSPLjava/util/logging/LogManager;->getIntProperty(Ljava/lang/String;I)I
 HSPLjava/util/logging/LogManager;->getLevelProperty(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
 HSPLjava/util/logging/LogManager;->getLogManager()Ljava/util/logging/LogManager;
 HSPLjava/util/logging/LogManager;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
 HSPLjava/util/logging/LogManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/logging/LogManager;->getStringProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/logging/LogManager;->getSystemContext()Ljava/util/logging/LogManager$LoggerContext;
 HSPLjava/util/logging/LogManager;->getUserContext()Ljava/util/logging/LogManager$LoggerContext;
 HSPLjava/util/logging/LogManager;->initializeGlobalHandlers()V
@@ -42301,15 +38160,8 @@
 HSPLjava/util/logging/LogRecord;->getLevel()Ljava/util/logging/Level;
 HSPLjava/util/logging/LogRecord;->getLoggerName()Ljava/lang/String;
 HSPLjava/util/logging/LogRecord;->getMessage()Ljava/lang/String;
-HSPLjava/util/logging/LogRecord;->getMillis()J
-HSPLjava/util/logging/LogRecord;->getParameters()[Ljava/lang/Object;
-HSPLjava/util/logging/LogRecord;->getResourceBundle()Ljava/util/ResourceBundle;
 HSPLjava/util/logging/LogRecord;->getThrown()Ljava/lang/Throwable;
-HSPLjava/util/logging/LogRecord;->setLevel(Ljava/util/logging/Level;)V
 HSPLjava/util/logging/LogRecord;->setLoggerName(Ljava/lang/String;)V
-HSPLjava/util/logging/LogRecord;->setMessage(Ljava/lang/String;)V
-HSPLjava/util/logging/LogRecord;->setMillis(J)V
-HSPLjava/util/logging/LogRecord;->setParameters([Ljava/lang/Object;)V
 HSPLjava/util/logging/LogRecord;->setSourceClassName(Ljava/lang/String;)V
 HSPLjava/util/logging/LogRecord;->setSourceMethodName(Ljava/lang/String;)V
 HSPLjava/util/logging/LogRecord;->setThrown(Ljava/lang/Throwable;)V
@@ -42352,22 +38204,7 @@
 HSPLjava/util/logging/Logger;->setParent(Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/Logger;->setupResourceInfo(Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/logging/Logger;->updateEffectiveLevel()V
-HSPLjava/util/logging/Logger;->warning(Ljava/lang/String;)V
 HSPLjava/util/logging/LoggingProxyImpl;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjava/util/logging/LoggingProxyImpl;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/logging/LoggingProxyImpl;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjava/util/logging/SimpleFormatter;-><clinit>()V
-HSPLjava/util/logging/SimpleFormatter;-><init>()V
-HSPLjava/util/logging/StreamHandler;-><init>()V
-HSPLjava/util/logging/StreamHandler;->close()V
-HSPLjava/util/logging/StreamHandler;->configure()V
-HSPLjava/util/logging/StreamHandler;->flush()V
-HSPLjava/util/logging/StreamHandler;->flushAndClose()V
-HSPLjava/util/logging/StreamHandler;->isLoggable(Ljava/util/logging/LogRecord;)Z
-HSPLjava/util/logging/StreamHandler;->publish(Ljava/util/logging/LogRecord;)V
-HSPLjava/util/logging/StreamHandler;->setEncoding(Ljava/lang/String;)V
-HSPLjava/util/logging/StreamHandler;->setOutputStream(Ljava/io/OutputStream;)V
-HSPLjava/util/logging/XMLFormatter;-><init>()V
 HSPLjava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
 HSPLjava/util/regex/Matcher;->appendEvaluated(Ljava/lang/StringBuffer;Ljava/lang/String;)V
 HSPLjava/util/regex/Matcher;->appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
@@ -42385,13 +38222,9 @@
 HSPLjava/util/regex/Matcher;->hitEnd()Z
 HSPLjava/util/regex/Matcher;->lookingAt()Z
 HSPLjava/util/regex/Matcher;->matches()Z
-HSPLjava/util/regex/Matcher;->pattern()Ljava/util/regex/Pattern;
 HSPLjava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
-HSPLjava/util/regex/Matcher;->regionEnd()I
-HSPLjava/util/regex/Matcher;->regionStart()I
 HSPLjava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/regex/Matcher;->replaceFirst(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/regex/Matcher;->requireEnd()Z
 HSPLjava/util/regex/Matcher;->reset()Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher;
@@ -42412,14 +38245,12 @@
 HSPLjava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;)[Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;I)[Ljava/lang/String;
+HSPLjava/util/regex/Pattern;->toString()Ljava/lang/String;
 HSPLjava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;-><init>(Ljava/util/stream/Sink;)V
 HSPLjava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$AbstractPipeline$ImXhRLJT29W8lJFXpTT_PieAotg;-><init>(Ljava/util/stream/AbstractPipeline;)V
-HSPLjava/util/stream/-$$Lambda$AbstractPipeline$ImXhRLJT29W8lJFXpTT_PieAotg;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho;-><init>(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$TzSZZBK0laNSWMge_uuxANwkkMo;-><init>(Ljava/util/function/BinaryOperator;)V
-HSPLjava/util/stream/-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4;-><init>(Ljava/util/function/Supplier;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34;-><init>(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)V
@@ -42427,18 +38258,13 @@
 HSPLjava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$GF-s38TgrG6hfxe__ZFdhGp-wPw;-><init>(Ljava/util/stream/SpinedBuffer;)V
-HSPLjava/util/stream/-$$Lambda$GF-s38TgrG6hfxe__ZFdhGp-wPw;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;->applyAsInt(Ljava/lang/Object;)I
 HSPLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;-><init>(Ljava/util/stream/MatchOps$MatchKind;Ljava/util/function/Predicate;)V
 HSPLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;->applyAsLong(Ljava/lang/Object;)J
-HSPLjava/util/stream/-$$Lambda$StreamSpliterators$WrappingSpliterator$Ky6g3CKkCccuRWAvbAL1cAsdkNk;-><init>(Ljava/util/stream/StreamSpliterators$WrappingSpliterator;)V
-HSPLjava/util/stream/-$$Lambda$StreamSpliterators$WrappingSpliterator$Ky6g3CKkCccuRWAvbAL1cAsdkNk;->getAsBoolean()Z
 HSPLjava/util/stream/-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40;->applyAsLong(JJ)J
 HSPLjava/util/stream/-$$Lambda$ihOtgw0eLCrsEBOphyN7SwoAlDg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;->applyAsInt(II)I
 HSPLjava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;->get()Ljava/lang/Object;
@@ -42457,7 +38283,6 @@
 HSPLjava/util/stream/AbstractPipeline;->exactOutputSizeIfKnown(Ljava/util/Spliterator;)J
 HSPLjava/util/stream/AbstractPipeline;->getStreamAndOpFlags()I
 HSPLjava/util/stream/AbstractPipeline;->isParallel()Z
-HSPLjava/util/stream/AbstractPipeline;->lambda$spliterator$0$AbstractPipeline()Ljava/util/Spliterator;
 HSPLjava/util/stream/AbstractPipeline;->onClose(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
 HSPLjava/util/stream/AbstractPipeline;->sequential()Ljava/util/stream/BaseStream;
 HSPLjava/util/stream/AbstractPipeline;->sourceSpliterator(I)Ljava/util/Spliterator;
@@ -42468,7 +38293,6 @@
 HSPLjava/util/stream/AbstractSpinedBuffer;-><init>()V
 HSPLjava/util/stream/AbstractSpinedBuffer;->chunkSize(I)I
 HSPLjava/util/stream/AbstractSpinedBuffer;->count()J
-HSPLjava/util/stream/Collector;->of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/Set;)V
 HSPLjava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;Ljava/util/Set;)V
 HSPLjava/util/stream/Collectors$CollectorImpl;->accumulator()Ljava/util/function/BiConsumer;
@@ -42478,11 +38302,9 @@
 HSPLjava/util/stream/Collectors$CollectorImpl;->supplier()Ljava/util/function/Supplier;
 HSPLjava/util/stream/Collectors;->access$000()Ljava/util/function/Function;
 HSPLjava/util/stream/Collectors;->castingIdentity()Ljava/util/function/Function;
-HSPLjava/util/stream/Collectors;->collectingAndThen(Ljava/util/stream/Collector;Ljava/util/function/Function;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
-HSPLjava/util/stream/Collectors;->lambda$castingIdentity$1(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/Collectors;->lambda$groupingBy$44(Ljava/util/function/Supplier;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/Collectors;->lambda$groupingBy$45(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/Map;Ljava/lang/Object;)V
 HSPLjava/util/stream/Collectors;->lambda$joining$6(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
@@ -42523,11 +38345,6 @@
 HSPLjava/util/stream/IntPipeline$4$1;->accept(I)V
 HSPLjava/util/stream/IntPipeline$4;-><init>(Ljava/util/stream/IntPipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/IntFunction;)V
 HSPLjava/util/stream/IntPipeline$4;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/IntPipeline$9$1;-><init>(Ljava/util/stream/IntPipeline$9;Ljava/util/stream/Sink;)V
-HSPLjava/util/stream/IntPipeline$9$1;->accept(I)V
-HSPLjava/util/stream/IntPipeline$9$1;->begin(J)V
-HSPLjava/util/stream/IntPipeline$9;-><init>(Ljava/util/stream/IntPipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/IntPredicate;)V
-HSPLjava/util/stream/IntPipeline$9;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
 HSPLjava/util/stream/IntPipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
 HSPLjava/util/stream/IntPipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
 HSPLjava/util/stream/IntPipeline$StatelessOp;->opIsStateful()Z
@@ -42540,8 +38357,6 @@
 HSPLjava/util/stream/IntPipeline;->lambda$distinct$0(Ljava/lang/Integer;)I
 HSPLjava/util/stream/IntPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
 HSPLjava/util/stream/IntPipeline;->mapToObj(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
-HSPLjava/util/stream/IntPipeline;->reduce(ILjava/util/function/IntBinaryOperator;)I
-HSPLjava/util/stream/IntPipeline;->sum()I
 HSPLjava/util/stream/IntPipeline;->toArray()[I
 PLjava/util/stream/IntStream;->of([I)Ljava/util/stream/IntStream;
 HSPLjava/util/stream/IntStream;->range(II)Ljava/util/stream/IntStream;
@@ -42620,14 +38435,6 @@
 HSPLjava/util/stream/ReduceOps$3ReducingSink;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;)V
 HSPLjava/util/stream/ReduceOps$3ReducingSink;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/ReduceOps$3ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$5;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/IntBinaryOperator;I)V
-HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$5ReducingSink;
-HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
-HSPLjava/util/stream/ReduceOps$5ReducingSink;-><init>(ILjava/util/function/IntBinaryOperator;)V
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->accept(I)V
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Integer;
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Object;
 HSPLjava/util/stream/ReduceOps$8;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/LongBinaryOperator;J)V
 HSPLjava/util/stream/ReduceOps$8;->makeSink()Ljava/util/stream/ReduceOps$8ReducingSink;
 HSPLjava/util/stream/ReduceOps$8;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
@@ -42640,7 +38447,6 @@
 HSPLjava/util/stream/ReduceOps$Box;->get()Ljava/lang/Object;
 HSPLjava/util/stream/ReduceOps$ReduceOp;-><init>(Ljava/util/stream/StreamShape;)V
 HSPLjava/util/stream/ReduceOps$ReduceOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-HSPLjava/util/stream/ReduceOps;->makeInt(ILjava/util/function/IntBinaryOperator;)Ljava/util/stream/TerminalOp;
 HSPLjava/util/stream/ReduceOps;->makeLong(JLjava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp;
 HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
 HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp;
@@ -42683,8 +38489,8 @@
 HSPLjava/util/stream/ReferencePipeline;->findFirst()Ljava/util/Optional;
 HSPLjava/util/stream/ReferencePipeline;->flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;
 HSPLjava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/util/stream/ReferencePipeline;->forEachOrdered(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/ReferencePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-HSPLjava/util/stream/ReferencePipeline;->iterator()Ljava/util/Iterator;
 HSPLjava/util/stream/ReferencePipeline;->lambda$count$2(Ljava/lang/Object;)J
 HSPLjava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
 HSPLjava/util/stream/ReferencePipeline;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream;
@@ -42695,7 +38501,6 @@
 HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
 HSPLjava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;
 HSPLjava/util/stream/ReferencePipeline;->toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HSPLjava/util/stream/ReferencePipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
 HSPLjava/util/stream/Sink$ChainedInt;-><init>(Ljava/util/stream/Sink;)V
 HSPLjava/util/stream/Sink$ChainedInt;->begin(J)V
 HSPLjava/util/stream/Sink$ChainedInt;->end()V
@@ -42704,7 +38509,6 @@
 HSPLjava/util/stream/Sink$ChainedReference;->cancellationRequested()Z
 HSPLjava/util/stream/Sink$ChainedReference;->end()V
 HSPLjava/util/stream/Sink;->begin(J)V
-HSPLjava/util/stream/Sink;->cancellationRequested()Z
 HSPLjava/util/stream/Sink;->end()V
 HSPLjava/util/stream/SortedOps$AbstractRefSortingSink;-><init>(Ljava/util/stream/Sink;Ljava/util/Comparator;)V
 HSPLjava/util/stream/SortedOps$OfRef;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/Comparator;)V
@@ -42743,9 +38547,7 @@
 HSPLjava/util/stream/SpinedBuffer;->copyInto([Ljava/lang/Object;I)V
 HSPLjava/util/stream/SpinedBuffer;->count()J
 HSPLjava/util/stream/SpinedBuffer;->ensureCapacity(J)V
-HSPLjava/util/stream/SpinedBuffer;->get(J)Ljava/lang/Object;
 HSPLjava/util/stream/SpinedBuffer;->increaseCapacity()V
-HSPLjava/util/stream/SpinedBuffer;->inflateSpine()V
 PLjava/util/stream/Stream;->builder()Ljava/util/stream/Stream$Builder;
 HSPLjava/util/stream/Stream;->concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
 HSPLjava/util/stream/Stream;->empty()Ljava/util/stream/Stream;
@@ -42754,18 +38556,6 @@
 HSPLjava/util/stream/StreamOpFlag;->fromCharacteristics(Ljava/util/Spliterator;)I
 HSPLjava/util/stream/StreamOpFlag;->getMask(I)I
 HSPLjava/util/stream/StreamOpFlag;->isKnown(I)Z
-HSPLjava/util/stream/StreamOpFlag;->toCharacteristics(I)I
-HSPLjava/util/stream/StreamOpFlag;->toStreamFlags(I)I
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;-><init>(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)V
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->characteristics()I
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->doAdvance()Z
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->estimateSize()J
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->fillBuffer()Z
-HSPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->init()V
-HSPLjava/util/stream/StreamSpliterators$WrappingSpliterator;-><init>(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)V
-HSPLjava/util/stream/StreamSpliterators$WrappingSpliterator;->initPartialTraversalState()V
-HSPLjava/util/stream/StreamSpliterators$WrappingSpliterator;->lambda$initPartialTraversalState$0$StreamSpliterators$WrappingSpliterator()Z
-HSPLjava/util/stream/StreamSpliterators$WrappingSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
 HSPLjava/util/stream/StreamSupport;->intStream(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;
 HSPLjava/util/stream/StreamSupport;->stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
 HSPLjava/util/stream/Streams$2;-><init>(Ljava/util/stream/BaseStream;Ljava/util/stream/BaseStream;)V
@@ -42777,22 +38567,17 @@
 HSPLjava/util/stream/Streams$ConcatSpliterator;-><init>(Ljava/util/Spliterator;Ljava/util/Spliterator;)V
 HSPLjava/util/stream/Streams$ConcatSpliterator;->characteristics()I
 HSPLjava/util/stream/Streams$ConcatSpliterator;->estimateSize()J
-HSPLjava/util/stream/Streams$ConcatSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/Streams$ConcatSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
 HSPLjava/util/stream/Streams$RangeIntSpliterator;-><init>(III)V
 HSPLjava/util/stream/Streams$RangeIntSpliterator;-><init>(IIZ)V
 HSPLjava/util/stream/Streams$RangeIntSpliterator;->characteristics()I
-HSPLjava/util/stream/Streams$RangeIntSpliterator;->estimateSize()J
 HSPLjava/util/stream/Streams$RangeIntSpliterator;->forEachRemaining(Ljava/util/function/IntConsumer;)V
 HSPLjava/util/stream/Streams$RangeIntSpliterator;->getComparator()Ljava/util/Comparator;
 PLjava/util/stream/Streams$StreamBuilderImpl;-><init>()V
+HPLjava/util/stream/Streams$StreamBuilderImpl;->build()Ljava/util/stream/Stream;
 HSPLjava/util/stream/Streams$StreamBuilderImpl;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/Streams;->composedClose(Ljava/util/stream/BaseStream;Ljava/util/stream/BaseStream;)Ljava/lang/Runnable;
 HSPLjava/util/stream/TerminalOp;->getOpFlags()I
-HSPLjava/util/zip/Adler32;-><init>()V
-HSPLjava/util/zip/Adler32;->getValue()J
-HSPLjava/util/zip/Adler32;->update(I)V
-HSPLjava/util/zip/Adler32;->update([BII)V
 HSPLjava/util/zip/CRC32;-><init>()V
 HSPLjava/util/zip/CRC32;->getValue()J
 HSPLjava/util/zip/CRC32;->reset()V
@@ -42803,7 +38588,6 @@
 HSPLjava/util/zip/CheckedInputStream;->read()I
 HSPLjava/util/zip/CheckedInputStream;->read([BII)I
 HSPLjava/util/zip/Deflater;-><init>()V
-HSPLjava/util/zip/Deflater;-><init>(I)V
 HSPLjava/util/zip/Deflater;-><init>(IZ)V
 HSPLjava/util/zip/Deflater;->deflate([B)I
 HSPLjava/util/zip/Deflater;->deflate([BII)I
@@ -42826,7 +38610,6 @@
 HSPLjava/util/zip/DeflaterOutputStream;->deflate()V
 HSPLjava/util/zip/DeflaterOutputStream;->finish()V
 HSPLjava/util/zip/DeflaterOutputStream;->flush()V
-HSPLjava/util/zip/DeflaterOutputStream;->write(I)V
 HSPLjava/util/zip/DeflaterOutputStream;->write([BII)V
 HSPLjava/util/zip/GZIPInputStream$1;-><init>(Ljava/util/zip/GZIPInputStream;Ljava/io/InputStream;)V
 HSPLjava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
@@ -42848,22 +38631,18 @@
 HSPLjava/util/zip/GZIPOutputStream;->writeInt(I[BI)V
 HSPLjava/util/zip/GZIPOutputStream;->writeShort(I[BI)V
 HSPLjava/util/zip/GZIPOutputStream;->writeTrailer([BI)V
-HSPLjava/util/zip/Inflater;-><init>()V
 HSPLjava/util/zip/Inflater;-><init>(Z)V
 HSPLjava/util/zip/Inflater;->end()V
 HSPLjava/util/zip/Inflater;->ended()Z
 HSPLjava/util/zip/Inflater;->ensureOpen()V
 HSPLjava/util/zip/Inflater;->finalize()V
 HSPLjava/util/zip/Inflater;->finished()Z
-HSPLjava/util/zip/Inflater;->getBytesRead()J
 HSPLjava/util/zip/Inflater;->getBytesWritten()J
 HSPLjava/util/zip/Inflater;->getRemaining()I
 HSPLjava/util/zip/Inflater;->getTotalOut()I
-HSPLjava/util/zip/Inflater;->inflate([B)I
 HSPLjava/util/zip/Inflater;->inflate([BII)I
 HSPLjava/util/zip/Inflater;->needsDictionary()Z
 HSPLjava/util/zip/Inflater;->needsInput()Z
-HSPLjava/util/zip/Inflater;->reset()V
 HSPLjava/util/zip/Inflater;->setInput([BII)V
 HSPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V
 HSPLjava/util/zip/InflaterInputStream;->available()I
@@ -42905,13 +38684,11 @@
 HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->fill()V
 HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->finalize()V
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;-><init>(Ljava/util/zip/ZipFile;J)V
-HSPLjava/util/zip/ZipFile$ZipFileInputStream;->available()I
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->close()V
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->finalize()V
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read()I
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read([BII)I
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->size()J
-HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
 HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V
 HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;)V
 HSPLjava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
@@ -42937,20 +38714,8 @@
 HSPLjava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
 HSPLjava/util/zip/ZipFile;->getZipEntry(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
 HSPLjava/util/zip/ZipFile;->releaseInflater(Ljava/util/zip/Inflater;)V
-HSPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;)V
-HSPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
-HSPLjava/util/zip/ZipInputStream;->close()V
-HSPLjava/util/zip/ZipInputStream;->closeEntry()V
-HSPLjava/util/zip/ZipInputStream;->createZipEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
-HSPLjava/util/zip/ZipInputStream;->ensureOpen()V
-HSPLjava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
-HSPLjava/util/zip/ZipInputStream;->read([BII)I
-HSPLjava/util/zip/ZipInputStream;->readEnd(Ljava/util/zip/ZipEntry;)V
-HSPLjava/util/zip/ZipInputStream;->readFully([BII)V
-HSPLjava/util/zip/ZipInputStream;->readLOC()Ljava/util/zip/ZipEntry;
 HSPLjava/util/zip/ZipUtils;->get16([BI)I
 HSPLjava/util/zip/ZipUtils;->get32([BI)J
-HSPLjava/util/zip/ZipUtils;->unixTimeToFileTime(J)Ljava/nio/file/attribute/FileTime;
 HSPLjavax/crypto/Cipher$CipherSpiAndProvider;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V
 HSPLjavax/crypto/Cipher$InitParams;-><init>(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/SecureRandom;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;)V
 HSPLjavax/crypto/Cipher$SpiAndProviderUpdater;-><init>(Ljavax/crypto/Cipher;Ljava/security/Provider;Ljavax/crypto/CipherSpi;)V
@@ -42967,15 +38732,10 @@
 HSPLjavax/crypto/Cipher;->checkOpmode(I)V
 HSPLjavax/crypto/Cipher;->chooseProvider(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
 HSPLjavax/crypto/Cipher;->createCipher(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
-HSPLjavax/crypto/Cipher;->doFinal()[B
 HSPLjavax/crypto/Cipher;->doFinal([B)[B
 HSPLjavax/crypto/Cipher;->doFinal([BII)[B
-HSPLjavax/crypto/Cipher;->doFinal([BII[BI)I
-HSPLjavax/crypto/Cipher;->getBlockSize()I
 HSPLjavax/crypto/Cipher;->getIV()[B
 HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
-HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
-HSPLjavax/crypto/Cipher;->getOutputSize(I)I
 HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;)V
 HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/SecureRandom;)V
 HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
@@ -42985,10 +38745,10 @@
 HSPLjavax/crypto/Cipher;->tryCombinations(Ljavax/crypto/Cipher$InitParams;Ljava/security/Provider;[Ljava/lang/String;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
 HSPLjavax/crypto/Cipher;->tryTransformWithProvider(Ljavax/crypto/Cipher$InitParams;[Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;Ljava/security/Provider$Service;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
 HSPLjavax/crypto/Cipher;->unwrap([BLjava/lang/String;I)Ljava/security/Key;
-HSPLjavax/crypto/Cipher;->update([BII)[B
 HSPLjavax/crypto/Cipher;->updateAAD([B)V
 HSPLjavax/crypto/Cipher;->updateAAD([BII)V
 HSPLjavax/crypto/Cipher;->updateProviderIfNeeded()V
+HSPLjavax/crypto/Cipher;->wrap(Ljava/security/Key;)[B
 HSPLjavax/crypto/CipherSpi;-><init>()V
 HSPLjavax/crypto/JarVerifier;-><init>(Ljava/net/URL;Z)V
 HSPLjavax/crypto/JarVerifier;->verify()V
@@ -43019,37 +38779,20 @@
 HSPLjavax/crypto/Mac;->chooseProvider(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
 HSPLjavax/crypto/Mac;->doFinal()[B
 HSPLjavax/crypto/Mac;->doFinal([B)[B
-HSPLjavax/crypto/Mac;->doFinal([BI)V
 HSPLjavax/crypto/Mac;->getAlgorithm()Ljava/lang/String;
 HSPLjavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
-HSPLjavax/crypto/Mac;->getMacLength()I
 HSPLjavax/crypto/Mac;->init(Ljava/security/Key;)V
-HSPLjavax/crypto/Mac;->reset()V
 HSPLjavax/crypto/Mac;->update(B)V
 HSPLjavax/crypto/Mac;->update([B)V
 HSPLjavax/crypto/Mac;->update([BII)V
 HSPLjavax/crypto/MacSpi;-><init>()V
-HSPLjavax/crypto/SecretKeyFactory;-><init>(Ljava/lang/String;)V
-HSPLjavax/crypto/SecretKeyFactory;-><init>(Ljavax/crypto/SecretKeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
-HSPLjavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
-HSPLjavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
-HSPLjavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
-HSPLjavax/crypto/SecretKeyFactory;->getKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
-HSPLjavax/crypto/SecretKeyFactory;->nextSpi(Ljavax/crypto/SecretKeyFactorySpi;)Ljavax/crypto/SecretKeyFactorySpi;
-HSPLjavax/crypto/SecretKeyFactorySpi;-><init>()V
 HSPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[B)V
-HSPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[BII)V
 HSPLjavax/crypto/spec/GCMParameterSpec;->getIV()[B
 HSPLjavax/crypto/spec/GCMParameterSpec;->getTLen()I
 HSPLjavax/crypto/spec/GCMParameterSpec;->init(I[BII)V
 HSPLjavax/crypto/spec/IvParameterSpec;-><init>([B)V
 HSPLjavax/crypto/spec/IvParameterSpec;-><init>([BII)V
 HSPLjavax/crypto/spec/IvParameterSpec;->getIV()[B
-HSPLjavax/crypto/spec/PBEKeySpec;-><init>([C[BII)V
-HSPLjavax/crypto/spec/PBEKeySpec;->getIterationCount()I
-HSPLjavax/crypto/spec/PBEKeySpec;->getKeyLength()I
-HSPLjavax/crypto/spec/PBEKeySpec;->getPassword()[C
-HSPLjavax/crypto/spec/PBEKeySpec;->getSalt()[B
 HSPLjavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
 HSPLjavax/crypto/spec/SecretKeySpec;->getAlgorithm()Ljava/lang/String;
 HSPLjavax/crypto/spec/SecretKeySpec;->getEncoded()[B
@@ -43088,7 +38831,6 @@
 HSPLjavax/net/ssl/SSLContext;-><init>(Ljavax/net/ssl/SSLContextSpi;Ljava/security/Provider;Ljava/lang/String;)V
 HSPLjavax/net/ssl/SSLContext;->getDefault()Ljavax/net/ssl/SSLContext;
 HSPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
-HSPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
 HSPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/SSLContext;
 HSPLjavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
 HSPLjavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
@@ -43110,7 +38852,6 @@
 HSPLjavax/net/ssl/SSLEngineResult;->getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
 HSPLjavax/net/ssl/SSLEngineResult;->getStatus()Ljavax/net/ssl/SSLEngineResult$Status;
 HSPLjavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLHandshakeException;-><init>(Ljava/lang/String;)V
 HSPLjavax/net/ssl/SSLParameters;-><init>()V
 HSPLjavax/net/ssl/SSLParameters;->clone([Ljava/lang/String;)[Ljava/lang/String;
 HSPLjavax/net/ssl/SSLParameters;->getApplicationProtocols()[Ljava/lang/String;
@@ -43154,7 +38895,6 @@
 HSPLjavax/security/auth/x500/X500Principal;-><init>([B)V
 HSPLjavax/security/auth/x500/X500Principal;->equals(Ljava/lang/Object;)Z
 HSPLjavax/security/auth/x500/X500Principal;->getEncoded()[B
-HSPLjavax/security/auth/x500/X500Principal;->getName()Ljava/lang/String;
 HSPLjavax/security/auth/x500/X500Principal;->getName(Ljava/lang/String;)Ljava/lang/String;
 HSPLjavax/security/auth/x500/X500Principal;->hashCode()I
 HSPLjavax/xml/parsers/DocumentBuilder;-><init>()V
@@ -43185,25 +38925,16 @@
 HSPLlibcore/content/type/MimeMap;->guessMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
 HSPLlibcore/content/type/MimeMap;->isValidMimeTypeOrExtension(Ljava/lang/String;)Z
 HSPLlibcore/content/type/MimeMap;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
-HSPLlibcore/icu/CollationKeyICU;-><init>(Ljava/lang/String;Landroid/icu/text/CollationKey;)V
-HSPLlibcore/icu/CollationKeyICU;->toByteArray()[B
 HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(JJILjava/lang/String;)Ljava/lang/String;
 HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;JJI)Ljava/lang/String;
 HSPLlibcore/icu/DateIntervalFormat;->getFormatter(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;)Landroid/icu/text/DateIntervalFormat;
 HSPLlibcore/icu/DateIntervalFormat;->isExactlyMidnight(Landroid/icu/util/Calendar;)Z
 HSPLlibcore/icu/DateUtilsBridge;->createIcuCalendar(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;J)Landroid/icu/util/Calendar;
-HSPLlibcore/icu/DateUtilsBridge;->dayDistance(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)I
 HSPLlibcore/icu/DateUtilsBridge;->fallInSameMonth(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Z
-HSPLlibcore/icu/DateUtilsBridge;->fallInSameYear(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Z
 HSPLlibcore/icu/DateUtilsBridge;->fallOnDifferentDates(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Z
 HSPLlibcore/icu/DateUtilsBridge;->icuTimeZone(Ljava/util/TimeZone;)Landroid/icu/util/TimeZone;
-HSPLlibcore/icu/DateUtilsBridge;->isThisYear(Landroid/icu/util/Calendar;)Z
 HSPLlibcore/icu/DateUtilsBridge;->toSkeleton(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;I)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->getAvailableLocales()[Ljava/util/Locale;
 HSPLlibcore/icu/ICU;->getBestDateTimePattern(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->localeFromIcuLocaleId(Ljava/lang/String;)Ljava/util/Locale;
-HSPLlibcore/icu/ICU;->localesFromStrings([Ljava/lang/String;)[Ljava/util/Locale;
-HSPLlibcore/icu/ICU;->parseLangScriptRegionAndVariants(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLlibcore/icu/LocaleData;-><init>()V
 HSPLlibcore/icu/LocaleData;->get(Ljava/util/Locale;)Llibcore/icu/LocaleData;
 HSPLlibcore/icu/LocaleData;->getDateFormat(I)Ljava/lang/String;
@@ -43238,7 +38969,6 @@
 HSPLlibcore/io/BlockGuardOs;->isLingerSocket(Ljava/io/FileDescriptor;)Z
 HSPLlibcore/io/BlockGuardOs;->isUdpSocket(Ljava/io/FileDescriptor;)Z
 HSPLlibcore/io/BlockGuardOs;->lseek(Ljava/io/FileDescriptor;JI)J
-HSPLlibcore/io/BlockGuardOs;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/BlockGuardOs;->mkdir(Ljava/lang/String;I)V
 HSPLlibcore/io/BlockGuardOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
 HSPLlibcore/io/BlockGuardOs;->poll([Landroid/system/StructPollfd;I)I
@@ -43254,7 +38984,6 @@
 HSPLlibcore/io/BlockGuardOs;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
 HSPLlibcore/io/BlockGuardOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/BlockGuardOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
-HSPLlibcore/io/BlockGuardOs;->symlink(Ljava/lang/String;Ljava/lang/String;)V
 HSPLlibcore/io/BlockGuardOs;->tagSocket(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
 HSPLlibcore/io/BlockGuardOs;->write(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/BufferIterator;-><init>()V
@@ -43308,7 +39037,6 @@
 HSPLlibcore/io/ForwardingOs;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
 HSPLlibcore/io/ForwardingOs;->listen(Ljava/io/FileDescriptor;I)V
 HSPLlibcore/io/ForwardingOs;->lseek(Ljava/io/FileDescriptor;JI)J
-HSPLlibcore/io/ForwardingOs;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/ForwardingOs;->mkdir(Ljava/lang/String;I)V
 HSPLlibcore/io/ForwardingOs;->mlock(JJ)V
 HSPLlibcore/io/ForwardingOs;->mmap(JJIILjava/io/FileDescriptor;J)J
@@ -43317,7 +39045,6 @@
 HSPLlibcore/io/ForwardingOs;->pipe2(I)[Ljava/io/FileDescriptor;
 HSPLlibcore/io/ForwardingOs;->poll([Landroid/system/StructPollfd;I)I
 HSPLlibcore/io/ForwardingOs;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
-HSPLlibcore/io/ForwardingOs;->prctl(IJJJJ)I
 HSPLlibcore/io/ForwardingOs;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
 HSPLlibcore/io/ForwardingOs;->read(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/ForwardingOs;->readlink(Ljava/lang/String;)Ljava/lang/String;
@@ -43328,10 +39055,7 @@
 HSPLlibcore/io/ForwardingOs;->setpgid(II)V
 HSPLlibcore/io/ForwardingOs;->setregid(II)V
 HSPLlibcore/io/ForwardingOs;->setreuid(II)V
-HSPLlibcore/io/ForwardingOs;->setsockoptByte(Ljava/io/FileDescriptor;III)V
-HSPLlibcore/io/ForwardingOs;->setsockoptGroupReq(Ljava/io/FileDescriptor;IILandroid/system/StructGroupReq;)V
 HSPLlibcore/io/ForwardingOs;->setsockoptInt(Ljava/io/FileDescriptor;III)V
-HSPLlibcore/io/ForwardingOs;->setsockoptIpMreqn(Ljava/io/FileDescriptor;III)V
 HSPLlibcore/io/ForwardingOs;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
 HSPLlibcore/io/ForwardingOs;->shutdown(Ljava/io/FileDescriptor;I)V
 HSPLlibcore/io/ForwardingOs;->socket(III)Ljava/io/FileDescriptor;
@@ -43339,10 +39063,8 @@
 HSPLlibcore/io/ForwardingOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/ForwardingOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
 HSPLlibcore/io/ForwardingOs;->strerror(I)Ljava/lang/String;
-HSPLlibcore/io/ForwardingOs;->symlink(Ljava/lang/String;Ljava/lang/String;)V
 HSPLlibcore/io/ForwardingOs;->sysconf(I)J
 HSPLlibcore/io/ForwardingOs;->umask(I)I
-HSPLlibcore/io/ForwardingOs;->uname()Landroid/system/StructUtsname;
 HSPLlibcore/io/ForwardingOs;->write(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/IoBridge;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 HSPLlibcore/io/IoBridge;->booleanFromInt(I)Z
@@ -43355,7 +39077,6 @@
 HSPLlibcore/io/IoBridge;->getSocketOption(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
 HSPLlibcore/io/IoBridge;->getSocketOptionErrno(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
 HSPLlibcore/io/IoBridge;->isConnected(Ljava/io/FileDescriptor;Ljava/net/InetAddress;III)Z
-HSPLlibcore/io/IoBridge;->maybeThrowAfterSendto(ZLandroid/system/ErrnoException;)I
 HSPLlibcore/io/IoBridge;->open(Ljava/lang/String;I)Ljava/io/FileDescriptor;
 HSPLlibcore/io/IoBridge;->poll(Ljava/io/FileDescriptor;II)V
 HSPLlibcore/io/IoBridge;->postRecvfrom(ZLjava/net/DatagramPacket;Ljava/net/InetSocketAddress;I)I
@@ -43466,6 +39187,7 @@
 HSPLlibcore/reflect/ListOfVariables;->add(Ljava/lang/reflect/TypeVariable;)V
 HSPLlibcore/reflect/ListOfVariables;->getArray()[Ljava/lang/reflect/TypeVariable;
 HSPLlibcore/reflect/ParameterizedTypeImpl;-><init>(Llibcore/reflect/ParameterizedTypeImpl;Ljava/lang/String;Llibcore/reflect/ListOfTypes;Ljava/lang/ClassLoader;)V
+HSPLlibcore/reflect/ParameterizedTypeImpl;->equals(Ljava/lang/Object;)Z
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getActualTypeArguments()[Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getOwnerType()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getRawType()Ljava/lang/Class;
@@ -43491,7 +39213,6 @@
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->checkNotClosed()V
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->close()V
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->finalize()V
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->getAvailableIDs()[Ljava/lang/String;
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->getBufferIterator(Ljava/lang/String;)Llibcore/io/BufferIterator;
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->makeTimeZone(Ljava/lang/String;)Llibcore/util/ZoneInfo;
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->makeTimeZoneUncached(Ljava/lang/String;)Llibcore/util/ZoneInfo;
@@ -43511,6 +39232,7 @@
 HSPLlibcore/timezone/ZoneInfoDb;->getAvailableIDs()[Ljava/lang/String;
 HSPLlibcore/timezone/ZoneInfoDb;->getBufferIterator(Ljava/lang/String;)Llibcore/io/BufferIterator;
 HSPLlibcore/timezone/ZoneInfoDb;->getInstance()Llibcore/timezone/ZoneInfoDb;
+HSPLlibcore/timezone/ZoneInfoDb;->getVersion()Ljava/lang/String;
 HSPLlibcore/timezone/ZoneInfoDb;->makeTimeZone(Ljava/lang/String;)Llibcore/util/ZoneInfo;
 HSPLlibcore/timezone/ZoneInfoDb;->makeTimeZoneUncached(Ljava/lang/String;)Llibcore/util/ZoneInfo;
 HSPLlibcore/util/ArrayUtils;->throwsIfOutOfBounds(III)V
@@ -43556,15 +39278,7 @@
 HSPLlibcore/util/SneakyThrow;->sneakyThrow_(Ljava/lang/Throwable;)V
 HSPLlibcore/util/XmlObjectFactory;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser;
 HSPLlibcore/util/XmlObjectFactory;->newXmlSerializer()Lorg/xmlpull/v1/XmlSerializer;
-HSPLlibcore/util/ZoneInfo$OffsetInterval;-><init>(IIII)V
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->containsWallTime(J)Z
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->create(Llibcore/util/ZoneInfo;I)Llibcore/util/ZoneInfo$OffsetInterval;
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->getIsDst()I
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->getTotalOffsetSeconds()I
-HSPLlibcore/util/ZoneInfo$WallTime;-><init>()V
 HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsFromCalendar()V
-HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsToCalendar()V
-HSPLlibcore/util/ZoneInfo$WallTime;->doWallTimeSearch(Llibcore/util/ZoneInfo;IIZ)Ljava/lang/Integer;
 HSPLlibcore/util/ZoneInfo$WallTime;->getGmtOffset()I
 HSPLlibcore/util/ZoneInfo$WallTime;->getHour()I
 HSPLlibcore/util/ZoneInfo$WallTime;->getIsDst()I
@@ -43576,31 +39290,15 @@
 HSPLlibcore/util/ZoneInfo$WallTime;->getYear()I
 HSPLlibcore/util/ZoneInfo$WallTime;->getYearDay()I
 HSPLlibcore/util/ZoneInfo$WallTime;->localtime(ILlibcore/util/ZoneInfo;)V
-HSPLlibcore/util/ZoneInfo$WallTime;->mktime(Llibcore/util/ZoneInfo;)I
-HSPLlibcore/util/ZoneInfo$WallTime;->setGmtOffset(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setHour(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setIsDst(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMinute(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMonth(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMonthDay(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setSecond(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setWeekDay(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setYear(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setYearDay(I)V
 HSPLlibcore/util/ZoneInfo;-><init>(Ljava/lang/String;[J[B[I[BJ)V
 HSPLlibcore/util/ZoneInfo;->access$000(Llibcore/util/ZoneInfo;)I
 HSPLlibcore/util/ZoneInfo;->access$100(Llibcore/util/ZoneInfo;)[J
 HSPLlibcore/util/ZoneInfo;->access$300(Llibcore/util/ZoneInfo;)[I
 HSPLlibcore/util/ZoneInfo;->access$400(Llibcore/util/ZoneInfo;)[B
 HSPLlibcore/util/ZoneInfo;->access$500(JI)I
-HSPLlibcore/util/ZoneInfo;->access$600(JI)I
-HSPLlibcore/util/ZoneInfo;->access$700(Llibcore/util/ZoneInfo;)[B
-HSPLlibcore/util/ZoneInfo;->access$800(JI)I
 HSPLlibcore/util/ZoneInfo;->checkTzifVersionAcceptable(Ljava/lang/String;B)V
 HSPLlibcore/util/ZoneInfo;->checked32BitAdd(JI)I
-HSPLlibcore/util/ZoneInfo;->checked32BitSubtract(JI)I
 HSPLlibcore/util/ZoneInfo;->clone()Ljava/lang/Object;
-HSPLlibcore/util/ZoneInfo;->equals(Ljava/lang/Object;)Z
 HSPLlibcore/util/ZoneInfo;->findOffsetIndexForTimeInMilliseconds(J)I
 HSPLlibcore/util/ZoneInfo;->findOffsetIndexForTimeInSeconds(J)I
 HSPLlibcore/util/ZoneInfo;->findTransitionIndex(J)I
@@ -43615,7 +39313,6 @@
 HSPLlibcore/util/ZoneInfo;->readTimeZone(Ljava/lang/String;Llibcore/io/BufferIterator;J)Llibcore/util/ZoneInfo;
 HSPLlibcore/util/ZoneInfo;->roundDownMillisToSeconds(J)J
 HSPLlibcore/util/ZoneInfo;->roundUpMillisToSeconds(J)J
-HSPLlibcore/util/ZoneInfo;->saturated32BitAdd(JI)I
 HSPLlibcore/util/ZoneInfo;->skipOver32BitData(Ljava/lang/String;Llibcore/io/BufferIterator;)V
 HSPLorg/apache/harmony/dalvik/ddmc/Chunk;-><init>(ILjava/nio/ByteBuffer;)V
 HSPLorg/apache/harmony/dalvik/ddmc/Chunk;-><init>(I[BII)V
@@ -43624,6 +39321,8 @@
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->broadcast(I)V
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->dispatch(I[BII)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->sendChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)V
+HSPLorg/apache/harmony/xml/dom/AttrImpl;->getNodeType()S
+HSPLorg/apache/harmony/xml/dom/AttrImpl;->getOwnerElement()Lorg/w3c/dom/Element;
 HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;-><init>(Lorg/apache/harmony/xml/dom/DocumentImpl;Ljava/lang/String;)V
 HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getData()Ljava/lang/String;
 HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getLength()I
@@ -43683,7 +39382,6 @@
 HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->setNamespaceAware(Z)V
 HSPLorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
 HSPLorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;-><init>()V
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;-><init>(Lorg/xml/sax/Attributes;)V
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->clear()V
@@ -43697,7 +39395,6 @@
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(I)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->removeAttribute(I)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttribute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V
 HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V
 HSPLorg/ccil/cowan/tagsoup/Element;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
@@ -43713,7 +39410,6 @@
 HSPLorg/ccil/cowan/tagsoup/Element;->parent()Lorg/ccil/cowan/tagsoup/ElementType;
 HSPLorg/ccil/cowan/tagsoup/Element;->setAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/Element;->setNext(Lorg/ccil/cowan/tagsoup/Element;)V
-HSPLorg/ccil/cowan/tagsoup/ElementType;-><init>(Ljava/lang/String;IIILorg/ccil/cowan/tagsoup/Schema;)V
 HSPLorg/ccil/cowan/tagsoup/ElementType;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
 HSPLorg/ccil/cowan/tagsoup/ElementType;->canContain(Lorg/ccil/cowan/tagsoup/ElementType;)Z
 HSPLorg/ccil/cowan/tagsoup/ElementType;->flags()I
@@ -43723,7 +39419,6 @@
 HSPLorg/ccil/cowan/tagsoup/ElementType;->name()Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace()Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->normalize(Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/ElementType;->parent()Lorg/ccil/cowan/tagsoup/ElementType;
 HSPLorg/ccil/cowan/tagsoup/ElementType;->setAttribute(Lorg/ccil/cowan/tagsoup/AttributesImpl;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/HTMLScanner;-><init>()V
@@ -43759,16 +39454,13 @@
 HSPLorg/ccil/cowan/tagsoup/Parser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V
 HSPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->stage([CII)V
 HSPLorg/ccil/cowan/tagsoup/Parser;->truthValue(Z)Ljava/lang/Boolean;
-HSPLorg/ccil/cowan/tagsoup/Schema;->elementType(Ljava/lang/String;III)V
 HSPLorg/ccil/cowan/tagsoup/Schema;->getElementType(Ljava/lang/String;)Lorg/ccil/cowan/tagsoup/ElementType;
 HSPLorg/ccil/cowan/tagsoup/Schema;->getEntity(Ljava/lang/String;)I
 HSPLorg/ccil/cowan/tagsoup/Schema;->getPrefix()Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/Schema;->getURI()Ljava/lang/String;
 HSPLorg/json/JSON;->checkDouble(D)D
 HSPLorg/json/JSON;->toBoolean(Ljava/lang/Object;)Ljava/lang/Boolean;
-HSPLorg/json/JSON;->toDouble(Ljava/lang/Object;)Ljava/lang/Double;
 HSPLorg/json/JSON;->toInteger(Ljava/lang/Object;)Ljava/lang/Integer;
 HSPLorg/json/JSON;->toLong(Ljava/lang/Object;)Ljava/lang/Long;
 HSPLorg/json/JSON;->toString(Ljava/lang/Object;)Ljava/lang/String;
@@ -43779,31 +39471,25 @@
 HSPLorg/json/JSONArray;-><init>(Lorg/json/JSONTokener;)V
 HSPLorg/json/JSONArray;->get(I)Ljava/lang/Object;
 HSPLorg/json/JSONArray;->getInt(I)I
-HSPLorg/json/JSONArray;->getJSONArray(I)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
 HSPLorg/json/JSONArray;->getLong(I)J
 HSPLorg/json/JSONArray;->getString(I)Ljava/lang/String;
 HSPLorg/json/JSONArray;->length()I
 HSPLorg/json/JSONArray;->opt(I)Ljava/lang/Object;
 HSPLorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
-HSPLorg/json/JSONArray;->optString(I)Ljava/lang/String;
-HSPLorg/json/JSONArray;->optString(ILjava/lang/String;)Ljava/lang/String;
 HSPLorg/json/JSONArray;->put(I)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->put(J)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->toString()Ljava/lang/String;
 HSPLorg/json/JSONArray;->writeTo(Lorg/json/JSONStringer;)V
 HSPLorg/json/JSONException;-><init>(Ljava/lang/String;)V
-HSPLorg/json/JSONObject$1;->toString()Ljava/lang/String;
 HSPLorg/json/JSONObject;-><init>()V
 HSPLorg/json/JSONObject;-><init>(Ljava/lang/String;)V
 HSPLorg/json/JSONObject;-><init>(Ljava/util/Map;)V
-HSPLorg/json/JSONObject;-><init>(Lorg/json/JSONObject;[Ljava/lang/String;)V
 HSPLorg/json/JSONObject;-><init>(Lorg/json/JSONTokener;)V
 HSPLorg/json/JSONObject;->checkName(Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
-HSPLorg/json/JSONObject;->getDouble(Ljava/lang/String;)D
 HSPLorg/json/JSONObject;->getInt(Ljava/lang/String;)I
 HSPLorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
 HSPLorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
@@ -43817,8 +39503,6 @@
 HSPLorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;)Z
 HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
-HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
-HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;D)D
 HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;)I
 HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;I)I
 HSPLorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
@@ -43833,14 +39517,10 @@
 HSPLorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 HSPLorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
 HSPLorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
-HSPLorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/json/JSONObject;->remove(Ljava/lang/String;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->toString()Ljava/lang/String;
-HSPLorg/json/JSONObject;->toString(I)Ljava/lang/String;
 HSPLorg/json/JSONObject;->wrap(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V
 HSPLorg/json/JSONStringer;-><init>()V
-HSPLorg/json/JSONStringer;-><init>(I)V
 HSPLorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
 HSPLorg/json/JSONStringer;->beforeKey()V
 HSPLorg/json/JSONStringer;->beforeValue()V
@@ -43971,8 +39651,6 @@
 HSPLsun/misc/FormattedFloatingDecimal;->create(ZI)[C
 HSPLsun/misc/FormattedFloatingDecimal;->fillDecimal(I[CIIZ)V
 HSPLsun/misc/FormattedFloatingDecimal;->getBuffer()[C
-HSPLsun/misc/FormattedFloatingDecimal;->getExponent()[C
-HSPLsun/misc/FormattedFloatingDecimal;->getExponentRounded()I
 HSPLsun/misc/FormattedFloatingDecimal;->getMantissa()[C
 HSPLsun/misc/FormattedFloatingDecimal;->valueOf(DILsun/misc/FormattedFloatingDecimal$Form;)Lsun/misc/FormattedFloatingDecimal;
 HSPLsun/misc/IOUtils;->readFully(Ljava/io/InputStream;IZ)[B
@@ -43989,8 +39667,6 @@
 HSPLsun/misc/Unsafe;->getAndSetObject(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
 HSPLsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe;
 HSPLsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
-HSPLsun/misc/VM;->isBooted()Z
-HSPLsun/net/NetHooks;->beforeTcpBind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 HSPLsun/net/NetHooks;->beforeTcpConnect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 HSPLsun/net/NetProperties;->get(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/net/ResourceManager;->afterUdpClose()V
@@ -44005,18 +39681,6 @@
 HSPLsun/net/www/ParseUtil;->encodePath(Ljava/lang/String;Z)Ljava/lang/String;
 HSPLsun/net/www/protocol/file/Handler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V
 HSPLsun/net/www/protocol/jar/Handler;-><init>()V
-HSPLsun/nio/ch/AbstractPollArrayWrapper;-><init>()V
-HSPLsun/nio/ch/AbstractPollArrayWrapper;->getReventOps(I)I
-HSPLsun/nio/ch/AbstractPollArrayWrapper;->putDescriptor(II)V
-HSPLsun/nio/ch/AbstractPollArrayWrapper;->putEventOps(II)V
-HSPLsun/nio/ch/AbstractPollArrayWrapper;->putReventOps(II)V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;II)V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->implClose()V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->implRegister(Lsun/nio/ch/SelectionKeyImpl;)V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->putEventOps(Lsun/nio/ch/SelectionKeyImpl;I)V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->updateSelectedKeys()I
-HSPLsun/nio/ch/AllocatedNativeObject;-><init>(IZ)V
-HSPLsun/nio/ch/AllocatedNativeObject;->free()V
 HSPLsun/nio/ch/ChannelInputStream;-><init>(Ljava/nio/channels/ReadableByteChannel;)V
 HSPLsun/nio/ch/ChannelInputStream;->available()I
 HSPLsun/nio/ch/ChannelInputStream;->close()V
@@ -44024,7 +39688,6 @@
 HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/ByteBuffer;)I
 HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/ByteBuffer;Z)I
 HSPLsun/nio/ch/ChannelInputStream;->read([BII)I
-HSPLsun/nio/ch/DefaultSelectorProvider;->create()Ljava/nio/channels/spi/SelectorProvider;
 HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;)V
 HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;Lsun/nio/ch/FileChannelImpl$1;)V
 HSPLsun/nio/ch/FileChannelImpl$Unmapper;->run()V
@@ -44045,10 +39708,8 @@
 HSPLsun/nio/ch/FileChannelImpl;->read(Ljava/nio/ByteBuffer;)I
 HSPLsun/nio/ch/FileChannelImpl;->release(Lsun/nio/ch/FileLockImpl;)V
 HSPLsun/nio/ch/FileChannelImpl;->size()J
-HSPLsun/nio/ch/FileChannelImpl;->truncate(J)Ljava/nio/channels/FileChannel;
 HSPLsun/nio/ch/FileChannelImpl;->tryLock(JJZ)Ljava/nio/channels/FileLock;
 HSPLsun/nio/ch/FileChannelImpl;->write(Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/FileDescriptorHolderSocketImpl;-><init>(Ljava/io/FileDescriptor;)V
 HSPLsun/nio/ch/FileDispatcher;-><init>()V
 HSPLsun/nio/ch/FileDispatcherImpl;-><init>(Z)V
 HSPLsun/nio/ch/FileDispatcherImpl;->close(Ljava/io/FileDescriptor;)V
@@ -44058,11 +39719,9 @@
 HSPLsun/nio/ch/FileDispatcherImpl;->read(Ljava/io/FileDescriptor;JI)I
 HSPLsun/nio/ch/FileDispatcherImpl;->release(Ljava/io/FileDescriptor;JJ)V
 HSPLsun/nio/ch/FileDispatcherImpl;->size(Ljava/io/FileDescriptor;)J
-HSPLsun/nio/ch/FileDispatcherImpl;->truncate(Ljava/io/FileDescriptor;J)I
 HSPLsun/nio/ch/FileDispatcherImpl;->write(Ljava/io/FileDescriptor;JI)I
 HSPLsun/nio/ch/FileKey;-><init>()V
 HSPLsun/nio/ch/FileKey;->create(Ljava/io/FileDescriptor;)Lsun/nio/ch/FileKey;
-HSPLsun/nio/ch/FileKey;->equals(Ljava/lang/Object;)Z
 HSPLsun/nio/ch/FileKey;->hashCode()I
 HSPLsun/nio/ch/FileLockImpl;-><init>(Ljava/nio/channels/FileChannel;JJZ)V
 HSPLsun/nio/ch/FileLockImpl;->invalidate()V
@@ -44073,93 +39732,24 @@
 HSPLsun/nio/ch/IOStatus;->checkAll(J)Z
 HSPLsun/nio/ch/IOStatus;->normalize(I)I
 HSPLsun/nio/ch/IOStatus;->normalize(J)J
-HSPLsun/nio/ch/IOUtil;->newFD(I)Ljava/io/FileDescriptor;
 HSPLsun/nio/ch/IOUtil;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->readIntoNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->writeFromNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/NativeDispatcher;-><init>()V
-HSPLsun/nio/ch/NativeObject;-><init>(IZ)V
-HSPLsun/nio/ch/NativeObject;->address()J
-HSPLsun/nio/ch/NativeObject;->getShort(I)S
-HSPLsun/nio/ch/NativeObject;->putInt(II)V
-HSPLsun/nio/ch/NativeObject;->putShort(IS)V
 HSPLsun/nio/ch/NativeThreadSet;-><init>(I)V
 HSPLsun/nio/ch/NativeThreadSet;->add()I
 HSPLsun/nio/ch/NativeThreadSet;->remove(I)V
 HSPLsun/nio/ch/NativeThreadSet;->signalAndWait()V
-HSPLsun/nio/ch/Net;->checkAddress(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
-HSPLsun/nio/ch/Net;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
-HSPLsun/nio/ch/Net;->connect(Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
-HSPLsun/nio/ch/Net;->isIPv6Available()Z
-HSPLsun/nio/ch/Net;->localAddress(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
-HSPLsun/nio/ch/Net;->socket(Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/Net;->socket(Z)Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/PollArrayWrapper;-><init>(I)V
-HSPLsun/nio/ch/PollArrayWrapper;->addEntry(Lsun/nio/ch/SelChImpl;)V
-HSPLsun/nio/ch/PollArrayWrapper;->free()V
-HSPLsun/nio/ch/PollArrayWrapper;->initInterrupt(II)V
-HSPLsun/nio/ch/PollArrayWrapper;->interrupt()V
-HSPLsun/nio/ch/PollArrayWrapper;->poll(IIJ)I
-HSPLsun/nio/ch/PollArrayWrapper;->release(I)V
-HSPLsun/nio/ch/PollSelectorImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLsun/nio/ch/PollSelectorImpl;->doSelect(J)I
-HSPLsun/nio/ch/PollSelectorImpl;->implCloseInterrupt()V
-HSPLsun/nio/ch/PollSelectorImpl;->wakeup()Ljava/nio/channels/Selector;
-HSPLsun/nio/ch/PollSelectorProvider;-><init>()V
-HSPLsun/nio/ch/PollSelectorProvider;->openSelector()Ljava/nio/channels/spi/AbstractSelector;
-HSPLsun/nio/ch/SelectionKeyImpl;-><init>(Lsun/nio/ch/SelChImpl;Lsun/nio/ch/SelectorImpl;)V
-HSPLsun/nio/ch/SelectionKeyImpl;->channel()Ljava/nio/channels/SelectableChannel;
-HSPLsun/nio/ch/SelectionKeyImpl;->ensureValid()V
-HSPLsun/nio/ch/SelectionKeyImpl;->getIndex()I
-HSPLsun/nio/ch/SelectionKeyImpl;->interestOps(I)Ljava/nio/channels/SelectionKey;
-HSPLsun/nio/ch/SelectionKeyImpl;->nioInterestOps()I
-HSPLsun/nio/ch/SelectionKeyImpl;->nioInterestOps(I)Ljava/nio/channels/SelectionKey;
-HSPLsun/nio/ch/SelectionKeyImpl;->nioReadyOps()I
-HSPLsun/nio/ch/SelectionKeyImpl;->nioReadyOps(I)V
-HSPLsun/nio/ch/SelectionKeyImpl;->readyOps()I
-HSPLsun/nio/ch/SelectionKeyImpl;->selector()Ljava/nio/channels/Selector;
-HSPLsun/nio/ch/SelectionKeyImpl;->setIndex(I)V
-HSPLsun/nio/ch/SelectorImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLsun/nio/ch/SelectorImpl;->implCloseSelector()V
-HSPLsun/nio/ch/SelectorImpl;->lockAndDoSelect(J)I
-HSPLsun/nio/ch/SelectorImpl;->processDeregisterQueue()V
-HSPLsun/nio/ch/SelectorImpl;->register(Ljava/nio/channels/spi/AbstractSelectableChannel;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
-HSPLsun/nio/ch/SelectorImpl;->select(J)I
-HSPLsun/nio/ch/SelectorProviderImpl;-><init>()V
-HSPLsun/nio/ch/SelectorProviderImpl;->openSocketChannel()Ljava/nio/channels/SocketChannel;
 HSPLsun/nio/ch/SharedFileLockTable$FileLockReference;-><init>(Ljava/nio/channels/FileLock;Ljava/lang/ref/ReferenceQueue;Lsun/nio/ch/FileKey;)V
-HSPLsun/nio/ch/SharedFileLockTable$FileLockReference;->fileKey()Lsun/nio/ch/FileKey;
 HSPLsun/nio/ch/SharedFileLockTable;-><init>(Ljava/nio/channels/Channel;Ljava/io/FileDescriptor;)V
 HSPLsun/nio/ch/SharedFileLockTable;->add(Ljava/nio/channels/FileLock;)V
-HSPLsun/nio/ch/SharedFileLockTable;->checkList(Ljava/util/List;JJ)V
 HSPLsun/nio/ch/SharedFileLockTable;->remove(Ljava/nio/channels/FileLock;)V
 HSPLsun/nio/ch/SharedFileLockTable;->removeAll()Ljava/util/List;
 HSPLsun/nio/ch/SharedFileLockTable;->removeKeyIfEmpty(Lsun/nio/ch/FileKey;Ljava/util/List;)V
 HSPLsun/nio/ch/SharedFileLockTable;->removeStaleEntries()V
-HSPLsun/nio/ch/SocketAdaptor;-><init>(Lsun/nio/ch/SocketChannelImpl;)V
-HSPLsun/nio/ch/SocketAdaptor;->create(Lsun/nio/ch/SocketChannelImpl;)Ljava/net/Socket;
-HSPLsun/nio/ch/SocketAdaptor;->isClosed()Z
-HSPLsun/nio/ch/SocketChannelImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLsun/nio/ch/SocketChannelImpl;->connect(Ljava/net/SocketAddress;)Z
-HSPLsun/nio/ch/SocketChannelImpl;->ensureOpenAndUnconnected()V
-HSPLsun/nio/ch/SocketChannelImpl;->finalize()V
-HSPLsun/nio/ch/SocketChannelImpl;->finishConnect()Z
-HSPLsun/nio/ch/SocketChannelImpl;->getFD()Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/SocketChannelImpl;->implCloseSelectableChannel()V
-HSPLsun/nio/ch/SocketChannelImpl;->implConfigureBlocking(Z)V
-HSPLsun/nio/ch/SocketChannelImpl;->isConnected()Z
-HSPLsun/nio/ch/SocketChannelImpl;->kill()V
-HSPLsun/nio/ch/SocketChannelImpl;->readerCleanup()V
-HSPLsun/nio/ch/SocketChannelImpl;->socket()Ljava/net/Socket;
-HSPLsun/nio/ch/SocketChannelImpl;->translateAndSetInterestOps(ILsun/nio/ch/SelectionKeyImpl;)V
-HSPLsun/nio/ch/SocketChannelImpl;->translateAndSetReadyOps(ILsun/nio/ch/SelectionKeyImpl;)Z
-HSPLsun/nio/ch/SocketChannelImpl;->translateReadyOps(IILsun/nio/ch/SelectionKeyImpl;)Z
-HSPLsun/nio/ch/SocketDispatcher;->close(Ljava/io/FileDescriptor;)V
-HSPLsun/nio/ch/SocketDispatcher;->preClose(Ljava/io/FileDescriptor;)V
 HSPLsun/nio/ch/Util$1;->initialValue()Ljava/lang/Object;
 HSPLsun/nio/ch/Util$1;->initialValue()Lsun/nio/ch/Util$BufferCache;
-HSPLsun/nio/ch/Util$3;-><init>(Ljava/util/Set;)V
 HSPLsun/nio/ch/Util$BufferCache;-><init>()V
 HSPLsun/nio/ch/Util$BufferCache;->get(I)Ljava/nio/ByteBuffer;
 HSPLsun/nio/ch/Util$BufferCache;->isEmpty()Z
@@ -44167,13 +39757,11 @@
 HSPLsun/nio/ch/Util$BufferCache;->offerFirst(Ljava/nio/ByteBuffer;)Z
 HSPLsun/nio/ch/Util$BufferCache;->removeFirst()Ljava/nio/ByteBuffer;
 HSPLsun/nio/ch/Util;->access$000()I
-HSPLsun/nio/ch/Util;->atBugLevel(Ljava/lang/String;)Z
 HSPLsun/nio/ch/Util;->free(Ljava/nio/ByteBuffer;)V
 HSPLsun/nio/ch/Util;->getTemporaryDirectBuffer(I)Ljava/nio/ByteBuffer;
 HSPLsun/nio/ch/Util;->isBufferTooLarge(I)Z
 HSPLsun/nio/ch/Util;->isBufferTooLarge(Ljava/nio/ByteBuffer;)Z
 HSPLsun/nio/ch/Util;->offerFirstTemporaryDirectBuffer(Ljava/nio/ByteBuffer;)V
-HSPLsun/nio/ch/Util;->ungrowableSet(Ljava/util/Set;)Ljava/util/Set;
 HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)V
 HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/CharsetDecoder;)V
 HSPLsun/nio/cs/StreamDecoder;->close()V
@@ -44195,7 +39783,6 @@
 HSPLsun/nio/cs/StreamEncoder;->close()V
 HSPLsun/nio/cs/StreamEncoder;->ensureOpen()V
 HSPLsun/nio/cs/StreamEncoder;->flush()V
-HSPLsun/nio/cs/StreamEncoder;->flushBuffer()V
 HSPLsun/nio/cs/StreamEncoder;->flushLeftoverChar(Ljava/nio/CharBuffer;Z)V
 HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava/lang/Object;Ljava/lang/String;)Lsun/nio/cs/StreamEncoder;
 HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)Lsun/nio/cs/StreamEncoder;
@@ -44203,26 +39790,23 @@
 HSPLsun/nio/cs/StreamEncoder;->implFlush()V
 HSPLsun/nio/cs/StreamEncoder;->implFlushBuffer()V
 HSPLsun/nio/cs/StreamEncoder;->implWrite([CII)V
-HSPLsun/nio/cs/StreamEncoder;->isOpen()Z
 HSPLsun/nio/cs/StreamEncoder;->write(I)V
 HSPLsun/nio/cs/StreamEncoder;->write(Ljava/lang/String;II)V
 HSPLsun/nio/cs/StreamEncoder;->write([CII)V
 HSPLsun/nio/cs/StreamEncoder;->writeBytes()V
 HSPLsun/nio/cs/ThreadLocalCoders$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/nio/cs/ThreadLocalCoders$1;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLsun/nio/cs/ThreadLocalCoders$2;->create(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/cs/ThreadLocalCoders$2;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLsun/nio/cs/ThreadLocalCoders$Cache;->forName(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/nio/cs/ThreadLocalCoders$Cache;->moveToFront([Ljava/lang/Object;I)V
 HSPLsun/nio/cs/ThreadLocalCoders;->decoderFor(Ljava/lang/Object;)Ljava/nio/charset/CharsetDecoder;
-HSPLsun/nio/cs/ThreadLocalCoders;->encoderFor(Ljava/lang/Object;)Ljava/nio/charset/CharsetEncoder;
 HSPLsun/nio/fs/AbstractBasicFileAttributeView;-><init>()V
-HSPLsun/nio/fs/AbstractFileSystemProvider;->delete(Ljava/nio/file/Path;)V
 HSPLsun/nio/fs/AbstractPath;-><init>()V
 HSPLsun/nio/fs/AbstractPath;->resolve(Ljava/lang/String;)Ljava/nio/file/Path;
 HSPLsun/nio/fs/AbstractPath;->startsWith(Ljava/lang/String;)Z
 HSPLsun/nio/fs/AbstractPath;->toFile()Ljava/io/File;
 PLsun/nio/fs/Globs;-><clinit>()V
+HPLsun/nio/fs/Globs;->next(Ljava/lang/String;I)C
+HPLsun/nio/fs/Globs;->toRegexPattern(Ljava/lang/String;Z)Ljava/lang/String;
 PLsun/nio/fs/Globs;->toUnixRegexPattern(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/nio/fs/LinuxFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
 HSPLsun/nio/fs/LinuxFileSystemProvider;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
@@ -44290,6 +39874,7 @@
 HSPLsun/nio/fs/UnixFileAttributes;->toFileTime(JJ)Ljava/nio/file/attribute/FileTime;
 HSPLsun/nio/fs/UnixFileModeAttribute;->toUnixMode(I[Ljava/nio/file/attribute/FileAttribute;)I
 PLsun/nio/fs/UnixFileSystem$3;-><init>(Lsun/nio/fs/UnixFileSystem;Ljava/util/regex/Pattern;)V
+HPLsun/nio/fs/UnixFileSystem$3;->matches(Ljava/nio/file/Path;)Z
 PLsun/nio/fs/UnixFileSystem;->compilePathMatchPattern(Ljava/lang/String;)Ljava/util/regex/Pattern;
 HSPLsun/nio/fs/UnixFileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
 HPLsun/nio/fs/UnixFileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
@@ -44297,12 +39882,10 @@
 HSPLsun/nio/fs/UnixFileSystem;->normalizeJavaPath(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/nio/fs/UnixFileSystem;->normalizeNativePath([C)[C
 HSPLsun/nio/fs/UnixFileSystem;->provider()Ljava/nio/file/spi/FileSystemProvider;
-HSPLsun/nio/fs/UnixFileSystemProvider$3;-><clinit>()V
 HSPLsun/nio/fs/UnixFileSystemProvider;->checkAccess(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V
 HSPLsun/nio/fs/UnixFileSystemProvider;->checkPath(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
 HPLsun/nio/fs/UnixFileSystemProvider;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
 HSPLsun/nio/fs/UnixFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
-HSPLsun/nio/fs/UnixFileSystemProvider;->implDelete(Ljava/nio/file/Path;Z)Z
 HSPLsun/nio/fs/UnixFileSystemProvider;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
 HSPLsun/nio/fs/UnixFileSystemProvider;->newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
 HSPLsun/nio/fs/UnixFileSystemProvider;->newFileChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;
@@ -44316,12 +39899,8 @@
 HSPLsun/nio/fs/UnixNativeDispatcher;->stat(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;)V
 HSPLsun/nio/fs/UnixPath;-><init>(Lsun/nio/fs/UnixFileSystem;Ljava/lang/String;)V
 HSPLsun/nio/fs/UnixPath;-><init>(Lsun/nio/fs/UnixFileSystem;[B)V
-HSPLsun/nio/fs/UnixPath;->asByteArray()[B
-HSPLsun/nio/fs/UnixPath;->checkDelete()V
 HSPLsun/nio/fs/UnixPath;->checkNotNul(Ljava/lang/String;C)V
 HSPLsun/nio/fs/UnixPath;->checkRead()V
-HSPLsun/nio/fs/UnixPath;->checkWrite()V
-HSPLsun/nio/fs/UnixPath;->compareTo(Ljava/nio/file/Path;)I
 HSPLsun/nio/fs/UnixPath;->encode(Lsun/nio/fs/UnixFileSystem;Ljava/lang/String;)[B
 HSPLsun/nio/fs/UnixPath;->getByteArrayForSysCalls()[B
 HSPLsun/nio/fs/UnixPath;->getFileName()Ljava/nio/file/Path;
@@ -44464,6 +40043,7 @@
 HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->setSkiAndSerialNumber(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
 PLsun/security/provider/certpath/AdaptableX509CertSelector;->setValidityPeriod(Ljava/util/Date;Ljava/util/Date;)V
 PLsun/security/provider/certpath/AdjacencyList;-><init>(Ljava/util/List;)V
+HPLsun/security/provider/certpath/AdjacencyList;->buildList(Ljava/util/List;ILsun/security/provider/certpath/BuildStep;)Z
 HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;)V
 HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/AlgorithmConstraints;)V
 HSPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
@@ -44479,47 +40059,32 @@
 HSPLsun/security/provider/certpath/BasicChecker;->verifyNameChaining(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/BasicChecker;->verifySignature(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/BasicChecker;->verifyTimestamp(Ljava/security/cert/X509Certificate;)V
+HPLsun/security/provider/certpath/BuildStep;-><init>(Lsun/security/provider/certpath/Vertex;I)V
 PLsun/security/provider/certpath/Builder;-><clinit>()V
-PLsun/security/provider/certpath/Builder;-><init>(Lsun/security/provider/certpath/PKIX$BuilderParams;)V
-HPLsun/security/provider/certpath/Builder;->addMatchingCerts(Ljava/security/cert/X509CertSelector;Ljava/util/Collection;Ljava/util/Collection;Z)Z
-PLsun/security/provider/certpath/CertPathHelper;->setPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;-><init>(I)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->checkBasicConstraints(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->init(Z)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->mergeNameConstraints(Ljava/security/cert/X509Certificate;Lsun/security/x509/NameConstraintsExtension;)Lsun/security/x509/NameConstraintsExtension;
 HSPLsun/security/provider/certpath/ConstraintsChecker;->verifyNameConstraints(Ljava/security/cert/X509Certificate;)V
-PLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;-><init>(Ljava/util/Set;Lsun/security/x509/X509CertImpl;)V
-HPLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-PLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->getSelector(Lsun/security/x509/X509CertImpl;)Ljava/security/cert/X509CertSelector;
 PLsun/security/provider/certpath/ForwardBuilder;-><clinit>()V
-HPLsun/security/provider/certpath/ForwardBuilder;-><init>(Lsun/security/provider/certpath/PKIX$BuilderParams;Z)V
-PLsun/security/provider/certpath/ForwardBuilder;->access$000()Lsun/security/util/Debug;
 PLsun/security/provider/certpath/ForwardBuilder;->addCertToPath(Ljava/security/cert/X509Certificate;Ljava/util/LinkedList;)V
-HPLsun/security/provider/certpath/ForwardBuilder;->getMatchingCACerts(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
-HPLsun/security/provider/certpath/ForwardBuilder;->getMatchingCerts(Lsun/security/provider/certpath/State;Ljava/util/List;)Ljava/util/Collection;
 PLsun/security/provider/certpath/ForwardBuilder;->getMatchingEECerts(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
-HPLsun/security/provider/certpath/ForwardBuilder;->isPathCompleted(Ljava/security/cert/X509Certificate;)Z
+HPLsun/security/provider/certpath/ForwardBuilder;->verifyCert(Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/State;Ljava/util/List;)V
 PLsun/security/provider/certpath/ForwardState;-><clinit>()V
 PLsun/security/provider/certpath/ForwardState;-><init>()V
-HPLsun/security/provider/certpath/ForwardState;->clone()Ljava/lang/Object;
 PLsun/security/provider/certpath/ForwardState;->initState(Ljava/util/List;)V
-PLsun/security/provider/certpath/ForwardState;->isInitial()Z
+HPLsun/security/provider/certpath/ForwardState;->isInitial()Z
 PLsun/security/provider/certpath/ForwardState;->keyParamsNeeded()Z
-HPLsun/security/provider/certpath/ForwardState;->updateState(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/KeyChecker;-><init>(ILjava/security/cert/CertSelector;)V
 HSPLsun/security/provider/certpath/KeyChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
 HSPLsun/security/provider/certpath/KeyChecker;->init(Z)V
 HSPLsun/security/provider/certpath/KeyChecker;->verifyCAKeyUsage(Ljava/security/cert/X509Certificate;)V
 PLsun/security/provider/certpath/PKIX$BuilderParams;-><init>(Ljava/security/cert/PKIXBuilderParameters;)V
-HPLsun/security/provider/certpath/PKIX$BuilderParams;->certStores()Ljava/util/List;
 PLsun/security/provider/certpath/PKIX$BuilderParams;->checkParams(Ljava/security/cert/PKIXBuilderParameters;)V
 PLsun/security/provider/certpath/PKIX$BuilderParams;->getTargetSubject(Ljava/util/List;Ljava/security/cert/X509CertSelector;)Ljavax/security/auth/x500/X500Principal;
 PLsun/security/provider/certpath/PKIX$BuilderParams;->maxPathLength()I
 PLsun/security/provider/certpath/PKIX$BuilderParams;->targetSubject()Ljavax/security/auth/x500/X500Principal;
-PLsun/security/provider/certpath/PKIX$CertStoreComparator;-><init>()V
-PLsun/security/provider/certpath/PKIX$CertStoreComparator;-><init>(Lsun/security/provider/certpath/PKIX$1;)V
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;)V
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/PKIXParameters;)V
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->anyPolicyInhibited()Z
@@ -44573,16 +40138,16 @@
 HSPLsun/security/provider/certpath/PolicyNodeImpl;->setImmutable()V
 PLsun/security/provider/certpath/SunCertPathBuilder;-><clinit>()V
 PLsun/security/provider/certpath/SunCertPathBuilder;-><init>()V
+HPLsun/security/provider/certpath/SunCertPathBuilder;->addVertices(Ljava/util/Collection;Ljava/util/List;)Ljava/util/List;
 PLsun/security/provider/certpath/SunCertPathBuilder;->build()Ljava/security/cert/PKIXCertPathBuilderResult;
 PLsun/security/provider/certpath/SunCertPathBuilder;->buildCertPath(ZLjava/util/List;)Ljava/security/cert/PKIXCertPathBuilderResult;
 PLsun/security/provider/certpath/SunCertPathBuilder;->buildForward(Ljava/util/List;Ljava/util/LinkedList;Z)V
+HPLsun/security/provider/certpath/SunCertPathBuilder;->depthFirstSearchForward(Ljavax/security/auth/x500/X500Principal;Lsun/security/provider/certpath/ForwardState;Lsun/security/provider/certpath/ForwardBuilder;Ljava/util/List;Ljava/util/LinkedList;)V
 PLsun/security/provider/certpath/SunCertPathBuilder;->engineBuild(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
 PLsun/security/provider/certpath/SunCertPathBuilderResult;-><clinit>()V
 PLsun/security/provider/certpath/SunCertPathBuilderResult;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;Lsun/security/provider/certpath/AdjacencyList;)V
 PLsun/security/provider/certpath/Vertex;-><clinit>()V
-HPLsun/security/provider/certpath/Vertex;->getCertificate()Ljava/security/cert/X509Certificate;
-HPLsun/security/provider/certpath/Vertex;->getIndex()I
-HPLsun/security/provider/certpath/Vertex;->getThrowable()Ljava/lang/Throwable;
+PLsun/security/provider/certpath/Vertex;-><init>(Ljava/security/cert/X509Certificate;)V
 PLsun/security/provider/certpath/Vertex;->setIndex(I)V
 HSPLsun/security/util/AbstractAlgorithmConstraints;->checkAlgorithm([Ljava/lang/String;Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)Z
 HSPLsun/security/util/AlgorithmDecomposer;->decompose(Ljava/lang/String;)Ljava/util/Set;
@@ -44989,7 +40554,6 @@
 HSPLsun/util/locale/Extension;-><init>(CLjava/lang/String;)V
 HSPLsun/util/locale/Extension;->setValue(Ljava/lang/String;)V
 HSPLsun/util/locale/InternalLocaleBuilder;-><init>()V
-HSPLsun/util/locale/InternalLocaleBuilder;->checkVariants(Ljava/lang/String;Ljava/lang/String;)I
 HSPLsun/util/locale/InternalLocaleBuilder;->clear()Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/InternalLocaleBuilder;->clearExtensions()Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/InternalLocaleBuilder;->getBaseLocale()Lsun/util/locale/BaseLocale;
@@ -44997,9 +40561,6 @@
 HSPLsun/util/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setRegion(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setScript(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setVariant(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/LanguageTag;-><init>()V
 HSPLsun/util/locale/LanguageTag;->canonicalizeLanguage(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/util/locale/LanguageTag;->canonicalizeRegion(Ljava/lang/String;)Ljava/lang/String;
@@ -45030,8 +40591,6 @@
 HSPLsun/util/locale/LocaleExtensions;-><init>(Ljava/lang/String;Ljava/lang/Character;Lsun/util/locale/Extension;)V
 HSPLsun/util/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
 HSPLsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
-HSPLsun/util/locale/LocaleObjectCache;-><init>()V
-HSPLsun/util/locale/LocaleObjectCache;-><init>(IFI)V
 HSPLsun/util/locale/LocaleObjectCache;->cleanStaleEntries()V
 HSPLsun/util/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/util/locale/LocaleObjectCache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
@@ -45063,21 +40622,7 @@
 HSPLsun/util/locale/StringTokenIterator;->setStart(I)Lsun/util/locale/StringTokenIterator;
 HSPLsun/util/locale/UnicodeLocaleExtension;-><clinit>()V
 HSPLsun/util/locale/UnicodeLocaleExtension;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLsun/util/logging/LoggingSupport$2;-><init>()V
-HSPLsun/util/logging/LoggingSupport$2;->run()Ljava/lang/Object;
-HSPLsun/util/logging/LoggingSupport$2;->run()Ljava/lang/String;
-HSPLsun/util/logging/LoggingSupport;->ensureAvailable()V
-HSPLsun/util/logging/LoggingSupport;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/util/logging/LoggingSupport;->getSimpleFormat()Ljava/lang/String;
-HSPLsun/util/logging/LoggingSupport;->getSimpleFormat(Z)Ljava/lang/String;
-HSPLsun/util/logging/LoggingSupport;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><clinit>()V
-HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><init>(Ljava/lang/String;)V
-HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><init>(Ljava/lang/String;Lsun/util/logging/PlatformLogger$Level;)V
-HSPLsun/util/logging/PlatformLogger$Level;->values()[Lsun/util/logging/PlatformLogger$Level;
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;-><init>(Ljava/lang/String;)V
 HSPLsun/util/logging/PlatformLogger;-><init>(Ljava/lang/String;)V
-HSPLsun/util/logging/PlatformLogger;->getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
 Landroid/R$styleable;
 Landroid/accessibilityservice/AccessibilityServiceInfo$1;
 Landroid/accessibilityservice/AccessibilityServiceInfo;
@@ -45192,6 +40737,7 @@
 Landroid/animation/PropertyValuesHolder$PropertyValues;
 Landroid/animation/PropertyValuesHolder;
 Landroid/animation/RectEvaluator;
+Landroid/animation/RevealAnimator;
 Landroid/animation/StateListAnimator$1;
 Landroid/animation/StateListAnimator$StateListAnimatorConstantState;
 Landroid/animation/StateListAnimator$Tuple;
@@ -45204,6 +40750,7 @@
 Landroid/animation/ValueAnimator$AnimatorUpdateListener;
 Landroid/animation/ValueAnimator;
 Landroid/annotation/ColorInt;
+Landroid/annotation/CurrentTimeMillisLong;
 Landroid/annotation/IntRange;
 Landroid/annotation/NonNull;
 Landroid/annotation/SystemApi;
@@ -45234,11 +40781,13 @@
 Landroid/app/-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M;
 Landroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;
 Landroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;
+Landroid/app/-$$Lambda$SystemServiceRegistry$16$s6mZ42tuGUunhKa_5iwjLY5FGdM;
 Landroid/app/-$$Lambda$SystemServiceRegistry$17$DBwvhMLzjNnBFkaOY1OxllrybH4;
 Landroid/app/-$$Lambda$WallpaperManager$Globals$1AcnQUORvPlCjJoNqdxfQT4o4Nw;
 Landroid/app/-$$Lambda$WallpaperManager$Globals$2yG7V1sbMECCnlFTLyjKWKqNoYI;
 Landroid/app/-$$Lambda$ZsFzoG2loyqNOR2cNbo-thrNK5c;
 Landroid/app/-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE;
+Landroid/app/-$$Lambda$thfU5Zh-cKOR8p7IfITtlg111Go;
 Landroid/app/ActionBar$LayoutParams;
 Landroid/app/ActionBar;
 Landroid/app/Activity$1;
@@ -45268,6 +40817,7 @@
 Landroid/app/ActivityManager$TaskDescription$1;
 Landroid/app/ActivityManager$TaskDescription;
 Landroid/app/ActivityManager$TaskSnapshot$1;
+Landroid/app/ActivityManager$TaskSnapshot$Builder;
 Landroid/app/ActivityManager$TaskSnapshot;
 Landroid/app/ActivityManager$UidObserver;
 Landroid/app/ActivityManager;
@@ -45320,8 +40870,10 @@
 Landroid/app/AppOpsManager$1;
 Landroid/app/AppOpsManager$2;
 Landroid/app/AppOpsManager$3;
-Landroid/app/AppOpsManager$AppOpsCollector$1;
+Landroid/app/AppOpsManager$4;
 Landroid/app/AppOpsManager$AppOpsCollector;
+Landroid/app/AppOpsManager$AttributedHistoricalOps;
+Landroid/app/AppOpsManager$AttributedOpEntry;
 Landroid/app/AppOpsManager$HistoricalFeatureOps;
 Landroid/app/AppOpsManager$HistoricalOp$1;
 Landroid/app/AppOpsManager$HistoricalOp;
@@ -45333,20 +40885,27 @@
 Landroid/app/AppOpsManager$HistoricalPackageOps;
 Landroid/app/AppOpsManager$HistoricalUidOps$1;
 Landroid/app/AppOpsManager$HistoricalUidOps;
+Landroid/app/AppOpsManager$Mode;
+Landroid/app/AppOpsManager$NoteOpEvent$1;
 Landroid/app/AppOpsManager$NoteOpEvent;
 Landroid/app/AppOpsManager$OnOpActiveChangedInternalListener;
 Landroid/app/AppOpsManager$OnOpActiveChangedListener;
 Landroid/app/AppOpsManager$OnOpChangedInternalListener;
 Landroid/app/AppOpsManager$OnOpChangedListener;
+Landroid/app/AppOpsManager$OnOpNotedCallback$1;
+Landroid/app/AppOpsManager$OnOpNotedCallback;
 Landroid/app/AppOpsManager$OnOpNotedListener;
 Landroid/app/AppOpsManager$OpEntry$1;
 Landroid/app/AppOpsManager$OpEntry;
+Landroid/app/AppOpsManager$OpEventProxyInfo$1;
+Landroid/app/AppOpsManager$OpEventProxyInfo;
 Landroid/app/AppOpsManager$OpFeatureEntry$1;
 Landroid/app/AppOpsManager$OpFeatureEntry$LongSparseArrayParceling;
 Landroid/app/AppOpsManager$OpFeatureEntry;
 Landroid/app/AppOpsManager$PackageOps$1;
 Landroid/app/AppOpsManager$PackageOps;
 Landroid/app/AppOpsManager$PausedNotedAppOpsCollection;
+Landroid/app/AppOpsManager$RestrictionBypass;
 Landroid/app/AppOpsManager;
 Landroid/app/AppOpsManagerInternal;
 Landroid/app/Application$ActivityLifecycleCallbacks;
@@ -45360,6 +40919,8 @@
 Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;
 Landroid/app/ApplicationErrorReport$RunningServiceInfo;
 Landroid/app/ApplicationErrorReport;
+Landroid/app/ApplicationExitInfo$1;
+Landroid/app/ApplicationExitInfo;
 Landroid/app/ApplicationLoaders$CachedClassLoader;
 Landroid/app/ApplicationLoaders;
 Landroid/app/ApplicationPackageManager$1;
@@ -45394,6 +40955,7 @@
 Landroid/app/DownloadManager$Query;
 Landroid/app/DownloadManager$Request;
 Landroid/app/DownloadManager;
+Landroid/app/DreamManager;
 Landroid/app/EnterTransitionCoordinator;
 Landroid/app/EventLogTags;
 Landroid/app/ExitTransitionCoordinator;
@@ -45486,6 +41048,7 @@
 Landroid/app/ITransientNotification$Stub$Proxy;
 Landroid/app/ITransientNotification$Stub;
 Landroid/app/ITransientNotification;
+Landroid/app/ITransientNotificationCallback$Stub$Proxy;
 Landroid/app/ITransientNotificationCallback$Stub;
 Landroid/app/ITransientNotificationCallback;
 Landroid/app/IUiAutomationConnection$Stub$Proxy;
@@ -45547,6 +41110,7 @@
 Landroid/app/Notification$BigPictureStyle;
 Landroid/app/Notification$BigTextStyle;
 Landroid/app/Notification$BubbleMetadata$1;
+Landroid/app/Notification$BubbleMetadata$Builder;
 Landroid/app/Notification$BubbleMetadata;
 Landroid/app/Notification$Builder;
 Landroid/app/Notification$BuilderRemoteViews;
@@ -45593,8 +41157,10 @@
 Landroid/app/ProcessMemoryState;
 Landroid/app/ProfilerInfo$1;
 Landroid/app/ProfilerInfo;
+Landroid/app/ProgressDialog$1;
 Landroid/app/ProgressDialog;
 Landroid/app/PropertyInvalidatedCache$1;
+Landroid/app/PropertyInvalidatedCache$NoPreloadHolder;
 Landroid/app/PropertyInvalidatedCache;
 Landroid/app/QueuedWork$QueuedWorkHandler;
 Landroid/app/QueuedWork;
@@ -45604,6 +41170,7 @@
 Landroid/app/RemoteInput$1;
 Landroid/app/RemoteInput$Builder;
 Landroid/app/RemoteInput;
+Landroid/app/RemoteInputHistoryItem$1;
 Landroid/app/RemoteInputHistoryItem;
 Landroid/app/RemoteServiceException;
 Landroid/app/ResourcesManager$1;
@@ -45613,6 +41180,7 @@
 Landroid/app/ResourcesManager;
 Landroid/app/ResultInfo$1;
 Landroid/app/ResultInfo;
+Landroid/app/RuntimeAppOpAccessMessage;
 Landroid/app/SearchDialog;
 Landroid/app/SearchManager;
 Landroid/app/SearchableInfo$1;
@@ -45632,9 +41200,10 @@
 Landroid/app/SharedPreferencesImpl$MemoryCommitResult;
 Landroid/app/SharedPreferencesImpl;
 Landroid/app/StatsManager$StatsUnavailableException;
-Landroid/app/StatsManager$StatsdDeathRecipient;
 Landroid/app/StatsManager;
 Landroid/app/StatusBarManager;
+Landroid/app/SyncNotedAppOp$1;
+Landroid/app/SyncNotedAppOp;
 Landroid/app/SynchronousUserSwitchObserver;
 Landroid/app/SystemServiceRegistry$100;
 Landroid/app/SystemServiceRegistry$101;
@@ -45660,6 +41229,7 @@
 Landroid/app/SystemServiceRegistry$11;
 Landroid/app/SystemServiceRegistry$120;
 Landroid/app/SystemServiceRegistry$121;
+Landroid/app/SystemServiceRegistry$122;
 Landroid/app/SystemServiceRegistry$12;
 Landroid/app/SystemServiceRegistry$13;
 Landroid/app/SystemServiceRegistry$14;
@@ -45806,6 +41376,7 @@
 Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;
 Landroid/app/admin/DevicePolicyManagerInternal;
 Landroid/app/admin/DeviceStateCache;
+Landroid/app/admin/FactoryResetProtectionPolicy$1;
 Landroid/app/admin/FactoryResetProtectionPolicy;
 Landroid/app/admin/IDeviceAdminService$Stub$Proxy;
 Landroid/app/admin/IDeviceAdminService$Stub;
@@ -45813,6 +41384,9 @@
 Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;
 Landroid/app/admin/IDevicePolicyManager$Stub;
 Landroid/app/admin/IDevicePolicyManager;
+Landroid/app/admin/IKeyguardCallback$Stub;
+Landroid/app/admin/IKeyguardCallback;
+Landroid/app/admin/NetworkEvent$1;
 Landroid/app/admin/NetworkEvent;
 Landroid/app/admin/PasswordMetrics$1;
 Landroid/app/admin/PasswordMetrics$ComplexityBucket$1;
@@ -45896,20 +41470,26 @@
 Landroid/app/backup/RestoreDescription;
 Landroid/app/backup/SharedPreferencesBackupHelper;
 Landroid/app/blob/-$$Lambda$BlobStoreManagerFrameworkInitializer$WjSRSHMmxWPF4Fq-7TpX23MBh2U;
+Landroid/app/blob/BlobHandle$1;
 Landroid/app/blob/BlobHandle;
 Landroid/app/blob/BlobStoreManager;
 Landroid/app/blob/BlobStoreManagerFrameworkInitializer;
 Landroid/app/blob/IBlobStoreManager$Stub;
 Landroid/app/blob/IBlobStoreManager;
 Landroid/app/blob/IBlobStoreSession;
+Landroid/app/blob/LeaseInfo;
+Landroid/app/contentsuggestions/ClassificationsRequest$1;
 Landroid/app/contentsuggestions/ClassificationsRequest;
 Landroid/app/contentsuggestions/ContentSuggestionsManager;
+Landroid/app/contentsuggestions/IClassificationsCallback$Stub$Proxy;
 Landroid/app/contentsuggestions/IClassificationsCallback$Stub;
 Landroid/app/contentsuggestions/IClassificationsCallback;
 Landroid/app/contentsuggestions/IContentSuggestionsManager$Stub;
 Landroid/app/contentsuggestions/IContentSuggestionsManager;
+Landroid/app/contentsuggestions/ISelectionsCallback$Stub$Proxy;
 Landroid/app/contentsuggestions/ISelectionsCallback$Stub;
 Landroid/app/contentsuggestions/ISelectionsCallback;
+Landroid/app/contentsuggestions/SelectionsRequest$1;
 Landroid/app/contentsuggestions/SelectionsRequest;
 Landroid/app/job/-$$Lambda$FpGlzN9oJcl8o5soW-gU-DyTvXM;
 Landroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0;
@@ -46011,6 +41591,8 @@
 Landroid/app/servertransaction/PipModeChangeItem;
 Landroid/app/servertransaction/ResumeActivityItem$1;
 Landroid/app/servertransaction/ResumeActivityItem;
+Landroid/app/servertransaction/StartActivityItem$1;
+Landroid/app/servertransaction/StartActivityItem;
 Landroid/app/servertransaction/StopActivityItem$1;
 Landroid/app/servertransaction/StopActivityItem;
 Landroid/app/servertransaction/TopResumedActivityChangeItem$1;
@@ -46035,16 +41617,21 @@
 Landroid/app/timedetector/ITimeDetectorService;
 Landroid/app/timedetector/ManualTimeSuggestion$1;
 Landroid/app/timedetector/ManualTimeSuggestion;
+Landroid/app/timedetector/NetworkTimeSuggestion$1;
 Landroid/app/timedetector/NetworkTimeSuggestion;
 Landroid/app/timedetector/PhoneTimeSuggestion$1;
 Landroid/app/timedetector/PhoneTimeSuggestion;
+Landroid/app/timedetector/TelephonyTimeSuggestion$1;
 Landroid/app/timedetector/TelephonyTimeSuggestion;
 Landroid/app/timedetector/TimeDetector;
+Landroid/app/timedetector/TimeDetectorImpl;
 Landroid/app/timezone/RulesManager;
 Landroid/app/timezonedetector/ITimeZoneDetectorService$Stub$Proxy;
 Landroid/app/timezonedetector/ITimeZoneDetectorService$Stub;
 Landroid/app/timezonedetector/ITimeZoneDetectorService;
+Landroid/app/timezonedetector/ManualTimeZoneSuggestion$1;
 Landroid/app/timezonedetector/ManualTimeZoneSuggestion;
+Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion$1;
 Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;
 Landroid/app/timezonedetector/TimeZoneDetector;
 Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;
@@ -46105,6 +41692,7 @@
 Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal;
 Landroid/attention/AttentionManagerInternal;
 Landroid/bluetooth/-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4;
+Landroid/bluetooth/-$$Lambda$BluetoothAdapter$5$eKI2JS6EbiGZOGfQ8La27pm0gy0;
 Landroid/bluetooth/BluetoothA2dp$1;
 Landroid/bluetooth/BluetoothA2dp;
 Landroid/bluetooth/BluetoothA2dpSink;
@@ -46125,8 +41713,11 @@
 Landroid/bluetooth/BluetoothCodecStatus;
 Landroid/bluetooth/BluetoothDevice$1;
 Landroid/bluetooth/BluetoothDevice$2;
+Landroid/bluetooth/BluetoothDevice$3;
 Landroid/bluetooth/BluetoothDevice;
+Landroid/bluetooth/BluetoothGatt;
 Landroid/bluetooth/BluetoothGattCallback;
+Landroid/bluetooth/BluetoothGattServer;
 Landroid/bluetooth/BluetoothGattService$1;
 Landroid/bluetooth/BluetoothGattService;
 Landroid/bluetooth/BluetoothHeadset$1;
@@ -46244,6 +41835,7 @@
 Landroid/bluetooth/le/AdvertisingSetParameters$1;
 Landroid/bluetooth/le/AdvertisingSetParameters;
 Landroid/bluetooth/le/BluetoothLeScanner$1;
+Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;
 Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;
 Landroid/bluetooth/le/BluetoothLeScanner;
 Landroid/bluetooth/le/BluetoothLeUtils;
@@ -46278,9 +41870,12 @@
 Landroid/companion/IFindDeviceCallback$Stub;
 Landroid/companion/IFindDeviceCallback;
 Landroid/compat/Compatibility$Callbacks;
+Landroid/compat/Compatibility$ChangeConfig;
 Landroid/compat/Compatibility;
 Landroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;
 Landroid/content/-$$Lambda$ClipboardManager$1$hQk8olbGAgUi4WWNG4ZuDZsM39s;
+Landroid/content/-$$Lambda$IntentFilter$WX75RVXUnG63zh-f133zF3i8Szs;
+Landroid/content/-$$Lambda$IntentFilter$fvZpjl2C1djVISORSFvcX_-NkJo;
 Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
 Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
 Landroid/content/AbstractThreadedSyncAdapter;
@@ -46333,6 +41928,8 @@
 Landroid/content/ContentResolver$GetTypeResultListener;
 Landroid/content/ContentResolver$OpenResourceIdResult;
 Landroid/content/ContentResolver$ParcelFileDescriptorInner;
+Landroid/content/ContentResolver$ResultListener;
+Landroid/content/ContentResolver$StringResultListener;
 Landroid/content/ContentResolver;
 Landroid/content/ContentUris;
 Landroid/content/ContentValues$1;
@@ -46402,6 +41999,7 @@
 Landroid/content/PeriodicSync;
 Landroid/content/PermissionChecker;
 Landroid/content/ReceiverCallNotAllowedException;
+Landroid/content/RestrictionEntry$1;
 Landroid/content/RestrictionEntry;
 Landroid/content/RestrictionsManager;
 Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;
@@ -46436,6 +42034,8 @@
 Landroid/content/UriPermission$1;
 Landroid/content/UriPermission;
 Landroid/content/integrity/AppIntegrityManager;
+Landroid/content/integrity/IAppIntegrityManager$Stub;
+Landroid/content/integrity/IAppIntegrityManager;
 Landroid/content/om/IOverlayManager$Stub$Proxy;
 Landroid/content/om/IOverlayManager$Stub;
 Landroid/content/om/IOverlayManager;
@@ -46443,7 +42043,9 @@
 Landroid/content/om/OverlayInfo;
 Landroid/content/om/OverlayManager;
 Landroid/content/om/OverlayableInfo;
+Landroid/content/pm/-$$Lambda$ApplicationInfo$1$FDtFc-prTtONpy6YSScuAiML69E;
 Landroid/content/pm/-$$Lambda$B12dZLpdwpXn89QSesmkaZjD72Q;
+Landroid/content/pm/-$$Lambda$IPackageManager$Stub$Proxy$X2I1qlX4SiKMZSjDTNzS_nTibbo;
 Landroid/content/pm/-$$Lambda$IPackageManager$Stub$ZVp6oEh-Gn_bn8lM7TgSgpaGriw;
 Landroid/content/pm/-$$Lambda$PackageParser$0DZRgzfgaIMpCOhJqjw6PUiU5vw;
 Landroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;
@@ -46470,18 +42072,22 @@
 Landroid/content/pm/CrossProfileApps;
 Landroid/content/pm/DataLoaderManager;
 Landroid/content/pm/DataLoaderParams;
+Landroid/content/pm/DataLoaderParamsParcel$1;
 Landroid/content/pm/DataLoaderParamsParcel;
 Landroid/content/pm/FallbackCategoryProvider;
 Landroid/content/pm/FeatureGroupInfo$1;
 Landroid/content/pm/FeatureGroupInfo;
 Landroid/content/pm/FeatureInfo$1;
 Landroid/content/pm/FeatureInfo;
+Landroid/content/pm/FileSystemControlParcel;
 Landroid/content/pm/ICrossProfileApps$Stub$Proxy;
 Landroid/content/pm/ICrossProfileApps$Stub;
 Landroid/content/pm/ICrossProfileApps;
 Landroid/content/pm/IDataLoader;
+Landroid/content/pm/IDataLoaderManager$Stub$Proxy;
 Landroid/content/pm/IDataLoaderManager$Stub;
 Landroid/content/pm/IDataLoaderManager;
+Landroid/content/pm/IDataLoaderStatusListener$Stub$Proxy;
 Landroid/content/pm/IDataLoaderStatusListener$Stub;
 Landroid/content/pm/IDataLoaderStatusListener;
 Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;
@@ -46526,6 +42132,7 @@
 Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;
 Landroid/content/pm/IPackageStatsObserver$Stub;
 Landroid/content/pm/IPackageStatsObserver;
+Landroid/content/pm/IShortcutChangeCallback$Stub$Proxy;
 Landroid/content/pm/IShortcutChangeCallback$Stub;
 Landroid/content/pm/IShortcutChangeCallback;
 Landroid/content/pm/IShortcutService$Stub$Proxy;
@@ -46536,6 +42143,7 @@
 Landroid/content/pm/InstantAppIntentFilter$1;
 Landroid/content/pm/InstantAppIntentFilter;
 Landroid/content/pm/InstantAppRequest;
+Landroid/content/pm/InstantAppRequestInfo$1;
 Landroid/content/pm/InstantAppRequestInfo;
 Landroid/content/pm/InstantAppResolveInfo$1;
 Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;
@@ -46571,8 +42179,13 @@
 Landroid/content/pm/PackageInstaller$SessionParams;
 Landroid/content/pm/PackageInstaller;
 Landroid/content/pm/PackageItemInfo;
+Landroid/content/pm/PackageManager$1;
+Landroid/content/pm/PackageManager$2;
+Landroid/content/pm/PackageManager$ApplicationInfoQuery;
+Landroid/content/pm/PackageManager$MoveCallback;
 Landroid/content/pm/PackageManager$NameNotFoundException;
 Landroid/content/pm/PackageManager$OnPermissionsChangedListener;
+Landroid/content/pm/PackageManager$PackageInfoQuery;
 Landroid/content/pm/PackageManager;
 Landroid/content/pm/PackageParser$1;
 Landroid/content/pm/PackageParser$Activity$1;
@@ -46626,6 +42239,8 @@
 Landroid/content/pm/PermissionInfo;
 Landroid/content/pm/ProviderInfo$1;
 Landroid/content/pm/ProviderInfo;
+Landroid/content/pm/ProviderInfoList$1;
+Landroid/content/pm/ProviderInfoList;
 Landroid/content/pm/RegisteredServicesCache$1;
 Landroid/content/pm/RegisteredServicesCache$2;
 Landroid/content/pm/RegisteredServicesCache$3;
@@ -46715,6 +42330,8 @@
 Landroid/content/pm/parsing/ParsedPackage$PackageSettingCallback;
 Landroid/content/pm/parsing/ParsedPackage;
 Landroid/content/pm/parsing/ParsingPackage;
+Landroid/content/pm/parsing/ParsingPackageRead;
+Landroid/content/pm/parsing/ParsingPackageUtils;
 Landroid/content/pm/parsing/library/-$$Lambda$WrPVuoVJehE45tfhLfe_8Tcc-Nw;
 Landroid/content/pm/parsing/library/AndroidHidlUpdater;
 Landroid/content/pm/parsing/library/AndroidTestBaseUpdater;
@@ -46765,6 +42382,7 @@
 Landroid/content/res/ObbInfo;
 Landroid/content/res/ObbScanner;
 Landroid/content/res/ResourceId;
+Landroid/content/res/Resources$AssetManagerUpdateHandler;
 Landroid/content/res/Resources$NotFoundException;
 Landroid/content/res/Resources$Theme;
 Landroid/content/res/Resources$ThemeKey;
@@ -46790,7 +42408,9 @@
 Landroid/content/rollback/IRollbackManager$Stub;
 Landroid/content/rollback/IRollbackManager;
 Landroid/content/rollback/RollbackManager;
+Landroid/content/type/-$$Lambda$DefaultMimeMapFactory$3biOnZOOEGRoeaFehYke-eZnpCg;
 Landroid/content/type/DefaultMimeMapFactory;
+Landroid/database/-$$Lambda$ContentObserver$MgqiYb2qvgLhoXTioYXq9MvvpNk;
 Landroid/database/AbstractCursor$SelfContentObserver;
 Landroid/database/AbstractCursor;
 Landroid/database/AbstractWindowedCursor;
@@ -46912,6 +42532,7 @@
 Landroid/graphics/-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY;
 Landroid/graphics/-$$Lambda$ColorSpace$Rgb$iMkODTKa3_8kPZUnZZerD2Lv-yo;
 Landroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;
+Landroid/graphics/-$$Lambda$HardwareRendererObserver$Z08IFApIdHoCBfw8BsQ-lVjpUlI;
 Landroid/graphics/BLASTBufferQueue;
 Landroid/graphics/BaseCanvas;
 Landroid/graphics/BaseRecordingCanvas;
@@ -46978,6 +42599,7 @@
 Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;
 Landroid/graphics/ImageDecoder$Source;
 Landroid/graphics/ImageDecoder;
+Landroid/graphics/ImageFormat;
 Landroid/graphics/Insets$1;
 Landroid/graphics/Insets;
 Landroid/graphics/Interpolator$Result;
@@ -47053,8 +42675,12 @@
 Landroid/graphics/Typeface;
 Landroid/graphics/Xfermode;
 Landroid/graphics/YuvImage;
+Landroid/graphics/animation/-$$Lambda$awqPSgriNRe12PWP0zkpAtPsfV4;
+Landroid/graphics/animation/FallbackLUTInterpolator;
+Landroid/graphics/animation/HasNativeInterpolator;
 Landroid/graphics/animation/NativeInterpolator;
 Landroid/graphics/animation/NativeInterpolatorFactory;
+Landroid/graphics/animation/RenderNodeAnimator$DelayedAnimationHelper;
 Landroid/graphics/animation/RenderNodeAnimator$ViewListener;
 Landroid/graphics/animation/RenderNodeAnimator;
 Landroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;
@@ -47199,6 +42825,7 @@
 Landroid/graphics/text/LineBreaker;
 Landroid/graphics/text/MeasuredText$Builder;
 Landroid/graphics/text/MeasuredText;
+Landroid/gsi/AvbPublicKey;
 Landroid/gsi/GsiProgress$1;
 Landroid/gsi/GsiProgress;
 Landroid/gsi/IGsiService$Stub$Proxy;
@@ -47270,6 +42897,7 @@
 Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;
 Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;
 Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;
+Landroid/hardware/biometrics/IBiometricNativeHandle$1;
 Landroid/hardware/biometrics/IBiometricNativeHandle;
 Landroid/hardware/biometrics/IBiometricService$Stub$Proxy;
 Landroid/hardware/biometrics/IBiometricService$Stub;
@@ -47298,6 +42926,10 @@
 Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
 Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;
 Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$3;
+Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$4;
+Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$5;
+Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$6;
+Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$7;
 Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
 Landroid/hardware/camera2/CameraManager$TorchCallback;
 Landroid/hardware/camera2/CameraManager;
@@ -47373,7 +43005,9 @@
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableSize;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableSizeF;
+Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration;
+Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableString;
 Landroid/hardware/camera2/params/BlackLevelPattern;
@@ -47397,6 +43031,7 @@
 Landroid/hardware/camera2/params/StreamConfigurationMap;
 Landroid/hardware/camera2/params/TonemapCurve;
 Landroid/hardware/camera2/utils/ArrayUtils;
+Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination$1;
 Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination;
 Landroid/hardware/camera2/utils/TypeReference$SpecializedBaseTypeReference;
 Landroid/hardware/camera2/utils/TypeReference$SpecializedTypeReference;
@@ -47435,6 +43070,7 @@
 Landroid/hardware/display/DeviceProductInfo;
 Landroid/hardware/display/DisplayManager$DisplayListener;
 Landroid/hardware/display/DisplayManager;
+Landroid/hardware/display/DisplayManagerGlobal$1;
 Landroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;
 Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;
 Landroid/hardware/display/DisplayManagerGlobal;
@@ -47473,6 +43109,7 @@
 Landroid/hardware/face/FaceManager$AuthenticationCallback;
 Landroid/hardware/face/FaceManager$AuthenticationResult;
 Landroid/hardware/face/FaceManager$EnrollmentCallback;
+Landroid/hardware/face/FaceManager$LockoutResetCallback;
 Landroid/hardware/face/FaceManager$MyHandler;
 Landroid/hardware/face/FaceManager$OnAuthenticationCancelListener;
 Landroid/hardware/face/FaceManager$RemovalCallback;
@@ -47487,6 +43124,8 @@
 Landroid/hardware/fingerprint/Fingerprint;
 Landroid/hardware/fingerprint/FingerprintManager$1;
 Landroid/hardware/fingerprint/FingerprintManager$2;
+Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;
+Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;
 Landroid/hardware/fingerprint/FingerprintManager$MyHandler;
 Landroid/hardware/fingerprint/FingerprintManager;
 Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;
@@ -47523,6 +43162,8 @@
 Landroid/hardware/input/TouchCalibration;
 Landroid/hardware/iris/IrisManager;
 Landroid/hardware/lights/LightsManager;
+Landroid/hardware/location/-$$Lambda$ContextHubManager$3$5yx25kUuvL9qy3uBcIzI3sQQoL8;
+Landroid/hardware/location/-$$Lambda$ContextHubManager$3$KgVQePwT_QpjU9EQTp2L3LsHE5Y;
 Landroid/hardware/location/-$$Lambda$ContextHubManager$3$U9x_HK_GdADIEQ3mS5mDWMNWMu8;
 Landroid/hardware/location/-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI;
 Landroid/hardware/location/-$$Lambda$ContextHubTransaction$7a5H6DrY_dOy9M3qnYHhlmDHRNQ;
@@ -47789,10 +43430,13 @@
 Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;
 Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse;
 Landroid/hardware/sidekick/SidekickInternal;
+Landroid/hardware/soundtrigger/-$$Lambda$SoundTrigger$ZVJnEi-r8cH99VNOx-TiaTkEQgo;
 Landroid/hardware/soundtrigger/ConversionUtil;
 Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;
 Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;
 Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
+Landroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;
+Landroid/hardware/soundtrigger/KeyphraseMetadata$1;
 Landroid/hardware/soundtrigger/KeyphraseMetadata;
 Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;
 Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
@@ -47821,6 +43465,7 @@
 Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;
 Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;
 Landroid/hardware/soundtrigger/SoundTrigger;
+Landroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate$1;
 Landroid/hardware/soundtrigger/SoundTriggerModule$EventHandlerDelegate;
 Landroid/hardware/soundtrigger/SoundTriggerModule;
 Landroid/hardware/thermal/V1_0/IThermal;
@@ -47850,6 +43495,7 @@
 Landroid/hardware/usb/UsbDevice$Builder;
 Landroid/hardware/usb/UsbDevice;
 Landroid/hardware/usb/UsbDeviceConnection;
+Landroid/hardware/usb/UsbInterface$1;
 Landroid/hardware/usb/UsbInterface;
 Landroid/hardware/usb/UsbManager;
 Landroid/hardware/usb/UsbPort;
@@ -47883,6 +43529,7 @@
 Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;
 Landroid/icu/impl/CurrencyData;
 Landroid/icu/impl/DateNumberFormat;
+Landroid/icu/impl/DontCareFieldPosition;
 Landroid/icu/impl/FormattedStringBuilder;
 Landroid/icu/impl/FormattedValueStringBuilderImpl$NullField;
 Landroid/icu/impl/FormattedValueStringBuilderImpl;
@@ -47943,6 +43590,7 @@
 Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;
 Landroid/icu/impl/ICUResourceBundleReader$Table1632;
 Landroid/icu/impl/ICUResourceBundleReader$Table16;
+Landroid/icu/impl/ICUResourceBundleReader$Table32;
 Landroid/icu/impl/ICUResourceBundleReader$Table;
 Landroid/icu/impl/ICUResourceBundleReader;
 Landroid/icu/impl/ICUService$CacheEntry;
@@ -47989,6 +43637,7 @@
 Landroid/icu/impl/StaticUnicodeSets$ParseDataSink;
 Landroid/icu/impl/StaticUnicodeSets;
 Landroid/icu/impl/StringPrepDataReader;
+Landroid/icu/impl/StringRange$1;
 Landroid/icu/impl/StringRange;
 Landroid/icu/impl/StringSegment;
 Landroid/icu/impl/TextTrieMap$Node;
@@ -48021,7 +43670,9 @@
 Landroid/icu/impl/UCaseProps$IsAcceptable;
 Landroid/icu/impl/UCaseProps$LatinCase;
 Landroid/icu/impl/UCaseProps;
+Landroid/icu/impl/UCharacterName$AlgorithmName;
 Landroid/icu/impl/UCharacterName;
+Landroid/icu/impl/UCharacterNameReader;
 Landroid/icu/impl/UCharacterProperty$10;
 Landroid/icu/impl/UCharacterProperty$11;
 Landroid/icu/impl/UCharacterProperty$12;
@@ -48184,6 +43835,7 @@
 Landroid/icu/number/Precision;
 Landroid/icu/number/Scale;
 Landroid/icu/number/ScientificNotation;
+Landroid/icu/number/SimpleNotation;
 Landroid/icu/number/UnlocalizedNumberFormatter;
 Landroid/icu/text/AlphabeticIndex$1;
 Landroid/icu/text/AlphabeticIndex$Bucket;
@@ -48211,6 +43863,7 @@
 Landroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;
 Landroid/icu/text/CollatorServiceShim$CService;
 Landroid/icu/text/CollatorServiceShim;
+Landroid/icu/text/CompactDecimalFormat$CompactStyle;
 Landroid/icu/text/ConstrainedFieldPosition$1;
 Landroid/icu/text/ConstrainedFieldPosition$ConstraintType;
 Landroid/icu/text/ConstrainedFieldPosition;
@@ -48269,6 +43922,7 @@
 Landroid/icu/text/FormattedValue;
 Landroid/icu/text/IDNA;
 Landroid/icu/text/LanguageBreakEngine;
+Landroid/icu/text/ListFormatter$Style;
 Landroid/icu/text/LowercaseTransliterator$1;
 Landroid/icu/text/LowercaseTransliterator;
 Landroid/icu/text/MeasureFormat$FormatWidth;
@@ -48484,12 +44138,16 @@
 Landroid/internal/telephony/sysprop/TelephonyProperties;
 Landroid/location/-$$Lambda$-z-Hjl12STdAybauR3BT-ftvWd0;
 Landroid/location/-$$Lambda$AbstractListenerManager$Registration$TnkXgyOd99JHl00GzK6Oay_sYms;
+Landroid/location/-$$Lambda$AbstractListenerManager$Registration$XpiThbVaDDpOnFWIkrt38Bf4yx0;
 Landroid/location/-$$Lambda$GpsStatus$RTSonBp9m0T0NWA3SCfYgWf1mTo;
 Landroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$4EPi22o4xuVnpNhFHnDvebH4TG8;
 Landroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$7Fi5XkeF81eL_OKPS2GJMvyc3-8;
 Landroid/location/-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$gYcH61KCtV_OcJJszI1TfvnrJHY;
+Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$C3xaM63A8GAwfJNN4R634OLsvDc;
 Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$JzcdERl3Ha8sYr9NxFhb3gNOoCM;
 Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps;
+Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$enkW18B0WwpQkSIMmVChmQ2YwC8;
+Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$fHjQXipQePznoEyxLuCfUO-YP1Y;
 Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$vDJFuk-DvyNgQEXUO2Jkf2ZFeE8;
 Landroid/location/-$$Lambda$LocationManager$LocationListenerTransport$vtBApnyHdgybRqRKlCt1NFEyfeQ;
 Landroid/location/-$$Lambda$UmbtQF279SH5h72Ftfcj_s96jsY;
@@ -48523,6 +44181,7 @@
 Landroid/location/GnssNavigationMessage;
 Landroid/location/GnssReflectingPlane$1;
 Landroid/location/GnssReflectingPlane;
+Landroid/location/GnssRequest$1;
 Landroid/location/GnssRequest;
 Landroid/location/GnssSingleSatCorrection$1;
 Landroid/location/GnssSingleSatCorrection;
@@ -48550,6 +44209,7 @@
 Landroid/location/IGeofenceProvider$Stub$Proxy;
 Landroid/location/IGeofenceProvider$Stub;
 Landroid/location/IGeofenceProvider;
+Landroid/location/IGnssAntennaInfoListener$Stub$Proxy;
 Landroid/location/IGnssAntennaInfoListener$Stub;
 Landroid/location/IGnssAntennaInfoListener;
 Landroid/location/IGnssMeasurementsListener$Stub$Proxy;
@@ -48577,6 +44237,7 @@
 Landroid/location/Location$BearingDistanceCache;
 Landroid/location/Location;
 Landroid/location/LocationListener;
+Landroid/location/LocationManager$1;
 Landroid/location/LocationManager$BatchedLocationCallbackManager;
 Landroid/location/LocationManager$GnssAntennaInfoListenerManager;
 Landroid/location/LocationManager$GnssMeasurementsListenerManager;
@@ -48597,6 +44258,9 @@
 Landroid/media/-$$Lambda$MediaDrm$8rRollK1F3eENvuaBGoS8u_-heQ;
 Landroid/media/-$$Lambda$MediaDrm$IvEWhXQgSYABwC6_1bdnhTJ4V2I;
 Landroid/media/-$$Lambda$MediaDrm$UPVWCanGo24eu9-1S_t6PvJ1Zno;
+Landroid/media/-$$Lambda$ThumbnailUtils$HhGKNQZck57eO__Paj6KyQm6lCk;
+Landroid/media/-$$Lambda$ThumbnailUtils$P13h9YbyD69p6ss1gYpoef43_MU;
+Landroid/media/-$$Lambda$ThumbnailUtils$qOH5vebuTwPi2G92PTa6rgwKGoc;
 Landroid/media/AudioAttributes$1;
 Landroid/media/AudioAttributes$Builder;
 Landroid/media/AudioAttributes;
@@ -48704,6 +44368,8 @@
 Landroid/media/IMediaHTTPService;
 Landroid/media/IMediaResourceMonitor$Stub;
 Landroid/media/IMediaResourceMonitor;
+Landroid/media/IMediaRouter2$Stub;
+Landroid/media/IMediaRouter2;
 Landroid/media/IMediaRouter2Client$Stub$Proxy;
 Landroid/media/IMediaRouter2Client$Stub;
 Landroid/media/IMediaRouter2Client;
@@ -48733,6 +44399,7 @@
 Landroid/media/IRingtonePlayer$Stub$Proxy;
 Landroid/media/IRingtonePlayer$Stub;
 Landroid/media/IRingtonePlayer;
+Landroid/media/IStrategyPreferredDeviceDispatcher$Stub$Proxy;
 Landroid/media/IStrategyPreferredDeviceDispatcher$Stub;
 Landroid/media/IStrategyPreferredDeviceDispatcher;
 Landroid/media/IVolumeController$Stub$Proxy;
@@ -48750,13 +44417,16 @@
 Landroid/media/MediaCodec$BufferInfo;
 Landroid/media/MediaCodec$BufferMap$CodecBuffer;
 Landroid/media/MediaCodec$BufferMap;
+Landroid/media/MediaCodec$Callback;
 Landroid/media/MediaCodec$CodecException;
 Landroid/media/MediaCodec$CryptoException;
 Landroid/media/MediaCodec$CryptoInfo$Pattern;
 Landroid/media/MediaCodec$CryptoInfo;
 Landroid/media/MediaCodec$EventHandler;
 Landroid/media/MediaCodec$GraphicBlock;
+Landroid/media/MediaCodec$IncompatibleWithBlockModelException;
 Landroid/media/MediaCodec$LinearBlock;
+Landroid/media/MediaCodec$OnFrameRenderedListener;
 Landroid/media/MediaCodec$OutputFrame;
 Landroid/media/MediaCodec$PersistentSurface;
 Landroid/media/MediaCodec$QueueRequest;
@@ -48788,6 +44458,7 @@
 Landroid/media/MediaDrm;
 Landroid/media/MediaDrmException;
 Landroid/media/MediaExtractor;
+Landroid/media/MediaFile;
 Landroid/media/MediaFormat;
 Landroid/media/MediaHTTPConnection;
 Landroid/media/MediaHTTPService;
@@ -48848,6 +44519,8 @@
 Landroid/media/MediaRouter$VolumeCallbackInfo;
 Landroid/media/MediaRouter$VolumeChangeReceiver;
 Landroid/media/MediaRouter$WifiDisplayStatusChangedReceiver;
+Landroid/media/MediaRouter2Manager$Callback;
+Landroid/media/MediaRouter2Manager;
 Landroid/media/MediaRouter;
 Landroid/media/MediaRouterClientState$1;
 Landroid/media/MediaRouterClientState$RouteInfo$1;
@@ -48881,7 +44554,9 @@
 Landroid/media/Ringtone$MyOnCompletionListener;
 Landroid/media/Ringtone;
 Landroid/media/RingtoneManager;
+Landroid/media/RouteDiscoveryPreference$1;
 Landroid/media/RouteDiscoveryPreference;
+Landroid/media/RoutingSessionInfo$1;
 Landroid/media/RoutingSessionInfo;
 Landroid/media/SoundPool$Builder;
 Landroid/media/SoundPool$EventHandler;
@@ -48895,16 +44570,20 @@
 Landroid/media/SubtitleData;
 Landroid/media/SubtitleTrack;
 Landroid/media/SyncParams;
+Landroid/media/ThumbnailUtils$Resizer;
+Landroid/media/ThumbnailUtils$SizedThumbnailBitmap;
 Landroid/media/ThumbnailUtils;
 Landroid/media/TimedMetaData;
 Landroid/media/TimedText;
 Landroid/media/ToneGenerator;
 Landroid/media/Utils$1;
 Landroid/media/Utils$2;
+Landroid/media/Utils$ListenerList;
 Landroid/media/Utils;
 Landroid/media/VolumeAutomation;
 Landroid/media/VolumePolicy$1;
 Landroid/media/VolumePolicy;
+Landroid/media/VolumeProvider$Callback;
 Landroid/media/VolumeProvider;
 Landroid/media/VolumeShaper$Configuration$1;
 Landroid/media/VolumeShaper$Configuration$Builder;
@@ -48916,6 +44595,7 @@
 Landroid/media/VolumeShaper$State;
 Landroid/media/VolumeShaper;
 Landroid/media/audiofx/AudioEffect$Descriptor;
+Landroid/media/audiofx/AudioEffect;
 Landroid/media/audiopolicy/-$$Lambda$AudioPolicy$-ztOT0FT3tzGMUr4lm1gv6dBE4c;
 Landroid/media/audiopolicy/AudioMix$Builder;
 Landroid/media/audiopolicy/AudioMix;
@@ -48953,10 +44633,13 @@
 Landroid/media/browse/MediaBrowser$SubscriptionCallback;
 Landroid/media/browse/MediaBrowser;
 Landroid/media/browse/MediaBrowserUtils;
+Landroid/media/midi/IMidiDeviceListener$Stub$Proxy;
 Landroid/media/midi/IMidiDeviceListener$Stub;
 Landroid/media/midi/IMidiDeviceListener;
+Landroid/media/midi/IMidiDeviceOpenCallback$Stub$Proxy;
 Landroid/media/midi/IMidiDeviceOpenCallback$Stub;
 Landroid/media/midi/IMidiDeviceOpenCallback;
+Landroid/media/midi/IMidiDeviceServer$Stub$Proxy;
 Landroid/media/midi/IMidiDeviceServer$Stub;
 Landroid/media/midi/IMidiDeviceServer;
 Landroid/media/midi/IMidiManager$Stub;
@@ -48964,6 +44647,7 @@
 Landroid/media/midi/MidiDevice;
 Landroid/media/midi/MidiDeviceInfo$1;
 Landroid/media/midi/MidiDeviceInfo;
+Landroid/media/midi/MidiDeviceStatus$1;
 Landroid/media/midi/MidiDeviceStatus;
 Landroid/media/midi/MidiManager;
 Landroid/media/projection/IMediaProjection$Stub$Proxy;
@@ -48978,14 +44662,17 @@
 Landroid/media/projection/MediaProjection;
 Landroid/media/projection/MediaProjectionInfo$1;
 Landroid/media/projection/MediaProjectionInfo;
+Landroid/media/projection/MediaProjectionManager$Callback;
 Landroid/media/projection/MediaProjectionManager$CallbackDelegate;
 Landroid/media/projection/MediaProjectionManager;
 Landroid/media/session/-$$Lambda$MediaSessionManager$IEuWPZ528guBgmyKPMUWhBwnMCE;
 Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
 Landroid/media/session/IActiveSessionsListener$Stub;
 Landroid/media/session/IActiveSessionsListener;
+Landroid/media/session/IOnMediaKeyEventDispatchedListener$Stub$Proxy;
 Landroid/media/session/IOnMediaKeyEventDispatchedListener$Stub;
 Landroid/media/session/IOnMediaKeyEventDispatchedListener;
+Landroid/media/session/IOnMediaKeyEventSessionChangedListener$Stub$Proxy;
 Landroid/media/session/IOnMediaKeyEventSessionChangedListener$Stub;
 Landroid/media/session/IOnMediaKeyEventSessionChangedListener;
 Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;
@@ -49053,10 +44740,23 @@
 Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;
 Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;
 Landroid/media/soundtrigger/SoundTriggerManager;
+Landroid/media/soundtrigger_middleware/ISoundTriggerCallback$Stub$Proxy;
 Landroid/media/soundtrigger_middleware/ISoundTriggerCallback$Stub;
 Landroid/media/soundtrigger_middleware/ISoundTriggerCallback;
+Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService$Stub$Proxy;
+Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService$Stub;
 Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;
+Landroid/media/soundtrigger_middleware/ISoundTriggerModule$Stub;
 Landroid/media/soundtrigger_middleware/ISoundTriggerModule;
+Landroid/media/soundtrigger_middleware/PhraseRecognitionExtra;
+Landroid/media/soundtrigger_middleware/RecognitionConfig$1;
+Landroid/media/soundtrigger_middleware/RecognitionConfig;
+Landroid/media/soundtrigger_middleware/SoundModel$1;
+Landroid/media/soundtrigger_middleware/SoundModel;
+Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor$1;
+Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor;
+Landroid/media/soundtrigger_middleware/SoundTriggerModuleProperties$1;
+Landroid/media/soundtrigger_middleware/SoundTriggerModuleProperties;
 Landroid/media/tv/TvInputHardwareInfo$Builder;
 Landroid/media/tv/TvInputManager;
 Landroid/media/tv/TvStreamConfig$1;
@@ -49084,7 +44784,6 @@
 Landroid/mtp/MtpStorageManager;
 Landroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;
 Landroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;
-Landroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;
 Landroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$PGkg1UrNyisY0wAts4zoVuYRgkw;
 Landroid/net/-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$TEOhIiY2C9y8yDWwRR6zm_12TGY;
 Landroid/net/-$$Lambda$NetworkStats$3raHHJpnJwsEAXnRXF2pK8-UDFY;
@@ -49092,6 +44791,7 @@
 Landroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;
 Landroid/net/CaptivePortal$1;
 Landroid/net/CaptivePortal;
+Landroid/net/CaptivePortalData$1;
 Landroid/net/CaptivePortalData;
 Landroid/net/ConnectionInfo$1;
 Landroid/net/ConnectionInfo;
@@ -49127,6 +44827,7 @@
 Landroid/net/EventLogTags;
 Landroid/net/ICaptivePortal$Stub;
 Landroid/net/ICaptivePortal;
+Landroid/net/IConnectivityDiagnosticsCallback$Stub$Proxy;
 Landroid/net/IConnectivityDiagnosticsCallback$Stub;
 Landroid/net/IConnectivityDiagnosticsCallback;
 Landroid/net/IConnectivityManager$Stub$Proxy;
@@ -49134,6 +44835,7 @@
 Landroid/net/IConnectivityManager;
 Landroid/net/IEthernetManager$Stub;
 Landroid/net/IEthernetManager;
+Landroid/net/IEthernetServiceListener$Stub$Proxy;
 Landroid/net/IEthernetServiceListener$Stub;
 Landroid/net/IEthernetServiceListener;
 Landroid/net/IIpConnectivityMetrics$Stub$Proxy;
@@ -49173,6 +44875,7 @@
 Landroid/net/ISocketKeepaliveCallback;
 Landroid/net/ITestNetworkManager$Stub;
 Landroid/net/ITestNetworkManager;
+Landroid/net/ITetheredInterfaceCallback$Stub$Proxy;
 Landroid/net/ITetheredInterfaceCallback$Stub;
 Landroid/net/ITetheredInterfaceCallback;
 Landroid/net/ITetheringStatsProvider$Stub$Proxy;
@@ -49188,19 +44891,23 @@
 Landroid/net/IpPrefix$1;
 Landroid/net/IpPrefix$2;
 Landroid/net/IpPrefix;
+Landroid/net/IpSecConfig$1;
 Landroid/net/IpSecConfig;
 Landroid/net/IpSecManager$SpiUnavailableException;
 Landroid/net/IpSecManager$UdpEncapsulationSocket;
 Landroid/net/IpSecManager;
+Landroid/net/IpSecSpiResponse$1;
 Landroid/net/IpSecSpiResponse;
+Landroid/net/IpSecTransformResponse$1;
 Landroid/net/IpSecTransformResponse;
+Landroid/net/IpSecTunnelInterfaceResponse$1;
 Landroid/net/IpSecTunnelInterfaceResponse;
+Landroid/net/IpSecUdpEncapResponse$1;
 Landroid/net/IpSecUdpEncapResponse;
 Landroid/net/KeepalivePacketData;
 Landroid/net/LinkAddress$1;
 Landroid/net/LinkAddress;
 Landroid/net/LinkProperties$1;
-Landroid/net/LinkProperties$CompareResult;
 Landroid/net/LinkProperties;
 Landroid/net/LocalServerSocket;
 Landroid/net/LocalSocket;
@@ -49217,15 +44924,16 @@
 Landroid/net/Network$1;
 Landroid/net/Network$NetworkBoundSocketFactory;
 Landroid/net/Network;
+Landroid/net/NetworkAgent$InitialConfiguration;
+Landroid/net/NetworkAgent$NetworkAgentHandler;
 Landroid/net/NetworkAgent;
+Landroid/net/NetworkAgentConfig$1;
+Landroid/net/NetworkAgentConfig$Builder;
 Landroid/net/NetworkAgentConfig;
 Landroid/net/NetworkCapabilities$1;
 Landroid/net/NetworkCapabilities$NameOf;
 Landroid/net/NetworkCapabilities;
 Landroid/net/NetworkConfig;
-Landroid/net/NetworkFactory$NetworkRequestInfo;
-Landroid/net/NetworkFactory$SerialNumber;
-Landroid/net/NetworkFactory;
 Landroid/net/NetworkIdentity;
 Landroid/net/NetworkInfo$1;
 Landroid/net/NetworkInfo$DetailedState;
@@ -49240,6 +44948,7 @@
 Landroid/net/NetworkPolicyManager$SubscriptionCallback;
 Landroid/net/NetworkPolicyManager$SubscriptionCallbackProxy;
 Landroid/net/NetworkPolicyManager;
+Landroid/net/NetworkProvider$1;
 Landroid/net/NetworkProvider;
 Landroid/net/NetworkQuotaInfo$1;
 Landroid/net/NetworkQuotaInfo;
@@ -49303,6 +45012,7 @@
 Landroid/net/StringNetworkSpecifier;
 Landroid/net/TcpSocketKeepalive;
 Landroid/net/TelephonyNetworkSpecifier$1;
+Landroid/net/TelephonyNetworkSpecifier$Builder;
 Landroid/net/TelephonyNetworkSpecifier;
 Landroid/net/TestNetworkManager;
 Landroid/net/TrafficStats;
@@ -49366,8 +45076,10 @@
 Landroid/net/metrics/ValidationProbeEvent;
 Landroid/net/metrics/WakeupEvent;
 Landroid/net/metrics/WakeupStats;
+Landroid/net/netstats/provider/INetworkStatsProvider$Stub$Proxy;
 Landroid/net/netstats/provider/INetworkStatsProvider$Stub;
 Landroid/net/netstats/provider/INetworkStatsProvider;
+Landroid/net/netstats/provider/INetworkStatsProviderCallback$Stub;
 Landroid/net/netstats/provider/INetworkStatsProviderCallback;
 Landroid/net/nsd/INsdManager$Stub$Proxy;
 Landroid/net/nsd/INsdManager$Stub;
@@ -49391,6 +45103,7 @@
 Landroid/net/util/-$$Lambda$MultinetworkPolicyTracker$8YMQ0fPTKk7Fw-_gJjln0JT-g8E;
 Landroid/net/util/KeepaliveUtils$KeepaliveDeviceConfigurationException;
 Landroid/net/util/KeepaliveUtils;
+Landroid/net/util/LinkPropertiesUtils$CompareResult;
 Landroid/net/util/LinkPropertiesUtils;
 Landroid/net/util/MacAddressUtils;
 Landroid/net/util/MultinetworkPolicyTracker$1;
@@ -49455,8 +45168,11 @@
 Landroid/nfc/TechListParcel;
 Landroid/nfc/cardemulation/AidGroup$1;
 Landroid/nfc/cardemulation/AidGroup;
+Landroid/nfc/cardemulation/ApduServiceInfo$1;
 Landroid/nfc/cardemulation/ApduServiceInfo;
 Landroid/nfc/cardemulation/CardEmulation;
+Landroid/nfc/cardemulation/HostApduService$MsgHandler;
+Landroid/nfc/cardemulation/HostApduService;
 Landroid/opengl/EGL14;
 Landroid/opengl/EGL15;
 Landroid/opengl/EGLConfig;
@@ -49477,11 +45193,25 @@
 Landroid/opengl/GLES31;
 Landroid/opengl/GLES31Ext;
 Landroid/opengl/GLES32;
+Landroid/opengl/GLSurfaceView$BaseConfigChooser;
+Landroid/opengl/GLSurfaceView$ComponentSizeChooser;
+Landroid/opengl/GLSurfaceView$DefaultContextFactory;
+Landroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;
+Landroid/opengl/GLSurfaceView$EGLConfigChooser;
+Landroid/opengl/GLSurfaceView$EGLContextFactory;
 Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;
+Landroid/opengl/GLSurfaceView$EglHelper;
+Landroid/opengl/GLSurfaceView$GLThread;
+Landroid/opengl/GLSurfaceView$GLThreadManager;
+Landroid/opengl/GLSurfaceView$Renderer;
+Landroid/opengl/GLSurfaceView$SimpleEGLConfigChooser;
+Landroid/opengl/GLSurfaceView;
 Landroid/opengl/GLUtils;
 Landroid/opengl/Matrix;
 Landroid/opengl/Visibility;
 Landroid/os/-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I;
+Landroid/os/-$$Lambda$Binder$aNRcHb8WfLrWjcSlV42Wu5psFwU;
+Landroid/os/-$$Lambda$Binder$sHSgT14Q7D-inZx204V4-ect-uA;
 Landroid/os/-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw;
 Landroid/os/-$$Lambda$FileUtils$0SBPRWOXcbR9EMG_p-55sUuxJ_0;
 Landroid/os/-$$Lambda$FileUtils$TJeD9NeX5giO-5vlBrurGI-g4IY;
@@ -49585,6 +45315,7 @@
 Landroid/os/Environment$UserEnvironment;
 Landroid/os/Environment;
 Landroid/os/EventLogTags;
+Landroid/os/ExternalVibration$1;
 Landroid/os/ExternalVibration;
 Landroid/os/FactoryTest;
 Landroid/os/FileBridge$FileBridgeOutputStream;
@@ -49604,6 +45335,7 @@
 Landroid/os/HandlerThread;
 Landroid/os/HardwarePropertiesManager;
 Landroid/os/HidlMemory;
+Landroid/os/HidlMemoryUtil;
 Landroid/os/HidlSupport$Mutable;
 Landroid/os/HidlSupport;
 Landroid/os/HwBinder;
@@ -49674,6 +45406,7 @@
 Landroid/os/IPullAtomCallback;
 Landroid/os/IRecoverySystem$Stub;
 Landroid/os/IRecoverySystem;
+Landroid/os/IRecoverySystemProgressListener$Stub$Proxy;
 Landroid/os/IRecoverySystemProgressListener$Stub;
 Landroid/os/IRecoverySystemProgressListener;
 Landroid/os/IRemoteCallback$Stub$Proxy;
@@ -49693,6 +45426,8 @@
 Landroid/os/IStoraged$Stub$Proxy;
 Landroid/os/IStoraged$Stub;
 Landroid/os/IStoraged;
+Landroid/os/ISystemConfig$Stub;
+Landroid/os/ISystemConfig;
 Landroid/os/ISystemUpdateManager$Stub$Proxy;
 Landroid/os/ISystemUpdateManager$Stub;
 Landroid/os/ISystemUpdateManager;
@@ -49721,6 +45456,7 @@
 Landroid/os/IVibratorService$Stub$Proxy;
 Landroid/os/IVibratorService$Stub;
 Landroid/os/IVibratorService;
+Landroid/os/IVibratorStateListener$Stub$Proxy;
 Landroid/os/IVibratorStateListener$Stub;
 Landroid/os/IVibratorStateListener;
 Landroid/os/IVold$Stub$Proxy;
@@ -49756,6 +45492,7 @@
 Landroid/os/Parcel$1;
 Landroid/os/Parcel$2;
 Landroid/os/Parcel$ReadWriteHelper;
+Landroid/os/Parcel$SquashReadHelper;
 Landroid/os/Parcel;
 Landroid/os/ParcelFileDescriptor$1;
 Landroid/os/ParcelFileDescriptor$2;
@@ -49782,6 +45519,8 @@
 Landroid/os/PooledStringReader;
 Landroid/os/PooledStringWriter;
 Landroid/os/PowerManager$1;
+Landroid/os/PowerManager$2;
+Landroid/os/PowerManager$3;
 Landroid/os/PowerManager$OnThermalStatusChangedListener;
 Landroid/os/PowerManager$WakeData;
 Landroid/os/PowerManager$WakeLock$1;
@@ -49880,6 +45619,8 @@
 Landroid/os/Temperature$1;
 Landroid/os/Temperature;
 Landroid/os/ThreadLocalWorkSource;
+Landroid/os/TimestampedValue$1;
+Landroid/os/TimestampedValue;
 Landroid/os/TokenWatcher$1;
 Landroid/os/TokenWatcher$Death;
 Landroid/os/TokenWatcher;
@@ -49906,6 +45647,7 @@
 Landroid/os/VibrationAttributes$Builder;
 Landroid/os/VibrationAttributes;
 Landroid/os/VibrationEffect$1;
+Landroid/os/VibrationEffect$Composed$1;
 Landroid/os/VibrationEffect$Composed;
 Landroid/os/VibrationEffect$OneShot$1;
 Landroid/os/VibrationEffect$OneShot;
@@ -50023,6 +45765,10 @@
 Landroid/permission/IPermissionManager;
 Landroid/permission/PermissionControllerManager$1;
 Landroid/permission/PermissionControllerManager;
+Landroid/permission/PermissionManager$1;
+Landroid/permission/PermissionManager$2;
+Landroid/permission/PermissionManager$PackageNamePermissionQuery;
+Landroid/permission/PermissionManager$PermissionQuery;
 Landroid/permission/PermissionManager$SplitPermissionInfo;
 Landroid/permission/PermissionManager;
 Landroid/permission/PermissionManagerInternal;
@@ -50038,13 +45784,16 @@
 Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
 Landroid/preference/PreferenceManager;
 Landroid/preference/PreferenceScreen;
+Landroid/print/IPrintDocumentAdapter$Stub$Proxy;
 Landroid/print/IPrintDocumentAdapter$Stub;
 Landroid/print/IPrintDocumentAdapter;
+Landroid/print/IPrintJobStateChangeListener$Stub$Proxy;
 Landroid/print/IPrintJobStateChangeListener$Stub;
 Landroid/print/IPrintJobStateChangeListener;
 Landroid/print/IPrintManager$Stub$Proxy;
 Landroid/print/IPrintManager$Stub;
 Landroid/print/IPrintManager;
+Landroid/print/IPrintServicesChangeListener$Stub$Proxy;
 Landroid/print/IPrintServicesChangeListener$Stub;
 Landroid/print/IPrintServicesChangeListener;
 Landroid/print/IPrintSpooler$Stub$Proxy;
@@ -50054,20 +45803,25 @@
 Landroid/print/IPrintSpoolerCallbacks;
 Landroid/print/IPrintSpoolerClient$Stub;
 Landroid/print/IPrintSpoolerClient;
+Landroid/print/IPrinterDiscoveryObserver$Stub$Proxy;
 Landroid/print/IPrinterDiscoveryObserver$Stub;
 Landroid/print/IPrinterDiscoveryObserver;
+Landroid/print/PrintAttributes$1;
 Landroid/print/PrintAttributes;
 Landroid/print/PrintDocumentAdapter;
+Landroid/print/PrintJobId$1;
 Landroid/print/PrintJobId;
 Landroid/print/PrintJobInfo$1;
 Landroid/print/PrintJobInfo;
 Landroid/print/PrintManager$1;
 Landroid/print/PrintManager;
+Landroid/print/PrinterId$1;
 Landroid/print/PrinterId;
 Landroid/printservice/IPrintServiceClient$Stub;
 Landroid/printservice/IPrintServiceClient;
 Landroid/printservice/PrintServiceInfo$1;
 Landroid/printservice/PrintServiceInfo;
+Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub$Proxy;
 Landroid/printservice/recommendation/IRecommendationsChangeListener$Stub;
 Landroid/printservice/recommendation/IRecommendationsChangeListener;
 Landroid/privacy/DifferentialPrivacyConfig;
@@ -50102,7 +45856,10 @@
 Landroid/provider/ContactsContract$CommonDataKinds$Callable;
 Landroid/provider/ContactsContract$CommonDataKinds$CommonColumns;
 Landroid/provider/ContactsContract$CommonDataKinds$Email;
+Landroid/provider/ContactsContract$CommonDataKinds$Event;
+Landroid/provider/ContactsContract$CommonDataKinds$Im;
 Landroid/provider/ContactsContract$CommonDataKinds$Phone;
+Landroid/provider/ContactsContract$CommonDataKinds$Relation;
 Landroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;
 Landroid/provider/ContactsContract$ContactCounts;
 Landroid/provider/ContactsContract$ContactNameColumns;
@@ -50117,6 +45874,7 @@
 Landroid/provider/ContactsContract$DataUsageStatColumns;
 Landroid/provider/ContactsContract$DeletedContacts;
 Landroid/provider/ContactsContract$DeletedContactsColumns;
+Landroid/provider/ContactsContract$Directory;
 Landroid/provider/ContactsContract$DisplayPhoto;
 Landroid/provider/ContactsContract$Groups;
 Landroid/provider/ContactsContract$GroupsColumns;
@@ -50180,6 +45938,7 @@
 Landroid/provider/Telephony$MmsSms;
 Landroid/provider/Telephony$ServiceStateTable;
 Landroid/provider/Telephony$SimInfo;
+Landroid/provider/Telephony$Sms$Intents;
 Landroid/provider/Telephony$Sms$Sent;
 Landroid/provider/Telephony$Sms;
 Landroid/provider/Telephony$TextBasedSmsColumns;
@@ -50211,6 +45970,8 @@
 Landroid/security/Credentials;
 Landroid/security/FileIntegrityManager;
 Landroid/security/GateKeeper;
+Landroid/security/IFileIntegrityService$Stub;
+Landroid/security/IFileIntegrityService;
 Landroid/security/IKeyChainAliasCallback$Stub;
 Landroid/security/IKeyChainAliasCallback;
 Landroid/security/IKeyChainService$Stub$Proxy;
@@ -50401,10 +46162,12 @@
 Landroid/service/appprediction/IPredictionService$Stub;
 Landroid/service/appprediction/IPredictionService;
 Landroid/service/autofill/AutofillServiceInfo;
+Landroid/service/autofill/Dataset$1;
 Landroid/service/autofill/Dataset;
 Landroid/service/autofill/FieldClassificationUserData;
 Landroid/service/autofill/FillContext$1;
 Landroid/service/autofill/FillContext;
+Landroid/service/autofill/FillEventHistory$1;
 Landroid/service/autofill/FillEventHistory;
 Landroid/service/autofill/FillRequest$1;
 Landroid/service/autofill/FillRequest;
@@ -50418,25 +46181,23 @@
 Landroid/service/autofill/IFillCallback;
 Landroid/service/autofill/ISaveCallback$Stub;
 Landroid/service/autofill/ISaveCallback;
+Landroid/service/autofill/SaveRequest$1;
 Landroid/service/autofill/SaveRequest;
 Landroid/service/autofill/UserData$1;
 Landroid/service/autofill/UserData$Builder;
 Landroid/service/autofill/UserData;
+Landroid/service/autofill/augmented/Helper;
 Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;
 Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub;
 Landroid/service/autofill/augmented/IAugmentedAutofillService;
 Landroid/service/autofill/augmented/IFillCallback$Stub$Proxy;
 Landroid/service/autofill/augmented/IFillCallback$Stub;
 Landroid/service/autofill/augmented/IFillCallback;
-Landroid/service/carrier/CarrierIdentifier$1;
-Landroid/service/carrier/CarrierIdentifier;
 Landroid/service/carrier/CarrierMessagingServiceWrapper$CarrierMessagingCallbackWrapper;
 Landroid/service/carrier/CarrierMessagingServiceWrapper;
-Landroid/service/carrier/ICarrierService$Stub$Proxy;
-Landroid/service/carrier/ICarrierService$Stub;
-Landroid/service/carrier/ICarrierService;
 Landroid/service/contentcapture/ActivityEvent$1;
 Landroid/service/contentcapture/ActivityEvent;
+Landroid/service/contentcapture/ContentCaptureService;
 Landroid/service/contentcapture/ContentCaptureServiceInfo;
 Landroid/service/contentcapture/FlushMetrics$1;
 Landroid/service/contentcapture/FlushMetrics;
@@ -50451,47 +46212,22 @@
 Landroid/service/contentcapture/SnapshotData$1;
 Landroid/service/contentcapture/SnapshotData;
 Landroid/service/dataloader/DataLoaderService;
+Landroid/service/dreams/-$$Lambda$DreamService$DreamServiceWrapper$2R9T6zqLOUvx4z5eu1pSMWsejpU;
+Landroid/service/dreams/-$$Lambda$DreamService$DreamServiceWrapper$fKPQo1GZX03b5-nMg-IFcuuxhKs;
+Landroid/service/dreams/-$$Lambda$DreamService$DreamServiceWrapper$mm-Rh3xCTudFT-WRyQZatcwXBss;
+Landroid/service/dreams/-$$Lambda$DreamService$uqzqbrpptkCH_tc1jkx48W1A6vM;
+Landroid/service/dreams/DreamActivity;
 Landroid/service/dreams/DreamManagerInternal;
+Landroid/service/dreams/DreamService$DreamServiceWrapper;
+Landroid/service/dreams/DreamService;
 Landroid/service/dreams/IDreamManager$Stub$Proxy;
 Landroid/service/dreams/IDreamManager$Stub;
 Landroid/service/dreams/IDreamManager;
 Landroid/service/dreams/IDreamService$Stub$Proxy;
 Landroid/service/dreams/IDreamService$Stub;
 Landroid/service/dreams/IDreamService;
-Landroid/service/euicc/EuiccProfileInfo$1;
-Landroid/service/euicc/EuiccProfileInfo;
-Landroid/service/euicc/GetEuiccProfileInfoListResult$1;
-Landroid/service/euicc/GetEuiccProfileInfoListResult;
-Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;
-Landroid/service/euicc/IDeleteSubscriptionCallback;
-Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;
-Landroid/service/euicc/IDownloadSubscriptionCallback;
-Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;
-Landroid/service/euicc/IEraseSubscriptionsCallback;
-Landroid/service/euicc/IEuiccService$Stub$Proxy;
-Landroid/service/euicc/IEuiccService$Stub;
-Landroid/service/euicc/IEuiccService;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;
-Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;
-Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;
-Landroid/service/euicc/IGetEidCallback$Stub;
-Landroid/service/euicc/IGetEidCallback;
-Landroid/service/euicc/IGetEuiccInfoCallback$Stub;
-Landroid/service/euicc/IGetEuiccInfoCallback;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub$Proxy;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;
-Landroid/service/euicc/IGetEuiccProfileInfoListCallback;
-Landroid/service/euicc/IGetOtaStatusCallback$Stub;
-Landroid/service/euicc/IGetOtaStatusCallback;
 Landroid/service/euicc/IOtaStatusChangedCallback$Stub;
 Landroid/service/euicc/IOtaStatusChangedCallback;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;
-Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;
-Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;
-Landroid/service/euicc/ISwitchToSubscriptionCallback;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;
-Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;
 Landroid/service/gatekeeper/GateKeeperResponse$1;
 Landroid/service/gatekeeper/GateKeeperResponse;
 Landroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;
@@ -50567,6 +46303,8 @@
 Landroid/service/persistentdata/IPersistentDataBlockService$Stub;
 Landroid/service/persistentdata/IPersistentDataBlockService;
 Landroid/service/persistentdata/PersistentDataBlockManager;
+Landroid/service/quicksettings/IQSService$Stub;
+Landroid/service/quicksettings/IQSService;
 Landroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;
 Landroid/service/textclassifier/ITextClassifierCallback$Stub;
 Landroid/service/textclassifier/ITextClassifierCallback;
@@ -50605,6 +46343,9 @@
 Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;
 Landroid/service/vr/IVrStateCallbacks$Stub;
 Landroid/service/vr/IVrStateCallbacks;
+Landroid/service/wallpaper/-$$Lambda$87Do-TfJA3qVM7QF6F_6BpQlQTA;
+Landroid/service/wallpaper/-$$Lambda$vsWBQpiXExY07tlrSzTqh4pNQAQ;
+Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;
 Landroid/service/wallpaper/IWallpaperConnection$Stub;
 Landroid/service/wallpaper/IWallpaperConnection;
 Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
@@ -50613,6 +46354,15 @@
 Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;
 Landroid/service/wallpaper/IWallpaperService$Stub;
 Landroid/service/wallpaper/IWallpaperService;
+Landroid/service/wallpaper/WallpaperService$Engine$1;
+Landroid/service/wallpaper/WallpaperService$Engine$2;
+Landroid/service/wallpaper/WallpaperService$Engine$3;
+Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;
+Landroid/service/wallpaper/WallpaperService$Engine;
+Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;
+Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;
+Landroid/service/wallpaper/WallpaperService$WallpaperCommand;
+Landroid/service/wallpaper/WallpaperService;
 Landroid/service/watchdog/ExplicitHealthCheckService$PackageConfig$1;
 Landroid/service/watchdog/ExplicitHealthCheckService$PackageConfig;
 Landroid/service/watchdog/IExplicitHealthCheckService$Stub$Proxy;
@@ -50622,8 +46372,10 @@
 Landroid/speech/tts/ITextToSpeechCallback$Stub;
 Landroid/speech/tts/ITextToSpeechCallback;
 Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;
+Landroid/speech/tts/ITextToSpeechService$Stub;
 Landroid/speech/tts/ITextToSpeechService;
 Landroid/speech/tts/TextToSpeech$Action;
+Landroid/speech/tts/TextToSpeech$Connection$1;
 Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
 Landroid/speech/tts/TextToSpeech$Connection;
 Landroid/speech/tts/TextToSpeech$EngineInfo;
@@ -50754,9 +46506,6 @@
 Landroid/telecom/TimedEvent;
 Landroid/telecom/VideoProfile$1;
 Landroid/telecom/VideoProfile;
-Landroid/telephony/-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY;
-Landroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;
-Landroid/telephony/-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1uNdvGRe99lTurQeP2pTQkZS7Vs;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2XBMUIj05jt4Xm08XAsE57q5gCc;
@@ -50777,6 +46526,7 @@
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$E9hw_LXFliykadzCB_mw8nukNGI;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$F-YGB2a8GrHG6CB17lzASQZXVHI;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$FBJGFGXoSvidKfm50cEzC3i9rVk;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$GJ2YJ4ARy5-u2bWutnqrYMAsLYA;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$HEcWn-J1WRb0wLERu2qoMIZDfjY;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$IU278K5QbmReF-mbpcNVAvVlhFI;
@@ -50788,6 +46538,7 @@
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$RC2x2ijetA-pQrLa4QakzMBjh_k;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Rh4FuYaAZPAbrOYr6GGF6llSePE;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$SLDsZb_RTXJpIvKJwCENgXrSXcU;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$VCD7izkh9A_sRz9zMUPYy-TktLo;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$W65ui1dCCc-JnQa7gon1I7Bz7Sk;
@@ -50819,331 +46570,57 @@
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yGF2cJtJjwhRqDU8M4yzwgROulY;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$ygzOWFRiY4sZQ4WYUPIefqgiGvM;
 Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;
-Landroid/telephony/-$$Lambda$SubscriptionManager$D5_PmvQ13e0qLtSnBvNd4R7l2qA;
-Landroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$MLDtRnX1dj1RKFdjgIsOvcQxhA0;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$mpe0Kh92VEQmEtmo60oqykdvnBE;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$o3geRfUaRT9tnqKKZbu1EbUxw4Q;
-Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4;
+Landroid/telephony/-$$Lambda$TelephonyManager$1$scMPky6lOZrCjFC3d4STbtLfpHE;
 Landroid/telephony/-$$Lambda$TelephonyManager$2$l6Pazxfi7QghMr2Z0MpduhNe6yc;
 Landroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;
-Landroid/telephony/AccessNetworkConstants$AccessNetworkType;
-Landroid/telephony/AccessNetworkConstants$TransportType;
-Landroid/telephony/AccessNetworkConstants;
-Landroid/telephony/AccessNetworkUtils;
-Landroid/telephony/AnomalyReporter;
-Landroid/telephony/AvailableNetworkInfo;
-Landroid/telephony/CallAttributes$1;
-Landroid/telephony/CallAttributes;
-Landroid/telephony/CallQuality$1;
-Landroid/telephony/CallQuality;
-Landroid/telephony/CarrierConfigManager$Gps;
-Landroid/telephony/CarrierConfigManager;
-Landroid/telephony/CarrierRestrictionRules$1;
+Landroid/telephony/AvailableNetworkInfo$1;
 Landroid/telephony/CarrierRestrictionRules$Builder;
-Landroid/telephony/CarrierRestrictionRules;
-Landroid/telephony/CellConfigLte$1;
-Landroid/telephony/CellConfigLte;
-Landroid/telephony/CellIdentity$1;
-Landroid/telephony/CellIdentity;
-Landroid/telephony/CellIdentityCdma$1;
-Landroid/telephony/CellIdentityCdma;
-Landroid/telephony/CellIdentityGsm$1;
-Landroid/telephony/CellIdentityGsm;
-Landroid/telephony/CellIdentityLte$1;
-Landroid/telephony/CellIdentityLte;
-Landroid/telephony/CellIdentityNr$1;
-Landroid/telephony/CellIdentityNr;
-Landroid/telephony/CellIdentityTdscdma$1;
-Landroid/telephony/CellIdentityTdscdma;
-Landroid/telephony/CellIdentityWcdma$1;
-Landroid/telephony/CellIdentityWcdma;
-Landroid/telephony/CellInfo$1;
-Landroid/telephony/CellInfo;
-Landroid/telephony/CellInfoCdma$1;
-Landroid/telephony/CellInfoCdma;
-Landroid/telephony/CellInfoGsm$1;
-Landroid/telephony/CellInfoGsm;
-Landroid/telephony/CellInfoLte$1;
-Landroid/telephony/CellInfoLte;
-Landroid/telephony/CellInfoNr$1;
-Landroid/telephony/CellInfoNr;
-Landroid/telephony/CellInfoTdscdma$1;
-Landroid/telephony/CellInfoTdscdma;
-Landroid/telephony/CellInfoWcdma$1;
-Landroid/telephony/CellInfoWcdma;
-Landroid/telephony/CellLocation;
-Landroid/telephony/CellSignalStrength;
-Landroid/telephony/CellSignalStrengthCdma$1;
-Landroid/telephony/CellSignalStrengthCdma;
-Landroid/telephony/CellSignalStrengthGsm$1;
-Landroid/telephony/CellSignalStrengthGsm;
-Landroid/telephony/CellSignalStrengthLte$1;
-Landroid/telephony/CellSignalStrengthLte;
-Landroid/telephony/CellSignalStrengthNr$1;
-Landroid/telephony/CellSignalStrengthNr;
-Landroid/telephony/CellSignalStrengthTdscdma$1;
-Landroid/telephony/CellSignalStrengthTdscdma;
-Landroid/telephony/CellSignalStrengthWcdma$1;
-Landroid/telephony/CellSignalStrengthWcdma;
-Landroid/telephony/ClientRequestStats$1;
-Landroid/telephony/ClientRequestStats;
 Landroid/telephony/DataConnectionRealTimeInfo$1;
 Landroid/telephony/DataConnectionRealTimeInfo;
-Landroid/telephony/DataFailCause$1;
-Landroid/telephony/DataFailCause;
-Landroid/telephony/DataSpecificRegistrationInfo$1;
-Landroid/telephony/DataSpecificRegistrationInfo;
 Landroid/telephony/DisconnectCause;
-Landroid/telephony/ICellInfoCallback$Stub$Proxy;
-Landroid/telephony/ICellInfoCallback$Stub;
-Landroid/telephony/ICellInfoCallback;
-Landroid/telephony/INetworkService$Stub$Proxy;
-Landroid/telephony/INetworkService$Stub;
-Landroid/telephony/INetworkService;
 Landroid/telephony/INetworkServiceCallback$Stub$Proxy;
-Landroid/telephony/INetworkServiceCallback$Stub;
-Landroid/telephony/INetworkServiceCallback;
-Landroid/telephony/IccOpenLogicalChannelResponse$1;
-Landroid/telephony/IccOpenLogicalChannelResponse;
-Landroid/telephony/ImsiEncryptionInfo$1;
-Landroid/telephony/ImsiEncryptionInfo;
-Landroid/telephony/JapanesePhoneNumberFormatter;
 Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
 Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
 Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
 Landroid/telephony/LocationAccessPolicy;
-Landroid/telephony/LteVopsSupportInfo$1;
-Landroid/telephony/LteVopsSupportInfo;
 Landroid/telephony/MmsManager;
-Landroid/telephony/ModemActivityInfo$1;
-Landroid/telephony/ModemActivityInfo$TransmitPower;
-Landroid/telephony/ModemActivityInfo;
-Landroid/telephony/ModemInfo$1;
-Landroid/telephony/ModemInfo;
-Landroid/telephony/NeighboringCellInfo$1;
-Landroid/telephony/NeighboringCellInfo;
-Landroid/telephony/NetworkRegistrationInfo$1;
-Landroid/telephony/NetworkRegistrationInfo$Builder;
-Landroid/telephony/NetworkRegistrationInfo;
-Landroid/telephony/NetworkScan;
-Landroid/telephony/NetworkScanRequest$1;
-Landroid/telephony/NetworkScanRequest;
-Landroid/telephony/NetworkService$INetworkServiceWrapper;
-Landroid/telephony/NetworkService$NetworkServiceHandler;
-Landroid/telephony/NetworkService$NetworkServiceProvider;
-Landroid/telephony/NetworkService;
-Landroid/telephony/NetworkServiceCallback;
 Landroid/telephony/NumberVerificationCallback;
 Landroid/telephony/PackageChangeReceiver;
-Landroid/telephony/PhoneCapability$1;
-Landroid/telephony/PhoneCapability;
-Landroid/telephony/PhoneNumberRange$1;
-Landroid/telephony/PhoneNumberRange;
-Landroid/telephony/PhoneNumberUtils;
 Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
 Landroid/telephony/PhoneStateListener;
-Landroid/telephony/PhysicalChannelConfig$1;
-Landroid/telephony/PhysicalChannelConfig$Builder;
-Landroid/telephony/PhysicalChannelConfig;
-Landroid/telephony/PreciseCallState$1;
-Landroid/telephony/PreciseCallState;
-Landroid/telephony/PreciseDataConnectionState$1;
-Landroid/telephony/PreciseDataConnectionState;
-Landroid/telephony/RadioAccessFamily$1;
-Landroid/telephony/RadioAccessFamily;
+Landroid/telephony/RadioAccessSpecifier$1;
 Landroid/telephony/RadioAccessSpecifier;
 Landroid/telephony/Rlog;
-Landroid/telephony/ServiceState$1;
-Landroid/telephony/ServiceState;
-Landroid/telephony/SignalStrength$1;
-Landroid/telephony/SignalStrength;
+Landroid/telephony/SmsCbCmasInfo$1;
 Landroid/telephony/SmsCbCmasInfo;
-Landroid/telephony/SmsCbEtwsInfo;
-Landroid/telephony/SmsCbLocation;
-Landroid/telephony/SmsCbMessage;
-Landroid/telephony/SmsManager;
+Landroid/telephony/SmsCbEtwsInfo$1;
+Landroid/telephony/SmsCbLocation$1;
+Landroid/telephony/SmsCbMessage$1;
 Landroid/telephony/SmsMessage$1;
 Landroid/telephony/SmsMessage$MessageClass;
-Landroid/telephony/SmsMessage;
-Landroid/telephony/SubscriptionInfo$1;
-Landroid/telephony/SubscriptionInfo;
-Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;
-Landroid/telephony/SubscriptionManager;
 Landroid/telephony/SubscriptionPlan$1;
 Landroid/telephony/SubscriptionPlan;
-Landroid/telephony/TelephonyFrameworkInitializer;
-Landroid/telephony/TelephonyHistogram$1;
-Landroid/telephony/TelephonyHistogram;
+Landroid/telephony/TelephonyDisplayInfo;
 Landroid/telephony/TelephonyManager$1;
 Landroid/telephony/TelephonyManager$2;
-Landroid/telephony/TelephonyManager$5;
-Landroid/telephony/TelephonyManager$7;
-Landroid/telephony/TelephonyManager$CellInfoCallback;
-Landroid/telephony/TelephonyManager$MultiSimVariants;
 Landroid/telephony/TelephonyManager$UssdResponseCallback;
-Landroid/telephony/TelephonyManager;
 Landroid/telephony/TelephonyRegistryManager$1;
 Landroid/telephony/TelephonyRegistryManager$2;
 Landroid/telephony/TelephonyRegistryManager;
 Landroid/telephony/TelephonyScanManager$NetworkScanCallback;
-Landroid/telephony/UiccAccessRule$1;
-Landroid/telephony/UiccAccessRule;
-Landroid/telephony/UiccCardInfo$1;
-Landroid/telephony/UiccCardInfo;
-Landroid/telephony/UiccSlotInfo$1;
-Landroid/telephony/UiccSlotInfo;
+Landroid/telephony/UssdResponse$1;
 Landroid/telephony/UssdResponse;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$1;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
-Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Landroid/telephony/VoiceSpecificRegistrationInfo$1;
-Landroid/telephony/VoiceSpecificRegistrationInfo;
-Landroid/telephony/cdma/CdmaCellLocation;
-Landroid/telephony/data/ApnSetting$1;
-Landroid/telephony/data/ApnSetting$Builder;
-Landroid/telephony/data/ApnSetting;
-Landroid/telephony/data/DataCallResponse$1;
-Landroid/telephony/data/DataCallResponse;
-Landroid/telephony/data/DataProfile$1;
-Landroid/telephony/data/DataProfile$Builder;
-Landroid/telephony/data/DataProfile;
-Landroid/telephony/data/DataService$DataCallListChangedIndication;
-Landroid/telephony/data/DataService$DataServiceHandler;
-Landroid/telephony/data/DataService$DataServiceProvider;
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;
-Landroid/telephony/data/DataService$IDataServiceWrapper;
-Landroid/telephony/data/DataService$SetDataProfileRequest;
-Landroid/telephony/data/DataService$SetInitialAttachApnRequest;
-Landroid/telephony/data/DataService$SetupDataCallRequest;
-Landroid/telephony/data/DataService;
-Landroid/telephony/data/DataServiceCallback;
-Landroid/telephony/data/IDataService$Stub$Proxy;
-Landroid/telephony/data/IDataService$Stub;
-Landroid/telephony/data/IDataService;
 Landroid/telephony/data/IDataServiceCallback$Stub$Proxy;
-Landroid/telephony/data/IDataServiceCallback$Stub;
-Landroid/telephony/data/IDataServiceCallback;
-Landroid/telephony/data/IQualifiedNetworksService$Stub$Proxy;
-Landroid/telephony/data/IQualifiedNetworksService$Stub;
-Landroid/telephony/data/IQualifiedNetworksService;
 Landroid/telephony/data/IQualifiedNetworksServiceCallback$Stub$Proxy;
-Landroid/telephony/data/IQualifiedNetworksServiceCallback$Stub;
-Landroid/telephony/data/IQualifiedNetworksServiceCallback;
-Landroid/telephony/emergency/EmergencyNumber$1;
-Landroid/telephony/emergency/EmergencyNumber;
-Landroid/telephony/euicc/DownloadableSubscription;
+Landroid/telephony/euicc/DownloadableSubscription$1;
 Landroid/telephony/euicc/EuiccCardManager$13;
 Landroid/telephony/euicc/EuiccCardManager$1;
-Landroid/telephony/euicc/EuiccCardManager$ResultCallback;
-Landroid/telephony/euicc/EuiccCardManager;
+Landroid/telephony/euicc/EuiccInfo$1;
 Landroid/telephony/euicc/EuiccInfo;
-Landroid/telephony/euicc/EuiccManager;
-Landroid/telephony/gsm/GsmCellLocation;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08;
-Landroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM;
-Landroid/telephony/ims/-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$APeqso3VzZZ0eUf5slP1k5xoCME;
-Landroid/telephony/ims/-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$DX_-dWIBwwX2oqDoRnq49RndG7s;
-Landroid/telephony/ims/-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$uTxkp6C02qJxic1W_dkZRCQ6aRw;
-Landroid/telephony/ims/ImsCallForwardInfo$1;
-Landroid/telephony/ims/ImsCallForwardInfo;
-Landroid/telephony/ims/ImsCallProfile$1;
-Landroid/telephony/ims/ImsCallProfile;
-Landroid/telephony/ims/ImsException;
-Landroid/telephony/ims/ImsExternalCallState$1;
-Landroid/telephony/ims/ImsExternalCallState;
-Landroid/telephony/ims/ImsManager;
-Landroid/telephony/ims/ImsMmTelManager$3;
-Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;
-Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;
-Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback;
-Landroid/telephony/ims/ImsMmTelManager;
-Landroid/telephony/ims/ImsReasonInfo$1;
-Landroid/telephony/ims/ImsReasonInfo;
-Landroid/telephony/ims/ImsService$1;
-Landroid/telephony/ims/ImsService$Listener;
-Landroid/telephony/ims/ImsService;
-Landroid/telephony/ims/ImsSsData;
-Landroid/telephony/ims/ImsSsInfo$1;
-Landroid/telephony/ims/ImsSsInfo;
-Landroid/telephony/ims/ImsUtListener;
-Landroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;
-Landroid/telephony/ims/ProvisioningManager$Callback;
-Landroid/telephony/ims/RegistrationManager$1;
-Landroid/telephony/ims/RegistrationManager$RegistrationCallback$RegistrationBinder;
-Landroid/telephony/ims/RegistrationManager$RegistrationCallback;
-Landroid/telephony/ims/RegistrationManager;
-Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;
-Landroid/telephony/ims/aidl/IImsCapabilityCallback;
-Landroid/telephony/ims/aidl/IImsConfig$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsConfig$Stub;
-Landroid/telephony/ims/aidl/IImsConfig;
-Landroid/telephony/ims/aidl/IImsConfigCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsConfigCallback$Stub;
-Landroid/telephony/ims/aidl/IImsConfigCallback;
-Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub;
-Landroid/telephony/ims/aidl/IImsMmTelFeature;
-Landroid/telephony/ims/aidl/IImsMmTelListener$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsMmTelListener$Stub;
-Landroid/telephony/ims/aidl/IImsMmTelListener;
-Landroid/telephony/ims/aidl/IImsRcsFeature$Stub;
-Landroid/telephony/ims/aidl/IImsRcsFeature;
-Landroid/telephony/ims/aidl/IImsRegistration$Stub;
-Landroid/telephony/ims/aidl/IImsRegistration;
-Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;
-Landroid/telephony/ims/aidl/IImsRegistrationCallback;
-Landroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsServiceController$Stub;
-Landroid/telephony/ims/aidl/IImsServiceController;
+Landroid/telephony/ims/ImsSsData$1;
 Landroid/telephony/ims/aidl/IImsServiceControllerListener$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsServiceControllerListener$Stub;
-Landroid/telephony/ims/aidl/IImsServiceControllerListener;
-Landroid/telephony/ims/aidl/IImsSmsListener$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsSmsListener$Stub;
-Landroid/telephony/ims/aidl/IImsSmsListener;
-Landroid/telephony/ims/aidl/IRcsMessage$Stub;
-Landroid/telephony/ims/aidl/IRcsMessage;
-Landroid/telephony/ims/feature/-$$Lambda$ImsFeature$9bLETU1BeS-dFzQnbBBs3kwaz-8;
 Landroid/telephony/ims/feature/-$$Lambda$ImsFeature$rPSMsRhoup9jfT6nt1MV2qhomrM;
-Landroid/telephony/ims/feature/CapabilityChangeRequest$1;
-Landroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;
-Landroid/telephony/ims/feature/CapabilityChangeRequest;
-Landroid/telephony/ims/feature/ImsFeature$1;
-Landroid/telephony/ims/feature/ImsFeature$2;
-Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;
-Landroid/telephony/ims/feature/ImsFeature;
-Landroid/telephony/ims/feature/MmTelFeature$1;
-Landroid/telephony/ims/feature/MmTelFeature$Listener;
-Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;
-Landroid/telephony/ims/feature/MmTelFeature;
-Landroid/telephony/ims/stub/-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;
-Landroid/telephony/ims/stub/ImsCallSessionImplBase;
-Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/stub/ImsConfigImplBase;
-Landroid/telephony/ims/stub/ImsEcbmImplBase$1;
-Landroid/telephony/ims/stub/ImsEcbmImplBase;
-Landroid/telephony/ims/stub/ImsFeatureConfiguration$1;
-Landroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;
-Landroid/telephony/ims/stub/ImsFeatureConfiguration;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase$1;
-Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$1;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase;
-Landroid/telephony/ims/stub/ImsSmsImplBase;
-Landroid/telephony/ims/stub/ImsUtImplBase$1;
-Landroid/telephony/ims/stub/ImsUtImplBase;
+Landroid/text/-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY;
 Landroid/text/AndroidBidi$EmojiBidiOverride;
 Landroid/text/AndroidBidi;
 Landroid/text/AndroidCharacter;
@@ -51202,6 +46679,7 @@
 Landroid/text/Layout$Directions;
 Landroid/text/Layout$Ellipsizer;
 Landroid/text/Layout$HorizontalMeasurementProvider;
+Landroid/text/Layout$SelectionRectangleConsumer;
 Landroid/text/Layout$SpannedEllipsizer;
 Landroid/text/Layout$TabStops;
 Landroid/text/Layout;
@@ -51272,8 +46750,10 @@
 Landroid/text/method/LinkMovementMethod;
 Landroid/text/method/MetaKeyKeyListener;
 Landroid/text/method/MovementMethod;
+Landroid/text/method/MultiTapKeyListener;
 Landroid/text/method/NumberKeyListener;
 Landroid/text/method/PasswordTransformationMethod;
+Landroid/text/method/QwertyKeyListener$Replaced;
 Landroid/text/method/QwertyKeyListener;
 Landroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;
 Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;
@@ -51281,6 +46761,7 @@
 Landroid/text/method/ScrollingMovementMethod;
 Landroid/text/method/SingleLineTransformationMethod;
 Landroid/text/method/TextKeyListener$Capitalize;
+Landroid/text/method/TextKeyListener$NullKeyListener;
 Landroid/text/method/TextKeyListener$SettingsObserver;
 Landroid/text/method/TextKeyListener;
 Landroid/text/method/TimeKeyListener;
@@ -51592,6 +47073,7 @@
 Landroid/view/-$$Lambda$InsetsController$6uoSHBPvxV1C0JOZKhH1AyuNXmo;
 Landroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;
 Landroid/view/-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q;
+Landroid/view/-$$Lambda$InsetsController$InternalAnimationControlListener$SInf91MjJKDQFXwrp7C-HBi0xaQ;
 Landroid/view/-$$Lambda$InsetsController$RZT3QkL9zMFTeHtZbfcaHIzvlsc;
 Landroid/view/-$$Lambda$InsetsController$zpmOxHfTFV_3me2u3C8YaXSUauQ;
 Landroid/view/-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g;
@@ -51603,6 +47085,8 @@
 Landroid/view/-$$Lambda$ThreadedRenderer$ydBD-R1iP5u-97XYakm-jKvC1b4;
 Landroid/view/-$$Lambda$View$bhR1vB5ZYp3dv-Kth4jtLSS0KEs;
 Landroid/view/-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ;
+Landroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$AjKvqdj7SGGIzA5qrlZUuu71jl8;
+Landroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$QbO7cM0ULKe25a7bfXG3VH6DB0c;
 Landroid/view/-$$Lambda$ViewRootImpl$DJd0VUYJgsebcnSohO6h8zc_ONI;
 Landroid/view/-$$Lambda$ViewRootImpl$IReiNMSbDakZSGbIZuL_ifaFWn8;
 Landroid/view/-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI;
@@ -51619,6 +47103,7 @@
 Landroid/view/AccessibilityInteractionController$AccessibilityNodePrefetcher;
 Landroid/view/AccessibilityInteractionController$PrivateHandler;
 Landroid/view/AccessibilityInteractionController;
+Landroid/view/ActionMode$Callback2;
 Landroid/view/ActionMode$Callback;
 Landroid/view/ActionMode;
 Landroid/view/ActionProvider$SubUiVisibilityListener;
@@ -51640,6 +47125,8 @@
 Landroid/view/ContextMenu$ContextMenuInfo;
 Landroid/view/ContextMenu;
 Landroid/view/ContextThemeWrapper;
+Landroid/view/CutoutSpecification$Parser;
+Landroid/view/CutoutSpecification;
 Landroid/view/Display$HdrCapabilities$1;
 Landroid/view/Display$HdrCapabilities;
 Landroid/view/Display$Mode$1;
@@ -51688,6 +47175,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;
@@ -51783,6 +47271,15 @@
 Landroid/view/InputQueue;
 Landroid/view/InputWindowHandle;
 Landroid/view/InsetsAnimationControlCallbacks;
+Landroid/view/InsetsAnimationControlImpl;
+Landroid/view/InsetsAnimationControlRunner;
+Landroid/view/InsetsAnimationThread;
+Landroid/view/InsetsController$1;
+Landroid/view/InsetsController$InternalAnimationControlListener$1;
+Landroid/view/InsetsController$InternalAnimationControlListener$2;
+Landroid/view/InsetsController$InternalAnimationControlListener;
+Landroid/view/InsetsController$PendingControlRequest;
+Landroid/view/InsetsController$RunningAnimation;
 Landroid/view/InsetsController;
 Landroid/view/InsetsFlags;
 Landroid/view/InsetsSource$1;
@@ -51819,9 +47316,16 @@
 Landroid/view/MotionEvent$PointerProperties;
 Landroid/view/MotionEvent;
 Landroid/view/NativeVectorDrawableAnimator;
+Landroid/view/NotificationHeaderView$1;
+Landroid/view/NotificationHeaderView$HeaderTouchListener;
+Landroid/view/NotificationHeaderView;
 Landroid/view/OrientationEventListener$SensorEventListenerImpl;
 Landroid/view/OrientationEventListener;
 Landroid/view/OrientationListener;
+Landroid/view/PendingInsetsController;
+Landroid/view/PixelCopy$1;
+Landroid/view/PixelCopy$OnPixelCopyFinishedListener;
+Landroid/view/PixelCopy;
 Landroid/view/PointerIcon$1;
 Landroid/view/PointerIcon$2;
 Landroid/view/PointerIcon;
@@ -51863,6 +47367,7 @@
 Landroid/view/SurfaceControl$Transaction$1;
 Landroid/view/SurfaceControl$Transaction;
 Landroid/view/SurfaceControl;
+Landroid/view/SurfaceControlViewHost$SurfacePackage$1;
 Landroid/view/SurfaceControlViewHost$SurfacePackage;
 Landroid/view/SurfaceHolder$Callback2;
 Landroid/view/SurfaceHolder$Callback;
@@ -51871,6 +47376,9 @@
 Landroid/view/SurfaceView$1;
 Landroid/view/SurfaceView$2;
 Landroid/view/SurfaceView;
+Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams$Builder;
+Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;
+Landroid/view/SyncRtSurfaceTransactionApplier;
 Landroid/view/TextureLayer;
 Landroid/view/TextureView$SurfaceTextureListener;
 Landroid/view/TextureView;
@@ -51937,6 +47445,7 @@
 Landroid/view/View$VisibilityChangeForAutofillHandler;
 Landroid/view/View;
 Landroid/view/ViewAnimationHostBridge;
+Landroid/view/ViewAnimationUtils;
 Landroid/view/ViewConfiguration;
 Landroid/view/ViewDebug$ExportedProperty;
 Landroid/view/ViewDebug$FlagToString;
@@ -51953,6 +47462,7 @@
 Landroid/view/ViewGroup$MarginLayoutParams;
 Landroid/view/ViewGroup$OnHierarchyChangeListener;
 Landroid/view/ViewGroup$TouchTarget;
+Landroid/view/ViewGroup$ViewLocationHolder;
 Landroid/view/ViewGroup;
 Landroid/view/ViewGroupOverlay;
 Landroid/view/ViewManager;
@@ -52052,6 +47562,11 @@
 Landroid/view/WindowInsets$Side;
 Landroid/view/WindowInsets$Type;
 Landroid/view/WindowInsets;
+Landroid/view/WindowInsetsAnimation$Bounds;
+Landroid/view/WindowInsetsAnimation$Callback;
+Landroid/view/WindowInsetsAnimation;
+Landroid/view/WindowInsetsAnimationControlListener;
+Landroid/view/WindowInsetsAnimationController;
 Landroid/view/WindowInsetsController;
 Landroid/view/WindowLeaked;
 Landroid/view/WindowManager$BadTokenException;
@@ -52085,7 +47600,9 @@
 Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
 Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
 Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;
+Landroid/view/accessibility/AccessibilityNodeInfo$ExtraRenderingInfo;
 Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;
+Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo$1;
 Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;
 Landroid/view/accessibility/AccessibilityNodeInfo;
 Landroid/view/accessibility/AccessibilityNodeProvider;
@@ -52107,6 +47624,7 @@
 Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
 Landroid/view/accessibility/IAccessibilityManagerClient$Stub;
 Landroid/view/accessibility/IAccessibilityManagerClient;
+Landroid/view/accessibility/IWindowMagnificationConnection$Stub$Proxy;
 Landroid/view/accessibility/IWindowMagnificationConnection$Stub;
 Landroid/view/accessibility/IWindowMagnificationConnection;
 Landroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;
@@ -52167,10 +47685,16 @@
 Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;
 Landroid/view/autofill/IAutoFillManagerClient$Stub;
 Landroid/view/autofill/IAutoFillManagerClient;
+Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;
 Landroid/view/autofill/IAutofillWindowPresenter$Stub;
 Landroid/view/autofill/IAutofillWindowPresenter;
 Landroid/view/autofill/ParcelableMap$1;
 Landroid/view/autofill/ParcelableMap;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$1$JPRO-nNGZpgXrKr4QC_iQiTbQx0;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$1$Xhq3WJibbalS1G_W3PRC2m7muhM;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$49zT7C2BXrEdkyggyGk1Qs4d46k;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$HTmdDf687TPcaTnLyPp3wo0gI60;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$UWslDbWedtPhv49PtRsvG4TlYWw;
 Landroid/view/contentcapture/ContentCaptureCondition$1;
 Landroid/view/contentcapture/ContentCaptureCondition;
 Landroid/view/contentcapture/ContentCaptureContext$1;
@@ -52182,17 +47706,27 @@
 Landroid/view/contentcapture/ContentCaptureManager$ContentCaptureClient;
 Landroid/view/contentcapture/ContentCaptureManager;
 Landroid/view/contentcapture/ContentCaptureSession;
+Landroid/view/contentcapture/ContentCaptureSessionId$1;
 Landroid/view/contentcapture/ContentCaptureSessionId;
 Landroid/view/contentcapture/DataRemovalRequest$1;
+Landroid/view/contentcapture/DataRemovalRequest$LocusIdRequest;
 Landroid/view/contentcapture/DataRemovalRequest;
+Landroid/view/contentcapture/DataShareRequest$1;
 Landroid/view/contentcapture/DataShareRequest;
+Landroid/view/contentcapture/IContentCaptureDirectManager$Stub$Proxy;
+Landroid/view/contentcapture/IContentCaptureDirectManager$Stub;
+Landroid/view/contentcapture/IContentCaptureDirectManager;
 Landroid/view/contentcapture/IContentCaptureManager$Stub$Proxy;
 Landroid/view/contentcapture/IContentCaptureManager$Stub;
 Landroid/view/contentcapture/IContentCaptureManager;
+Landroid/view/contentcapture/IDataShareWriteAdapter$Stub$Proxy;
 Landroid/view/contentcapture/IDataShareWriteAdapter$Stub;
 Landroid/view/contentcapture/IDataShareWriteAdapter;
 Landroid/view/contentcapture/MainContentCaptureSession$1;
 Landroid/view/contentcapture/MainContentCaptureSession;
+Landroid/view/contentcapture/ViewNode$ViewNodeText;
+Landroid/view/contentcapture/ViewNode$ViewStructureImpl;
+Landroid/view/contentcapture/ViewNode;
 Landroid/view/inputmethod/-$$Lambda$InputMethodManager$DelegateImpl$r2X8PLo_YIORJTYJGDfinf_IvK4;
 Landroid/view/inputmethod/-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0;
 Landroid/view/inputmethod/-$$Lambda$InputMethodManager$iDWn3IGSUFqIcs8Py42UhfrshxI;
@@ -52213,6 +47747,7 @@
 Landroid/view/inputmethod/ExtractedText;
 Landroid/view/inputmethod/ExtractedTextRequest$1;
 Landroid/view/inputmethod/ExtractedTextRequest;
+Landroid/view/inputmethod/InlineSuggestionsRequest$1;
 Landroid/view/inputmethod/InlineSuggestionsRequest;
 Landroid/view/inputmethod/InputBinding$1;
 Landroid/view/inputmethod/InputBinding;
@@ -52252,6 +47787,7 @@
 Landroid/view/textclassifier/-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI;
 Landroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;
 Landroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;
+Landroid/view/textclassifier/-$$Lambda$TextClassification$ysasaE5ZkXkkzjVWIJ06GTV92-g;
 Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE;
 Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;
 Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;
@@ -52290,9 +47826,11 @@
 Landroid/view/textclassifier/SystemTextClassifier$BlockingCallback;
 Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
 Landroid/view/textclassifier/SystemTextClassifier;
+Landroid/view/textclassifier/SystemTextClassifierMetadata;
 Landroid/view/textclassifier/TextClassification$1;
 Landroid/view/textclassifier/TextClassification$Builder;
 Landroid/view/textclassifier/TextClassification$Request$1;
+Landroid/view/textclassifier/TextClassification$Request$Builder;
 Landroid/view/textclassifier/TextClassification$Request;
 Landroid/view/textclassifier/TextClassification;
 Landroid/view/textclassifier/TextClassificationConstants;
@@ -52301,6 +47839,8 @@
 Landroid/view/textclassifier/TextClassificationContext;
 Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;
 Landroid/view/textclassifier/TextClassificationManager;
+Landroid/view/textclassifier/TextClassificationSession$CleanerRunnable;
+Landroid/view/textclassifier/TextClassificationSession$SelectionEventHelper;
 Landroid/view/textclassifier/TextClassificationSession;
 Landroid/view/textclassifier/TextClassificationSessionFactory;
 Landroid/view/textclassifier/TextClassificationSessionId$1;
@@ -52330,9 +47870,11 @@
 Landroid/view/textclassifier/TextLanguage$Request$Builder;
 Landroid/view/textclassifier/TextLanguage$Request;
 Landroid/view/textclassifier/TextLanguage;
+Landroid/view/textclassifier/TextLinks$1;
 Landroid/view/textclassifier/TextLinks$Builder;
 Landroid/view/textclassifier/TextLinks$Request$1;
 Landroid/view/textclassifier/TextLinks$Request;
+Landroid/view/textclassifier/TextLinks$TextLink$1;
 Landroid/view/textclassifier/TextLinks$TextLink;
 Landroid/view/textclassifier/TextLinks$TextLinkSpan;
 Landroid/view/textclassifier/TextLinks;
@@ -52350,6 +47892,8 @@
 Landroid/view/textclassifier/intent/TemplateIntentFactory;
 Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
 Landroid/view/textclassifier/logging/SmartSelectionEventTracker;
+Landroid/view/textservice/SentenceSuggestionsInfo$1;
+Landroid/view/textservice/SentenceSuggestionsInfo;
 Landroid/view/textservice/SpellCheckerInfo$1;
 Landroid/view/textservice/SpellCheckerInfo;
 Landroid/view/textservice/SpellCheckerSession$1;
@@ -52361,6 +47905,9 @@
 Landroid/view/textservice/SpellCheckerSession;
 Landroid/view/textservice/SpellCheckerSubtype$1;
 Landroid/view/textservice/SpellCheckerSubtype;
+Landroid/view/textservice/SuggestionsInfo$1;
+Landroid/view/textservice/SuggestionsInfo;
+Landroid/view/textservice/TextInfo$1;
 Landroid/view/textservice/TextInfo;
 Landroid/view/textservice/TextServicesManager;
 Landroid/webkit/ConsoleMessage$MessageLevel;
@@ -52368,6 +47915,8 @@
 Landroid/webkit/CookieManager;
 Landroid/webkit/CookieSyncManager;
 Landroid/webkit/DownloadListener;
+Landroid/webkit/FindAddress$ZipRange;
+Landroid/webkit/FindAddress;
 Landroid/webkit/GeolocationPermissions;
 Landroid/webkit/IWebViewUpdateService$Stub$Proxy;
 Landroid/webkit/IWebViewUpdateService$Stub;
@@ -52390,6 +47939,7 @@
 Landroid/webkit/WebMessagePort;
 Landroid/webkit/WebResourceError;
 Landroid/webkit/WebResourceRequest;
+Landroid/webkit/WebResourceResponse;
 Landroid/webkit/WebSettings$PluginState;
 Landroid/webkit/WebSettings;
 Landroid/webkit/WebStorage;
@@ -52420,9 +47970,12 @@
 Landroid/webkit/WebViewProviderResponse$1;
 Landroid/webkit/WebViewProviderResponse;
 Landroid/webkit/WebViewZygote;
+Landroid/widget/-$$Lambda$DZXn7FbDDFyBvNjI-iG9_hfa7kw;
+Landroid/widget/-$$Lambda$DateTimeView$ReceiverInfo$AVLnX7U5lTcE9jLnlKKNAT1GUeI;
 Landroid/widget/-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg;
 Landroid/widget/-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw;
 Landroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;
+Landroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;
 Landroid/widget/-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc;
 Landroid/widget/-$$Lambda$RemoteViews$FAOkoZgPKPkiYdtkDxAhkeoykww;
 Landroid/widget/-$$Lambda$RemoteViews$Ld8XNSMwygf42608Zln-rjTyHy0;
@@ -52456,6 +48009,7 @@
 Landroid/widget/AbsSeekBar;
 Landroid/widget/AbsSpinner$RecycleBin;
 Landroid/widget/AbsSpinner$SavedState$1;
+Landroid/widget/AbsSpinner$SavedState;
 Landroid/widget/AbsSpinner;
 Landroid/widget/AbsoluteLayout$LayoutParams;
 Landroid/widget/AbsoluteLayout;
@@ -52495,8 +48049,14 @@
 Landroid/widget/Chronometer$OnChronometerTickListener;
 Landroid/widget/Chronometer;
 Landroid/widget/CompoundButton$OnCheckedChangeListener;
+Landroid/widget/CompoundButton$SavedState$1;
 Landroid/widget/CompoundButton$SavedState;
 Landroid/widget/CompoundButton;
+Landroid/widget/DateTimeView$ReceiverInfo$1;
+Landroid/widget/DateTimeView$ReceiverInfo$2;
+Landroid/widget/DateTimeView$ReceiverInfo;
+Landroid/widget/DateTimeView;
+Landroid/widget/DropDownListView;
 Landroid/widget/EdgeEffect;
 Landroid/widget/EditText;
 Landroid/widget/Editor$1;
@@ -52515,7 +48075,9 @@
 Landroid/widget/Editor$HandleView;
 Landroid/widget/Editor$InputContentType;
 Landroid/widget/Editor$InputMethodState;
+Landroid/widget/Editor$InsertionHandleView$1;
 Landroid/widget/Editor$InsertionHandleView;
+Landroid/widget/Editor$InsertionPointCursorController$1;
 Landroid/widget/Editor$InsertionPointCursorController;
 Landroid/widget/Editor$MagnifierMotionAnimator;
 Landroid/widget/Editor$PinnedPopupWindow;
@@ -52541,7 +48103,11 @@
 Landroid/widget/FastScroller$5;
 Landroid/widget/FastScroller$6;
 Landroid/widget/FastScroller;
+Landroid/widget/Filter$Delayer;
 Landroid/widget/Filter$FilterListener;
+Landroid/widget/Filter$FilterResults;
+Landroid/widget/Filter$RequestArguments;
+Landroid/widget/Filter$RequestHandler;
 Landroid/widget/Filter$ResultsHandler;
 Landroid/widget/Filter;
 Landroid/widget/Filterable;
@@ -52605,6 +48171,12 @@
 Landroid/widget/PopupWindow$2;
 Landroid/widget/PopupWindow$3;
 Landroid/widget/PopupWindow$OnDismissListener;
+Landroid/widget/PopupWindow$PopupBackgroundView;
+Landroid/widget/PopupWindow$PopupDecorView$1$1;
+Landroid/widget/PopupWindow$PopupDecorView$1;
+Landroid/widget/PopupWindow$PopupDecorView$2;
+Landroid/widget/PopupWindow$PopupDecorView$3;
+Landroid/widget/PopupWindow$PopupDecorView$4;
 Landroid/widget/PopupWindow$PopupDecorView;
 Landroid/widget/PopupWindow;
 Landroid/widget/ProgressBar$1;
@@ -52680,13 +48252,16 @@
 Landroid/widget/SelectionActionModeHelper;
 Landroid/widget/SmartSelectSprite;
 Landroid/widget/Space;
+Landroid/widget/SpellChecker$1;
 Landroid/widget/SpellChecker$SpellParser;
 Landroid/widget/SpellChecker;
 Landroid/widget/Spinner$1;
+Landroid/widget/Spinner$DialogPopup;
 Landroid/widget/Spinner$DropDownAdapter;
 Landroid/widget/Spinner$DropdownPopup$1;
 Landroid/widget/Spinner$DropdownPopup;
 Landroid/widget/Spinner$SavedState$1;
+Landroid/widget/Spinner$SavedState;
 Landroid/widget/Spinner$SpinnerPopup;
 Landroid/widget/Spinner;
 Landroid/widget/SpinnerAdapter;
@@ -52696,6 +48271,10 @@
 Landroid/widget/TableLayout;
 Landroid/widget/TableRow$ChildrenTracker;
 Landroid/widget/TableRow;
+Landroid/widget/TextClock$1;
+Landroid/widget/TextClock$2;
+Landroid/widget/TextClock$FormatChangeObserver;
+Landroid/widget/TextClock;
 Landroid/widget/TextView$1;
 Landroid/widget/TextView$2;
 Landroid/widget/TextView$3;
@@ -52719,6 +48298,7 @@
 Landroid/widget/Toast$TN$1;
 Landroid/widget/Toast$TN;
 Landroid/widget/Toast;
+Landroid/widget/ToastPresenter;
 Landroid/widget/ToggleButton;
 Landroid/widget/Toolbar$1;
 Landroid/widget/Toolbar$2;
@@ -52729,6 +48309,9 @@
 Landroid/widget/Toolbar$SavedState;
 Landroid/widget/Toolbar;
 Landroid/widget/ViewAnimator;
+Landroid/widget/ViewFlipper$1;
+Landroid/widget/ViewFlipper$2;
+Landroid/widget/ViewFlipper;
 Landroid/widget/ViewSwitcher;
 Landroid/widget/WrapperListAdapter;
 Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
@@ -52748,6 +48331,8 @@
 Lcom/android/i18n/phonenumbers/NumberParseException$ErrorType;
 Lcom/android/i18n/phonenumbers/NumberParseException;
 Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
+Lcom/android/i18n/phonenumbers/PhoneNumberMatcher$State;
+Lcom/android/i18n/phonenumbers/PhoneNumberMatcher;
 Lcom/android/i18n/phonenumbers/PhoneNumberUtil$1;
 Lcom/android/i18n/phonenumbers/PhoneNumberUtil$2;
 Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$1;
@@ -52796,13 +48381,9 @@
 Lcom/android/ims/ImsCall$Listener;
 Lcom/android/ims/ImsCall;
 Lcom/android/ims/ImsCallbackAdapterManager;
-Lcom/android/ims/ImsConfig;
-Lcom/android/ims/ImsConfigListener$Stub;
-Lcom/android/ims/ImsConfigListener;
 Lcom/android/ims/ImsEcbm$ImsEcbmListenerProxy;
 Lcom/android/ims/ImsEcbm;
 Lcom/android/ims/ImsEcbmStateListener;
-Lcom/android/ims/ImsException;
 Lcom/android/ims/ImsExternalCallStateListener;
 Lcom/android/ims/ImsManager$2;
 Lcom/android/ims/ImsManager$3;
@@ -52813,32 +48394,13 @@
 Lcom/android/ims/ImsMultiEndpoint;
 Lcom/android/ims/ImsUt$IImsUtListenerProxy;
 Lcom/android/ims/ImsUt;
-Lcom/android/ims/ImsUtInterface;
 Lcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;
 Lcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;
 Lcom/android/ims/MmTelFeatureConnection$ProvisioningCallbackManager;
 Lcom/android/ims/MmTelFeatureConnection;
 Lcom/android/ims/Registrant;
 Lcom/android/ims/internal/ICall;
-Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsEcbm$Stub;
-Lcom/android/ims/internal/IImsEcbm;
-Lcom/android/ims/internal/IImsEcbmListener$Stub;
-Lcom/android/ims/internal/IImsEcbmListener;
-Lcom/android/ims/internal/IImsExternalCallStateListener$Stub;
-Lcom/android/ims/internal/IImsExternalCallStateListener;
 Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub$Proxy;
-Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;
-Lcom/android/ims/internal/IImsFeatureStatusCallback;
-Lcom/android/ims/internal/IImsMultiEndpoint$Stub;
-Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;
-Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;
-Lcom/android/ims/internal/IImsServiceFeatureCallback;
-Lcom/android/ims/internal/IImsUt$Stub;
-Lcom/android/ims/internal/IImsUt;
-Lcom/android/ims/internal/IImsUtListener$Stub;
-Lcom/android/ims/internal/IImsUtListener;
 Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;
 Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
 Lcom/android/ims/internal/uce/UceServiceBase;
@@ -52966,15 +48528,24 @@
 Lcom/android/internal/backup/IBackupTransport$Stub;
 Lcom/android/internal/backup/IBackupTransport;
 Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;
+Lcom/android/internal/colorextraction/ColorExtractor$LoadWallpaperColors;
+Lcom/android/internal/colorextraction/ColorExtractor$OnColorsChangedListener;
+Lcom/android/internal/colorextraction/ColorExtractor;
+Lcom/android/internal/colorextraction/drawable/-$$Lambda$ScrimDrawable$UWtyAZ9Ss5P5TukFNvAyvh0pNf0;
+Lcom/android/internal/colorextraction/drawable/ScrimDrawable$1;
+Lcom/android/internal/colorextraction/drawable/ScrimDrawable;
 Lcom/android/internal/colorextraction/types/ExtractionType;
 Lcom/android/internal/colorextraction/types/Tonal$ConfigParser;
 Lcom/android/internal/colorextraction/types/Tonal$TonalPalette;
 Lcom/android/internal/colorextraction/types/Tonal;
+Lcom/android/internal/compat/AndroidBuildClassifier;
 Lcom/android/internal/compat/ChangeReporter$ChangeReport;
 Lcom/android/internal/compat/ChangeReporter;
+Lcom/android/internal/compat/CompatibilityChangeConfig$1;
 Lcom/android/internal/compat/CompatibilityChangeConfig;
 Lcom/android/internal/compat/CompatibilityChangeInfo$1;
 Lcom/android/internal/compat/CompatibilityChangeInfo;
+Lcom/android/internal/compat/IOverrideValidator$Stub;
 Lcom/android/internal/compat/IOverrideValidator;
 Lcom/android/internal/compat/IPlatformCompat$Stub$Proxy;
 Lcom/android/internal/compat/IPlatformCompat$Stub;
@@ -53036,8 +48607,10 @@
 Lcom/android/internal/infra/AndroidFuture$2;
 Lcom/android/internal/infra/AndroidFuture;
 Lcom/android/internal/infra/GlobalWhitelistState;
+Lcom/android/internal/infra/IAndroidFuture$Stub$Proxy;
 Lcom/android/internal/infra/IAndroidFuture$Stub;
 Lcom/android/internal/infra/IAndroidFuture;
+Lcom/android/internal/infra/PerUser;
 Lcom/android/internal/infra/RemoteStream$1;
 Lcom/android/internal/infra/RemoteStream;
 Lcom/android/internal/infra/ServiceConnector$Impl$CompletionAwareJob;
@@ -53069,9 +48642,12 @@
 Lcom/android/internal/location/ProviderProperties$1;
 Lcom/android/internal/location/ProviderProperties;
 Lcom/android/internal/location/ProviderRequest$1;
+Lcom/android/internal/location/ProviderRequest$Builder;
 Lcom/android/internal/location/ProviderRequest;
+Lcom/android/internal/location/gnssmetrics/GnssMetrics$1;
 Lcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;
 Lcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;
+Lcom/android/internal/location/gnssmetrics/GnssMetrics$StatsPullAtomCallbackImpl;
 Lcom/android/internal/location/gnssmetrics/GnssMetrics;
 Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
 Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
@@ -53079,8 +48655,12 @@
 Lcom/android/internal/logging/AndroidHandler$1;
 Lcom/android/internal/logging/AndroidHandler;
 Lcom/android/internal/logging/EventLogTags;
+Lcom/android/internal/logging/InstanceId$1;
 Lcom/android/internal/logging/InstanceId;
 Lcom/android/internal/logging/MetricsLogger;
+Lcom/android/internal/logging/UiEventLogger$UiEventEnum;
+Lcom/android/internal/logging/UiEventLogger;
+Lcom/android/internal/logging/UiEventLoggerImpl;
 Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;
 Lcom/android/internal/net/INetworkWatchlistManager$Stub;
 Lcom/android/internal/net/INetworkWatchlistManager;
@@ -53278,11 +48858,15 @@
 Lcom/android/internal/os/ZygoteServer;
 Lcom/android/internal/os/logging/MetricsLoggerWrapper;
 Lcom/android/internal/policy/-$$Lambda$PhoneWindow$9SyKQeTuaYx7qUIMJIr4Lk2OpYw;
+Lcom/android/internal/policy/-$$Lambda$PhoneWindow$F9lizKYeW8CQHD_8FLjKaBpUfBQ;
 Lcom/android/internal/policy/BackdropFrameRenderer;
 Lcom/android/internal/policy/DecorContext;
 Lcom/android/internal/policy/DecorView$1;
 Lcom/android/internal/policy/DecorView$2;
 Lcom/android/internal/policy/DecorView$3;
+Lcom/android/internal/policy/DecorView$6;
+Lcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper$1;
+Lcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;
 Lcom/android/internal/policy/DecorView$ColorViewAttributes;
 Lcom/android/internal/policy/DecorView$ColorViewState;
 Lcom/android/internal/policy/DecorView;
@@ -53373,8 +48957,6 @@
 Lcom/android/internal/telephony/-$$Lambda$RIL$Ir4pOMTf7R0Jtw4O3F7JgMVtXO4;
 Lcom/android/internal/telephony/-$$Lambda$RIL$ZGWeCQ9boMO1_J1_yQ82l_jK-Nc;
 Lcom/android/internal/telephony/-$$Lambda$RIL$zYsQZAc3z9bM5fCaq_J0dn5kjjo;
-Lcom/android/internal/telephony/-$$Lambda$RILConstants$ODSbRKyUeaOFMcez-ZudOmaKCBw;
-Lcom/android/internal/telephony/-$$Lambda$RILConstants$zIAjDPNpW8a5C22QbMmMwM64vD8;
 Lcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;
 Lcom/android/internal/telephony/-$$Lambda$RadioIndication$GND6XxOOm1d_Ro76zEUFjA9OrEA;
 Lcom/android/internal/telephony/-$$Lambda$SmsApplication$5KAxbm71Dll9xmT5zeXi0i27A10;
@@ -53439,8 +49021,6 @@
 Lcom/android/internal/telephony/CarrierSignalAgent;
 Lcom/android/internal/telephony/CarrierSmsUtils;
 Lcom/android/internal/telephony/CellBroadcastServiceManager;
-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;
@@ -53454,8 +49034,6 @@
 Lcom/android/internal/telephony/Connection$Listener;
 Lcom/android/internal/telephony/Connection$PostDialState;
 Lcom/android/internal/telephony/Connection;
-Lcom/android/internal/telephony/DctConstants$Activity;
-Lcom/android/internal/telephony/DctConstants$State;
 Lcom/android/internal/telephony/DebugService;
 Lcom/android/internal/telephony/DefaultPhoneNotifier$1;
 Lcom/android/internal/telephony/DefaultPhoneNotifier;
@@ -53467,9 +49045,6 @@
 Lcom/android/internal/telephony/DriverCall$State;
 Lcom/android/internal/telephony/DriverCall;
 Lcom/android/internal/telephony/EncodeException;
-Lcom/android/internal/telephony/ExponentialBackoff$1;
-Lcom/android/internal/telephony/ExponentialBackoff$HandlerAdapter;
-Lcom/android/internal/telephony/ExponentialBackoff;
 Lcom/android/internal/telephony/GlobalSettingsHelper;
 Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
 Lcom/android/internal/telephony/GsmAlphabet;
@@ -53490,21 +49065,12 @@
 Lcom/android/internal/telephony/HbpcdLookup$MccLookup;
 Lcom/android/internal/telephony/HbpcdUtils;
 Lcom/android/internal/telephony/HexDump;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;
-Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;
-Lcom/android/internal/telephony/ICarrierConfigLoader;
 Lcom/android/internal/telephony/IIccPhoneBook$Stub$Proxy;
 Lcom/android/internal/telephony/IIccPhoneBook$Stub;
 Lcom/android/internal/telephony/IIccPhoneBook;
-Lcom/android/internal/telephony/IIntegerConsumer$Stub$Proxy;
-Lcom/android/internal/telephony/IIntegerConsumer$Stub;
-Lcom/android/internal/telephony/IIntegerConsumer;
 Lcom/android/internal/telephony/IMms$Stub$Proxy;
 Lcom/android/internal/telephony/IMms$Stub;
 Lcom/android/internal/telephony/IMms;
-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;
@@ -53514,30 +49080,12 @@
 Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
 Lcom/android/internal/telephony/IPhoneStateListener$Stub;
 Lcom/android/internal/telephony/IPhoneStateListener;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;
-Lcom/android/internal/telephony/IPhoneSubInfo$Stub;
-Lcom/android/internal/telephony/IPhoneSubInfo;
-Lcom/android/internal/telephony/ISetOpportunisticDataCallback$Stub$Proxy;
-Lcom/android/internal/telephony/ISetOpportunisticDataCallback$Stub;
-Lcom/android/internal/telephony/ISetOpportunisticDataCallback;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;
-Lcom/android/internal/telephony/ISms$Stub;
-Lcom/android/internal/telephony/ISms;
-Lcom/android/internal/telephony/ISmsImplBase;
 Lcom/android/internal/telephony/IState;
-Lcom/android/internal/telephony/ISub$Stub$Proxy;
-Lcom/android/internal/telephony/ISub$Stub;
-Lcom/android/internal/telephony/ISub;
-Lcom/android/internal/telephony/ITelephony$Stub$Proxy;
-Lcom/android/internal/telephony/ITelephony$Stub;
-Lcom/android/internal/telephony/ITelephony;
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub;
 Lcom/android/internal/telephony/ITelephonyRegistry;
 Lcom/android/internal/telephony/IUpdateAvailableNetworksCallback;
-Lcom/android/internal/telephony/IWapPushManager;
 Lcom/android/internal/telephony/IccCard;
-Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;
 Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;
 Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
@@ -53597,18 +49145,11 @@
 Lcom/android/internal/telephony/NitzStateMachineImpl;
 Lcom/android/internal/telephony/OemHookIndication;
 Lcom/android/internal/telephony/OemHookResponse;
-Lcom/android/internal/telephony/OperatorInfo$1;
-Lcom/android/internal/telephony/OperatorInfo$State;
-Lcom/android/internal/telephony/OperatorInfo;
 Lcom/android/internal/telephony/Phone$1;
 Lcom/android/internal/telephony/Phone;
 Lcom/android/internal/telephony/PhoneConfigurationManager$ConfigManagerHandler;
 Lcom/android/internal/telephony/PhoneConfigurationManager$MockableInterface;
 Lcom/android/internal/telephony/PhoneConfigurationManager;
-Lcom/android/internal/telephony/PhoneConstantConversions$1;
-Lcom/android/internal/telephony/PhoneConstantConversions;
-Lcom/android/internal/telephony/PhoneConstants$DataState;
-Lcom/android/internal/telephony/PhoneConstants$State;
 Lcom/android/internal/telephony/PhoneFactory;
 Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
 Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
@@ -53632,7 +49173,6 @@
 Lcom/android/internal/telephony/RIL$RadioProxyDeathRecipient;
 Lcom/android/internal/telephony/RIL$RilHandler;
 Lcom/android/internal/telephony/RIL;
-Lcom/android/internal/telephony/RILConstants;
 Lcom/android/internal/telephony/RILRequest;
 Lcom/android/internal/telephony/RadioBugDetector;
 Lcom/android/internal/telephony/RadioCapability;
@@ -53677,10 +49217,11 @@
 Lcom/android/internal/telephony/SmsDispatchersController$1;
 Lcom/android/internal/telephony/SmsDispatchersController;
 Lcom/android/internal/telephony/SmsHeader$ConcatRef;
+Lcom/android/internal/telephony/SmsHeader$MiscElt;
 Lcom/android/internal/telephony/SmsHeader$PortAddrs;
+Lcom/android/internal/telephony/SmsHeader$SpecialSmsMsg;
 Lcom/android/internal/telephony/SmsHeader;
 Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
-Lcom/android/internal/telephony/SmsMessageBase;
 Lcom/android/internal/telephony/SmsNumberUtils$NumberEntry;
 Lcom/android/internal/telephony/SmsNumberUtils;
 Lcom/android/internal/telephony/SmsPermissions;
@@ -53710,7 +49251,6 @@
 Lcom/android/internal/telephony/TimeServiceHelper;
 Lcom/android/internal/telephony/TimeUtils;
 Lcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;
-Lcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;
 Lcom/android/internal/telephony/TimeZoneLookupHelper;
 Lcom/android/internal/telephony/UUSInfo;
 Lcom/android/internal/telephony/UiccPhoneBookController;
@@ -53771,7 +49311,7 @@
 Lcom/android/internal/telephony/cdma/EriInfo;
 Lcom/android/internal/telephony/cdma/EriManager$EriFile;
 Lcom/android/internal/telephony/cdma/EriManager;
-Lcom/android/internal/telephony/cdma/SmsMessage;
+Lcom/android/internal/telephony/cdma/sms/BearerData$CodingException;
 Lcom/android/internal/telephony/cdma/sms/BearerData$TimeStamp;
 Lcom/android/internal/telephony/cdma/sms/BearerData;
 Lcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;
@@ -53886,11 +49426,6 @@
 Lcom/android/internal/telephony/euicc/EuiccController$3;
 Lcom/android/internal/telephony/euicc/EuiccController;
 Lcom/android/internal/telephony/euicc/IEuiccCardController$Stub$Proxy;
-Lcom/android/internal/telephony/euicc/IEuiccCardController$Stub;
-Lcom/android/internal/telephony/euicc/IEuiccCardController;
-Lcom/android/internal/telephony/euicc/IEuiccController$Stub$Proxy;
-Lcom/android/internal/telephony/euicc/IEuiccController$Stub;
-Lcom/android/internal/telephony/euicc/IEuiccController;
 Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback$Stub;
 Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback;
 Lcom/android/internal/telephony/euicc/IGetEuiccInfo1Callback$Stub;
@@ -53901,9 +49436,7 @@
 Lcom/android/internal/telephony/gsm/GsmSMSDispatcher;
 Lcom/android/internal/telephony/gsm/GsmSmsAddress;
 Lcom/android/internal/telephony/gsm/SimTlv;
-Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;
 Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;
-Lcom/android/internal/telephony/gsm/SmsMessage;
 Lcom/android/internal/telephony/gsm/SuppServiceNotification;
 Lcom/android/internal/telephony/gsm/UsimDataDownloadHandler;
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;
@@ -53938,11 +49471,6 @@
 Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;
 Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;
 Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
-Lcom/android/internal/telephony/ims/RcsEventQueryHelper;
-Lcom/android/internal/telephony/ims/RcsMessageController;
-Lcom/android/internal/telephony/ims/RcsMessageQueryHelper;
-Lcom/android/internal/telephony/ims/RcsMessageStoreUtil;
-Lcom/android/internal/telephony/ims/RcsParticipantQueryHelper;
 Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;
 Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$1;
@@ -53983,6 +49511,7 @@
 Lcom/android/internal/telephony/imsphone/ImsPhoneFactory;
 Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
 Lcom/android/internal/telephony/imsphone/ImsPullCall;
+Lcom/android/internal/telephony/imsphone/ImsRegistrationCallbackHelper$ImsRegistrationUpdate;
 Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$fLmZDbNadlr6LF7zSJ6jCR1AAsk;
 Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY;
 Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$x2dJi76S2YQdpSTfY8RZ8qC_K6g;
@@ -54068,7 +49597,6 @@
 Lcom/android/internal/telephony/uicc/IccServiceTable;
 Lcom/android/internal/telephony/uicc/IccSlotStatus$SlotState;
 Lcom/android/internal/telephony/uicc/IccSlotStatus;
-Lcom/android/internal/telephony/uicc/IccUtils;
 Lcom/android/internal/telephony/uicc/IccVmNotSupportedException;
 Lcom/android/internal/telephony/uicc/InstallCarrierAppTrampolineActivity;
 Lcom/android/internal/telephony/uicc/InstallCarrierAppUtils;
@@ -54114,19 +49642,14 @@
 Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
 Lcom/android/internal/telephony/uicc/UsimServiceTable;
 Lcom/android/internal/telephony/uicc/VoiceMailConstants;
-Lcom/android/internal/telephony/uicc/asn1/InvalidAsn1DataException;
-Lcom/android/internal/telephony/uicc/asn1/TagNotFoundException;
 Lcom/android/internal/telephony/uicc/euicc/EuiccCard;
 Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;
 Lcom/android/internal/telephony/util/ArrayUtils;
-Lcom/android/internal/telephony/util/HandlerExecutor;
 Lcom/android/internal/telephony/util/NotificationChannelController$1;
 Lcom/android/internal/telephony/util/NotificationChannelController;
-Lcom/android/internal/telephony/util/RemoteCallbackListExt;
 Lcom/android/internal/telephony/util/SMSDispatcherUtil;
 Lcom/android/internal/telephony/util/TelephonyUtils;
 Lcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;
-Lcom/android/internal/telephony/util/XmlUtils;
 Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;
 Lcom/android/internal/textservice/ISpellCheckerService$Stub;
 Lcom/android/internal/textservice/ISpellCheckerService;
@@ -54145,7 +49668,12 @@
 Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;
 Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;
 Lcom/android/internal/textservice/ITextServicesSessionListener;
+Lcom/android/internal/transition/EpicenterTranslateClipReveal$1;
+Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;
+Lcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;
+Lcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;
 Lcom/android/internal/transition/EpicenterTranslateClipReveal;
+Lcom/android/internal/transition/TransitionConstants;
 Lcom/android/internal/usb/DumpUtils;
 Lcom/android/internal/util/-$$Lambda$DumpUtils$D1OlZP6xIpu72ypnJd0fzx0wd6I;
 Lcom/android/internal/util/-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0;
@@ -54166,6 +49694,7 @@
 Lcom/android/internal/util/AsyncChannel;
 Lcom/android/internal/util/BitUtils;
 Lcom/android/internal/util/BitwiseInputStream$AccessException;
+Lcom/android/internal/util/BitwiseOutputStream$AccessException;
 Lcom/android/internal/util/CollectionUtils;
 Lcom/android/internal/util/ConcurrentUtils$1$1;
 Lcom/android/internal/util/ConcurrentUtils$1;
@@ -54176,6 +49705,7 @@
 Lcom/android/internal/util/DumpUtils$1;
 Lcom/android/internal/util/DumpUtils$Dump;
 Lcom/android/internal/util/DumpUtils;
+Lcom/android/internal/util/EmergencyAffordanceManager;
 Lcom/android/internal/util/ExponentiallyBucketedHistogram;
 Lcom/android/internal/util/FastMath;
 Lcom/android/internal/util/FastPrintWriter$DummyWriter;
@@ -54196,6 +49726,7 @@
 Lcom/android/internal/util/GrowingArrayUtils;
 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;
@@ -54236,6 +49767,7 @@
 Lcom/android/internal/util/SyncResultReceiver;
 Lcom/android/internal/util/ToBooleanFunction;
 Lcom/android/internal/util/TokenBucket;
+Lcom/android/internal/util/TraceBuffer;
 Lcom/android/internal/util/UserIcons;
 Lcom/android/internal/util/VirtualRefBasePtr;
 Lcom/android/internal/util/WakeupMessage;
@@ -54289,11 +49821,17 @@
 Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
 Lcom/android/internal/util/function/pooled/PooledSupplier$OfLong;
 Lcom/android/internal/util/function/pooled/PooledSupplier;
+Lcom/android/internal/view/-$$Lambda$FloatingActionMode$LU5MpPuKYDtwlFAuYhXYfzgLNLE;
 Lcom/android/internal/view/ActionBarPolicy;
 Lcom/android/internal/view/AppearanceRegion$1;
 Lcom/android/internal/view/AppearanceRegion;
 Lcom/android/internal/view/BaseIWindow;
 Lcom/android/internal/view/BaseSurfaceHolder;
+Lcom/android/internal/view/FloatingActionMode$1;
+Lcom/android/internal/view/FloatingActionMode$2;
+Lcom/android/internal/view/FloatingActionMode$3;
+Lcom/android/internal/view/FloatingActionMode$FloatingToolbarVisibilityHelper;
+Lcom/android/internal/view/FloatingActionMode;
 Lcom/android/internal/view/IInlineSuggestionsRequestCallback$Stub;
 Lcom/android/internal/view/IInlineSuggestionsRequestCallback;
 Lcom/android/internal/view/IInputConnectionWrapper$MyHandler;
@@ -54331,6 +49869,7 @@
 Lcom/android/internal/view/RotationPolicy;
 Lcom/android/internal/view/SurfaceCallbackHelper$1;
 Lcom/android/internal/view/SurfaceCallbackHelper;
+Lcom/android/internal/view/SurfaceFlingerVsyncChoreographer;
 Lcom/android/internal/view/TooltipPopup;
 Lcom/android/internal/view/WindowManagerPolicyThread;
 Lcom/android/internal/view/animation/FallbackLUTInterpolator;
@@ -54358,6 +49897,14 @@
 Lcom/android/internal/view/menu/MenuView;
 Lcom/android/internal/view/menu/ShowableListMenu;
 Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$7-enOzxeypZYfdFYr1HzBLfj47k;
+Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$-uEfRwR-_1oHxMvRVdmbNRdukDM;
+Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY;
+Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$E8FwnPCl7gZpcTlX_UaRPIBRnT0;
+Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$LutnsyBKrZiroTBekgIjhIyrl40;
+Lcom/android/internal/widget/-$$Lambda$MessagingPropertyAnimator$7coWc0tjIUC7grCXucNFbpYTxDI;
+Lcom/android/internal/widget/-$$Lambda$NotificationActionListLayout$uFZFEmIEBpI3kn6c3tNvvgmMSv8;
+Lcom/android/internal/widget/-$$Lambda$TTC7hNz7BTsLwhNRb2L5kl-7mdU;
+Lcom/android/internal/widget/-$$Lambda$gPQuiuEDuOmrh2MixBcV6a5gu5s;
 Lcom/android/internal/widget/AbsActionBarView$VisibilityAnimListener;
 Lcom/android/internal/widget/AbsActionBarView;
 Lcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;
@@ -54371,12 +49918,26 @@
 Lcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;
 Lcom/android/internal/widget/ActionBarOverlayLayout$LayoutParams;
 Lcom/android/internal/widget/ActionBarOverlayLayout;
+Lcom/android/internal/widget/AlertDialogLayout;
 Lcom/android/internal/widget/BackgroundFallback;
+Lcom/android/internal/widget/ButtonBarLayout;
+Lcom/android/internal/widget/CachingIconView;
 Lcom/android/internal/widget/DecorCaptionView;
 Lcom/android/internal/widget/DecorContentParent;
 Lcom/android/internal/widget/DecorToolbar;
 Lcom/android/internal/widget/DialogTitle;
 Lcom/android/internal/widget/EditableInputConnection;
+Lcom/android/internal/widget/FloatingToolbar$1;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$12;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$13;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$1;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$2;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$3;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$4;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$LogAccelerateInterpolator;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;
 Lcom/android/internal/widget/FloatingToolbar;
 Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;
@@ -54385,7 +49946,12 @@
 Lcom/android/internal/widget/ILockSettings$Stub$Proxy;
 Lcom/android/internal/widget/ILockSettings$Stub;
 Lcom/android/internal/widget/ILockSettings;
+Lcom/android/internal/widget/ImageFloatingTextView;
+Lcom/android/internal/widget/LockPatternChecker$2;
+Lcom/android/internal/widget/LockPatternChecker$OnCheckCallback;
+Lcom/android/internal/widget/LockPatternChecker;
 Lcom/android/internal/widget/LockPatternUtils$2;
+Lcom/android/internal/widget/LockPatternUtils$CheckCredentialProgressCallback;
 Lcom/android/internal/widget/LockPatternUtils$RequestThrottledException;
 Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$1;
 Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;
@@ -54395,13 +49961,25 @@
 Lcom/android/internal/widget/LockSettingsInternal;
 Lcom/android/internal/widget/LockscreenCredential$1;
 Lcom/android/internal/widget/LockscreenCredential;
+Lcom/android/internal/widget/MessagingGroup;
+Lcom/android/internal/widget/MessagingImageMessage;
+Lcom/android/internal/widget/MessagingLinearLayout$MessagingChild;
+Lcom/android/internal/widget/MessagingMessage;
+Lcom/android/internal/widget/MessagingPropertyAnimator$1;
+Lcom/android/internal/widget/MessagingPropertyAnimator;
+Lcom/android/internal/widget/MessagingTextMessage;
+Lcom/android/internal/widget/NotificationActionListLayout;
+Lcom/android/internal/widget/NotificationExpandButton;
 Lcom/android/internal/widget/PasswordValidationError;
+Lcom/android/internal/widget/RemeasuringLinearLayout;
 Lcom/android/internal/widget/ScrollBarUtils;
 Lcom/android/internal/widget/ScrollingTabContainerView;
 Lcom/android/internal/widget/ToolbarWidgetWrapper$1;
 Lcom/android/internal/widget/ToolbarWidgetWrapper;
 Lcom/android/internal/widget/VerifyCredentialResponse$1;
 Lcom/android/internal/widget/VerifyCredentialResponse;
+Lcom/android/internal/widget/ViewClippingUtil$ClippingParameters;
+Lcom/android/internal/widget/ViewClippingUtil;
 Lcom/android/okhttp/Address;
 Lcom/android/okhttp/AndroidShimResponseCache;
 Lcom/android/okhttp/Authenticator;
@@ -54551,6 +50129,8 @@
 Lcom/android/org/bouncycastle/asn1/ASN1SequenceParser;
 Lcom/android/org/bouncycastle/asn1/ASN1Set;
 Lcom/android/org/bouncycastle/asn1/ASN1String;
+Lcom/android/org/bouncycastle/asn1/ASN1TaggedObject;
+Lcom/android/org/bouncycastle/asn1/ASN1TaggedObjectParser;
 Lcom/android/org/bouncycastle/asn1/BERTags;
 Lcom/android/org/bouncycastle/asn1/DERBitString;
 Lcom/android/org/bouncycastle/asn1/DERFactory;
@@ -54559,6 +50139,7 @@
 Lcom/android/org/bouncycastle/asn1/DEROutputStream;
 Lcom/android/org/bouncycastle/asn1/DERSequence;
 Lcom/android/org/bouncycastle/asn1/DERSet;
+Lcom/android/org/bouncycastle/asn1/DERTaggedObject;
 Lcom/android/org/bouncycastle/asn1/DLSequence;
 Lcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;
 Lcom/android/org/bouncycastle/asn1/InMemoryRepresentable;
@@ -54572,12 +50153,14 @@
 Lcom/android/org/bouncycastle/asn1/nist/NISTObjectIdentifiers;
 Lcom/android/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers;
 Lcom/android/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers;
+Lcom/android/org/bouncycastle/asn1/x500/X500Name;
 Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;
 Lcom/android/org/bouncycastle/asn1/x509/Certificate;
 Lcom/android/org/bouncycastle/asn1/x509/DSAParameter;
 Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
 Lcom/android/org/bouncycastle/asn1/x509/Time;
 Lcom/android/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
+Lcom/android/org/bouncycastle/asn1/x509/X509ExtensionsGenerator;
 Lcom/android/org/bouncycastle/asn1/x509/X509Name;
 Lcom/android/org/bouncycastle/asn1/x509/X509ObjectIdentifiers;
 Lcom/android/org/bouncycastle/asn1/x9/X9ECParameters;
@@ -54639,6 +50222,7 @@
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/x509/CertificateFactory;
 Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;
 Lcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration;
 Lcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission;
@@ -54791,7 +50375,6 @@
 Lcom/android/server/usage/AppStandbyInternal$AppIdleStateChangeListener;
 Lcom/android/server/usage/AppStandbyInternal;
 Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
-Lcom/android/telephony/Rlog;
 Lcom/google/android/collect/Lists;
 Lcom/google/android/collect/Maps;
 Lcom/google/android/collect/Sets;
@@ -54950,6 +50533,7 @@
 Ljava/io/Serializable;
 Ljava/io/SerializablePermission;
 Ljava/io/StreamCorruptedException;
+Ljava/io/StringBufferInputStream;
 Ljava/io/StringReader;
 Ljava/io/StringWriter;
 Ljava/io/UTFDataFormatException;
@@ -55216,6 +50800,8 @@
 Ljava/net/AddressCache$AddressCacheEntry;
 Ljava/net/AddressCache$AddressCacheKey;
 Ljava/net/AddressCache;
+Ljava/net/Authenticator$RequestorType;
+Ljava/net/Authenticator;
 Ljava/net/ConnectException;
 Ljava/net/CookieHandler;
 Ljava/net/CookieManager$CookiePathComparator;
@@ -55267,6 +50853,7 @@
 Ljava/net/NetworkInterface;
 Ljava/net/NoRouteToHostException;
 Ljava/net/Parts;
+Ljava/net/PasswordAuthentication;
 Ljava/net/PlainDatagramSocketImpl;
 Ljava/net/PlainSocketImpl;
 Ljava/net/PortUnreachableException;
@@ -55918,7 +51505,6 @@
 Ljava/util/Queue;
 Ljava/util/Random;
 Ljava/util/RandomAccess;
-Ljava/util/RandomAccessSubList;
 Ljava/util/RegularEnumSet$EnumSetIterator;
 Ljava/util/RegularEnumSet;
 Ljava/util/ResourceBundle$1;
@@ -55957,8 +51543,6 @@
 Ljava/util/Stack;
 Ljava/util/StringJoiner;
 Ljava/util/StringTokenizer;
-Ljava/util/SubList$1;
-Ljava/util/SubList;
 Ljava/util/TaskQueue;
 Ljava/util/TimSort;
 Ljava/util/TimeZone;
@@ -56531,6 +52115,7 @@
 Ljavax/xml/parsers/SAXParserFactory;
 Ljdk/internal/util/Preconditions;
 Llibcore/content/type/-$$Lambda$MimeMap$xJ95jeANwfbnj45hvSUmlPtZWWg;
+Llibcore/content/type/MimeMap$Builder;
 Llibcore/content/type/MimeMap$MemoizingSupplier;
 Llibcore/content/type/MimeMap;
 Llibcore/icu/DateIntervalFormat;
@@ -56590,8 +52175,6 @@
 Llibcore/timezone/TimeZoneFinder$TimeZonesProcessor;
 Llibcore/timezone/TimeZoneFinder;
 Llibcore/timezone/ZoneInfoDB$1;
-Llibcore/timezone/ZoneInfoDB$TzData$1;
-Llibcore/timezone/ZoneInfoDB$TzData;
 Llibcore/timezone/ZoneInfoDB;
 Llibcore/timezone/ZoneInfoDb$1;
 Llibcore/timezone/ZoneInfoDb;
diff --git a/config/preloaded-classes b/config/preloaded-classes
index d5fba70..bd235b8 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -135,6 +135,7 @@
 android.animation.PropertyValuesHolder$PropertyValues
 android.animation.PropertyValuesHolder
 android.animation.RectEvaluator
+android.animation.RevealAnimator
 android.animation.StateListAnimator$1
 android.animation.StateListAnimator$StateListAnimatorConstantState
 android.animation.StateListAnimator$Tuple
@@ -147,6 +148,7 @@
 android.animation.ValueAnimator$AnimatorUpdateListener
 android.animation.ValueAnimator
 android.annotation.ColorInt
+android.annotation.CurrentTimeMillisLong
 android.annotation.IntRange
 android.annotation.NonNull
 android.annotation.SystemApi
@@ -177,11 +179,13 @@
 android.app.-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M
 android.app.-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM
 android.app.-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0
+android.app.-$$Lambda$SystemServiceRegistry$16$s6mZ42tuGUunhKa_5iwjLY5FGdM
 android.app.-$$Lambda$SystemServiceRegistry$17$DBwvhMLzjNnBFkaOY1OxllrybH4
 android.app.-$$Lambda$WallpaperManager$Globals$1AcnQUORvPlCjJoNqdxfQT4o4Nw
 android.app.-$$Lambda$WallpaperManager$Globals$2yG7V1sbMECCnlFTLyjKWKqNoYI
 android.app.-$$Lambda$ZsFzoG2loyqNOR2cNbo-thrNK5c
 android.app.-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE
+android.app.-$$Lambda$thfU5Zh-cKOR8p7IfITtlg111Go
 android.app.ActionBar$LayoutParams
 android.app.ActionBar
 android.app.Activity$1
@@ -211,6 +215,7 @@
 android.app.ActivityManager$TaskDescription$1
 android.app.ActivityManager$TaskDescription
 android.app.ActivityManager$TaskSnapshot$1
+android.app.ActivityManager$TaskSnapshot$Builder
 android.app.ActivityManager$TaskSnapshot
 android.app.ActivityManager$UidObserver
 android.app.ActivityManager
@@ -263,8 +268,10 @@
 android.app.AppOpsManager$1
 android.app.AppOpsManager$2
 android.app.AppOpsManager$3
-android.app.AppOpsManager$AppOpsCollector$1
+android.app.AppOpsManager$4
 android.app.AppOpsManager$AppOpsCollector
+android.app.AppOpsManager$AttributedHistoricalOps
+android.app.AppOpsManager$AttributedOpEntry
 android.app.AppOpsManager$HistoricalFeatureOps
 android.app.AppOpsManager$HistoricalOp$1
 android.app.AppOpsManager$HistoricalOp
@@ -276,20 +283,27 @@
 android.app.AppOpsManager$HistoricalPackageOps
 android.app.AppOpsManager$HistoricalUidOps$1
 android.app.AppOpsManager$HistoricalUidOps
+android.app.AppOpsManager$Mode
+android.app.AppOpsManager$NoteOpEvent$1
 android.app.AppOpsManager$NoteOpEvent
 android.app.AppOpsManager$OnOpActiveChangedInternalListener
 android.app.AppOpsManager$OnOpActiveChangedListener
 android.app.AppOpsManager$OnOpChangedInternalListener
 android.app.AppOpsManager$OnOpChangedListener
+android.app.AppOpsManager$OnOpNotedCallback$1
+android.app.AppOpsManager$OnOpNotedCallback
 android.app.AppOpsManager$OnOpNotedListener
 android.app.AppOpsManager$OpEntry$1
 android.app.AppOpsManager$OpEntry
+android.app.AppOpsManager$OpEventProxyInfo$1
+android.app.AppOpsManager$OpEventProxyInfo
 android.app.AppOpsManager$OpFeatureEntry$1
 android.app.AppOpsManager$OpFeatureEntry$LongSparseArrayParceling
 android.app.AppOpsManager$OpFeatureEntry
 android.app.AppOpsManager$PackageOps$1
 android.app.AppOpsManager$PackageOps
 android.app.AppOpsManager$PausedNotedAppOpsCollection
+android.app.AppOpsManager$RestrictionBypass
 android.app.AppOpsManager
 android.app.AppOpsManagerInternal
 android.app.Application$ActivityLifecycleCallbacks
@@ -303,6 +317,8 @@
 android.app.ApplicationErrorReport$ParcelableCrashInfo
 android.app.ApplicationErrorReport$RunningServiceInfo
 android.app.ApplicationErrorReport
+android.app.ApplicationExitInfo$1
+android.app.ApplicationExitInfo
 android.app.ApplicationLoaders$CachedClassLoader
 android.app.ApplicationLoaders
 android.app.ApplicationPackageManager$1
@@ -337,6 +353,7 @@
 android.app.DownloadManager$Query
 android.app.DownloadManager$Request
 android.app.DownloadManager
+android.app.DreamManager
 android.app.EnterTransitionCoordinator
 android.app.EventLogTags
 android.app.ExitTransitionCoordinator
@@ -429,6 +446,7 @@
 android.app.ITransientNotification$Stub$Proxy
 android.app.ITransientNotification$Stub
 android.app.ITransientNotification
+android.app.ITransientNotificationCallback$Stub$Proxy
 android.app.ITransientNotificationCallback$Stub
 android.app.ITransientNotificationCallback
 android.app.IUiAutomationConnection$Stub$Proxy
@@ -490,6 +508,7 @@
 android.app.Notification$BigPictureStyle
 android.app.Notification$BigTextStyle
 android.app.Notification$BubbleMetadata$1
+android.app.Notification$BubbleMetadata$Builder
 android.app.Notification$BubbleMetadata
 android.app.Notification$Builder
 android.app.Notification$BuilderRemoteViews
@@ -536,6 +555,7 @@
 android.app.ProcessMemoryState
 android.app.ProfilerInfo$1
 android.app.ProfilerInfo
+android.app.ProgressDialog$1
 android.app.ProgressDialog
 android.app.PropertyInvalidatedCache$1
 android.app.PropertyInvalidatedCache
@@ -547,6 +567,7 @@
 android.app.RemoteInput$1
 android.app.RemoteInput$Builder
 android.app.RemoteInput
+android.app.RemoteInputHistoryItem$1
 android.app.RemoteInputHistoryItem
 android.app.RemoteServiceException
 android.app.ResourcesManager$1
@@ -556,6 +577,7 @@
 android.app.ResourcesManager
 android.app.ResultInfo$1
 android.app.ResultInfo
+android.app.RuntimeAppOpAccessMessage
 android.app.SearchDialog
 android.app.SearchManager
 android.app.SearchableInfo$1
@@ -575,9 +597,10 @@
 android.app.SharedPreferencesImpl$MemoryCommitResult
 android.app.SharedPreferencesImpl
 android.app.StatsManager$StatsUnavailableException
-android.app.StatsManager$StatsdDeathRecipient
 android.app.StatsManager
 android.app.StatusBarManager
+android.app.SyncNotedAppOp$1
+android.app.SyncNotedAppOp
 android.app.SynchronousUserSwitchObserver
 android.app.SystemServiceRegistry$100
 android.app.SystemServiceRegistry$101
@@ -603,6 +626,7 @@
 android.app.SystemServiceRegistry$11
 android.app.SystemServiceRegistry$120
 android.app.SystemServiceRegistry$121
+android.app.SystemServiceRegistry$122
 android.app.SystemServiceRegistry$12
 android.app.SystemServiceRegistry$13
 android.app.SystemServiceRegistry$14
@@ -749,6 +773,7 @@
 android.app.admin.DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener
 android.app.admin.DevicePolicyManagerInternal
 android.app.admin.DeviceStateCache
+android.app.admin.FactoryResetProtectionPolicy$1
 android.app.admin.FactoryResetProtectionPolicy
 android.app.admin.IDeviceAdminService$Stub$Proxy
 android.app.admin.IDeviceAdminService$Stub
@@ -756,6 +781,9 @@
 android.app.admin.IDevicePolicyManager$Stub$Proxy
 android.app.admin.IDevicePolicyManager$Stub
 android.app.admin.IDevicePolicyManager
+android.app.admin.IKeyguardCallback$Stub
+android.app.admin.IKeyguardCallback
+android.app.admin.NetworkEvent$1
 android.app.admin.NetworkEvent
 android.app.admin.PasswordMetrics$1
 android.app.admin.PasswordMetrics$ComplexityBucket$1
@@ -839,20 +867,26 @@
 android.app.backup.RestoreDescription
 android.app.backup.SharedPreferencesBackupHelper
 android.app.blob.-$$Lambda$BlobStoreManagerFrameworkInitializer$WjSRSHMmxWPF4Fq-7TpX23MBh2U
+android.app.blob.BlobHandle$1
 android.app.blob.BlobHandle
 android.app.blob.BlobStoreManager
 android.app.blob.BlobStoreManagerFrameworkInitializer
 android.app.blob.IBlobStoreManager$Stub
 android.app.blob.IBlobStoreManager
 android.app.blob.IBlobStoreSession
+android.app.blob.LeaseInfo
+android.app.contentsuggestions.ClassificationsRequest$1
 android.app.contentsuggestions.ClassificationsRequest
 android.app.contentsuggestions.ContentSuggestionsManager
+android.app.contentsuggestions.IClassificationsCallback$Stub$Proxy
 android.app.contentsuggestions.IClassificationsCallback$Stub
 android.app.contentsuggestions.IClassificationsCallback
 android.app.contentsuggestions.IContentSuggestionsManager$Stub
 android.app.contentsuggestions.IContentSuggestionsManager
+android.app.contentsuggestions.ISelectionsCallback$Stub$Proxy
 android.app.contentsuggestions.ISelectionsCallback$Stub
 android.app.contentsuggestions.ISelectionsCallback
+android.app.contentsuggestions.SelectionsRequest$1
 android.app.contentsuggestions.SelectionsRequest
 android.app.job.-$$Lambda$FpGlzN9oJcl8o5soW-gU-DyTvXM
 android.app.job.-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0
@@ -954,6 +988,8 @@
 android.app.servertransaction.PipModeChangeItem
 android.app.servertransaction.ResumeActivityItem$1
 android.app.servertransaction.ResumeActivityItem
+android.app.servertransaction.StartActivityItem$1
+android.app.servertransaction.StartActivityItem
 android.app.servertransaction.StopActivityItem$1
 android.app.servertransaction.StopActivityItem
 android.app.servertransaction.TopResumedActivityChangeItem$1
@@ -978,16 +1014,21 @@
 android.app.timedetector.ITimeDetectorService
 android.app.timedetector.ManualTimeSuggestion$1
 android.app.timedetector.ManualTimeSuggestion
+android.app.timedetector.NetworkTimeSuggestion$1
 android.app.timedetector.NetworkTimeSuggestion
 android.app.timedetector.PhoneTimeSuggestion$1
 android.app.timedetector.PhoneTimeSuggestion
+android.app.timedetector.TelephonyTimeSuggestion$1
 android.app.timedetector.TelephonyTimeSuggestion
 android.app.timedetector.TimeDetector
+android.app.timedetector.TimeDetectorImpl
 android.app.timezone.RulesManager
 android.app.timezonedetector.ITimeZoneDetectorService$Stub$Proxy
 android.app.timezonedetector.ITimeZoneDetectorService$Stub
 android.app.timezonedetector.ITimeZoneDetectorService
+android.app.timezonedetector.ManualTimeZoneSuggestion$1
 android.app.timezonedetector.ManualTimeZoneSuggestion
+android.app.timezonedetector.TelephonyTimeZoneSuggestion$1
 android.app.timezonedetector.TelephonyTimeZoneSuggestion
 android.app.timezonedetector.TimeZoneDetector
 android.app.trust.IStrongAuthTracker$Stub$Proxy
@@ -1048,6 +1089,7 @@
 android.attention.AttentionManagerInternal$AttentionCallbackInternal
 android.attention.AttentionManagerInternal
 android.bluetooth.-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4
+android.bluetooth.-$$Lambda$BluetoothAdapter$5$eKI2JS6EbiGZOGfQ8La27pm0gy0
 android.bluetooth.BluetoothA2dp$1
 android.bluetooth.BluetoothA2dp
 android.bluetooth.BluetoothA2dpSink
@@ -1068,8 +1110,11 @@
 android.bluetooth.BluetoothCodecStatus
 android.bluetooth.BluetoothDevice$1
 android.bluetooth.BluetoothDevice$2
+android.bluetooth.BluetoothDevice$3
 android.bluetooth.BluetoothDevice
+android.bluetooth.BluetoothGatt
 android.bluetooth.BluetoothGattCallback
+android.bluetooth.BluetoothGattServer
 android.bluetooth.BluetoothGattService$1
 android.bluetooth.BluetoothGattService
 android.bluetooth.BluetoothHeadset$1
@@ -1187,6 +1232,7 @@
 android.bluetooth.le.AdvertisingSetParameters$1
 android.bluetooth.le.AdvertisingSetParameters
 android.bluetooth.le.BluetoothLeScanner$1
+android.bluetooth.le.BluetoothLeScanner$BleScanCallbackWrapper$1
 android.bluetooth.le.BluetoothLeScanner$BleScanCallbackWrapper
 android.bluetooth.le.BluetoothLeScanner
 android.bluetooth.le.BluetoothLeUtils
@@ -1221,9 +1267,12 @@
 android.companion.IFindDeviceCallback$Stub
 android.companion.IFindDeviceCallback
 android.compat.Compatibility$Callbacks
+android.compat.Compatibility$ChangeConfig
 android.compat.Compatibility
 android.content.-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc
 android.content.-$$Lambda$ClipboardManager$1$hQk8olbGAgUi4WWNG4ZuDZsM39s
+android.content.-$$Lambda$IntentFilter$WX75RVXUnG63zh-f133zF3i8Szs
+android.content.-$$Lambda$IntentFilter$fvZpjl2C1djVISORSFvcX_-NkJo
 android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl
 android.content.AbstractThreadedSyncAdapter$SyncThread
 android.content.AbstractThreadedSyncAdapter
@@ -1275,6 +1324,8 @@
 android.content.ContentResolver$GetTypeResultListener
 android.content.ContentResolver$OpenResourceIdResult
 android.content.ContentResolver$ParcelFileDescriptorInner
+android.content.ContentResolver$ResultListener
+android.content.ContentResolver$StringResultListener
 android.content.ContentResolver
 android.content.ContentUris
 android.content.ContentValues$1
@@ -1344,6 +1395,7 @@
 android.content.PeriodicSync
 android.content.PermissionChecker
 android.content.ReceiverCallNotAllowedException
+android.content.RestrictionEntry$1
 android.content.RestrictionEntry
 android.content.RestrictionsManager
 android.content.SearchRecentSuggestionsProvider$DatabaseHelper
@@ -1378,6 +1430,8 @@
 android.content.UriPermission$1
 android.content.UriPermission
 android.content.integrity.AppIntegrityManager
+android.content.integrity.IAppIntegrityManager$Stub
+android.content.integrity.IAppIntegrityManager
 android.content.om.IOverlayManager$Stub$Proxy
 android.content.om.IOverlayManager$Stub
 android.content.om.IOverlayManager
@@ -1385,7 +1439,9 @@
 android.content.om.OverlayInfo
 android.content.om.OverlayManager
 android.content.om.OverlayableInfo
+android.content.pm.-$$Lambda$ApplicationInfo$1$FDtFc-prTtONpy6YSScuAiML69E
 android.content.pm.-$$Lambda$B12dZLpdwpXn89QSesmkaZjD72Q
+android.content.pm.-$$Lambda$IPackageManager$Stub$Proxy$X2I1qlX4SiKMZSjDTNzS_nTibbo
 android.content.pm.-$$Lambda$IPackageManager$Stub$ZVp6oEh-Gn_bn8lM7TgSgpaGriw
 android.content.pm.-$$Lambda$PackageParser$0DZRgzfgaIMpCOhJqjw6PUiU5vw
 android.content.pm.-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4
@@ -1412,18 +1468,22 @@
 android.content.pm.CrossProfileApps
 android.content.pm.DataLoaderManager
 android.content.pm.DataLoaderParams
+android.content.pm.DataLoaderParamsParcel$1
 android.content.pm.DataLoaderParamsParcel
 android.content.pm.FallbackCategoryProvider
 android.content.pm.FeatureGroupInfo$1
 android.content.pm.FeatureGroupInfo
 android.content.pm.FeatureInfo$1
 android.content.pm.FeatureInfo
+android.content.pm.FileSystemControlParcel
 android.content.pm.ICrossProfileApps$Stub$Proxy
 android.content.pm.ICrossProfileApps$Stub
 android.content.pm.ICrossProfileApps
 android.content.pm.IDataLoader
+android.content.pm.IDataLoaderManager$Stub$Proxy
 android.content.pm.IDataLoaderManager$Stub
 android.content.pm.IDataLoaderManager
+android.content.pm.IDataLoaderStatusListener$Stub$Proxy
 android.content.pm.IDataLoaderStatusListener$Stub
 android.content.pm.IDataLoaderStatusListener
 android.content.pm.IDexModuleRegisterCallback$Stub$Proxy
@@ -1468,6 +1528,7 @@
 android.content.pm.IPackageStatsObserver$Stub$Proxy
 android.content.pm.IPackageStatsObserver$Stub
 android.content.pm.IPackageStatsObserver
+android.content.pm.IShortcutChangeCallback$Stub$Proxy
 android.content.pm.IShortcutChangeCallback$Stub
 android.content.pm.IShortcutChangeCallback
 android.content.pm.IShortcutService$Stub$Proxy
@@ -1478,6 +1539,7 @@
 android.content.pm.InstantAppIntentFilter$1
 android.content.pm.InstantAppIntentFilter
 android.content.pm.InstantAppRequest
+android.content.pm.InstantAppRequestInfo$1
 android.content.pm.InstantAppRequestInfo
 android.content.pm.InstantAppResolveInfo$1
 android.content.pm.InstantAppResolveInfo$InstantAppDigest$1
@@ -1513,8 +1575,13 @@
 android.content.pm.PackageInstaller$SessionParams
 android.content.pm.PackageInstaller
 android.content.pm.PackageItemInfo
+android.content.pm.PackageManager$1
+android.content.pm.PackageManager$2
+android.content.pm.PackageManager$ApplicationInfoQuery
+android.content.pm.PackageManager$MoveCallback
 android.content.pm.PackageManager$NameNotFoundException
 android.content.pm.PackageManager$OnPermissionsChangedListener
+android.content.pm.PackageManager$PackageInfoQuery
 android.content.pm.PackageManager
 android.content.pm.PackageParser$1
 android.content.pm.PackageParser$Activity$1
@@ -1568,6 +1635,8 @@
 android.content.pm.PermissionInfo
 android.content.pm.ProviderInfo$1
 android.content.pm.ProviderInfo
+android.content.pm.ProviderInfoList$1
+android.content.pm.ProviderInfoList
 android.content.pm.RegisteredServicesCache$1
 android.content.pm.RegisteredServicesCache$2
 android.content.pm.RegisteredServicesCache$3
@@ -1657,6 +1726,8 @@
 android.content.pm.parsing.ParsedPackage$PackageSettingCallback
 android.content.pm.parsing.ParsedPackage
 android.content.pm.parsing.ParsingPackage
+android.content.pm.parsing.ParsingPackageRead
+android.content.pm.parsing.ParsingPackageUtils
 android.content.pm.parsing.library.-$$Lambda$WrPVuoVJehE45tfhLfe_8Tcc-Nw
 android.content.pm.parsing.library.AndroidHidlUpdater
 android.content.pm.parsing.library.AndroidTestBaseUpdater
@@ -1707,6 +1778,7 @@
 android.content.res.ObbInfo
 android.content.res.ObbScanner
 android.content.res.ResourceId
+android.content.res.Resources$AssetManagerUpdateHandler
 android.content.res.Resources$NotFoundException
 android.content.res.Resources$Theme
 android.content.res.Resources$ThemeKey
@@ -1732,7 +1804,9 @@
 android.content.rollback.IRollbackManager$Stub
 android.content.rollback.IRollbackManager
 android.content.rollback.RollbackManager
+android.content.type.-$$Lambda$DefaultMimeMapFactory$3biOnZOOEGRoeaFehYke-eZnpCg
 android.content.type.DefaultMimeMapFactory
+android.database.-$$Lambda$ContentObserver$MgqiYb2qvgLhoXTioYXq9MvvpNk
 android.database.AbstractCursor$SelfContentObserver
 android.database.AbstractCursor
 android.database.AbstractWindowedCursor
@@ -1853,6 +1927,7 @@
 android.graphics.-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY
 android.graphics.-$$Lambda$ColorSpace$Rgb$iMkODTKa3_8kPZUnZZerD2Lv-yo
 android.graphics.-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE
+android.graphics.-$$Lambda$HardwareRendererObserver$Z08IFApIdHoCBfw8BsQ-lVjpUlI
 android.graphics.BLASTBufferQueue
 android.graphics.BaseCanvas
 android.graphics.BaseRecordingCanvas
@@ -1919,6 +1994,7 @@
 android.graphics.ImageDecoder$OnHeaderDecodedListener
 android.graphics.ImageDecoder$Source
 android.graphics.ImageDecoder
+android.graphics.ImageFormat
 android.graphics.Insets$1
 android.graphics.Insets
 android.graphics.Interpolator$Result
@@ -1994,8 +2070,12 @@
 android.graphics.Typeface
 android.graphics.Xfermode
 android.graphics.YuvImage
+android.graphics.animation.-$$Lambda$awqPSgriNRe12PWP0zkpAtPsfV4
+android.graphics.animation.FallbackLUTInterpolator
+android.graphics.animation.HasNativeInterpolator
 android.graphics.animation.NativeInterpolator
 android.graphics.animation.NativeInterpolatorFactory
+android.graphics.animation.RenderNodeAnimator$DelayedAnimationHelper
 android.graphics.animation.RenderNodeAnimator$ViewListener
 android.graphics.animation.RenderNodeAnimator
 android.graphics.drawable.-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8
@@ -2140,6 +2220,7 @@
 android.graphics.text.LineBreaker
 android.graphics.text.MeasuredText$Builder
 android.graphics.text.MeasuredText
+android.gsi.AvbPublicKey
 android.gsi.GsiProgress$1
 android.gsi.GsiProgress
 android.gsi.IGsiService$Stub$Proxy
@@ -2211,6 +2292,7 @@
 android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback$Stub$Proxy
 android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback$Stub
 android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback
+android.hardware.biometrics.IBiometricNativeHandle$1
 android.hardware.biometrics.IBiometricNativeHandle
 android.hardware.biometrics.IBiometricService$Stub$Proxy
 android.hardware.biometrics.IBiometricService$Stub
@@ -2239,6 +2321,10 @@
 android.hardware.camera2.CameraManager$AvailabilityCallback
 android.hardware.camera2.CameraManager$CameraManagerGlobal$1
 android.hardware.camera2.CameraManager$CameraManagerGlobal$3
+android.hardware.camera2.CameraManager$CameraManagerGlobal$4
+android.hardware.camera2.CameraManager$CameraManagerGlobal$5
+android.hardware.camera2.CameraManager$CameraManagerGlobal$6
+android.hardware.camera2.CameraManager$CameraManagerGlobal$7
 android.hardware.camera2.CameraManager$CameraManagerGlobal
 android.hardware.camera2.CameraManager$TorchCallback
 android.hardware.camera2.CameraManager
@@ -2314,7 +2400,9 @@
 android.hardware.camera2.marshal.impl.MarshalQueryableSize$MarshalerSize
 android.hardware.camera2.marshal.impl.MarshalQueryableSize
 android.hardware.camera2.marshal.impl.MarshalQueryableSizeF
+android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration
 android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfiguration
+android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration
 android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfigurationDuration
 android.hardware.camera2.marshal.impl.MarshalQueryableString
 android.hardware.camera2.params.BlackLevelPattern
@@ -2338,6 +2426,7 @@
 android.hardware.camera2.params.StreamConfigurationMap
 android.hardware.camera2.params.TonemapCurve
 android.hardware.camera2.utils.ArrayUtils
+android.hardware.camera2.utils.ConcurrentCameraIdCombination$1
 android.hardware.camera2.utils.ConcurrentCameraIdCombination
 android.hardware.camera2.utils.TypeReference$SpecializedBaseTypeReference
 android.hardware.camera2.utils.TypeReference$SpecializedTypeReference
@@ -2376,6 +2465,7 @@
 android.hardware.display.DeviceProductInfo
 android.hardware.display.DisplayManager$DisplayListener
 android.hardware.display.DisplayManager
+android.hardware.display.DisplayManagerGlobal$1
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
 android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
 android.hardware.display.DisplayManagerGlobal
@@ -2414,6 +2504,7 @@
 android.hardware.face.FaceManager$AuthenticationCallback
 android.hardware.face.FaceManager$AuthenticationResult
 android.hardware.face.FaceManager$EnrollmentCallback
+android.hardware.face.FaceManager$LockoutResetCallback
 android.hardware.face.FaceManager$MyHandler
 android.hardware.face.FaceManager$OnAuthenticationCancelListener
 android.hardware.face.FaceManager$RemovalCallback
@@ -2428,6 +2519,8 @@
 android.hardware.fingerprint.Fingerprint
 android.hardware.fingerprint.FingerprintManager$1
 android.hardware.fingerprint.FingerprintManager$2
+android.hardware.fingerprint.FingerprintManager$AuthenticationCallback
+android.hardware.fingerprint.FingerprintManager$LockoutResetCallback
 android.hardware.fingerprint.FingerprintManager$MyHandler
 android.hardware.fingerprint.FingerprintManager
 android.hardware.fingerprint.IFingerprintClientActiveCallback$Stub$Proxy
@@ -2464,6 +2557,8 @@
 android.hardware.input.TouchCalibration
 android.hardware.iris.IrisManager
 android.hardware.lights.LightsManager
+android.hardware.location.-$$Lambda$ContextHubManager$3$5yx25kUuvL9qy3uBcIzI3sQQoL8
+android.hardware.location.-$$Lambda$ContextHubManager$3$KgVQePwT_QpjU9EQTp2L3LsHE5Y
 android.hardware.location.-$$Lambda$ContextHubManager$3$U9x_HK_GdADIEQ3mS5mDWMNWMu8
 android.hardware.location.-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI
 android.hardware.location.-$$Lambda$ContextHubTransaction$7a5H6DrY_dOy9M3qnYHhlmDHRNQ
@@ -2730,10 +2825,13 @@
 android.hardware.radio.deprecated.V1_0.IOemHookResponse$Stub
 android.hardware.radio.deprecated.V1_0.IOemHookResponse
 android.hardware.sidekick.SidekickInternal
+android.hardware.soundtrigger.-$$Lambda$SoundTrigger$ZVJnEi-r8cH99VNOx-TiaTkEQgo
 android.hardware.soundtrigger.ConversionUtil
 android.hardware.soundtrigger.IRecognitionStatusCallback$Stub$Proxy
 android.hardware.soundtrigger.IRecognitionStatusCallback$Stub
 android.hardware.soundtrigger.IRecognitionStatusCallback
+android.hardware.soundtrigger.KeyphraseEnrollmentInfo
+android.hardware.soundtrigger.KeyphraseMetadata$1
 android.hardware.soundtrigger.KeyphraseMetadata
 android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel$1
 android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel
@@ -2762,6 +2860,7 @@
 android.hardware.soundtrigger.SoundTrigger$SoundModelEvent
 android.hardware.soundtrigger.SoundTrigger$StatusListener
 android.hardware.soundtrigger.SoundTrigger
+android.hardware.soundtrigger.SoundTriggerModule$EventHandlerDelegate$1
 android.hardware.soundtrigger.SoundTriggerModule$EventHandlerDelegate
 android.hardware.soundtrigger.SoundTriggerModule
 android.hardware.thermal.V1_0.IThermal
@@ -2791,6 +2890,7 @@
 android.hardware.usb.UsbDevice$Builder
 android.hardware.usb.UsbDevice
 android.hardware.usb.UsbDeviceConnection
+android.hardware.usb.UsbInterface$1
 android.hardware.usb.UsbInterface
 android.hardware.usb.UsbManager
 android.hardware.usb.UsbPort
@@ -2824,6 +2924,7 @@
 android.icu.impl.CurrencyData$CurrencySpacingInfo
 android.icu.impl.CurrencyData
 android.icu.impl.DateNumberFormat
+android.icu.impl.DontCareFieldPosition
 android.icu.impl.FormattedStringBuilder
 android.icu.impl.FormattedValueStringBuilderImpl$NullField
 android.icu.impl.FormattedValueStringBuilderImpl
@@ -2884,6 +2985,7 @@
 android.icu.impl.ICUResourceBundleReader$ResourceCache
 android.icu.impl.ICUResourceBundleReader$Table1632
 android.icu.impl.ICUResourceBundleReader$Table16
+android.icu.impl.ICUResourceBundleReader$Table32
 android.icu.impl.ICUResourceBundleReader$Table
 android.icu.impl.ICUResourceBundleReader
 android.icu.impl.ICUService$CacheEntry
@@ -2930,6 +3032,7 @@
 android.icu.impl.StaticUnicodeSets$ParseDataSink
 android.icu.impl.StaticUnicodeSets
 android.icu.impl.StringPrepDataReader
+android.icu.impl.StringRange$1
 android.icu.impl.StringRange
 android.icu.impl.StringSegment
 android.icu.impl.TextTrieMap$Node
@@ -2962,7 +3065,9 @@
 android.icu.impl.UCaseProps$IsAcceptable
 android.icu.impl.UCaseProps$LatinCase
 android.icu.impl.UCaseProps
+android.icu.impl.UCharacterName$AlgorithmName
 android.icu.impl.UCharacterName
+android.icu.impl.UCharacterNameReader
 android.icu.impl.UCharacterProperty$10
 android.icu.impl.UCharacterProperty$11
 android.icu.impl.UCharacterProperty$12
@@ -3125,6 +3230,7 @@
 android.icu.number.Precision
 android.icu.number.Scale
 android.icu.number.ScientificNotation
+android.icu.number.SimpleNotation
 android.icu.number.UnlocalizedNumberFormatter
 android.icu.text.AlphabeticIndex$1
 android.icu.text.AlphabeticIndex$Bucket
@@ -3152,6 +3258,7 @@
 android.icu.text.CollatorServiceShim$CService$1CollatorFactory
 android.icu.text.CollatorServiceShim$CService
 android.icu.text.CollatorServiceShim
+android.icu.text.CompactDecimalFormat$CompactStyle
 android.icu.text.ConstrainedFieldPosition$1
 android.icu.text.ConstrainedFieldPosition$ConstraintType
 android.icu.text.ConstrainedFieldPosition
@@ -3210,6 +3317,7 @@
 android.icu.text.FormattedValue
 android.icu.text.IDNA
 android.icu.text.LanguageBreakEngine
+android.icu.text.ListFormatter$Style
 android.icu.text.LowercaseTransliterator$1
 android.icu.text.LowercaseTransliterator
 android.icu.text.MeasureFormat$FormatWidth
@@ -3425,12 +3533,16 @@
 android.internal.telephony.sysprop.TelephonyProperties
 android.location.-$$Lambda$-z-Hjl12STdAybauR3BT-ftvWd0
 android.location.-$$Lambda$AbstractListenerManager$Registration$TnkXgyOd99JHl00GzK6Oay_sYms
+android.location.-$$Lambda$AbstractListenerManager$Registration$XpiThbVaDDpOnFWIkrt38Bf4yx0
 android.location.-$$Lambda$GpsStatus$RTSonBp9m0T0NWA3SCfYgWf1mTo
 android.location.-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$4EPi22o4xuVnpNhFHnDvebH4TG8
 android.location.-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$7Fi5XkeF81eL_OKPS2GJMvyc3-8
 android.location.-$$Lambda$LocationManager$GnssStatusListenerManager$GnssStatusListener$gYcH61KCtV_OcJJszI1TfvnrJHY
+android.location.-$$Lambda$LocationManager$LocationListenerTransport$C3xaM63A8GAwfJNN4R634OLsvDc
 android.location.-$$Lambda$LocationManager$LocationListenerTransport$JzcdERl3Ha8sYr9NxFhb3gNOoCM
 android.location.-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps
+android.location.-$$Lambda$LocationManager$LocationListenerTransport$enkW18B0WwpQkSIMmVChmQ2YwC8
+android.location.-$$Lambda$LocationManager$LocationListenerTransport$fHjQXipQePznoEyxLuCfUO-YP1Y
 android.location.-$$Lambda$LocationManager$LocationListenerTransport$vDJFuk-DvyNgQEXUO2Jkf2ZFeE8
 android.location.-$$Lambda$LocationManager$LocationListenerTransport$vtBApnyHdgybRqRKlCt1NFEyfeQ
 android.location.-$$Lambda$UmbtQF279SH5h72Ftfcj_s96jsY
@@ -3464,6 +3576,7 @@
 android.location.GnssNavigationMessage
 android.location.GnssReflectingPlane$1
 android.location.GnssReflectingPlane
+android.location.GnssRequest$1
 android.location.GnssRequest
 android.location.GnssSingleSatCorrection$1
 android.location.GnssSingleSatCorrection
@@ -3491,6 +3604,7 @@
 android.location.IGeofenceProvider$Stub$Proxy
 android.location.IGeofenceProvider$Stub
 android.location.IGeofenceProvider
+android.location.IGnssAntennaInfoListener$Stub$Proxy
 android.location.IGnssAntennaInfoListener$Stub
 android.location.IGnssAntennaInfoListener
 android.location.IGnssMeasurementsListener$Stub$Proxy
@@ -3518,6 +3632,7 @@
 android.location.Location$BearingDistanceCache
 android.location.Location
 android.location.LocationListener
+android.location.LocationManager$1
 android.location.LocationManager$BatchedLocationCallbackManager
 android.location.LocationManager$GnssAntennaInfoListenerManager
 android.location.LocationManager$GnssMeasurementsListenerManager
@@ -3538,6 +3653,9 @@
 android.media.-$$Lambda$MediaDrm$8rRollK1F3eENvuaBGoS8u_-heQ
 android.media.-$$Lambda$MediaDrm$IvEWhXQgSYABwC6_1bdnhTJ4V2I
 android.media.-$$Lambda$MediaDrm$UPVWCanGo24eu9-1S_t6PvJ1Zno
+android.media.-$$Lambda$ThumbnailUtils$HhGKNQZck57eO__Paj6KyQm6lCk
+android.media.-$$Lambda$ThumbnailUtils$P13h9YbyD69p6ss1gYpoef43_MU
+android.media.-$$Lambda$ThumbnailUtils$qOH5vebuTwPi2G92PTa6rgwKGoc
 android.media.AudioAttributes$1
 android.media.AudioAttributes$Builder
 android.media.AudioAttributes
@@ -3645,6 +3763,8 @@
 android.media.IMediaHTTPService
 android.media.IMediaResourceMonitor$Stub
 android.media.IMediaResourceMonitor
+android.media.IMediaRouter2$Stub
+android.media.IMediaRouter2
 android.media.IMediaRouter2Client$Stub$Proxy
 android.media.IMediaRouter2Client$Stub
 android.media.IMediaRouter2Client
@@ -3674,6 +3794,7 @@
 android.media.IRingtonePlayer$Stub$Proxy
 android.media.IRingtonePlayer$Stub
 android.media.IRingtonePlayer
+android.media.IStrategyPreferredDeviceDispatcher$Stub$Proxy
 android.media.IStrategyPreferredDeviceDispatcher$Stub
 android.media.IStrategyPreferredDeviceDispatcher
 android.media.IVolumeController$Stub$Proxy
@@ -3691,13 +3812,16 @@
 android.media.MediaCodec$BufferInfo
 android.media.MediaCodec$BufferMap$CodecBuffer
 android.media.MediaCodec$BufferMap
+android.media.MediaCodec$Callback
 android.media.MediaCodec$CodecException
 android.media.MediaCodec$CryptoException
 android.media.MediaCodec$CryptoInfo$Pattern
 android.media.MediaCodec$CryptoInfo
 android.media.MediaCodec$EventHandler
 android.media.MediaCodec$GraphicBlock
+android.media.MediaCodec$IncompatibleWithBlockModelException
 android.media.MediaCodec$LinearBlock
+android.media.MediaCodec$OnFrameRenderedListener
 android.media.MediaCodec$OutputFrame
 android.media.MediaCodec$PersistentSurface
 android.media.MediaCodec$QueueRequest
@@ -3729,6 +3853,7 @@
 android.media.MediaDrm
 android.media.MediaDrmException
 android.media.MediaExtractor
+android.media.MediaFile
 android.media.MediaFormat
 android.media.MediaHTTPConnection
 android.media.MediaHTTPService
@@ -3789,6 +3914,8 @@
 android.media.MediaRouter$VolumeCallbackInfo
 android.media.MediaRouter$VolumeChangeReceiver
 android.media.MediaRouter$WifiDisplayStatusChangedReceiver
+android.media.MediaRouter2Manager$Callback
+android.media.MediaRouter2Manager
 android.media.MediaRouter
 android.media.MediaRouterClientState$1
 android.media.MediaRouterClientState$RouteInfo$1
@@ -3822,7 +3949,9 @@
 android.media.Ringtone$MyOnCompletionListener
 android.media.Ringtone
 android.media.RingtoneManager
+android.media.RouteDiscoveryPreference$1
 android.media.RouteDiscoveryPreference
+android.media.RoutingSessionInfo$1
 android.media.RoutingSessionInfo
 android.media.SoundPool$Builder
 android.media.SoundPool$EventHandler
@@ -3836,16 +3965,20 @@
 android.media.SubtitleData
 android.media.SubtitleTrack
 android.media.SyncParams
+android.media.ThumbnailUtils$Resizer
+android.media.ThumbnailUtils$SizedThumbnailBitmap
 android.media.ThumbnailUtils
 android.media.TimedMetaData
 android.media.TimedText
 android.media.ToneGenerator
 android.media.Utils$1
 android.media.Utils$2
+android.media.Utils$ListenerList
 android.media.Utils
 android.media.VolumeAutomation
 android.media.VolumePolicy$1
 android.media.VolumePolicy
+android.media.VolumeProvider$Callback
 android.media.VolumeProvider
 android.media.VolumeShaper$Configuration$1
 android.media.VolumeShaper$Configuration$Builder
@@ -3857,6 +3990,7 @@
 android.media.VolumeShaper$State
 android.media.VolumeShaper
 android.media.audiofx.AudioEffect$Descriptor
+android.media.audiofx.AudioEffect
 android.media.audiopolicy.-$$Lambda$AudioPolicy$-ztOT0FT3tzGMUr4lm1gv6dBE4c
 android.media.audiopolicy.AudioMix$Builder
 android.media.audiopolicy.AudioMix
@@ -3894,10 +4028,13 @@
 android.media.browse.MediaBrowser$SubscriptionCallback
 android.media.browse.MediaBrowser
 android.media.browse.MediaBrowserUtils
+android.media.midi.IMidiDeviceListener$Stub$Proxy
 android.media.midi.IMidiDeviceListener$Stub
 android.media.midi.IMidiDeviceListener
+android.media.midi.IMidiDeviceOpenCallback$Stub$Proxy
 android.media.midi.IMidiDeviceOpenCallback$Stub
 android.media.midi.IMidiDeviceOpenCallback
+android.media.midi.IMidiDeviceServer$Stub$Proxy
 android.media.midi.IMidiDeviceServer$Stub
 android.media.midi.IMidiDeviceServer
 android.media.midi.IMidiManager$Stub
@@ -3905,6 +4042,7 @@
 android.media.midi.MidiDevice
 android.media.midi.MidiDeviceInfo$1
 android.media.midi.MidiDeviceInfo
+android.media.midi.MidiDeviceStatus$1
 android.media.midi.MidiDeviceStatus
 android.media.midi.MidiManager
 android.media.projection.IMediaProjection$Stub$Proxy
@@ -3919,14 +4057,17 @@
 android.media.projection.MediaProjection
 android.media.projection.MediaProjectionInfo$1
 android.media.projection.MediaProjectionInfo
+android.media.projection.MediaProjectionManager$Callback
 android.media.projection.MediaProjectionManager$CallbackDelegate
 android.media.projection.MediaProjectionManager
 android.media.session.-$$Lambda$MediaSessionManager$IEuWPZ528guBgmyKPMUWhBwnMCE
 android.media.session.IActiveSessionsListener$Stub$Proxy
 android.media.session.IActiveSessionsListener$Stub
 android.media.session.IActiveSessionsListener
+android.media.session.IOnMediaKeyEventDispatchedListener$Stub$Proxy
 android.media.session.IOnMediaKeyEventDispatchedListener$Stub
 android.media.session.IOnMediaKeyEventDispatchedListener
+android.media.session.IOnMediaKeyEventSessionChangedListener$Stub$Proxy
 android.media.session.IOnMediaKeyEventSessionChangedListener$Stub
 android.media.session.IOnMediaKeyEventSessionChangedListener
 android.media.session.IOnMediaKeyListener$Stub$Proxy
@@ -3994,10 +4135,23 @@
 android.media.soundtrigger.ISoundTriggerDetectionServiceClient$Stub
 android.media.soundtrigger.ISoundTriggerDetectionServiceClient
 android.media.soundtrigger.SoundTriggerManager
+android.media.soundtrigger_middleware.ISoundTriggerCallback$Stub$Proxy
 android.media.soundtrigger_middleware.ISoundTriggerCallback$Stub
 android.media.soundtrigger_middleware.ISoundTriggerCallback
+android.media.soundtrigger_middleware.ISoundTriggerMiddlewareService$Stub$Proxy
+android.media.soundtrigger_middleware.ISoundTriggerMiddlewareService$Stub
 android.media.soundtrigger_middleware.ISoundTriggerMiddlewareService
+android.media.soundtrigger_middleware.ISoundTriggerModule$Stub
 android.media.soundtrigger_middleware.ISoundTriggerModule
+android.media.soundtrigger_middleware.PhraseRecognitionExtra
+android.media.soundtrigger_middleware.RecognitionConfig$1
+android.media.soundtrigger_middleware.RecognitionConfig
+android.media.soundtrigger_middleware.SoundModel$1
+android.media.soundtrigger_middleware.SoundModel
+android.media.soundtrigger_middleware.SoundTriggerModuleDescriptor$1
+android.media.soundtrigger_middleware.SoundTriggerModuleDescriptor
+android.media.soundtrigger_middleware.SoundTriggerModuleProperties$1
+android.media.soundtrigger_middleware.SoundTriggerModuleProperties
 android.media.tv.TvInputHardwareInfo$Builder
 android.media.tv.TvInputManager
 android.media.tv.TvStreamConfig$1
@@ -4025,7 +4179,6 @@
 android.mtp.MtpStorageManager
 android.net.-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ
 android.net.-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ
-android.net.-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI
 android.net.-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$PGkg1UrNyisY0wAts4zoVuYRgkw
 android.net.-$$Lambda$NetworkScoreManager$NetworkScoreCallbackProxy$TEOhIiY2C9y8yDWwRR6zm_12TGY
 android.net.-$$Lambda$NetworkStats$3raHHJpnJwsEAXnRXF2pK8-UDFY
@@ -4033,6 +4186,7 @@
 android.net.-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw
 android.net.CaptivePortal$1
 android.net.CaptivePortal
+android.net.CaptivePortalData$1
 android.net.CaptivePortalData
 android.net.ConnectionInfo$1
 android.net.ConnectionInfo
@@ -4067,6 +4221,7 @@
 android.net.EventLogTags
 android.net.ICaptivePortal$Stub
 android.net.ICaptivePortal
+android.net.IConnectivityDiagnosticsCallback$Stub$Proxy
 android.net.IConnectivityDiagnosticsCallback$Stub
 android.net.IConnectivityDiagnosticsCallback
 android.net.IConnectivityManager$Stub$Proxy
@@ -4074,6 +4229,7 @@
 android.net.IConnectivityManager
 android.net.IEthernetManager$Stub
 android.net.IEthernetManager
+android.net.IEthernetServiceListener$Stub$Proxy
 android.net.IEthernetServiceListener$Stub
 android.net.IEthernetServiceListener
 android.net.IIpConnectivityMetrics$Stub$Proxy
@@ -4113,6 +4269,7 @@
 android.net.ISocketKeepaliveCallback
 android.net.ITestNetworkManager$Stub
 android.net.ITestNetworkManager
+android.net.ITetheredInterfaceCallback$Stub$Proxy
 android.net.ITetheredInterfaceCallback$Stub
 android.net.ITetheredInterfaceCallback
 android.net.ITetheringStatsProvider$Stub$Proxy
@@ -4128,19 +4285,23 @@
 android.net.IpPrefix$1
 android.net.IpPrefix$2
 android.net.IpPrefix
+android.net.IpSecConfig$1
 android.net.IpSecConfig
 android.net.IpSecManager$SpiUnavailableException
 android.net.IpSecManager$UdpEncapsulationSocket
 android.net.IpSecManager
+android.net.IpSecSpiResponse$1
 android.net.IpSecSpiResponse
+android.net.IpSecTransformResponse$1
 android.net.IpSecTransformResponse
+android.net.IpSecTunnelInterfaceResponse$1
 android.net.IpSecTunnelInterfaceResponse
+android.net.IpSecUdpEncapResponse$1
 android.net.IpSecUdpEncapResponse
 android.net.KeepalivePacketData
 android.net.LinkAddress$1
 android.net.LinkAddress
 android.net.LinkProperties$1
-android.net.LinkProperties$CompareResult
 android.net.LinkProperties
 android.net.LocalServerSocket
 android.net.LocalSocket
@@ -4157,15 +4318,16 @@
 android.net.Network$1
 android.net.Network$NetworkBoundSocketFactory
 android.net.Network
+android.net.NetworkAgent$InitialConfiguration
+android.net.NetworkAgent$NetworkAgentHandler
 android.net.NetworkAgent
+android.net.NetworkAgentConfig$1
+android.net.NetworkAgentConfig$Builder
 android.net.NetworkAgentConfig
 android.net.NetworkCapabilities$1
 android.net.NetworkCapabilities$NameOf
 android.net.NetworkCapabilities
 android.net.NetworkConfig
-android.net.NetworkFactory$NetworkRequestInfo
-android.net.NetworkFactory$SerialNumber
-android.net.NetworkFactory
 android.net.NetworkIdentity
 android.net.NetworkInfo$1
 android.net.NetworkInfo$DetailedState
@@ -4180,6 +4342,7 @@
 android.net.NetworkPolicyManager$SubscriptionCallback
 android.net.NetworkPolicyManager$SubscriptionCallbackProxy
 android.net.NetworkPolicyManager
+android.net.NetworkProvider$1
 android.net.NetworkProvider
 android.net.NetworkQuotaInfo$1
 android.net.NetworkQuotaInfo
@@ -4243,6 +4406,7 @@
 android.net.StringNetworkSpecifier
 android.net.TcpSocketKeepalive
 android.net.TelephonyNetworkSpecifier$1
+android.net.TelephonyNetworkSpecifier$Builder
 android.net.TelephonyNetworkSpecifier
 android.net.TestNetworkManager
 android.net.TrafficStats
@@ -4306,8 +4470,10 @@
 android.net.metrics.ValidationProbeEvent
 android.net.metrics.WakeupEvent
 android.net.metrics.WakeupStats
+android.net.netstats.provider.INetworkStatsProvider$Stub$Proxy
 android.net.netstats.provider.INetworkStatsProvider$Stub
 android.net.netstats.provider.INetworkStatsProvider
+android.net.netstats.provider.INetworkStatsProviderCallback$Stub
 android.net.netstats.provider.INetworkStatsProviderCallback
 android.net.nsd.INsdManager$Stub$Proxy
 android.net.nsd.INsdManager$Stub
@@ -4331,6 +4497,7 @@
 android.net.util.-$$Lambda$MultinetworkPolicyTracker$8YMQ0fPTKk7Fw-_gJjln0JT-g8E
 android.net.util.KeepaliveUtils$KeepaliveDeviceConfigurationException
 android.net.util.KeepaliveUtils
+android.net.util.LinkPropertiesUtils$CompareResult
 android.net.util.LinkPropertiesUtils
 android.net.util.MacAddressUtils
 android.net.util.MultinetworkPolicyTracker$1
@@ -4395,8 +4562,11 @@
 android.nfc.TechListParcel
 android.nfc.cardemulation.AidGroup$1
 android.nfc.cardemulation.AidGroup
+android.nfc.cardemulation.ApduServiceInfo$1
 android.nfc.cardemulation.ApduServiceInfo
 android.nfc.cardemulation.CardEmulation
+android.nfc.cardemulation.HostApduService$MsgHandler
+android.nfc.cardemulation.HostApduService
 android.opengl.EGL14
 android.opengl.EGL15
 android.opengl.EGLConfig
@@ -4417,11 +4587,25 @@
 android.opengl.GLES31
 android.opengl.GLES31Ext
 android.opengl.GLES32
+android.opengl.GLSurfaceView$BaseConfigChooser
+android.opengl.GLSurfaceView$ComponentSizeChooser
+android.opengl.GLSurfaceView$DefaultContextFactory
+android.opengl.GLSurfaceView$DefaultWindowSurfaceFactory
+android.opengl.GLSurfaceView$EGLConfigChooser
+android.opengl.GLSurfaceView$EGLContextFactory
 android.opengl.GLSurfaceView$EGLWindowSurfaceFactory
+android.opengl.GLSurfaceView$EglHelper
+android.opengl.GLSurfaceView$GLThread
+android.opengl.GLSurfaceView$GLThreadManager
+android.opengl.GLSurfaceView$Renderer
+android.opengl.GLSurfaceView$SimpleEGLConfigChooser
+android.opengl.GLSurfaceView
 android.opengl.GLUtils
 android.opengl.Matrix
 android.opengl.Visibility
 android.os.-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I
+android.os.-$$Lambda$Binder$aNRcHb8WfLrWjcSlV42Wu5psFwU
+android.os.-$$Lambda$Binder$sHSgT14Q7D-inZx204V4-ect-uA
 android.os.-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw
 android.os.-$$Lambda$FileUtils$0SBPRWOXcbR9EMG_p-55sUuxJ_0
 android.os.-$$Lambda$FileUtils$TJeD9NeX5giO-5vlBrurGI-g4IY
@@ -4525,6 +4709,7 @@
 android.os.Environment$UserEnvironment
 android.os.Environment
 android.os.EventLogTags
+android.os.ExternalVibration$1
 android.os.ExternalVibration
 android.os.FactoryTest
 android.os.FileBridge$FileBridgeOutputStream
@@ -4543,6 +4728,7 @@
 android.os.HandlerThread
 android.os.HardwarePropertiesManager
 android.os.HidlMemory
+android.os.HidlMemoryUtil
 android.os.HidlSupport$Mutable
 android.os.HidlSupport
 android.os.HwBinder
@@ -4613,6 +4799,7 @@
 android.os.IPullAtomCallback
 android.os.IRecoverySystem$Stub
 android.os.IRecoverySystem
+android.os.IRecoverySystemProgressListener$Stub$Proxy
 android.os.IRecoverySystemProgressListener$Stub
 android.os.IRecoverySystemProgressListener
 android.os.IRemoteCallback$Stub$Proxy
@@ -4632,6 +4819,8 @@
 android.os.IStoraged$Stub$Proxy
 android.os.IStoraged$Stub
 android.os.IStoraged
+android.os.ISystemConfig$Stub
+android.os.ISystemConfig
 android.os.ISystemUpdateManager$Stub$Proxy
 android.os.ISystemUpdateManager$Stub
 android.os.ISystemUpdateManager
@@ -4660,6 +4849,7 @@
 android.os.IVibratorService$Stub$Proxy
 android.os.IVibratorService$Stub
 android.os.IVibratorService
+android.os.IVibratorStateListener$Stub$Proxy
 android.os.IVibratorStateListener$Stub
 android.os.IVibratorStateListener
 android.os.IVold$Stub$Proxy
@@ -4694,6 +4884,7 @@
 android.os.Parcel$1
 android.os.Parcel$2
 android.os.Parcel$ReadWriteHelper
+android.os.Parcel$SquashReadHelper
 android.os.Parcel
 android.os.ParcelFileDescriptor$1
 android.os.ParcelFileDescriptor$2
@@ -4720,6 +4911,8 @@
 android.os.PooledStringReader
 android.os.PooledStringWriter
 android.os.PowerManager$1
+android.os.PowerManager$2
+android.os.PowerManager$3
 android.os.PowerManager$OnThermalStatusChangedListener
 android.os.PowerManager$WakeData
 android.os.PowerManager$WakeLock$1
@@ -4818,6 +5011,8 @@
 android.os.Temperature$1
 android.os.Temperature
 android.os.ThreadLocalWorkSource
+android.os.TimestampedValue$1
+android.os.TimestampedValue
 android.os.TokenWatcher$1
 android.os.TokenWatcher$Death
 android.os.TokenWatcher
@@ -4844,6 +5039,7 @@
 android.os.VibrationAttributes$Builder
 android.os.VibrationAttributes
 android.os.VibrationEffect$1
+android.os.VibrationEffect$Composed$1
 android.os.VibrationEffect$Composed
 android.os.VibrationEffect$OneShot$1
 android.os.VibrationEffect$OneShot
@@ -4961,6 +5157,10 @@
 android.permission.IPermissionManager
 android.permission.PermissionControllerManager$1
 android.permission.PermissionControllerManager
+android.permission.PermissionManager$1
+android.permission.PermissionManager$2
+android.permission.PermissionManager$PackageNamePermissionQuery
+android.permission.PermissionManager$PermissionQuery
 android.permission.PermissionManager$SplitPermissionInfo
 android.permission.PermissionManagerInternal
 android.preference.GenericInflater$Parent
@@ -4975,13 +5175,16 @@
 android.preference.PreferenceManager$OnPreferenceTreeClickListener
 android.preference.PreferenceManager
 android.preference.PreferenceScreen
+android.print.IPrintDocumentAdapter$Stub$Proxy
 android.print.IPrintDocumentAdapter$Stub
 android.print.IPrintDocumentAdapter
+android.print.IPrintJobStateChangeListener$Stub$Proxy
 android.print.IPrintJobStateChangeListener$Stub
 android.print.IPrintJobStateChangeListener
 android.print.IPrintManager$Stub$Proxy
 android.print.IPrintManager$Stub
 android.print.IPrintManager
+android.print.IPrintServicesChangeListener$Stub$Proxy
 android.print.IPrintServicesChangeListener$Stub
 android.print.IPrintServicesChangeListener
 android.print.IPrintSpooler$Stub$Proxy
@@ -4991,20 +5194,25 @@
 android.print.IPrintSpoolerCallbacks
 android.print.IPrintSpoolerClient$Stub
 android.print.IPrintSpoolerClient
+android.print.IPrinterDiscoveryObserver$Stub$Proxy
 android.print.IPrinterDiscoveryObserver$Stub
 android.print.IPrinterDiscoveryObserver
+android.print.PrintAttributes$1
 android.print.PrintAttributes
 android.print.PrintDocumentAdapter
+android.print.PrintJobId$1
 android.print.PrintJobId
 android.print.PrintJobInfo$1
 android.print.PrintJobInfo
 android.print.PrintManager$1
 android.print.PrintManager
+android.print.PrinterId$1
 android.print.PrinterId
 android.printservice.IPrintServiceClient$Stub
 android.printservice.IPrintServiceClient
 android.printservice.PrintServiceInfo$1
 android.printservice.PrintServiceInfo
+android.printservice.recommendation.IRecommendationsChangeListener$Stub$Proxy
 android.printservice.recommendation.IRecommendationsChangeListener$Stub
 android.printservice.recommendation.IRecommendationsChangeListener
 android.privacy.DifferentialPrivacyConfig
@@ -5039,7 +5247,10 @@
 android.provider.ContactsContract$CommonDataKinds$Callable
 android.provider.ContactsContract$CommonDataKinds$CommonColumns
 android.provider.ContactsContract$CommonDataKinds$Email
+android.provider.ContactsContract$CommonDataKinds$Event
+android.provider.ContactsContract$CommonDataKinds$Im
 android.provider.ContactsContract$CommonDataKinds$Phone
+android.provider.ContactsContract$CommonDataKinds$Relation
 android.provider.ContactsContract$CommonDataKinds$StructuredPostal
 android.provider.ContactsContract$ContactCounts
 android.provider.ContactsContract$ContactNameColumns
@@ -5054,6 +5265,7 @@
 android.provider.ContactsContract$DataUsageStatColumns
 android.provider.ContactsContract$DeletedContacts
 android.provider.ContactsContract$DeletedContactsColumns
+android.provider.ContactsContract$Directory
 android.provider.ContactsContract$DisplayPhoto
 android.provider.ContactsContract$Groups
 android.provider.ContactsContract$GroupsColumns
@@ -5117,6 +5329,7 @@
 android.provider.Telephony$MmsSms
 android.provider.Telephony$ServiceStateTable
 android.provider.Telephony$SimInfo
+android.provider.Telephony$Sms$Intents
 android.provider.Telephony$Sms$Sent
 android.provider.Telephony$Sms
 android.provider.Telephony$TextBasedSmsColumns
@@ -5148,6 +5361,8 @@
 android.security.Credentials
 android.security.FileIntegrityManager
 android.security.GateKeeper
+android.security.IFileIntegrityService$Stub
+android.security.IFileIntegrityService
 android.security.IKeyChainAliasCallback$Stub
 android.security.IKeyChainAliasCallback
 android.security.IKeyChainService$Stub$Proxy
@@ -5335,10 +5550,12 @@
 android.service.appprediction.IPredictionService$Stub
 android.service.appprediction.IPredictionService
 android.service.autofill.AutofillServiceInfo
+android.service.autofill.Dataset$1
 android.service.autofill.Dataset
 android.service.autofill.FieldClassificationUserData
 android.service.autofill.FillContext$1
 android.service.autofill.FillContext
+android.service.autofill.FillEventHistory$1
 android.service.autofill.FillEventHistory
 android.service.autofill.FillRequest$1
 android.service.autofill.FillRequest
@@ -5352,25 +5569,23 @@
 android.service.autofill.IFillCallback
 android.service.autofill.ISaveCallback$Stub
 android.service.autofill.ISaveCallback
+android.service.autofill.SaveRequest$1
 android.service.autofill.SaveRequest
 android.service.autofill.UserData$1
 android.service.autofill.UserData$Builder
 android.service.autofill.UserData
+android.service.autofill.augmented.Helper
 android.service.autofill.augmented.IAugmentedAutofillService$Stub$Proxy
 android.service.autofill.augmented.IAugmentedAutofillService$Stub
 android.service.autofill.augmented.IAugmentedAutofillService
 android.service.autofill.augmented.IFillCallback$Stub$Proxy
 android.service.autofill.augmented.IFillCallback$Stub
 android.service.autofill.augmented.IFillCallback
-android.service.carrier.CarrierIdentifier$1
-android.service.carrier.CarrierIdentifier
 android.service.carrier.CarrierMessagingServiceWrapper$CarrierMessagingCallbackWrapper
 android.service.carrier.CarrierMessagingServiceWrapper
-android.service.carrier.ICarrierService$Stub$Proxy
-android.service.carrier.ICarrierService$Stub
-android.service.carrier.ICarrierService
 android.service.contentcapture.ActivityEvent$1
 android.service.contentcapture.ActivityEvent
+android.service.contentcapture.ContentCaptureService
 android.service.contentcapture.ContentCaptureServiceInfo
 android.service.contentcapture.FlushMetrics$1
 android.service.contentcapture.FlushMetrics
@@ -5385,47 +5600,22 @@
 android.service.contentcapture.SnapshotData$1
 android.service.contentcapture.SnapshotData
 android.service.dataloader.DataLoaderService
+android.service.dreams.-$$Lambda$DreamService$DreamServiceWrapper$2R9T6zqLOUvx4z5eu1pSMWsejpU
+android.service.dreams.-$$Lambda$DreamService$DreamServiceWrapper$fKPQo1GZX03b5-nMg-IFcuuxhKs
+android.service.dreams.-$$Lambda$DreamService$DreamServiceWrapper$mm-Rh3xCTudFT-WRyQZatcwXBss
+android.service.dreams.-$$Lambda$DreamService$uqzqbrpptkCH_tc1jkx48W1A6vM
+android.service.dreams.DreamActivity
 android.service.dreams.DreamManagerInternal
+android.service.dreams.DreamService$DreamServiceWrapper
+android.service.dreams.DreamService
 android.service.dreams.IDreamManager$Stub$Proxy
 android.service.dreams.IDreamManager$Stub
 android.service.dreams.IDreamManager
 android.service.dreams.IDreamService$Stub$Proxy
 android.service.dreams.IDreamService$Stub
 android.service.dreams.IDreamService
-android.service.euicc.EuiccProfileInfo$1
-android.service.euicc.EuiccProfileInfo
-android.service.euicc.GetEuiccProfileInfoListResult$1
-android.service.euicc.GetEuiccProfileInfoListResult
-android.service.euicc.IDeleteSubscriptionCallback$Stub
-android.service.euicc.IDeleteSubscriptionCallback
-android.service.euicc.IDownloadSubscriptionCallback$Stub
-android.service.euicc.IDownloadSubscriptionCallback
-android.service.euicc.IEraseSubscriptionsCallback$Stub
-android.service.euicc.IEraseSubscriptionsCallback
-android.service.euicc.IEuiccService$Stub$Proxy
-android.service.euicc.IEuiccService$Stub
-android.service.euicc.IEuiccService
-android.service.euicc.IGetDefaultDownloadableSubscriptionListCallback$Stub
-android.service.euicc.IGetDefaultDownloadableSubscriptionListCallback
-android.service.euicc.IGetDownloadableSubscriptionMetadataCallback$Stub
-android.service.euicc.IGetDownloadableSubscriptionMetadataCallback
-android.service.euicc.IGetEidCallback$Stub
-android.service.euicc.IGetEidCallback
-android.service.euicc.IGetEuiccInfoCallback$Stub
-android.service.euicc.IGetEuiccInfoCallback
-android.service.euicc.IGetEuiccProfileInfoListCallback$Stub$Proxy
-android.service.euicc.IGetEuiccProfileInfoListCallback$Stub
-android.service.euicc.IGetEuiccProfileInfoListCallback
-android.service.euicc.IGetOtaStatusCallback$Stub
-android.service.euicc.IGetOtaStatusCallback
 android.service.euicc.IOtaStatusChangedCallback$Stub
 android.service.euicc.IOtaStatusChangedCallback
-android.service.euicc.IRetainSubscriptionsForFactoryResetCallback$Stub
-android.service.euicc.IRetainSubscriptionsForFactoryResetCallback
-android.service.euicc.ISwitchToSubscriptionCallback$Stub
-android.service.euicc.ISwitchToSubscriptionCallback
-android.service.euicc.IUpdateSubscriptionNicknameCallback$Stub
-android.service.euicc.IUpdateSubscriptionNicknameCallback
 android.service.gatekeeper.GateKeeperResponse$1
 android.service.gatekeeper.GateKeeperResponse
 android.service.gatekeeper.IGateKeeperService$Stub$Proxy
@@ -5501,6 +5691,8 @@
 android.service.persistentdata.IPersistentDataBlockService$Stub
 android.service.persistentdata.IPersistentDataBlockService
 android.service.persistentdata.PersistentDataBlockManager
+android.service.quicksettings.IQSService$Stub
+android.service.quicksettings.IQSService
 android.service.textclassifier.ITextClassifierCallback$Stub$Proxy
 android.service.textclassifier.ITextClassifierCallback$Stub
 android.service.textclassifier.ITextClassifierCallback
@@ -5539,6 +5731,9 @@
 android.service.vr.IVrStateCallbacks$Stub$Proxy
 android.service.vr.IVrStateCallbacks$Stub
 android.service.vr.IVrStateCallbacks
+android.service.wallpaper.-$$Lambda$87Do-TfJA3qVM7QF6F_6BpQlQTA
+android.service.wallpaper.-$$Lambda$vsWBQpiXExY07tlrSzTqh4pNQAQ
+android.service.wallpaper.IWallpaperConnection$Stub$Proxy
 android.service.wallpaper.IWallpaperConnection$Stub
 android.service.wallpaper.IWallpaperConnection
 android.service.wallpaper.IWallpaperEngine$Stub$Proxy
@@ -5547,6 +5742,15 @@
 android.service.wallpaper.IWallpaperService$Stub$Proxy
 android.service.wallpaper.IWallpaperService$Stub
 android.service.wallpaper.IWallpaperService
+android.service.wallpaper.WallpaperService$Engine$1
+android.service.wallpaper.WallpaperService$Engine$2
+android.service.wallpaper.WallpaperService$Engine$3
+android.service.wallpaper.WallpaperService$Engine$WallpaperInputEventReceiver
+android.service.wallpaper.WallpaperService$Engine
+android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper
+android.service.wallpaper.WallpaperService$IWallpaperServiceWrapper
+android.service.wallpaper.WallpaperService$WallpaperCommand
+android.service.wallpaper.WallpaperService
 android.service.watchdog.ExplicitHealthCheckService$PackageConfig$1
 android.service.watchdog.ExplicitHealthCheckService$PackageConfig
 android.service.watchdog.IExplicitHealthCheckService$Stub$Proxy
@@ -5556,8 +5760,10 @@
 android.speech.tts.ITextToSpeechCallback$Stub
 android.speech.tts.ITextToSpeechCallback
 android.speech.tts.ITextToSpeechService$Stub$Proxy
+android.speech.tts.ITextToSpeechService$Stub
 android.speech.tts.ITextToSpeechService
 android.speech.tts.TextToSpeech$Action
+android.speech.tts.TextToSpeech$Connection$1
 android.speech.tts.TextToSpeech$Connection
 android.speech.tts.TextToSpeech$EngineInfo
 android.speech.tts.TextToSpeech$OnInitListener
@@ -5687,9 +5893,6 @@
 android.telecom.TimedEvent
 android.telecom.VideoProfile$1
 android.telecom.VideoProfile
-android.telephony.-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY
-android.telephony.-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4
-android.telephony.-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1uNdvGRe99lTurQeP2pTQkZS7Vs
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2XBMUIj05jt4Xm08XAsE57q5gCc
@@ -5710,6 +5913,7 @@
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$E9hw_LXFliykadzCB_mw8nukNGI
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$F-YGB2a8GrHG6CB17lzASQZXVHI
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$FBJGFGXoSvidKfm50cEzC3i9rVk
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$GJ2YJ4ARy5-u2bWutnqrYMAsLYA
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$HEcWn-J1WRb0wLERu2qoMIZDfjY
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$IU278K5QbmReF-mbpcNVAvVlhFI
@@ -5721,6 +5925,7 @@
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$RC2x2ijetA-pQrLa4QakzMBjh_k
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Rh4FuYaAZPAbrOYr6GGF6llSePE
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$SLDsZb_RTXJpIvKJwCENgXrSXcU
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$VCD7izkh9A_sRz9zMUPYy-TktLo
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$W65ui1dCCc-JnQa7gon1I7Bz7Sk
@@ -5752,331 +5957,57 @@
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yGF2cJtJjwhRqDU8M4yzwgROulY
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$ygzOWFRiY4sZQ4WYUPIefqgiGvM
 android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA
-android.telephony.-$$Lambda$SubscriptionManager$D5_PmvQ13e0qLtSnBvNd4R7l2qA
-android.telephony.-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$MLDtRnX1dj1RKFdjgIsOvcQxhA0
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$mpe0Kh92VEQmEtmo60oqykdvnBE
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$o3geRfUaRT9tnqKKZbu1EbUxw4Q
-android.telephony.-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4
+android.telephony.-$$Lambda$TelephonyManager$1$scMPky6lOZrCjFC3d4STbtLfpHE
 android.telephony.-$$Lambda$TelephonyManager$2$l6Pazxfi7QghMr2Z0MpduhNe6yc
 android.telephony.-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8
-android.telephony.AccessNetworkConstants$AccessNetworkType
-android.telephony.AccessNetworkConstants$TransportType
-android.telephony.AccessNetworkConstants
-android.telephony.AccessNetworkUtils
-android.telephony.AnomalyReporter
-android.telephony.AvailableNetworkInfo
-android.telephony.CallAttributes$1
-android.telephony.CallAttributes
-android.telephony.CallQuality$1
-android.telephony.CallQuality
-android.telephony.CarrierConfigManager$Gps
-android.telephony.CarrierConfigManager
-android.telephony.CarrierRestrictionRules$1
+android.telephony.AvailableNetworkInfo$1
 android.telephony.CarrierRestrictionRules$Builder
-android.telephony.CarrierRestrictionRules
-android.telephony.CellConfigLte$1
-android.telephony.CellConfigLte
-android.telephony.CellIdentity$1
-android.telephony.CellIdentity
-android.telephony.CellIdentityCdma$1
-android.telephony.CellIdentityCdma
-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
-android.telephony.CellIdentityTdscdma
-android.telephony.CellIdentityWcdma$1
-android.telephony.CellIdentityWcdma
-android.telephony.CellInfo$1
-android.telephony.CellInfo
-android.telephony.CellInfoCdma$1
-android.telephony.CellInfoCdma
-android.telephony.CellInfoGsm$1
-android.telephony.CellInfoGsm
-android.telephony.CellInfoLte$1
-android.telephony.CellInfoLte
-android.telephony.CellInfoNr$1
-android.telephony.CellInfoNr
-android.telephony.CellInfoTdscdma$1
-android.telephony.CellInfoTdscdma
-android.telephony.CellInfoWcdma$1
-android.telephony.CellInfoWcdma
-android.telephony.CellLocation
-android.telephony.CellSignalStrength
-android.telephony.CellSignalStrengthCdma$1
-android.telephony.CellSignalStrengthCdma
-android.telephony.CellSignalStrengthGsm$1
-android.telephony.CellSignalStrengthGsm
-android.telephony.CellSignalStrengthLte$1
-android.telephony.CellSignalStrengthLte
-android.telephony.CellSignalStrengthNr$1
-android.telephony.CellSignalStrengthNr
-android.telephony.CellSignalStrengthTdscdma$1
-android.telephony.CellSignalStrengthTdscdma
-android.telephony.CellSignalStrengthWcdma$1
-android.telephony.CellSignalStrengthWcdma
-android.telephony.ClientRequestStats$1
-android.telephony.ClientRequestStats
 android.telephony.DataConnectionRealTimeInfo$1
 android.telephony.DataConnectionRealTimeInfo
-android.telephony.DataFailCause$1
-android.telephony.DataFailCause
-android.telephony.DataSpecificRegistrationInfo$1
-android.telephony.DataSpecificRegistrationInfo
 android.telephony.DisconnectCause
-android.telephony.ICellInfoCallback$Stub$Proxy
-android.telephony.ICellInfoCallback$Stub
-android.telephony.ICellInfoCallback
-android.telephony.INetworkService$Stub$Proxy
-android.telephony.INetworkService$Stub
-android.telephony.INetworkService
 android.telephony.INetworkServiceCallback$Stub$Proxy
-android.telephony.INetworkServiceCallback$Stub
-android.telephony.INetworkServiceCallback
-android.telephony.IccOpenLogicalChannelResponse$1
-android.telephony.IccOpenLogicalChannelResponse
-android.telephony.ImsiEncryptionInfo$1
-android.telephony.ImsiEncryptionInfo
-android.telephony.JapanesePhoneNumberFormatter
 android.telephony.LocationAccessPolicy$LocationPermissionQuery$Builder
 android.telephony.LocationAccessPolicy$LocationPermissionQuery
 android.telephony.LocationAccessPolicy$LocationPermissionResult
 android.telephony.LocationAccessPolicy
-android.telephony.LteVopsSupportInfo$1
-android.telephony.LteVopsSupportInfo
 android.telephony.MmsManager
-android.telephony.ModemActivityInfo$1
-android.telephony.ModemActivityInfo$TransmitPower
-android.telephony.ModemActivityInfo
-android.telephony.ModemInfo$1
-android.telephony.ModemInfo
-android.telephony.NeighboringCellInfo$1
-android.telephony.NeighboringCellInfo
-android.telephony.NetworkRegistrationInfo$1
-android.telephony.NetworkRegistrationInfo$Builder
-android.telephony.NetworkRegistrationInfo
-android.telephony.NetworkScan
-android.telephony.NetworkScanRequest$1
-android.telephony.NetworkScanRequest
-android.telephony.NetworkService$INetworkServiceWrapper
-android.telephony.NetworkService$NetworkServiceHandler
-android.telephony.NetworkService$NetworkServiceProvider
-android.telephony.NetworkService
-android.telephony.NetworkServiceCallback
 android.telephony.NumberVerificationCallback
 android.telephony.PackageChangeReceiver
-android.telephony.PhoneCapability$1
-android.telephony.PhoneCapability
-android.telephony.PhoneNumberRange$1
-android.telephony.PhoneNumberRange
-android.telephony.PhoneNumberUtils
 android.telephony.PhoneStateListener$IPhoneStateListenerStub
 android.telephony.PhoneStateListener
-android.telephony.PhysicalChannelConfig$1
-android.telephony.PhysicalChannelConfig$Builder
-android.telephony.PhysicalChannelConfig
-android.telephony.PreciseCallState$1
-android.telephony.PreciseCallState
-android.telephony.PreciseDataConnectionState$1
-android.telephony.PreciseDataConnectionState
-android.telephony.RadioAccessFamily$1
-android.telephony.RadioAccessFamily
+android.telephony.RadioAccessSpecifier$1
 android.telephony.RadioAccessSpecifier
 android.telephony.Rlog
-android.telephony.ServiceState$1
-android.telephony.ServiceState
-android.telephony.SignalStrength$1
-android.telephony.SignalStrength
+android.telephony.SmsCbCmasInfo$1
 android.telephony.SmsCbCmasInfo
-android.telephony.SmsCbEtwsInfo
-android.telephony.SmsCbLocation
-android.telephony.SmsCbMessage
-android.telephony.SmsManager
+android.telephony.SmsCbEtwsInfo$1
+android.telephony.SmsCbLocation$1
+android.telephony.SmsCbMessage$1
 android.telephony.SmsMessage$1
 android.telephony.SmsMessage$MessageClass
-android.telephony.SmsMessage
-android.telephony.SubscriptionInfo$1
-android.telephony.SubscriptionInfo
-android.telephony.SubscriptionManager$OnOpportunisticSubscriptionsChangedListener
-android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler
-android.telephony.SubscriptionManager$OnSubscriptionsChangedListener
-android.telephony.SubscriptionManager
 android.telephony.SubscriptionPlan$1
 android.telephony.SubscriptionPlan
-android.telephony.TelephonyFrameworkInitializer
-android.telephony.TelephonyHistogram$1
-android.telephony.TelephonyHistogram
+android.telephony.TelephonyDisplayInfo
 android.telephony.TelephonyManager$1
 android.telephony.TelephonyManager$2
-android.telephony.TelephonyManager$5
-android.telephony.TelephonyManager$7
-android.telephony.TelephonyManager$CellInfoCallback
-android.telephony.TelephonyManager$MultiSimVariants
 android.telephony.TelephonyManager$UssdResponseCallback
-android.telephony.TelephonyManager
 android.telephony.TelephonyRegistryManager$1
 android.telephony.TelephonyRegistryManager$2
 android.telephony.TelephonyRegistryManager
 android.telephony.TelephonyScanManager$NetworkScanCallback
-android.telephony.UiccAccessRule$1
-android.telephony.UiccAccessRule
-android.telephony.UiccCardInfo$1
-android.telephony.UiccCardInfo
-android.telephony.UiccSlotInfo$1
-android.telephony.UiccSlotInfo
+android.telephony.UssdResponse$1
 android.telephony.UssdResponse
-android.telephony.VisualVoicemailSmsFilterSettings$1
-android.telephony.VisualVoicemailSmsFilterSettings$Builder
-android.telephony.VisualVoicemailSmsFilterSettings
-android.telephony.VoiceSpecificRegistrationInfo$1
-android.telephony.VoiceSpecificRegistrationInfo
-android.telephony.cdma.CdmaCellLocation
-android.telephony.data.ApnSetting$1
-android.telephony.data.ApnSetting$Builder
-android.telephony.data.ApnSetting
-android.telephony.data.DataCallResponse$1
-android.telephony.data.DataCallResponse
-android.telephony.data.DataProfile$1
-android.telephony.data.DataProfile$Builder
-android.telephony.data.DataProfile
-android.telephony.data.DataService$DataCallListChangedIndication
-android.telephony.data.DataService$DataServiceHandler
-android.telephony.data.DataService$DataServiceProvider
-android.telephony.data.DataService$DeactivateDataCallRequest
-android.telephony.data.DataService$IDataServiceWrapper
-android.telephony.data.DataService$SetDataProfileRequest
-android.telephony.data.DataService$SetInitialAttachApnRequest
-android.telephony.data.DataService$SetupDataCallRequest
-android.telephony.data.DataService
-android.telephony.data.DataServiceCallback
-android.telephony.data.IDataService$Stub$Proxy
-android.telephony.data.IDataService$Stub
-android.telephony.data.IDataService
 android.telephony.data.IDataServiceCallback$Stub$Proxy
-android.telephony.data.IDataServiceCallback$Stub
-android.telephony.data.IDataServiceCallback
-android.telephony.data.IQualifiedNetworksService$Stub$Proxy
-android.telephony.data.IQualifiedNetworksService$Stub
-android.telephony.data.IQualifiedNetworksService
 android.telephony.data.IQualifiedNetworksServiceCallback$Stub$Proxy
-android.telephony.data.IQualifiedNetworksServiceCallback$Stub
-android.telephony.data.IQualifiedNetworksServiceCallback
-android.telephony.emergency.EmergencyNumber$1
-android.telephony.emergency.EmergencyNumber
-android.telephony.euicc.DownloadableSubscription
+android.telephony.euicc.DownloadableSubscription$1
 android.telephony.euicc.EuiccCardManager$13
 android.telephony.euicc.EuiccCardManager$1
-android.telephony.euicc.EuiccCardManager$ResultCallback
-android.telephony.euicc.EuiccCardManager
+android.telephony.euicc.EuiccInfo$1
 android.telephony.euicc.EuiccInfo
-android.telephony.euicc.EuiccManager
-android.telephony.gsm.GsmCellLocation
-android.telephony.ims.-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08
-android.telephony.ims.-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM
-android.telephony.ims.-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$APeqso3VzZZ0eUf5slP1k5xoCME
-android.telephony.ims.-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$DX_-dWIBwwX2oqDoRnq49RndG7s
-android.telephony.ims.-$$Lambda$RegistrationManager$RegistrationCallback$RegistrationBinder$uTxkp6C02qJxic1W_dkZRCQ6aRw
-android.telephony.ims.ImsCallForwardInfo$1
-android.telephony.ims.ImsCallForwardInfo
-android.telephony.ims.ImsCallProfile$1
-android.telephony.ims.ImsCallProfile
-android.telephony.ims.ImsException
-android.telephony.ims.ImsExternalCallState$1
-android.telephony.ims.ImsExternalCallState
-android.telephony.ims.ImsManager
-android.telephony.ims.ImsMmTelManager$3
-android.telephony.ims.ImsMmTelManager$CapabilityCallback$CapabilityBinder
-android.telephony.ims.ImsMmTelManager$CapabilityCallback
-android.telephony.ims.ImsMmTelManager$RegistrationCallback
-android.telephony.ims.ImsMmTelManager
-android.telephony.ims.ImsReasonInfo$1
-android.telephony.ims.ImsReasonInfo
-android.telephony.ims.ImsService$1
-android.telephony.ims.ImsService$Listener
-android.telephony.ims.ImsService
-android.telephony.ims.ImsSsData
-android.telephony.ims.ImsSsInfo$1
-android.telephony.ims.ImsSsInfo
-android.telephony.ims.ImsUtListener
-android.telephony.ims.ProvisioningManager$Callback$CallbackBinder
-android.telephony.ims.ProvisioningManager$Callback
-android.telephony.ims.RegistrationManager$1
-android.telephony.ims.RegistrationManager$RegistrationCallback$RegistrationBinder
-android.telephony.ims.RegistrationManager$RegistrationCallback
-android.telephony.ims.RegistrationManager
-android.telephony.ims.aidl.IImsCapabilityCallback$Stub$Proxy
-android.telephony.ims.aidl.IImsCapabilityCallback$Stub
-android.telephony.ims.aidl.IImsCapabilityCallback
-android.telephony.ims.aidl.IImsConfig$Stub$Proxy
-android.telephony.ims.aidl.IImsConfig$Stub
-android.telephony.ims.aidl.IImsConfig
-android.telephony.ims.aidl.IImsConfigCallback$Stub$Proxy
-android.telephony.ims.aidl.IImsConfigCallback$Stub
-android.telephony.ims.aidl.IImsConfigCallback
-android.telephony.ims.aidl.IImsMmTelFeature$Stub$Proxy
-android.telephony.ims.aidl.IImsMmTelFeature$Stub
-android.telephony.ims.aidl.IImsMmTelFeature
-android.telephony.ims.aidl.IImsMmTelListener$Stub$Proxy
-android.telephony.ims.aidl.IImsMmTelListener$Stub
-android.telephony.ims.aidl.IImsMmTelListener
-android.telephony.ims.aidl.IImsRcsFeature$Stub
-android.telephony.ims.aidl.IImsRcsFeature
-android.telephony.ims.aidl.IImsRegistration$Stub
-android.telephony.ims.aidl.IImsRegistration
-android.telephony.ims.aidl.IImsRegistrationCallback$Stub$Proxy
-android.telephony.ims.aidl.IImsRegistrationCallback$Stub
-android.telephony.ims.aidl.IImsRegistrationCallback
-android.telephony.ims.aidl.IImsServiceController$Stub$Proxy
-android.telephony.ims.aidl.IImsServiceController$Stub
-android.telephony.ims.aidl.IImsServiceController
+android.telephony.ims.ImsSsData$1
 android.telephony.ims.aidl.IImsServiceControllerListener$Stub$Proxy
-android.telephony.ims.aidl.IImsServiceControllerListener$Stub
-android.telephony.ims.aidl.IImsServiceControllerListener
-android.telephony.ims.aidl.IImsSmsListener$Stub$Proxy
-android.telephony.ims.aidl.IImsSmsListener$Stub
-android.telephony.ims.aidl.IImsSmsListener
-android.telephony.ims.aidl.IRcsMessage$Stub
-android.telephony.ims.aidl.IRcsMessage
-android.telephony.ims.feature.-$$Lambda$ImsFeature$9bLETU1BeS-dFzQnbBBs3kwaz-8
 android.telephony.ims.feature.-$$Lambda$ImsFeature$rPSMsRhoup9jfT6nt1MV2qhomrM
-android.telephony.ims.feature.CapabilityChangeRequest$1
-android.telephony.ims.feature.CapabilityChangeRequest$CapabilityPair
-android.telephony.ims.feature.CapabilityChangeRequest
-android.telephony.ims.feature.ImsFeature$1
-android.telephony.ims.feature.ImsFeature$2
-android.telephony.ims.feature.ImsFeature$Capabilities
-android.telephony.ims.feature.ImsFeature$CapabilityCallbackProxy
-android.telephony.ims.feature.ImsFeature
-android.telephony.ims.feature.MmTelFeature$1
-android.telephony.ims.feature.MmTelFeature$Listener
-android.telephony.ims.feature.MmTelFeature$MmTelCapabilities
-android.telephony.ims.feature.MmTelFeature
-android.telephony.ims.stub.-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA
-android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE
-android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI
-android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0
-android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s
-android.telephony.ims.stub.ImsCallSessionImplBase
-android.telephony.ims.stub.ImsConfigImplBase$ImsConfigStub
-android.telephony.ims.stub.ImsConfigImplBase
-android.telephony.ims.stub.ImsEcbmImplBase$1
-android.telephony.ims.stub.ImsEcbmImplBase
-android.telephony.ims.stub.ImsFeatureConfiguration$1
-android.telephony.ims.stub.ImsFeatureConfiguration$FeatureSlotPair
-android.telephony.ims.stub.ImsFeatureConfiguration
-android.telephony.ims.stub.ImsMultiEndpointImplBase$1
-android.telephony.ims.stub.ImsMultiEndpointImplBase
-android.telephony.ims.stub.ImsRegistrationImplBase$1
-android.telephony.ims.stub.ImsRegistrationImplBase
-android.telephony.ims.stub.ImsSmsImplBase
-android.telephony.ims.stub.ImsUtImplBase$1
-android.telephony.ims.stub.ImsUtImplBase
+android.text.-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY
 android.text.AndroidBidi$EmojiBidiOverride
 android.text.AndroidBidi
 android.text.AndroidCharacter
@@ -6135,6 +6066,7 @@
 android.text.Layout$Directions
 android.text.Layout$Ellipsizer
 android.text.Layout$HorizontalMeasurementProvider
+android.text.Layout$SelectionRectangleConsumer
 android.text.Layout$SpannedEllipsizer
 android.text.Layout$TabStops
 android.text.Layout
@@ -6205,8 +6137,10 @@
 android.text.method.LinkMovementMethod
 android.text.method.MetaKeyKeyListener
 android.text.method.MovementMethod
+android.text.method.MultiTapKeyListener
 android.text.method.NumberKeyListener
 android.text.method.PasswordTransformationMethod
+android.text.method.QwertyKeyListener$Replaced
 android.text.method.QwertyKeyListener
 android.text.method.ReplacementTransformationMethod$ReplacementCharSequence
 android.text.method.ReplacementTransformationMethod$SpannedReplacementCharSequence
@@ -6214,6 +6148,7 @@
 android.text.method.ScrollingMovementMethod
 android.text.method.SingleLineTransformationMethod
 android.text.method.TextKeyListener$Capitalize
+android.text.method.TextKeyListener$NullKeyListener
 android.text.method.TextKeyListener$SettingsObserver
 android.text.method.TextKeyListener
 android.text.method.TimeKeyListener
@@ -6525,6 +6460,7 @@
 android.view.-$$Lambda$InsetsController$6uoSHBPvxV1C0JOZKhH1AyuNXmo
 android.view.-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8
 android.view.-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q
+android.view.-$$Lambda$InsetsController$InternalAnimationControlListener$SInf91MjJKDQFXwrp7C-HBi0xaQ
 android.view.-$$Lambda$InsetsController$RZT3QkL9zMFTeHtZbfcaHIzvlsc
 android.view.-$$Lambda$InsetsController$zpmOxHfTFV_3me2u3C8YaXSUauQ
 android.view.-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g
@@ -6536,6 +6472,8 @@
 android.view.-$$Lambda$ThreadedRenderer$ydBD-R1iP5u-97XYakm-jKvC1b4
 android.view.-$$Lambda$View$bhR1vB5ZYp3dv-Kth4jtLSS0KEs
 android.view.-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ
+android.view.-$$Lambda$ViewGroup$ViewLocationHolder$AjKvqdj7SGGIzA5qrlZUuu71jl8
+android.view.-$$Lambda$ViewGroup$ViewLocationHolder$QbO7cM0ULKe25a7bfXG3VH6DB0c
 android.view.-$$Lambda$ViewRootImpl$DJd0VUYJgsebcnSohO6h8zc_ONI
 android.view.-$$Lambda$ViewRootImpl$IReiNMSbDakZSGbIZuL_ifaFWn8
 android.view.-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI
@@ -6552,6 +6490,7 @@
 android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher
 android.view.AccessibilityInteractionController$PrivateHandler
 android.view.AccessibilityInteractionController
+android.view.ActionMode$Callback2
 android.view.ActionMode$Callback
 android.view.ActionMode
 android.view.ActionProvider$SubUiVisibilityListener
@@ -6573,6 +6512,8 @@
 android.view.ContextMenu$ContextMenuInfo
 android.view.ContextMenu
 android.view.ContextThemeWrapper
+android.view.CutoutSpecification$Parser
+android.view.CutoutSpecification
 android.view.Display$HdrCapabilities$1
 android.view.Display$HdrCapabilities
 android.view.Display$Mode$1
@@ -6621,6 +6562,7 @@
 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
@@ -6716,6 +6658,15 @@
 android.view.InputQueue
 android.view.InputWindowHandle
 android.view.InsetsAnimationControlCallbacks
+android.view.InsetsAnimationControlImpl
+android.view.InsetsAnimationControlRunner
+android.view.InsetsAnimationThread
+android.view.InsetsController$1
+android.view.InsetsController$InternalAnimationControlListener$1
+android.view.InsetsController$InternalAnimationControlListener$2
+android.view.InsetsController$InternalAnimationControlListener
+android.view.InsetsController$PendingControlRequest
+android.view.InsetsController$RunningAnimation
 android.view.InsetsController
 android.view.InsetsFlags
 android.view.InsetsSource$1
@@ -6752,9 +6703,16 @@
 android.view.MotionEvent$PointerProperties
 android.view.MotionEvent
 android.view.NativeVectorDrawableAnimator
+android.view.NotificationHeaderView$1
+android.view.NotificationHeaderView$HeaderTouchListener
+android.view.NotificationHeaderView
 android.view.OrientationEventListener$SensorEventListenerImpl
 android.view.OrientationEventListener
 android.view.OrientationListener
+android.view.PendingInsetsController
+android.view.PixelCopy$1
+android.view.PixelCopy$OnPixelCopyFinishedListener
+android.view.PixelCopy
 android.view.PointerIcon$1
 android.view.PointerIcon$2
 android.view.PointerIcon
@@ -6796,6 +6754,7 @@
 android.view.SurfaceControl$Transaction$1
 android.view.SurfaceControl$Transaction
 android.view.SurfaceControl
+android.view.SurfaceControlViewHost$SurfacePackage$1
 android.view.SurfaceControlViewHost$SurfacePackage
 android.view.SurfaceHolder$Callback2
 android.view.SurfaceHolder$Callback
@@ -6804,6 +6763,9 @@
 android.view.SurfaceView$1
 android.view.SurfaceView$2
 android.view.SurfaceView
+android.view.SyncRtSurfaceTransactionApplier$SurfaceParams$Builder
+android.view.SyncRtSurfaceTransactionApplier$SurfaceParams
+android.view.SyncRtSurfaceTransactionApplier
 android.view.TextureLayer
 android.view.TextureView$SurfaceTextureListener
 android.view.TextureView
@@ -6870,6 +6832,7 @@
 android.view.View$VisibilityChangeForAutofillHandler
 android.view.View
 android.view.ViewAnimationHostBridge
+android.view.ViewAnimationUtils
 android.view.ViewConfiguration
 android.view.ViewDebug$ExportedProperty
 android.view.ViewDebug$FlagToString
@@ -6886,6 +6849,7 @@
 android.view.ViewGroup$MarginLayoutParams
 android.view.ViewGroup$OnHierarchyChangeListener
 android.view.ViewGroup$TouchTarget
+android.view.ViewGroup$ViewLocationHolder
 android.view.ViewGroup
 android.view.ViewGroupOverlay
 android.view.ViewManager
@@ -6985,6 +6949,11 @@
 android.view.WindowInsets$Side
 android.view.WindowInsets$Type
 android.view.WindowInsets
+android.view.WindowInsetsAnimation$Bounds
+android.view.WindowInsetsAnimation$Callback
+android.view.WindowInsetsAnimation
+android.view.WindowInsetsAnimationControlListener
+android.view.WindowInsetsAnimationController
 android.view.WindowInsetsController
 android.view.WindowLeaked
 android.view.WindowManager$BadTokenException
@@ -7018,7 +6987,9 @@
 android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction
 android.view.accessibility.AccessibilityNodeInfo$CollectionInfo
 android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo
+android.view.accessibility.AccessibilityNodeInfo$ExtraRenderingInfo
 android.view.accessibility.AccessibilityNodeInfo$RangeInfo
+android.view.accessibility.AccessibilityNodeInfo$TouchDelegateInfo$1
 android.view.accessibility.AccessibilityNodeInfo$TouchDelegateInfo
 android.view.accessibility.AccessibilityNodeInfo
 android.view.accessibility.AccessibilityNodeProvider
@@ -7040,6 +7011,7 @@
 android.view.accessibility.IAccessibilityManagerClient$Stub$Proxy
 android.view.accessibility.IAccessibilityManagerClient$Stub
 android.view.accessibility.IAccessibilityManagerClient
+android.view.accessibility.IWindowMagnificationConnection$Stub$Proxy
 android.view.accessibility.IWindowMagnificationConnection$Stub
 android.view.accessibility.IWindowMagnificationConnection
 android.view.accessibility.WeakSparseArray$WeakReferenceWithId
@@ -7100,10 +7072,16 @@
 android.view.autofill.IAutoFillManagerClient$Stub$Proxy
 android.view.autofill.IAutoFillManagerClient$Stub
 android.view.autofill.IAutoFillManagerClient
+android.view.autofill.IAutofillWindowPresenter$Stub$Proxy
 android.view.autofill.IAutofillWindowPresenter$Stub
 android.view.autofill.IAutofillWindowPresenter
 android.view.autofill.ParcelableMap$1
 android.view.autofill.ParcelableMap
+android.view.contentcapture.-$$Lambda$MainContentCaptureSession$1$JPRO-nNGZpgXrKr4QC_iQiTbQx0
+android.view.contentcapture.-$$Lambda$MainContentCaptureSession$1$Xhq3WJibbalS1G_W3PRC2m7muhM
+android.view.contentcapture.-$$Lambda$MainContentCaptureSession$49zT7C2BXrEdkyggyGk1Qs4d46k
+android.view.contentcapture.-$$Lambda$MainContentCaptureSession$HTmdDf687TPcaTnLyPp3wo0gI60
+android.view.contentcapture.-$$Lambda$MainContentCaptureSession$UWslDbWedtPhv49PtRsvG4TlYWw
 android.view.contentcapture.ContentCaptureCondition$1
 android.view.contentcapture.ContentCaptureCondition
 android.view.contentcapture.ContentCaptureContext$1
@@ -7115,17 +7093,27 @@
 android.view.contentcapture.ContentCaptureManager$ContentCaptureClient
 android.view.contentcapture.ContentCaptureManager
 android.view.contentcapture.ContentCaptureSession
+android.view.contentcapture.ContentCaptureSessionId$1
 android.view.contentcapture.ContentCaptureSessionId
 android.view.contentcapture.DataRemovalRequest$1
+android.view.contentcapture.DataRemovalRequest$LocusIdRequest
 android.view.contentcapture.DataRemovalRequest
+android.view.contentcapture.DataShareRequest$1
 android.view.contentcapture.DataShareRequest
+android.view.contentcapture.IContentCaptureDirectManager$Stub$Proxy
+android.view.contentcapture.IContentCaptureDirectManager$Stub
+android.view.contentcapture.IContentCaptureDirectManager
 android.view.contentcapture.IContentCaptureManager$Stub$Proxy
 android.view.contentcapture.IContentCaptureManager$Stub
 android.view.contentcapture.IContentCaptureManager
+android.view.contentcapture.IDataShareWriteAdapter$Stub$Proxy
 android.view.contentcapture.IDataShareWriteAdapter$Stub
 android.view.contentcapture.IDataShareWriteAdapter
 android.view.contentcapture.MainContentCaptureSession$1
 android.view.contentcapture.MainContentCaptureSession
+android.view.contentcapture.ViewNode$ViewNodeText
+android.view.contentcapture.ViewNode$ViewStructureImpl
+android.view.contentcapture.ViewNode
 android.view.inputmethod.-$$Lambda$InputMethodManager$DelegateImpl$r2X8PLo_YIORJTYJGDfinf_IvK4
 android.view.inputmethod.-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0
 android.view.inputmethod.-$$Lambda$InputMethodManager$iDWn3IGSUFqIcs8Py42UhfrshxI
@@ -7146,6 +7134,7 @@
 android.view.inputmethod.ExtractedText
 android.view.inputmethod.ExtractedTextRequest$1
 android.view.inputmethod.ExtractedTextRequest
+android.view.inputmethod.InlineSuggestionsRequest$1
 android.view.inputmethod.InlineSuggestionsRequest
 android.view.inputmethod.InputBinding$1
 android.view.inputmethod.InputBinding
@@ -7185,6 +7174,7 @@
 android.view.textclassifier.-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI
 android.view.textclassifier.-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk
 android.view.textclassifier.-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8
+android.view.textclassifier.-$$Lambda$TextClassification$ysasaE5ZkXkkzjVWIJ06GTV92-g
 android.view.textclassifier.-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE
 android.view.textclassifier.-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw
 android.view.textclassifier.-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos
@@ -7223,9 +7213,11 @@
 android.view.textclassifier.SystemTextClassifier$BlockingCallback
 android.view.textclassifier.SystemTextClassifier$ResponseReceiver
 android.view.textclassifier.SystemTextClassifier
+android.view.textclassifier.SystemTextClassifierMetadata
 android.view.textclassifier.TextClassification$1
 android.view.textclassifier.TextClassification$Builder
 android.view.textclassifier.TextClassification$Request$1
+android.view.textclassifier.TextClassification$Request$Builder
 android.view.textclassifier.TextClassification$Request
 android.view.textclassifier.TextClassification
 android.view.textclassifier.TextClassificationConstants
@@ -7234,6 +7226,8 @@
 android.view.textclassifier.TextClassificationContext
 android.view.textclassifier.TextClassificationManager$SettingsObserver
 android.view.textclassifier.TextClassificationManager
+android.view.textclassifier.TextClassificationSession$CleanerRunnable
+android.view.textclassifier.TextClassificationSession$SelectionEventHelper
 android.view.textclassifier.TextClassificationSession
 android.view.textclassifier.TextClassificationSessionFactory
 android.view.textclassifier.TextClassificationSessionId$1
@@ -7263,9 +7257,11 @@
 android.view.textclassifier.TextLanguage$Request$Builder
 android.view.textclassifier.TextLanguage$Request
 android.view.textclassifier.TextLanguage
+android.view.textclassifier.TextLinks$1
 android.view.textclassifier.TextLinks$Builder
 android.view.textclassifier.TextLinks$Request$1
 android.view.textclassifier.TextLinks$Request
+android.view.textclassifier.TextLinks$TextLink$1
 android.view.textclassifier.TextLinks$TextLink
 android.view.textclassifier.TextLinks$TextLinkSpan
 android.view.textclassifier.TextLinks
@@ -7283,6 +7279,8 @@
 android.view.textclassifier.intent.TemplateIntentFactory
 android.view.textclassifier.logging.SmartSelectionEventTracker$SelectionEvent
 android.view.textclassifier.logging.SmartSelectionEventTracker
+android.view.textservice.SentenceSuggestionsInfo$1
+android.view.textservice.SentenceSuggestionsInfo
 android.view.textservice.SpellCheckerInfo$1
 android.view.textservice.SpellCheckerInfo
 android.view.textservice.SpellCheckerSession$1
@@ -7294,6 +7292,9 @@
 android.view.textservice.SpellCheckerSession
 android.view.textservice.SpellCheckerSubtype$1
 android.view.textservice.SpellCheckerSubtype
+android.view.textservice.SuggestionsInfo$1
+android.view.textservice.SuggestionsInfo
+android.view.textservice.TextInfo$1
 android.view.textservice.TextInfo
 android.view.textservice.TextServicesManager
 android.webkit.ConsoleMessage$MessageLevel
@@ -7301,6 +7302,8 @@
 android.webkit.CookieManager
 android.webkit.CookieSyncManager
 android.webkit.DownloadListener
+android.webkit.FindAddress$ZipRange
+android.webkit.FindAddress
 android.webkit.GeolocationPermissions
 android.webkit.IWebViewUpdateService$Stub$Proxy
 android.webkit.IWebViewUpdateService$Stub
@@ -7323,6 +7326,7 @@
 android.webkit.WebMessagePort
 android.webkit.WebResourceError
 android.webkit.WebResourceRequest
+android.webkit.WebResourceResponse
 android.webkit.WebSettings$PluginState
 android.webkit.WebSettings
 android.webkit.WebStorage
@@ -7353,9 +7357,12 @@
 android.webkit.WebViewProviderResponse$1
 android.webkit.WebViewProviderResponse
 android.webkit.WebViewZygote
+android.widget.-$$Lambda$DZXn7FbDDFyBvNjI-iG9_hfa7kw
+android.widget.-$$Lambda$DateTimeView$ReceiverInfo$AVLnX7U5lTcE9jLnlKKNAT1GUeI
 android.widget.-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg
 android.widget.-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw
 android.widget.-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI
+android.widget.-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I
 android.widget.-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc
 android.widget.-$$Lambda$RemoteViews$FAOkoZgPKPkiYdtkDxAhkeoykww
 android.widget.-$$Lambda$RemoteViews$Ld8XNSMwygf42608Zln-rjTyHy0
@@ -7389,6 +7396,7 @@
 android.widget.AbsSeekBar
 android.widget.AbsSpinner$RecycleBin
 android.widget.AbsSpinner$SavedState$1
+android.widget.AbsSpinner$SavedState
 android.widget.AbsSpinner
 android.widget.AbsoluteLayout$LayoutParams
 android.widget.AbsoluteLayout
@@ -7428,8 +7436,14 @@
 android.widget.Chronometer$OnChronometerTickListener
 android.widget.Chronometer
 android.widget.CompoundButton$OnCheckedChangeListener
+android.widget.CompoundButton$SavedState$1
 android.widget.CompoundButton$SavedState
 android.widget.CompoundButton
+android.widget.DateTimeView$ReceiverInfo$1
+android.widget.DateTimeView$ReceiverInfo$2
+android.widget.DateTimeView$ReceiverInfo
+android.widget.DateTimeView
+android.widget.DropDownListView
 android.widget.EdgeEffect
 android.widget.EditText
 android.widget.Editor$1
@@ -7448,7 +7462,9 @@
 android.widget.Editor$HandleView
 android.widget.Editor$InputContentType
 android.widget.Editor$InputMethodState
+android.widget.Editor$InsertionHandleView$1
 android.widget.Editor$InsertionHandleView
+android.widget.Editor$InsertionPointCursorController$1
 android.widget.Editor$InsertionPointCursorController
 android.widget.Editor$MagnifierMotionAnimator
 android.widget.Editor$PinnedPopupWindow
@@ -7474,7 +7490,11 @@
 android.widget.FastScroller$5
 android.widget.FastScroller$6
 android.widget.FastScroller
+android.widget.Filter$Delayer
 android.widget.Filter$FilterListener
+android.widget.Filter$FilterResults
+android.widget.Filter$RequestArguments
+android.widget.Filter$RequestHandler
 android.widget.Filter$ResultsHandler
 android.widget.Filter
 android.widget.Filterable
@@ -7537,6 +7557,12 @@
 android.widget.PopupWindow$2
 android.widget.PopupWindow$3
 android.widget.PopupWindow$OnDismissListener
+android.widget.PopupWindow$PopupBackgroundView
+android.widget.PopupWindow$PopupDecorView$1$1
+android.widget.PopupWindow$PopupDecorView$1
+android.widget.PopupWindow$PopupDecorView$2
+android.widget.PopupWindow$PopupDecorView$3
+android.widget.PopupWindow$PopupDecorView$4
 android.widget.PopupWindow$PopupDecorView
 android.widget.PopupWindow
 android.widget.ProgressBar$1
@@ -7612,13 +7638,16 @@
 android.widget.SelectionActionModeHelper
 android.widget.SmartSelectSprite
 android.widget.Space
+android.widget.SpellChecker$1
 android.widget.SpellChecker$SpellParser
 android.widget.SpellChecker
 android.widget.Spinner$1
+android.widget.Spinner$DialogPopup
 android.widget.Spinner$DropDownAdapter
 android.widget.Spinner$DropdownPopup$1
 android.widget.Spinner$DropdownPopup
 android.widget.Spinner$SavedState$1
+android.widget.Spinner$SavedState
 android.widget.Spinner$SpinnerPopup
 android.widget.Spinner
 android.widget.SpinnerAdapter
@@ -7628,6 +7657,10 @@
 android.widget.TableLayout
 android.widget.TableRow$ChildrenTracker
 android.widget.TableRow
+android.widget.TextClock$1
+android.widget.TextClock$2
+android.widget.TextClock$FormatChangeObserver
+android.widget.TextClock
 android.widget.TextView$1
 android.widget.TextView$2
 android.widget.TextView$3
@@ -7651,6 +7684,7 @@
 android.widget.Toast$TN$1
 android.widget.Toast$TN
 android.widget.Toast
+android.widget.ToastPresenter
 android.widget.ToggleButton
 android.widget.Toolbar$1
 android.widget.Toolbar$2
@@ -7661,6 +7695,9 @@
 android.widget.Toolbar$SavedState
 android.widget.Toolbar
 android.widget.ViewAnimator
+android.widget.ViewFlipper$1
+android.widget.ViewFlipper$2
+android.widget.ViewFlipper
 android.widget.ViewSwitcher
 android.widget.WrapperListAdapter
 com.android.framework.protobuf.nano.CodedInputByteBufferNano
@@ -7680,6 +7717,8 @@
 com.android.i18n.phonenumbers.NumberParseException$ErrorType
 com.android.i18n.phonenumbers.NumberParseException
 com.android.i18n.phonenumbers.PhoneNumberMatch
+com.android.i18n.phonenumbers.PhoneNumberMatcher$State
+com.android.i18n.phonenumbers.PhoneNumberMatcher
 com.android.i18n.phonenumbers.PhoneNumberUtil$1
 com.android.i18n.phonenumbers.PhoneNumberUtil$2
 com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$1
@@ -7728,13 +7767,9 @@
 com.android.ims.ImsCall$Listener
 com.android.ims.ImsCall
 com.android.ims.ImsCallbackAdapterManager
-com.android.ims.ImsConfig
-com.android.ims.ImsConfigListener$Stub
-com.android.ims.ImsConfigListener
 com.android.ims.ImsEcbm$ImsEcbmListenerProxy
 com.android.ims.ImsEcbm
 com.android.ims.ImsEcbmStateListener
-com.android.ims.ImsException
 com.android.ims.ImsExternalCallStateListener
 com.android.ims.ImsManager$2
 com.android.ims.ImsManager$3
@@ -7745,32 +7780,13 @@
 com.android.ims.ImsMultiEndpoint
 com.android.ims.ImsUt$IImsUtListenerProxy
 com.android.ims.ImsUt
-com.android.ims.ImsUtInterface
 com.android.ims.MmTelFeatureConnection$CapabilityCallbackManager
 com.android.ims.MmTelFeatureConnection$ImsRegistrationCallbackAdapter
 com.android.ims.MmTelFeatureConnection$ProvisioningCallbackManager
 com.android.ims.MmTelFeatureConnection
 com.android.ims.Registrant
 com.android.ims.internal.ICall
-com.android.ims.internal.IImsCallSession
-com.android.ims.internal.IImsEcbm$Stub
-com.android.ims.internal.IImsEcbm
-com.android.ims.internal.IImsEcbmListener$Stub
-com.android.ims.internal.IImsEcbmListener
-com.android.ims.internal.IImsExternalCallStateListener$Stub
-com.android.ims.internal.IImsExternalCallStateListener
 com.android.ims.internal.IImsFeatureStatusCallback$Stub$Proxy
-com.android.ims.internal.IImsFeatureStatusCallback$Stub
-com.android.ims.internal.IImsFeatureStatusCallback
-com.android.ims.internal.IImsMultiEndpoint$Stub
-com.android.ims.internal.IImsMultiEndpoint
-com.android.ims.internal.IImsServiceFeatureCallback$Stub$Proxy
-com.android.ims.internal.IImsServiceFeatureCallback$Stub
-com.android.ims.internal.IImsServiceFeatureCallback
-com.android.ims.internal.IImsUt$Stub
-com.android.ims.internal.IImsUt
-com.android.ims.internal.IImsUtListener$Stub
-com.android.ims.internal.IImsUtListener
 com.android.ims.internal.ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback
 com.android.ims.internal.uce.UceServiceBase$UceServiceBinder
 com.android.ims.internal.uce.UceServiceBase
@@ -7898,15 +7914,24 @@
 com.android.internal.backup.IBackupTransport$Stub
 com.android.internal.backup.IBackupTransport
 com.android.internal.colorextraction.ColorExtractor$GradientColors
+com.android.internal.colorextraction.ColorExtractor$LoadWallpaperColors
+com.android.internal.colorextraction.ColorExtractor$OnColorsChangedListener
+com.android.internal.colorextraction.ColorExtractor
+com.android.internal.colorextraction.drawable.-$$Lambda$ScrimDrawable$UWtyAZ9Ss5P5TukFNvAyvh0pNf0
+com.android.internal.colorextraction.drawable.ScrimDrawable$1
+com.android.internal.colorextraction.drawable.ScrimDrawable
 com.android.internal.colorextraction.types.ExtractionType
 com.android.internal.colorextraction.types.Tonal$ConfigParser
 com.android.internal.colorextraction.types.Tonal$TonalPalette
 com.android.internal.colorextraction.types.Tonal
+com.android.internal.compat.AndroidBuildClassifier
 com.android.internal.compat.ChangeReporter$ChangeReport
 com.android.internal.compat.ChangeReporter
+com.android.internal.compat.CompatibilityChangeConfig$1
 com.android.internal.compat.CompatibilityChangeConfig
 com.android.internal.compat.CompatibilityChangeInfo$1
 com.android.internal.compat.CompatibilityChangeInfo
+com.android.internal.compat.IOverrideValidator$Stub
 com.android.internal.compat.IOverrideValidator
 com.android.internal.compat.IPlatformCompat$Stub$Proxy
 com.android.internal.compat.IPlatformCompat$Stub
@@ -7968,8 +7993,10 @@
 com.android.internal.infra.AndroidFuture$2
 com.android.internal.infra.AndroidFuture
 com.android.internal.infra.GlobalWhitelistState
+com.android.internal.infra.IAndroidFuture$Stub$Proxy
 com.android.internal.infra.IAndroidFuture$Stub
 com.android.internal.infra.IAndroidFuture
+com.android.internal.infra.PerUser
 com.android.internal.infra.RemoteStream$1
 com.android.internal.infra.RemoteStream
 com.android.internal.infra.ServiceConnector$Impl$CompletionAwareJob
@@ -8001,9 +8028,12 @@
 com.android.internal.location.ProviderProperties$1
 com.android.internal.location.ProviderProperties
 com.android.internal.location.ProviderRequest$1
+com.android.internal.location.ProviderRequest$Builder
 com.android.internal.location.ProviderRequest
+com.android.internal.location.gnssmetrics.GnssMetrics$1
 com.android.internal.location.gnssmetrics.GnssMetrics$GnssPowerMetrics
 com.android.internal.location.gnssmetrics.GnssMetrics$Statistics
+com.android.internal.location.gnssmetrics.GnssMetrics$StatsPullAtomCallbackImpl
 com.android.internal.location.gnssmetrics.GnssMetrics
 com.android.internal.location.nano.GnssLogsProto$GnssLog
 com.android.internal.location.nano.GnssLogsProto$PowerMetrics
@@ -8011,8 +8041,12 @@
 com.android.internal.logging.AndroidHandler$1
 com.android.internal.logging.AndroidHandler
 com.android.internal.logging.EventLogTags
+com.android.internal.logging.InstanceId$1
 com.android.internal.logging.InstanceId
 com.android.internal.logging.MetricsLogger
+com.android.internal.logging.UiEventLogger$UiEventEnum
+com.android.internal.logging.UiEventLogger
+com.android.internal.logging.UiEventLoggerImpl
 com.android.internal.net.INetworkWatchlistManager$Stub$Proxy
 com.android.internal.net.INetworkWatchlistManager$Stub
 com.android.internal.net.INetworkWatchlistManager
@@ -8210,11 +8244,15 @@
 com.android.internal.os.ZygoteServer
 com.android.internal.os.logging.MetricsLoggerWrapper
 com.android.internal.policy.-$$Lambda$PhoneWindow$9SyKQeTuaYx7qUIMJIr4Lk2OpYw
+com.android.internal.policy.-$$Lambda$PhoneWindow$F9lizKYeW8CQHD_8FLjKaBpUfBQ
 com.android.internal.policy.BackdropFrameRenderer
 com.android.internal.policy.DecorContext
 com.android.internal.policy.DecorView$1
 com.android.internal.policy.DecorView$2
 com.android.internal.policy.DecorView$3
+com.android.internal.policy.DecorView$6
+com.android.internal.policy.DecorView$ActionModeCallback2Wrapper$1
+com.android.internal.policy.DecorView$ActionModeCallback2Wrapper
 com.android.internal.policy.DecorView$ColorViewAttributes
 com.android.internal.policy.DecorView$ColorViewState
 com.android.internal.policy.DecorView
@@ -8305,8 +8343,6 @@
 com.android.internal.telephony.-$$Lambda$RIL$Ir4pOMTf7R0Jtw4O3F7JgMVtXO4
 com.android.internal.telephony.-$$Lambda$RIL$ZGWeCQ9boMO1_J1_yQ82l_jK-Nc
 com.android.internal.telephony.-$$Lambda$RIL$zYsQZAc3z9bM5fCaq_J0dn5kjjo
-com.android.internal.telephony.-$$Lambda$RILConstants$ODSbRKyUeaOFMcez-ZudOmaKCBw
-com.android.internal.telephony.-$$Lambda$RILConstants$zIAjDPNpW8a5C22QbMmMwM64vD8
 com.android.internal.telephony.-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI
 com.android.internal.telephony.-$$Lambda$RadioIndication$GND6XxOOm1d_Ro76zEUFjA9OrEA
 com.android.internal.telephony.-$$Lambda$SmsApplication$5KAxbm71Dll9xmT5zeXi0i27A10
@@ -8371,8 +8407,6 @@
 com.android.internal.telephony.CarrierSignalAgent
 com.android.internal.telephony.CarrierSmsUtils
 com.android.internal.telephony.CellBroadcastServiceManager
-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
@@ -8386,8 +8420,6 @@
 com.android.internal.telephony.Connection$Listener
 com.android.internal.telephony.Connection$PostDialState
 com.android.internal.telephony.Connection
-com.android.internal.telephony.DctConstants$Activity
-com.android.internal.telephony.DctConstants$State
 com.android.internal.telephony.DebugService
 com.android.internal.telephony.DefaultPhoneNotifier$1
 com.android.internal.telephony.DefaultPhoneNotifier
@@ -8399,9 +8431,6 @@
 com.android.internal.telephony.DriverCall$State
 com.android.internal.telephony.DriverCall
 com.android.internal.telephony.EncodeException
-com.android.internal.telephony.ExponentialBackoff$1
-com.android.internal.telephony.ExponentialBackoff$HandlerAdapter
-com.android.internal.telephony.ExponentialBackoff
 com.android.internal.telephony.GlobalSettingsHelper
 com.android.internal.telephony.GsmAlphabet$TextEncodingDetails
 com.android.internal.telephony.GsmAlphabet
@@ -8422,21 +8451,12 @@
 com.android.internal.telephony.HbpcdLookup$MccLookup
 com.android.internal.telephony.HbpcdUtils
 com.android.internal.telephony.HexDump
-com.android.internal.telephony.ICarrierConfigLoader$Stub$Proxy
-com.android.internal.telephony.ICarrierConfigLoader$Stub
-com.android.internal.telephony.ICarrierConfigLoader
 com.android.internal.telephony.IIccPhoneBook$Stub$Proxy
 com.android.internal.telephony.IIccPhoneBook$Stub
 com.android.internal.telephony.IIccPhoneBook
-com.android.internal.telephony.IIntegerConsumer$Stub$Proxy
-com.android.internal.telephony.IIntegerConsumer$Stub
-com.android.internal.telephony.IIntegerConsumer
 com.android.internal.telephony.IMms$Stub$Proxy
 com.android.internal.telephony.IMms$Stub
 com.android.internal.telephony.IMms
-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
@@ -8446,30 +8466,12 @@
 com.android.internal.telephony.IPhoneStateListener$Stub$Proxy
 com.android.internal.telephony.IPhoneStateListener$Stub
 com.android.internal.telephony.IPhoneStateListener
-com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy
-com.android.internal.telephony.IPhoneSubInfo$Stub
-com.android.internal.telephony.IPhoneSubInfo
-com.android.internal.telephony.ISetOpportunisticDataCallback$Stub$Proxy
-com.android.internal.telephony.ISetOpportunisticDataCallback$Stub
-com.android.internal.telephony.ISetOpportunisticDataCallback
-com.android.internal.telephony.ISms$Stub$Proxy
-com.android.internal.telephony.ISms$Stub
-com.android.internal.telephony.ISms
-com.android.internal.telephony.ISmsImplBase
 com.android.internal.telephony.IState
-com.android.internal.telephony.ISub$Stub$Proxy
-com.android.internal.telephony.ISub$Stub
-com.android.internal.telephony.ISub
-com.android.internal.telephony.ITelephony$Stub$Proxy
-com.android.internal.telephony.ITelephony$Stub
-com.android.internal.telephony.ITelephony
 com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy
 com.android.internal.telephony.ITelephonyRegistry$Stub
 com.android.internal.telephony.ITelephonyRegistry
 com.android.internal.telephony.IUpdateAvailableNetworksCallback
-com.android.internal.telephony.IWapPushManager
 com.android.internal.telephony.IccCard
-com.android.internal.telephony.IccCardConstants$State
 com.android.internal.telephony.IccPhoneBookInterfaceManager$1
 com.android.internal.telephony.IccPhoneBookInterfaceManager$Request
 com.android.internal.telephony.IccPhoneBookInterfaceManager
@@ -8529,18 +8531,11 @@
 com.android.internal.telephony.NitzStateMachineImpl
 com.android.internal.telephony.OemHookIndication
 com.android.internal.telephony.OemHookResponse
-com.android.internal.telephony.OperatorInfo$1
-com.android.internal.telephony.OperatorInfo$State
-com.android.internal.telephony.OperatorInfo
 com.android.internal.telephony.Phone$1
 com.android.internal.telephony.Phone
 com.android.internal.telephony.PhoneConfigurationManager$ConfigManagerHandler
 com.android.internal.telephony.PhoneConfigurationManager$MockableInterface
 com.android.internal.telephony.PhoneConfigurationManager
-com.android.internal.telephony.PhoneConstantConversions$1
-com.android.internal.telephony.PhoneConstantConversions
-com.android.internal.telephony.PhoneConstants$DataState
-com.android.internal.telephony.PhoneConstants$State
 com.android.internal.telephony.PhoneFactory
 com.android.internal.telephony.PhoneInternalInterface$DataActivityState
 com.android.internal.telephony.PhoneInternalInterface$DialArgs$Builder
@@ -8564,7 +8559,6 @@
 com.android.internal.telephony.RIL$RadioProxyDeathRecipient
 com.android.internal.telephony.RIL$RilHandler
 com.android.internal.telephony.RIL
-com.android.internal.telephony.RILConstants
 com.android.internal.telephony.RILRequest
 com.android.internal.telephony.RadioBugDetector
 com.android.internal.telephony.RadioCapability
@@ -8609,10 +8603,11 @@
 com.android.internal.telephony.SmsDispatchersController$1
 com.android.internal.telephony.SmsDispatchersController
 com.android.internal.telephony.SmsHeader$ConcatRef
+com.android.internal.telephony.SmsHeader$MiscElt
 com.android.internal.telephony.SmsHeader$PortAddrs
+com.android.internal.telephony.SmsHeader$SpecialSmsMsg
 com.android.internal.telephony.SmsHeader
 com.android.internal.telephony.SmsMessageBase$SubmitPduBase
-com.android.internal.telephony.SmsMessageBase
 com.android.internal.telephony.SmsNumberUtils$NumberEntry
 com.android.internal.telephony.SmsNumberUtils
 com.android.internal.telephony.SmsPermissions
@@ -8642,7 +8637,6 @@
 com.android.internal.telephony.TimeServiceHelper
 com.android.internal.telephony.TimeUtils
 com.android.internal.telephony.TimeZoneLookupHelper$CountryResult
-com.android.internal.telephony.TimeZoneLookupHelper$OffsetResult
 com.android.internal.telephony.TimeZoneLookupHelper
 com.android.internal.telephony.UUSInfo
 com.android.internal.telephony.UiccPhoneBookController
@@ -8703,7 +8697,7 @@
 com.android.internal.telephony.cdma.EriInfo
 com.android.internal.telephony.cdma.EriManager$EriFile
 com.android.internal.telephony.cdma.EriManager
-com.android.internal.telephony.cdma.SmsMessage
+com.android.internal.telephony.cdma.sms.BearerData$CodingException
 com.android.internal.telephony.cdma.sms.BearerData$TimeStamp
 com.android.internal.telephony.cdma.sms.BearerData
 com.android.internal.telephony.cdma.sms.CdmaSmsAddress
@@ -8818,11 +8812,6 @@
 com.android.internal.telephony.euicc.EuiccController$3
 com.android.internal.telephony.euicc.EuiccController
 com.android.internal.telephony.euicc.IEuiccCardController$Stub$Proxy
-com.android.internal.telephony.euicc.IEuiccCardController$Stub
-com.android.internal.telephony.euicc.IEuiccCardController
-com.android.internal.telephony.euicc.IEuiccController$Stub$Proxy
-com.android.internal.telephony.euicc.IEuiccController$Stub
-com.android.internal.telephony.euicc.IEuiccController
 com.android.internal.telephony.euicc.IGetAllProfilesCallback$Stub
 com.android.internal.telephony.euicc.IGetAllProfilesCallback
 com.android.internal.telephony.euicc.IGetEuiccInfo1Callback$Stub
@@ -8833,9 +8822,7 @@
 com.android.internal.telephony.gsm.GsmSMSDispatcher
 com.android.internal.telephony.gsm.GsmSmsAddress
 com.android.internal.telephony.gsm.SimTlv
-com.android.internal.telephony.gsm.SmsBroadcastConfigInfo
 com.android.internal.telephony.gsm.SmsMessage$PduParser
-com.android.internal.telephony.gsm.SmsMessage
 com.android.internal.telephony.gsm.SuppServiceNotification
 com.android.internal.telephony.gsm.UsimDataDownloadHandler
 com.android.internal.telephony.gsm.UsimPhoneBookManager$File
@@ -8870,11 +8857,6 @@
 com.android.internal.telephony.ims.ImsServiceFeatureQueryManager$ImsServiceFeatureQuery
 com.android.internal.telephony.ims.ImsServiceFeatureQueryManager$Listener
 com.android.internal.telephony.ims.ImsServiceFeatureQueryManager
-com.android.internal.telephony.ims.RcsEventQueryHelper
-com.android.internal.telephony.ims.RcsMessageController
-com.android.internal.telephony.ims.RcsMessageQueryHelper
-com.android.internal.telephony.ims.RcsMessageStoreUtil
-com.android.internal.telephony.ims.RcsParticipantQueryHelper
 com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54
 com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg
 com.android.internal.telephony.imsphone.ImsExternalCallTracker$1
@@ -8915,6 +8897,7 @@
 com.android.internal.telephony.imsphone.ImsPhoneFactory
 com.android.internal.telephony.imsphone.ImsPhoneMmiCode
 com.android.internal.telephony.imsphone.ImsPullCall
+com.android.internal.telephony.imsphone.ImsRegistrationCallbackHelper$ImsRegistrationUpdate
 com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$fLmZDbNadlr6LF7zSJ6jCR1AAsk
 com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY
 com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$x2dJi76S2YQdpSTfY8RZ8qC_K6g
@@ -9000,7 +8983,6 @@
 com.android.internal.telephony.uicc.IccServiceTable
 com.android.internal.telephony.uicc.IccSlotStatus$SlotState
 com.android.internal.telephony.uicc.IccSlotStatus
-com.android.internal.telephony.uicc.IccUtils
 com.android.internal.telephony.uicc.IccVmNotSupportedException
 com.android.internal.telephony.uicc.InstallCarrierAppTrampolineActivity
 com.android.internal.telephony.uicc.InstallCarrierAppUtils
@@ -9046,19 +9028,14 @@
 com.android.internal.telephony.uicc.UsimServiceTable$UsimService
 com.android.internal.telephony.uicc.UsimServiceTable
 com.android.internal.telephony.uicc.VoiceMailConstants
-com.android.internal.telephony.uicc.asn1.InvalidAsn1DataException
-com.android.internal.telephony.uicc.asn1.TagNotFoundException
 com.android.internal.telephony.uicc.euicc.EuiccCard
 com.android.internal.telephony.uicc.euicc.EuiccSpecVersion
 com.android.internal.telephony.util.ArrayUtils
-com.android.internal.telephony.util.HandlerExecutor
 com.android.internal.telephony.util.NotificationChannelController$1
 com.android.internal.telephony.util.NotificationChannelController
-com.android.internal.telephony.util.RemoteCallbackListExt
 com.android.internal.telephony.util.SMSDispatcherUtil
 com.android.internal.telephony.util.TelephonyUtils
 com.android.internal.telephony.util.VoicemailNotificationSettingsUtil
-com.android.internal.telephony.util.XmlUtils
 com.android.internal.textservice.ISpellCheckerService$Stub$Proxy
 com.android.internal.textservice.ISpellCheckerService$Stub
 com.android.internal.textservice.ISpellCheckerService
@@ -9077,7 +9054,12 @@
 com.android.internal.textservice.ITextServicesSessionListener$Stub$Proxy
 com.android.internal.textservice.ITextServicesSessionListener$Stub
 com.android.internal.textservice.ITextServicesSessionListener
+com.android.internal.transition.EpicenterTranslateClipReveal$1
+com.android.internal.transition.EpicenterTranslateClipReveal$State
+com.android.internal.transition.EpicenterTranslateClipReveal$StateEvaluator
+com.android.internal.transition.EpicenterTranslateClipReveal$StateProperty
 com.android.internal.transition.EpicenterTranslateClipReveal
+com.android.internal.transition.TransitionConstants
 com.android.internal.usb.DumpUtils
 com.android.internal.util.-$$Lambda$DumpUtils$D1OlZP6xIpu72ypnJd0fzx0wd6I
 com.android.internal.util.-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0
@@ -9098,6 +9080,7 @@
 com.android.internal.util.AsyncChannel
 com.android.internal.util.BitUtils
 com.android.internal.util.BitwiseInputStream$AccessException
+com.android.internal.util.BitwiseOutputStream$AccessException
 com.android.internal.util.CollectionUtils
 com.android.internal.util.ConcurrentUtils$1$1
 com.android.internal.util.ConcurrentUtils$1
@@ -9108,6 +9091,7 @@
 com.android.internal.util.DumpUtils$1
 com.android.internal.util.DumpUtils$Dump
 com.android.internal.util.DumpUtils
+com.android.internal.util.EmergencyAffordanceManager
 com.android.internal.util.ExponentiallyBucketedHistogram
 com.android.internal.util.FastMath
 com.android.internal.util.FastPrintWriter$DummyWriter
@@ -9128,6 +9112,7 @@
 com.android.internal.util.GrowingArrayUtils
 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
@@ -9168,6 +9153,7 @@
 com.android.internal.util.SyncResultReceiver
 com.android.internal.util.ToBooleanFunction
 com.android.internal.util.TokenBucket
+com.android.internal.util.TraceBuffer
 com.android.internal.util.UserIcons
 com.android.internal.util.VirtualRefBasePtr
 com.android.internal.util.WakeupMessage
@@ -9221,11 +9207,17 @@
 com.android.internal.util.function.pooled.PooledSupplier$OfInt
 com.android.internal.util.function.pooled.PooledSupplier$OfLong
 com.android.internal.util.function.pooled.PooledSupplier
+com.android.internal.view.-$$Lambda$FloatingActionMode$LU5MpPuKYDtwlFAuYhXYfzgLNLE
 com.android.internal.view.ActionBarPolicy
 com.android.internal.view.AppearanceRegion$1
 com.android.internal.view.AppearanceRegion
 com.android.internal.view.BaseIWindow
 com.android.internal.view.BaseSurfaceHolder
+com.android.internal.view.FloatingActionMode$1
+com.android.internal.view.FloatingActionMode$2
+com.android.internal.view.FloatingActionMode$3
+com.android.internal.view.FloatingActionMode$FloatingToolbarVisibilityHelper
+com.android.internal.view.FloatingActionMode
 com.android.internal.view.IInlineSuggestionsRequestCallback$Stub
 com.android.internal.view.IInlineSuggestionsRequestCallback
 com.android.internal.view.IInputConnectionWrapper$MyHandler
@@ -9263,6 +9255,7 @@
 com.android.internal.view.RotationPolicy
 com.android.internal.view.SurfaceCallbackHelper$1
 com.android.internal.view.SurfaceCallbackHelper
+com.android.internal.view.SurfaceFlingerVsyncChoreographer
 com.android.internal.view.TooltipPopup
 com.android.internal.view.WindowManagerPolicyThread
 com.android.internal.view.animation.FallbackLUTInterpolator
@@ -9290,6 +9283,14 @@
 com.android.internal.view.menu.MenuView
 com.android.internal.view.menu.ShowableListMenu
 com.android.internal.widget.-$$Lambda$FloatingToolbar$7-enOzxeypZYfdFYr1HzBLfj47k
+com.android.internal.widget.-$$Lambda$FloatingToolbar$FloatingToolbarPopup$-uEfRwR-_1oHxMvRVdmbNRdukDM
+com.android.internal.widget.-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY
+com.android.internal.widget.-$$Lambda$FloatingToolbar$FloatingToolbarPopup$E8FwnPCl7gZpcTlX_UaRPIBRnT0
+com.android.internal.widget.-$$Lambda$FloatingToolbar$LutnsyBKrZiroTBekgIjhIyrl40
+com.android.internal.widget.-$$Lambda$MessagingPropertyAnimator$7coWc0tjIUC7grCXucNFbpYTxDI
+com.android.internal.widget.-$$Lambda$NotificationActionListLayout$uFZFEmIEBpI3kn6c3tNvvgmMSv8
+com.android.internal.widget.-$$Lambda$TTC7hNz7BTsLwhNRb2L5kl-7mdU
+com.android.internal.widget.-$$Lambda$gPQuiuEDuOmrh2MixBcV6a5gu5s
 com.android.internal.widget.AbsActionBarView$VisibilityAnimListener
 com.android.internal.widget.AbsActionBarView
 com.android.internal.widget.ActionBarContainer$ActionBarBackgroundDrawable
@@ -9303,12 +9304,26 @@
 com.android.internal.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback
 com.android.internal.widget.ActionBarOverlayLayout$LayoutParams
 com.android.internal.widget.ActionBarOverlayLayout
+com.android.internal.widget.AlertDialogLayout
 com.android.internal.widget.BackgroundFallback
+com.android.internal.widget.ButtonBarLayout
+com.android.internal.widget.CachingIconView
 com.android.internal.widget.DecorCaptionView
 com.android.internal.widget.DecorContentParent
 com.android.internal.widget.DecorToolbar
 com.android.internal.widget.DialogTitle
 com.android.internal.widget.EditableInputConnection
+com.android.internal.widget.FloatingToolbar$1
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$11
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$12
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$13
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$1
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$2
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$3
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$4
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$LogAccelerateInterpolator
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$OverflowPanel
+com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper
 com.android.internal.widget.FloatingToolbar$FloatingToolbarPopup
 com.android.internal.widget.FloatingToolbar
 com.android.internal.widget.ICheckCredentialProgressCallback$Stub$Proxy
@@ -9317,7 +9332,12 @@
 com.android.internal.widget.ILockSettings$Stub$Proxy
 com.android.internal.widget.ILockSettings$Stub
 com.android.internal.widget.ILockSettings
+com.android.internal.widget.ImageFloatingTextView
+com.android.internal.widget.LockPatternChecker$2
+com.android.internal.widget.LockPatternChecker$OnCheckCallback
+com.android.internal.widget.LockPatternChecker
 com.android.internal.widget.LockPatternUtils$2
+com.android.internal.widget.LockPatternUtils$CheckCredentialProgressCallback
 com.android.internal.widget.LockPatternUtils$RequestThrottledException
 com.android.internal.widget.LockPatternUtils$StrongAuthTracker$1
 com.android.internal.widget.LockPatternUtils$StrongAuthTracker$H
@@ -9327,13 +9347,25 @@
 com.android.internal.widget.LockSettingsInternal
 com.android.internal.widget.LockscreenCredential$1
 com.android.internal.widget.LockscreenCredential
+com.android.internal.widget.MessagingGroup
+com.android.internal.widget.MessagingImageMessage
+com.android.internal.widget.MessagingLinearLayout$MessagingChild
+com.android.internal.widget.MessagingMessage
+com.android.internal.widget.MessagingPropertyAnimator$1
+com.android.internal.widget.MessagingPropertyAnimator
+com.android.internal.widget.MessagingTextMessage
+com.android.internal.widget.NotificationActionListLayout
+com.android.internal.widget.NotificationExpandButton
 com.android.internal.widget.PasswordValidationError
+com.android.internal.widget.RemeasuringLinearLayout
 com.android.internal.widget.ScrollBarUtils
 com.android.internal.widget.ScrollingTabContainerView
 com.android.internal.widget.ToolbarWidgetWrapper$1
 com.android.internal.widget.ToolbarWidgetWrapper
 com.android.internal.widget.VerifyCredentialResponse$1
 com.android.internal.widget.VerifyCredentialResponse
+com.android.internal.widget.ViewClippingUtil$ClippingParameters
+com.android.internal.widget.ViewClippingUtil
 com.android.okhttp.Address
 com.android.okhttp.AndroidShimResponseCache
 com.android.okhttp.Authenticator
@@ -9483,6 +9515,8 @@
 com.android.org.bouncycastle.asn1.ASN1SequenceParser
 com.android.org.bouncycastle.asn1.ASN1Set
 com.android.org.bouncycastle.asn1.ASN1String
+com.android.org.bouncycastle.asn1.ASN1TaggedObject
+com.android.org.bouncycastle.asn1.ASN1TaggedObjectParser
 com.android.org.bouncycastle.asn1.BERTags
 com.android.org.bouncycastle.asn1.DERBitString
 com.android.org.bouncycastle.asn1.DERFactory
@@ -9491,6 +9525,7 @@
 com.android.org.bouncycastle.asn1.DEROutputStream
 com.android.org.bouncycastle.asn1.DERSequence
 com.android.org.bouncycastle.asn1.DERSet
+com.android.org.bouncycastle.asn1.DERTaggedObject
 com.android.org.bouncycastle.asn1.DLSequence
 com.android.org.bouncycastle.asn1.DefiniteLengthInputStream
 com.android.org.bouncycastle.asn1.InMemoryRepresentable
@@ -9504,12 +9539,14 @@
 com.android.org.bouncycastle.asn1.nist.NISTObjectIdentifiers
 com.android.org.bouncycastle.asn1.oiw.OIWObjectIdentifiers
 com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
+com.android.org.bouncycastle.asn1.x500.X500Name
 com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier
 com.android.org.bouncycastle.asn1.x509.Certificate
 com.android.org.bouncycastle.asn1.x509.DSAParameter
 com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
 com.android.org.bouncycastle.asn1.x509.Time
 com.android.org.bouncycastle.asn1.x509.V3TBSCertificateGenerator
+com.android.org.bouncycastle.asn1.x509.X509ExtensionsGenerator
 com.android.org.bouncycastle.asn1.x509.X509Name
 com.android.org.bouncycastle.asn1.x509.X509ObjectIdentifiers
 com.android.org.bouncycastle.asn1.x9.X9ECParameters
@@ -9571,6 +9608,7 @@
 com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseKeyFactorySpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.util.KeyUtil
+com.android.org.bouncycastle.jcajce.provider.asymmetric.x509.CertificateFactory
 com.android.org.bouncycastle.jcajce.provider.config.ConfigurableProvider
 com.android.org.bouncycastle.jcajce.provider.config.ProviderConfiguration
 com.android.org.bouncycastle.jcajce.provider.config.ProviderConfigurationPermission
@@ -9722,7 +9760,6 @@
 com.android.server.usage.AppStandbyInternal$AppIdleStateChangeListener
 com.android.server.usage.AppStandbyInternal
 com.android.server.wm.nano.WindowManagerProtos$TaskSnapshotProto
-com.android.telephony.Rlog
 com.google.android.collect.Lists
 com.google.android.collect.Maps
 com.google.android.collect.Sets
@@ -9881,6 +9918,7 @@
 java.io.Serializable
 java.io.SerializablePermission
 java.io.StreamCorruptedException
+java.io.StringBufferInputStream
 java.io.StringReader
 java.io.StringWriter
 java.io.UTFDataFormatException
@@ -10147,6 +10185,8 @@
 java.net.AddressCache$AddressCacheEntry
 java.net.AddressCache$AddressCacheKey
 java.net.AddressCache
+java.net.Authenticator$RequestorType
+java.net.Authenticator
 java.net.ConnectException
 java.net.CookieHandler
 java.net.CookieManager$CookiePathComparator
@@ -10198,6 +10238,7 @@
 java.net.NetworkInterface
 java.net.NoRouteToHostException
 java.net.Parts
+java.net.PasswordAuthentication
 java.net.PlainDatagramSocketImpl
 java.net.PlainSocketImpl
 java.net.PortUnreachableException
@@ -10849,7 +10890,6 @@
 java.util.Queue
 java.util.Random
 java.util.RandomAccess
-java.util.RandomAccessSubList
 java.util.RegularEnumSet$EnumSetIterator
 java.util.RegularEnumSet
 java.util.ResourceBundle$1
@@ -10888,8 +10928,6 @@
 java.util.Stack
 java.util.StringJoiner
 java.util.StringTokenizer
-java.util.SubList$1
-java.util.SubList
 java.util.TaskQueue
 java.util.TimSort
 java.util.TimeZone
@@ -11461,6 +11499,7 @@
 javax.xml.parsers.SAXParserFactory
 jdk.internal.util.Preconditions
 libcore.content.type.-$$Lambda$MimeMap$xJ95jeANwfbnj45hvSUmlPtZWWg
+libcore.content.type.MimeMap$Builder
 libcore.content.type.MimeMap$MemoizingSupplier
 libcore.content.type.MimeMap
 libcore.icu.DateIntervalFormat
@@ -11520,8 +11559,6 @@
 libcore.timezone.TimeZoneFinder$TimeZonesProcessor
 libcore.timezone.TimeZoneFinder
 libcore.timezone.ZoneInfoDB$1
-libcore.timezone.ZoneInfoDB$TzData$1
-libcore.timezone.ZoneInfoDB$TzData
 libcore.timezone.ZoneInfoDB
 libcore.timezone.ZoneInfoDb$1
 libcore.timezone.ZoneInfoDb
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index fd73632..d1b6efd 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -2791,7 +2791,9 @@
         @UnsupportedAppUsage
         public boolean visible;
         // Index of the stack in the display's stack list, can be used for comparison of stack order
+        // TODO: Can be removed since no one is using it.
         @UnsupportedAppUsage
+        @Deprecated
         public int position;
         public WindowContainerToken stackToken;
         /**
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index 7fd02112..0129aab 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -22,6 +22,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 import static android.view.Display.INVALID_DISPLAY;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.TestApi;
@@ -51,6 +52,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;
+import android.window.WindowContainerToken;
 
 import java.util.ArrayList;
 
@@ -184,6 +186,14 @@
     private static final String KEY_CALLER_DISPLAY_ID = "android.activity.callerDisplayId";
 
     /**
+     * The task display area token the activity should be launched into.
+     * @see #setLaunchTaskDisplayArea(WindowContainerToken)
+     * @hide
+     */
+    private static final String KEY_LAUNCH_TASK_DISPLAY_AREA_TOKEN =
+            "android.activity.launchTaskDisplayAreaToken";
+
+    /**
      * The windowing mode the activity should be launched into.
      * @hide
      */
@@ -334,6 +344,7 @@
     private PendingIntent mUsageTimeReport;
     private int mLaunchDisplayId = INVALID_DISPLAY;
     private int mCallerDisplayId = INVALID_DISPLAY;
+    private WindowContainerToken mLaunchTaskDisplayArea;
     @WindowConfiguration.WindowingMode
     private int mLaunchWindowingMode = WINDOWING_MODE_UNDEFINED;
     @WindowConfiguration.ActivityType
@@ -369,7 +380,7 @@
      */
     public static ActivityOptions makeCustomAnimation(Context context,
             int enterResId, int exitResId) {
-        return makeCustomAnimation(context, enterResId, exitResId, null, null);
+        return makeCustomAnimation(context, enterResId, exitResId, null, null, null);
     }
 
     /**
@@ -404,6 +415,38 @@
     }
 
     /**
+     * Create an ActivityOptions specifying a custom animation to run when
+     * the activity is displayed.
+     *
+     * @param context Who is defining this.  This is the application that the
+     * animation resources will be loaded from.
+     * @param enterResId A resource ID of the animation resource to use for
+     * the incoming activity.  Use 0 for no animation.
+     * @param exitResId A resource ID of the animation resource to use for
+     * the outgoing activity.  Use 0 for no animation.
+     * @param handler If <var>listener</var> is non-null this must be a valid
+     * Handler on which to dispatch the callback; otherwise it should be null.
+     * @param startedListener Optional OnAnimationStartedListener to find out when the
+     * requested animation has started running.  If for some reason the animation
+     * is not executed, the callback will happen immediately.
+     * @param finishedListener Optional OnAnimationFinishedListener when the animation
+     * has finished running.
+     * @return Returns a new ActivityOptions object that you can use to
+     * supply these options as the options Bundle when starting an activity.
+     * @hide
+     */
+    @TestApi
+    public static @NonNull ActivityOptions makeCustomAnimation(@NonNull Context context,
+            int enterResId, int exitResId, @Nullable Handler handler,
+            @Nullable OnAnimationStartedListener startedListener,
+            @Nullable OnAnimationFinishedListener finishedListener) {
+        ActivityOptions opts = makeCustomAnimation(context, enterResId, exitResId, handler,
+                startedListener);
+        opts.setOnAnimationFinishedListener(handler, finishedListener);
+        return opts;
+    }
+
+    /**
      * Creates an ActivityOptions specifying a custom animation to run in place on an existing
      * activity.
      *
@@ -448,6 +491,7 @@
      * to find out when the given animation has started running.
      * @hide
      */
+    @TestApi
     public interface OnAnimationStartedListener {
         void onAnimationStarted();
     }
@@ -474,6 +518,7 @@
      * to find out when the given animation has drawn its last frame.
      * @hide
      */
+    @TestApi
     public interface OnAnimationFinishedListener {
         void onAnimationFinished();
     }
@@ -974,6 +1019,7 @@
         mLockTaskMode = opts.getBoolean(KEY_LOCK_TASK_MODE, false);
         mLaunchDisplayId = opts.getInt(KEY_LAUNCH_DISPLAY_ID, INVALID_DISPLAY);
         mCallerDisplayId = opts.getInt(KEY_CALLER_DISPLAY_ID, INVALID_DISPLAY);
+        mLaunchTaskDisplayArea = opts.getParcelable(KEY_LAUNCH_TASK_DISPLAY_AREA_TOKEN);
         mLaunchWindowingMode = opts.getInt(KEY_LAUNCH_WINDOWING_MODE, WINDOWING_MODE_UNDEFINED);
         mLaunchActivityType = opts.getInt(KEY_LAUNCH_ACTIVITY_TYPE, ACTIVITY_TYPE_UNDEFINED);
         mLaunchTaskId = opts.getInt(KEY_LAUNCH_TASK_ID, -1);
@@ -1089,7 +1135,7 @@
     }
 
     /** @hide */
-    public IRemoteCallback getOnAnimationStartListener() {
+    public IRemoteCallback getAnimationStartedListener() {
         return mAnimationStartedListener;
     }
 
@@ -1245,6 +1291,18 @@
     }
 
     /** @hide */
+    public WindowContainerToken getLaunchTaskDisplayArea() {
+        return mLaunchTaskDisplayArea;
+    }
+
+    /** @hide */
+    public ActivityOptions setLaunchTaskDisplayArea(
+            WindowContainerToken windowContainerToken) {
+        mLaunchTaskDisplayArea = windowContainerToken;
+        return this;
+    }
+
+    /** @hide */
     public int getLaunchWindowingMode() {
         return mLaunchWindowingMode;
     }
@@ -1568,6 +1626,9 @@
         if (mCallerDisplayId != INVALID_DISPLAY) {
             b.putInt(KEY_CALLER_DISPLAY_ID, mCallerDisplayId);
         }
+        if (mLaunchTaskDisplayArea != null) {
+            b.putParcelable(KEY_LAUNCH_TASK_DISPLAY_AREA_TOKEN, mLaunchTaskDisplayArea);
+        }
         if (mLaunchWindowingMode != WINDOWING_MODE_UNDEFINED) {
             b.putInt(KEY_LAUNCH_WINDOWING_MODE, mLaunchWindowingMode);
         }
diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java
index ab7925c..1098fa1 100644
--- a/core/java/android/app/ActivityView.java
+++ b/core/java/android/app/ActivityView.java
@@ -90,11 +90,23 @@
 
     public ActivityView(Context context, AttributeSet attrs, int defStyle,
             boolean singleTaskInstance) {
+        this(context, attrs, defStyle, singleTaskInstance, false /* usePublicVirtualDisplay */);
+    }
+
+    /**
+     * This constructor let's the caller explicitly request a public virtual display as the backing
+     * display. Using a public display is not recommended as it exposes it to other applications,
+     * but it might be needed for backwards compatibility.
+     */
+    public ActivityView(
+            @NonNull Context context, @NonNull AttributeSet attrs, int defStyle,
+            boolean singleTaskInstance, boolean usePublicVirtualDisplay) {
         super(context, attrs, defStyle);
         if (useTaskOrganizer()) {
             mTaskEmbedder = new TaskOrganizerTaskEmbedder(context, this);
         } else {
-            mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance);
+            mTaskEmbedder = new VirtualDisplayTaskEmbedder(context, this, singleTaskInstance,
+                    usePublicVirtualDisplay);
         }
         mSurfaceView = new SurfaceView(context);
         // Since ActivityView#getAlpha has been overridden, we should use parent class's alpha
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 3a708a6..37f683e 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -233,12 +233,9 @@
                 }
 
                 private void reportStackTraceIfNeeded(@NonNull SyncNotedAppOp op) {
-                    if (sConfig.getSampledOpCode() == OP_NONE
-                            && sConfig.getExpirationTimeSinceBootMillis()
-                            >= SystemClock.elapsedRealtime()) {
+                    if (!isCollectingStackTraces()) {
                         return;
                     }
-
                     MessageSamplingConfig config = sConfig;
                     if (leftCircularDistance(strOpToOp(op.getOp()), config.getSampledOpCode(),
                             _NUM_OP) <= config.getAcceptableLeftDistance()
@@ -2586,6 +2583,44 @@
     }
 
     /**
+     * Returns a listenerId suitable for use with {@link #noteOp(int, int, String, String, String)}.
+     *
+     * This is intended for use client side, when the receiver id must be created before the
+     * associated call is made to the system server. If using {@link PendingIntent} as the receiver,
+     * avoid using this method as it will include a pointless additional x-process call. Instead to
+     * prefer passing the PendingIntent to the system server, and then invoking
+     * {@link #toReceiverId(PendingIntent)} instead.
+     *
+     * @param obj the receiver in use
+     * @return a string representation of the receiver suitable for app ops use
+     * @hide
+     */
+    // TODO: this should probably be @SystemApi as well
+    public static @NonNull String toReceiverId(@NonNull Object obj) {
+        if (obj instanceof PendingIntent) {
+            return toReceiverId((PendingIntent) obj);
+        } else {
+            return obj.getClass().getName() + "@" + System.identityHashCode(obj);
+        }
+    }
+
+    /**
+     * Returns a listenerId suitable for use with {@link #noteOp(int, int, String, String, String)}.
+     *
+     * This is intended for use server side, where ActivityManagerService can be referenced without
+     * an additional x-process call.
+     *
+     * @param pendingIntent the pendingIntent in use
+     * @return a string representation of the pending intent suitable for app ops use
+     * @see #toReceiverId(Object)
+     * @hide
+     */
+    // TODO: this should probably be @SystemApi as well
+    public static @NonNull String toReceiverId(@NonNull PendingIntent pendingIntent) {
+        return pendingIntent.getTag("");
+    }
+
+    /**
      * When to not enforce {@link #setUserRestriction restrictions}.
      *
      * @hide
@@ -8143,7 +8178,22 @@
      * @hide
      */
     public static boolean isListeningForOpNoted() {
-        return sOnOpNotedCallback != null;
+        return sOnOpNotedCallback != null || isCollectingStackTraces();
+    }
+
+    /**
+     * @return {@code true} iff the process is currently sampled for stacktrace collection.
+     *
+     * @see #setOnOpNotedCallback
+     *
+     * @hide
+     */
+    private static boolean isCollectingStackTraces() {
+        if (sConfig.getSampledOpCode() == OP_NONE &&
+                sConfig.getExpirationTimeSinceBootMillis() >= SystemClock.elapsedRealtime()) {
+            return false;
+        }
+        return true;
     }
 
     /**
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index 78d3581..9d0364e 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -78,10 +78,9 @@
     boolean shouldHideSilentStatusIcons(String callingPkg);
     void setHideSilentStatusIcons(boolean hide);
 
-    void setBubblesAllowed(String pkg, int uid, boolean allowed);
+    void setBubblesAllowed(String pkg, int uid, int bubblePreference);
     boolean areBubblesAllowed(String pkg);
-    boolean areBubblesAllowedForPackage(String pkg, int uid);
-    boolean hasUserApprovedBubblesForPackage(String pkg, int uid);
+    int getBubblePreferenceForPackage(String pkg, int uid);
 
     void createNotificationChannelGroups(String pkg, in ParceledListSlice channelGroupList);
     void createNotificationChannels(String pkg, in ParceledListSlice channelsList);
diff --git a/core/java/android/app/NotificationChannel.java b/core/java/android/app/NotificationChannel.java
index d1d67f0..2feb927 100644
--- a/core/java/android/app/NotificationChannel.java
+++ b/core/java/android/app/NotificationChannel.java
@@ -102,7 +102,7 @@
     private static final String ATT_FG_SERVICE_SHOWN = "fgservice";
     private static final String ATT_GROUP = "group";
     private static final String ATT_BLOCKABLE_SYSTEM = "blockable_system";
-    private static final String ATT_ALLOW_BUBBLE = "can_bubble";
+    private static final String ATT_ALLOW_BUBBLE = "allow_bubble";
     private static final String ATT_ORIG_IMP = "orig_imp";
     private static final String ATT_PARENT_CHANNEL = "parent";
     private static final String ATT_CONVERSATION_ID = "conv_id";
@@ -168,7 +168,7 @@
             NotificationManager.IMPORTANCE_UNSPECIFIED;
     private static final boolean DEFAULT_DELETED = false;
     private static final boolean DEFAULT_SHOW_BADGE = true;
-    private static final boolean DEFAULT_ALLOW_BUBBLE = true;
+    private static final boolean DEFAULT_ALLOW_BUBBLE = false;
 
     @UnsupportedAppUsage
     private String mId;
@@ -545,15 +545,8 @@
     }
 
     /**
-     * Sets whether notifications posted to this channel can appear outside of the notification
-     * shade, floating over other apps' content as a bubble.
-     *
-     * <p>This value will be ignored for channels that aren't allowed to pop on screen (that is,
-     * channels whose {@link #getImportance() importance} is <
-     * {@link NotificationManager#IMPORTANCE_HIGH}.</p>
-     *
-     * <p>Only modifiable before the channel is submitted to
-     *      * {@link NotificationManager#createNotificationChannel(NotificationChannel)}.</p>
+     * As of Android 11 this value is no longer respected.
+     * @see #canBubble()
      * @see Notification#getBubbleMetadata()
      */
     public void setAllowBubbles(boolean allowBubbles) {
@@ -702,8 +695,10 @@
     }
 
     /**
-     * Returns whether notifications posted to this channel can display outside of the notification
-     * shade, in a floating window on top of other apps.
+     * Returns whether notifications posted to this channel are allowed to display outside of the
+     * notification shade, in a floating window on top of other apps.
+     *
+     * @see Notification#getBubbleMetadata()
      */
     public boolean canBubble() {
         return mAllowBubbles;
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index 0e97e3f..d6df400 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -452,6 +452,19 @@
      */
     public static final int IMPORTANCE_MAX = 5;
 
+    /**
+     * @hide
+     */
+    public static final int BUBBLE_PREFERENCE_NONE = 0;
+    /**
+     * @hide
+     */
+    public static final int BUBBLE_PREFERENCE_ALL = 1;
+    /**
+     * @hide
+     */
+    public static final int BUBBLE_PREFERENCE_SELECTED = 2;
+
     @UnsupportedAppUsage
     private static INotificationManager sService;
 
@@ -1213,7 +1226,7 @@
 
 
     /**
-     * Sets whether notifications posted by this app can appear outside of the
+     * Gets whether all notifications posted by this app can appear outside of the
      * notification shade, floating over other apps' content.
      *
      * <p>This value will be ignored for notifications that are posted to channels that do not
diff --git a/core/java/android/app/Presentation.java b/core/java/android/app/Presentation.java
index 7a18b81..bae6ab5 100644
--- a/core/java/android/app/Presentation.java
+++ b/core/java/android/app/Presentation.java
@@ -236,7 +236,7 @@
         // to be rare but surprising, so we'll write a log message about it.
         if (!isConfigurationStillValid()) {
             Log.i(TAG, "Presentation is being dismissed because the "
-                    + "display metrics have changed since it was created.");
+                    + "display metrics have changed since it was created while onStart.");
             mHandler.sendEmptyMessage(MSG_CANCEL);
         }
     }
@@ -296,8 +296,8 @@
         // is invalid and the application must recreate the presentation to get
         // a new context.
         if (!isConfigurationStillValid()) {
-            Log.i(TAG, "Presentation is being dismissed because the "
-                    + "display metrics have changed since it was created.");
+            Log.i(TAG, "Presentation is being dismissed because the display metrics have changed "
+                    + "since it was created while handleDisplayChanged.");
             cancel();
         }
     }
diff --git a/core/java/android/app/PropertyInvalidatedCache.java b/core/java/android/app/PropertyInvalidatedCache.java
index ce0d04b..3110e18 100644
--- a/core/java/android/app/PropertyInvalidatedCache.java
+++ b/core/java/android/app/PropertyInvalidatedCache.java
@@ -17,11 +17,17 @@
 package android.app;
 
 import android.annotation.NonNull;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.util.Log;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
 
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -154,6 +160,13 @@
  * this local case, there's no IPC, so use of the cache is (depending on exact
  * circumstance) unnecessary.
  *
+ * For security, there is a whitelist of processes that are allowed to invalidate a cache.
+ * The whitelist includes normal runtime processes but does not include test processes.
+ * Test processes must call {@code PropertyInvalidatedCache.disableForTestMode()} to disable
+ * all cache activity in that process.
+ *
+ * Caching can be disabled completely by initializing {@code sEnabled} to false and rebuilding.
+ *
  * @param <Query> The class used to index cache entries: must be hashable and comparable
  * @param <Result> The class holding cache entries; use a boxed primitive if possible
  *
@@ -165,9 +178,25 @@
 
     private static final String TAG = "PropertyInvalidatedCache";
     private static final boolean DEBUG = false;
-    private static final boolean ENABLE = true;
     private static final boolean VERIFY = false;
 
+    /**
+     * If sEnabled is false then all cache operations are stubbed out.  Set
+     * it to false inside test processes.
+     */
+    private static boolean sEnabled = true;
+
+    private static final Object sCorkLock = new Object();
+
+    /**
+     * A map of cache keys that we've "corked". (The values are counts.)  When a cache key is
+     * corked, we skip the cache invalidate when the cache key is in the unset state --- that
+     * is, when a cache key is corked, an invalidation does not enable the cache if somebody
+     * else hasn't disabled it.
+     */
+    @GuardedBy("sCorkLock")
+    private static final HashMap<String, Integer> sCorks = new HashMap<>();
+
     private final Object mLock = new Object();
 
     /**
@@ -284,7 +313,7 @@
      * Return whether the cache is disabled in this process.
      */
     public final boolean isDisabledLocal() {
-        return mDisabled;
+        return mDisabled || !sEnabled;
     }
 
     /**
@@ -292,7 +321,7 @@
      */
     public Result query(Query query) {
         // Let access to mDisabled race: it's atomic anyway.
-        long currentNonce = (ENABLE && !mDisabled) ? getCurrentNonce() : NONCE_DISABLED;
+        long currentNonce = (!isDisabledLocal()) ? getCurrentNonce() : NONCE_DISABLED;
         for (;;) {
             if (currentNonce == NONCE_DISABLED || currentNonce == NONCE_UNSET) {
                 if (DEBUG) {
@@ -403,6 +432,9 @@
      * @param name Name of the cache-key property to invalidate
      */
     public static void disableSystemWide(@NonNull String name) {
+        if (!sEnabled) {
+            return;
+        }
         SystemProperties.set(name, Long.toString(NONCE_DISABLED));
     }
 
@@ -421,6 +453,33 @@
      * @param name Name of the cache-key property to invalidate
      */
     public static void invalidateCache(@NonNull String name) {
+        if (!sEnabled) {
+            if (DEBUG) {
+                Log.w(TAG, String.format(
+                    "cache invalidate %s suppressed", name));
+            }
+            return;
+        }
+
+        // Take the cork lock so invalidateCache() racing against corkInvalidations() doesn't
+        // clobber a cork-written NONCE_UNSET with a cache key we compute before the cork.
+        // The property service is single-threaded anyway, so we don't lose any concurrency by
+        // taking the cork lock around cache invalidations.  If we see contention on this lock,
+        // we're invalidating too often.
+        synchronized (sCorkLock) {
+            Integer numberCorks = sCorks.get(name);
+            if (numberCorks != null && numberCorks > 0) {
+                if (DEBUG) {
+                    Log.d(TAG, "ignoring invalidation due to cork: " + name);
+                }
+                return;
+            }
+            invalidateCacheLocked(name);
+        }
+    }
+
+    @GuardedBy("sCorkLock")
+    private static void invalidateCacheLocked(@NonNull String name) {
         // There's no race here: we don't require that values strictly increase, but instead
         // only that each is unique in a single runtime-restart session.
         final long nonce = SystemProperties.getLong(name, NONCE_UNSET);
@@ -430,6 +489,7 @@
             }
             return;
         }
+
         long newValue;
         do {
             newValue = NoPreloadHolder.next();
@@ -445,6 +505,175 @@
         SystemProperties.set(name, newValueString);
     }
 
+    /**
+     * Temporarily put the cache in the uninitialized state and prevent invalidations from
+     * moving it out of that state: useful in cases where we want to avoid the overhead of a
+     * large number of cache invalidations in a short time.  While the cache is corked, clients
+     * bypass the cache and talk to backing services directly.  This property makes corking
+     * correctness-preserving even if corked outside the lock that controls access to the
+     * cache's backing service.
+     *
+     * corkInvalidations() and uncorkInvalidations() must be called in pairs.
+     *
+     * @param name Name of the cache-key property to cork
+     */
+    public static void corkInvalidations(@NonNull String name) {
+        synchronized (sCorkLock) {
+            int numberCorks = sCorks.getOrDefault(name, 0);
+            if (DEBUG) {
+                Log.d(TAG, String.format("corking %s: numberCorks=%s", name, numberCorks));
+            }
+
+            // If we're the first ones to cork this cache, set the cache to the unset state so
+            // existing caches talk directly to their services while we've corked updates.
+            // Make sure we don't clobber a disabled cache value.
+
+            // TODO(dancol): we can skip this property write and leave the cache enabled if the
+            // caller promises not to make observable changes to the cache backing state before
+            // uncorking the cache, e.g., by holding a read lock across the cork-uncork pair.
+            // Implement this more dangerous mode of operation if necessary.
+            if (numberCorks == 0) {
+                final long nonce = SystemProperties.getLong(name, NONCE_UNSET);
+                if (nonce != NONCE_UNSET && nonce != NONCE_DISABLED) {
+                    SystemProperties.set(name, Long.toString(NONCE_UNSET));
+                }
+            }
+            sCorks.put(name, numberCorks + 1);
+            if (DEBUG) {
+                Log.d(TAG, "corked: " + name);
+            }
+        }
+    }
+
+    /**
+     * Undo the effect of a cork, allowing cache invalidations to proceed normally.
+     * Removing the last cork on a cache name invalidates the cache by side effect,
+     * transitioning it to normal operation (unless explicitly disabled system-wide).
+     *
+     * @param name Name of the cache-key property to uncork
+     */
+    public static void uncorkInvalidations(@NonNull String name) {
+        synchronized (sCorkLock) {
+            int numberCorks = sCorks.getOrDefault(name, 0);
+            if (DEBUG) {
+                Log.d(TAG, String.format("uncorking %s: numberCorks=%s", name, numberCorks));
+            }
+
+            if (numberCorks < 1) {
+                throw new AssertionError("cork underflow: " + name);
+            }
+            if (numberCorks == 1) {
+                sCorks.remove(name);
+                invalidateCacheLocked(name);
+                if (DEBUG) {
+                    Log.d(TAG, "uncorked: " + name);
+                }
+            } else {
+                sCorks.put(name, numberCorks - 1);
+            }
+        }
+    }
+
+    /**
+     * Time-based automatic corking helper. This class allows providers of cached data to
+     * amortize the cost of cache invalidations by corking the cache immediately after a
+     * modification (instructing clients to bypass the cache temporarily) and automatically
+     * uncork after some period of time has elapsed.
+     *
+     * It's better to use explicit cork and uncork pairs that tighly surround big batches of
+     * invalidations, but it's not always practical to tell where these invalidation batches
+     * might occur. AutoCorker's time-based corking is a decent alternative.
+     */
+    public static final class AutoCorker {
+        public static final int DEFAULT_AUTO_CORK_DELAY_MS = 2000;
+
+        private final String mPropertyName;
+        private final int mAutoCorkDelayMs;
+        private final Object mLock = new Object();
+        @GuardedBy("mLock")
+        private long mUncorkDeadlineMs = -1;  // SystemClock.uptimeMillis()
+        @GuardedBy("mLock")
+        private Handler mHandler;
+
+        public AutoCorker(@NonNull String propertyName) {
+            this(propertyName, DEFAULT_AUTO_CORK_DELAY_MS);
+        }
+
+        public AutoCorker(@NonNull String propertyName, int autoCorkDelayMs) {
+            mPropertyName = propertyName;
+            mAutoCorkDelayMs = autoCorkDelayMs;
+            // We can't initialize mHandler here: when we're created, the main loop might not
+            // be set up yet! Wait until we have a main loop to initialize our
+            // corking callback.
+        }
+
+        public void autoCork() {
+            if (Looper.getMainLooper() == null) {
+                // We're not ready to auto-cork yet, so just invalidate the cache immediately.
+                if (DEBUG) {
+                    Log.w(TAG, "invalidating instead of autocorking early in init: "
+                            + mPropertyName);
+                }
+                PropertyInvalidatedCache.invalidateCache(mPropertyName);
+                return;
+            }
+            synchronized (mLock) {
+                boolean alreadyQueued = mUncorkDeadlineMs >= 0;
+                if (DEBUG) {
+                    Log.w(TAG, String.format(
+                                    "autoCork mUncorkDeadlineMs=%s", mUncorkDeadlineMs));
+                }
+                mUncorkDeadlineMs = SystemClock.uptimeMillis() + mAutoCorkDelayMs;
+                if (!alreadyQueued) {
+                    getHandlerLocked().sendEmptyMessageAtTime(0, mUncorkDeadlineMs);
+                    PropertyInvalidatedCache.corkInvalidations(mPropertyName);
+                }
+            }
+        }
+
+        private void handleMessage(Message msg) {
+            synchronized (mLock) {
+                if (DEBUG) {
+                    Log.w(TAG, String.format(
+                                    "handleMsesage mUncorkDeadlineMs=%s", mUncorkDeadlineMs));
+                }
+
+                if (mUncorkDeadlineMs < 0) {
+                    return;  // ???
+                }
+                long nowMs = SystemClock.uptimeMillis();
+                if (mUncorkDeadlineMs > nowMs) {
+                    mUncorkDeadlineMs = nowMs + mAutoCorkDelayMs;
+                    if (DEBUG) {
+                        Log.w(TAG, String.format(
+                                        "scheduling uncork at %s",
+                                        mUncorkDeadlineMs));
+                    }
+                    getHandlerLocked().sendEmptyMessageAtTime(0, mUncorkDeadlineMs);
+                    return;
+                }
+                if (DEBUG) {
+                    Log.w(TAG, "automatic uncorking " + mPropertyName);
+                }
+                mUncorkDeadlineMs = -1;
+                PropertyInvalidatedCache.uncorkInvalidations(mPropertyName);
+            }
+        }
+
+        @GuardedBy("mLock")
+        private Handler getHandlerLocked() {
+            if (mHandler == null) {
+                mHandler = new Handler(Looper.getMainLooper()) {
+                        @Override
+                        public void handleMessage(Message msg) {
+                            AutoCorker.this.handleMessage(msg);
+                        }
+                    };
+            }
+            return mHandler;
+        }
+    }
+
     protected Result maybeCheckConsistency(Query query, Result proposedResult) {
         if (VERIFY) {
             Result resultToCompare = recompute(query);
@@ -471,4 +700,14 @@
     public String queryToString(Query query) {
         return Objects.toString(query);
     }
+
+    /**
+     * Disable all caches in the local process.  Once disabled it is not
+     * possible to re-enable caching in the current process.
+     */
+    @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
+    public static void disableForTestMode() {
+        Log.d(TAG, "disabling all caches in the process");
+        sEnabled = false;
+    }
 }
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
index 47ccc2f..c2caa40 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -1111,7 +1111,6 @@
         }
         int displayId = key.mDisplayId;
         final boolean hasOverrideConfiguration = key.hasOverrideConfiguration();
-        tmpConfig.setTo(config);
 
         // Get new DisplayMetrics based on the DisplayAdjustments given to the ResourcesImpl. Update
         // a copy if the CompatibilityInfo changed, because the ResourcesImpl object will handle the
@@ -1121,17 +1120,15 @@
             daj = new DisplayAdjustments(daj);
             daj.setCompatibilityInfo(compat);
         }
-        if (displayId == Display.DEFAULT_DISPLAY) {
-            daj.setConfiguration(config);
-        }
-        DisplayMetrics dm = getDisplayMetrics(displayId, daj);
-        if (displayId != Display.DEFAULT_DISPLAY) {
-            applyNonDefaultDisplayMetricsToConfiguration(dm, tmpConfig);
-        }
-
+        tmpConfig.setTo(config);
         if (hasOverrideConfiguration) {
             tmpConfig.updateFrom(key.mOverrideConfiguration);
         }
+        // Only apply for default display
+        if (displayId == Display.DEFAULT_DISPLAY) {
+            daj.setConfiguration(tmpConfig);
+        }
+        DisplayMetrics dm = getDisplayMetrics(displayId, daj);
         resourcesImpl.updateConfiguration(tmpConfig, dm, compat);
     }
 
diff --git a/core/java/android/app/TEST_MAPPING b/core/java/android/app/TEST_MAPPING
index ab86860..344a4d7 100644
--- a/core/java/android/app/TEST_MAPPING
+++ b/core/java/android/app/TEST_MAPPING
@@ -20,6 +20,10 @@
         },
         {
             "file_patterns": ["(/|^)AppOpsManager.java"],
+            "name": "UidAtomTests:testAppOps"
+        },
+        {
+            "file_patterns": ["(/|^)AppOpsManager.java"],
             "name": "FrameworksServicesTests",
             "options": [
                 {
diff --git a/core/java/android/app/WindowTokenClient.java b/core/java/android/app/WindowTokenClient.java
index 301960e..b5d1039 100644
--- a/core/java/android/app/WindowTokenClient.java
+++ b/core/java/android/app/WindowTokenClient.java
@@ -67,13 +67,11 @@
         }
         final int currentDisplayId = context.getDisplayId();
         final boolean displayChanged = newDisplayId != currentDisplayId;
-        final Configuration config = new Configuration(context.getResources()
-                .getConfiguration());
-        final boolean configChanged = config.isOtherSeqNewer(newConfig)
-                && config.updateFrom(newConfig) != 0;
+        final Configuration config = context.getResources().getConfiguration();
+        final boolean configChanged = config.diff(newConfig) != 0;
         if (displayChanged || configChanged) {
             // TODO(ag/9789103): update resource manager logic to track non-activity tokens
-            mResourcesManager.updateResourcesForActivity(this, config, newDisplayId,
+            mResourcesManager.updateResourcesForActivity(this, newConfig, newDisplayId,
                     displayChanged);
         }
         if (displayChanged) {
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index fb9adb7..41e2dc0 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -3666,6 +3666,28 @@
     }
 
     /**
+     * Returns whether the given user's credential will be sufficient for all password policy
+     * requirement, once the user's profile has switched to unified challenge.
+     *
+     * <p>This is different from {@link #isActivePasswordSufficient()} since once the profile
+     * switches to unified challenge, policies set explicitly on the profile will start to affect
+     * the parent user.
+     * @param userHandle the user whose password requirement will be checked
+     * @param profileUser the profile user whose lockscreen challenge will be unified.
+     * @hide
+     */
+    public boolean isPasswordSufficientAfterProfileUnification(int userHandle, int profileUser) {
+        if (mService != null) {
+            try {
+                return mService.isPasswordSufficientAfterProfileUnification(userHandle,
+                        profileUser);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
+        }
+        return false;
+    }
+    /**
      * Retrieve the number of times the user has failed at entering a password since that last
      * successful password entry.
      * <p>
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index 591a3f6..d10153c 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -85,6 +85,7 @@
 
     boolean isActivePasswordSufficient(int userHandle, boolean parent);
     boolean isProfileActivePasswordSufficientForParent(int userHandle);
+    boolean isPasswordSufficientAfterProfileUnification(int userHandle, int profileUser);
     int getPasswordComplexity(boolean parent);
     boolean isUsingUnifiedPassword(in ComponentName admin);
     int getCurrentFailedPasswordAttempts(int userHandle, boolean parent);
diff --git a/core/java/android/app/admin/PasswordMetrics.java b/core/java/android/app/admin/PasswordMetrics.java
index 86ebb47..39e1f0d 100644
--- a/core/java/android/app/admin/PasswordMetrics.java
+++ b/core/java/android/app/admin/PasswordMetrics.java
@@ -350,7 +350,7 @@
      *
      * TODO: move to PasswordPolicy
      */
-    private void maxWith(PasswordMetrics other) {
+    public void maxWith(PasswordMetrics other) {
         credType = Math.max(credType, other.credType);
         if (credType != CREDENTIAL_TYPE_PASSWORD) {
             return;
diff --git a/core/java/android/app/usage/IUsageStatsManager.aidl b/core/java/android/app/usage/IUsageStatsManager.aidl
index 1211c73..ed6ba0c 100644
--- a/core/java/android/app/usage/IUsageStatsManager.aidl
+++ b/core/java/android/app/usage/IUsageStatsManager.aidl
@@ -43,7 +43,7 @@
     @UnsupportedAppUsage
     void setAppInactive(String packageName, boolean inactive, int userId);
     @UnsupportedAppUsage
-    boolean isAppInactive(String packageName, int userId);
+    boolean isAppInactive(String packageName, int userId, String callingPackage);
     void onCarrierPrivilegedAppsChanged();
     void reportChooserSelection(String packageName, int userId, String contentType,
             in String[] annotations, String action);
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index 0a67802..2ce6a86 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -622,12 +622,17 @@
      * app hasn't been used directly or indirectly for a period of time defined by the system. This
      * could be of the order of several hours or days. Apps are not considered inactive when the
      * device is charging.
+     * <p> The caller must have {@link android.Manifest.permission#PACKAGE_USAGE_STATS} to query the
+     * inactive state of other apps</p>
+     *
      * @param packageName The package name of the app to query
-     * @return whether the app is currently considered inactive
+     * @return whether the app is currently considered inactive or false if querying another app
+     * without {@link android.Manifest.permission#PACKAGE_USAGE_STATS}
      */
     public boolean isAppInactive(String packageName) {
         try {
-            return mService.isAppInactive(packageName, mContext.getUserId());
+            return mService.isAppInactive(packageName, mContext.getUserId(),
+                    mContext.getOpPackageName());
         } catch (RemoteException e) {
             // fall through and return default
         }
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java
index 09d56ec..75ce0dc 100644
--- a/core/java/android/appwidget/AppWidgetHostView.java
+++ b/core/java/android/appwidget/AppWidgetHostView.java
@@ -104,7 +104,7 @@
      */
     public AppWidgetHostView(Context context, OnClickHandler handler) {
         this(context, android.R.anim.fade_in, android.R.anim.fade_out);
-        mOnClickHandler = handler;
+        mOnClickHandler = getHandler(handler);
     }
 
     /**
@@ -131,7 +131,7 @@
      * @hide
      */
     public void setOnClickHandler(OnClickHandler handler) {
-        mOnClickHandler = handler;
+        mOnClickHandler = getHandler(handler);
     }
 
     /**
@@ -423,7 +423,6 @@
             // inflate any requested LayoutParams.
             mRemoteContext = getRemoteContext();
             int layoutId = remoteViews.getLayoutId();
-
             // If our stale view has been prepared to match active, and the new
             // layout matches, try recycling it
             if (content == null && layoutId == mLayoutId) {
@@ -711,4 +710,16 @@
         }
         return null;
     }
+
+    private OnClickHandler getHandler(OnClickHandler handler) {
+        return (view, pendingIntent, response) -> {
+            AppWidgetManager.getInstance(mContext).noteAppWidgetTapped(mAppWidgetId);
+            if (handler != null) {
+                return handler.onClickHandler(view, pendingIntent, response);
+            } else {
+                return RemoteViews.startPendingIntent(view, pendingIntent,
+                        response.getLaunchOptions(view));
+            }
+        };
+    }
 }
diff --git a/core/java/android/appwidget/AppWidgetManager.java b/core/java/android/appwidget/AppWidgetManager.java
index 8441287..009ec52 100644
--- a/core/java/android/appwidget/AppWidgetManager.java
+++ b/core/java/android/appwidget/AppWidgetManager.java
@@ -1243,13 +1243,13 @@
 
     /**
      * Note an app widget is tapped on.
-     * @param uid App UID.
-     * @param packageName App package name.
+     *
+     * @param appWidgetId App widget id.
      * @hide
      */
-    public void noteAppWidgetTapped(int uid, @NonNull String packageName) {
+    public void noteAppWidgetTapped(int appWidgetId) {
         try {
-            mService.noteAppWidgetTapped(uid, packageName);
+            mService.noteAppWidgetTapped(mPackageName, appWidgetId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index f216db6..29a98fa 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -980,16 +980,10 @@
                 @Override
                 protected Integer recompute(Void query) {
                     try {
-                        mServiceLock.readLock().lock();
-                        if (mService != null) {
-                            return mService.getState();
-                        }
+                        return mService.getState();
                     } catch (RemoteException e) {
-                        Log.e(TAG, "", e);
-                    } finally {
-                        mServiceLock.readLock().unlock();
+                        throw e.rethrowFromSystemServer();
                     }
-                    return BluetoothAdapter.STATE_OFF;
                 }
             };
 
@@ -1004,6 +998,30 @@
     }
 
     /**
+     * Fetch the current bluetooth state.  If the service is down, return
+     * OFF.
+     */
+    @AdapterState
+    private int getStateInternal() {
+        int state = BluetoothAdapter.STATE_OFF;
+        try {
+            mServiceLock.readLock().lock();
+            if (mService != null) {
+                state = mBluetoothGetStateCache.query(null);
+            }
+        } catch (RuntimeException e) {
+            if (e.getCause() instanceof RemoteException) {
+                Log.e(TAG, "", e.getCause());
+            } else {
+                throw e;
+            }
+        } finally {
+            mServiceLock.readLock().unlock();
+        }
+        return state;
+    }
+
+    /**
      * Get the current state of the local Bluetooth adapter.
      * <p>Possible return values are
      * {@link #STATE_OFF},
@@ -1016,7 +1034,7 @@
     @RequiresPermission(Manifest.permission.BLUETOOTH)
     @AdapterState
     public int getState() {
-        int state = mBluetoothGetStateCache.query(null);
+        int state = getStateInternal();
 
         // Consider all internal states as OFF
         if (state == BluetoothAdapter.STATE_BLE_ON || state == BluetoothAdapter.STATE_BLE_TURNING_ON
@@ -1054,7 +1072,7 @@
     @UnsupportedAppUsage(publicAlternatives = "Use {@link #getState()} instead to determine "
             + "whether you can use BLE & BT classic.")
     public int getLeState() {
-        int state = mBluetoothGetStateCache.query(null);
+        int state = getStateInternal();
 
         if (VDBG) {
             Log.d(TAG, "getLeState() returning " + BluetoothAdapter.nameForState(state));
diff --git a/core/java/android/content/pm/IPackageInstaller.aidl b/core/java/android/content/pm/IPackageInstaller.aidl
index b0b2c33..37baae3 100644
--- a/core/java/android/content/pm/IPackageInstaller.aidl
+++ b/core/java/android/content/pm/IPackageInstaller.aidl
@@ -55,4 +55,6 @@
             in IntentSender statusReceiver, int userId, in List<String> whiteListedPermissions);
 
     void setPermissionsResult(int sessionId, boolean accepted);
+
+    void bypassNextStagedInstallerCheck(boolean value);
 }
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 9ca2db9..6a5e6ca 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3158,6 +3158,23 @@
             "android.content.pm.extra.VERIFICATION_LONG_VERSION_CODE";
 
     /**
+     * Extra field name for the Merkle tree root hash of a package.
+     * <p>Passed to a package verifier both prior to verification and as a result
+     * of verification.
+     * <p>The value of the extra is a specially formatted list:
+     * {@code filename1:HASH_1;filename2:HASH_2;...;filenameN:HASH_N}
+     * <p>The extra must include an entry for every APK within an installation. If
+     * a hash is not physically present, a hash value of {@code 0} will be used.
+     * <p>The root hash is generated using SHA-256, no salt with a 4096 byte block
+     * size. See the description of the
+     * <a href="https://www.kernel.org/doc/html/latest/filesystems/fsverity.html#merkle-tree">fs-verity merkle-tree</a>
+     * for more details.
+     * @hide
+     */
+    public static final String EXTRA_VERIFICATION_ROOT_HASH =
+            "android.content.pm.extra.EXTRA_VERIFICATION_ROOT_HASH";
+
+    /**
      * Extra field name for the ID of a intent filter pending verification.
      * Passed to an intent filter verifier and is used to call back to
      * {@link #verifyIntentFilter}
@@ -8054,13 +8071,16 @@
         sApplicationInfoCache.disableLocal();
     }
 
+    private static final PropertyInvalidatedCache.AutoCorker sCacheAutoCorker =
+            new PropertyInvalidatedCache.AutoCorker(PermissionManager.CACHE_KEY_PACKAGE_INFO);
+
     /**
      * Invalidate caches of package and permission information system-wide.
      *
      * @hide
      */
     public static void invalidatePackageInfoCache() {
-        PropertyInvalidatedCache.invalidateCache(PermissionManager.CACHE_KEY_PACKAGE_INFO);
+        sCacheAutoCorker.autoCork();
     }
 
     // Some of the flags don't affect the query result, but let's be conservative and cache
@@ -8150,4 +8170,19 @@
         sPackageInfoCache.disableLocal();
     }
 
+    /**
+     * Inhibit package info cache invalidations when correct.
+     *
+     * @hide */
+    public static void corkPackageInfoCache() {
+        PropertyInvalidatedCache.corkInvalidations(PermissionManager.CACHE_KEY_PACKAGE_INFO);
+    }
+
+    /**
+     * Enable package info cache invalidations.
+     *
+     * @hide */
+    public static void uncorkPackageInfoCache() {
+        PropertyInvalidatedCache.uncorkInvalidations(PermissionManager.CACHE_KEY_PACKAGE_INFO);
+    }
 }
diff --git a/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java b/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
index 9a1f7c9..216b3bb 100644
--- a/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
+++ b/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
@@ -350,9 +350,6 @@
         // TODO(b/135203078): Consolidate the data directory logic, remove initForUser
         ai.initForUser(userId);
 
-        ai.flags = appInfoFlags(pkg);
-        ai.privateFlags = appInfoPrivateFlags(pkg);
-
         if ((flags & PackageManager.GET_META_DATA) == 0) {
             ai.metaData = null;
         }
diff --git a/core/java/android/content/pm/parsing/ParsingPackage.java b/core/java/android/content/pm/parsing/ParsingPackage.java
index 4c95532..2ee0ad6 100644
--- a/core/java/android/content/pm/parsing/ParsingPackage.java
+++ b/core/java/android/content/pm/parsing/ParsingPackage.java
@@ -34,6 +34,7 @@
 import android.content.pm.parsing.component.ParsedService;
 import android.os.Bundle;
 import android.util.SparseArray;
+import android.util.SparseIntArray;
 
 import java.security.PublicKey;
 import java.util.Map;
@@ -258,6 +259,8 @@
 
     ParsingPackage setManageSpaceActivityName(String manageSpaceActivityName);
 
+    ParsingPackage setMinExtensionVersions(@Nullable SparseIntArray minExtensionVersions);
+
     ParsingPackage setMinSdkVersion(int minSdkVersion);
 
     ParsingPackage setNetworkSecurityConfigRes(int networkSecurityConfigRes);
diff --git a/core/java/android/content/pm/parsing/ParsingPackageImpl.java b/core/java/android/content/pm/parsing/ParsingPackageImpl.java
index be1817d..f932bc2 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageImpl.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageImpl.java
@@ -51,6 +51,7 @@
 import android.util.ArraySet;
 import android.util.Pair;
 import android.util.SparseArray;
+import android.util.SparseIntArray;
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
@@ -340,6 +341,8 @@
     private String manageSpaceActivityName;
     private float maxAspectRatio;
     private float minAspectRatio;
+    @Nullable
+    private SparseIntArray minExtensionVersions;
     private int minSdkVersion;
     private int networkSecurityConfigRes;
     @Nullable
@@ -847,9 +850,15 @@
     @Deprecated
     @Override
     public ApplicationInfo toAppInfoWithoutState() {
-        ApplicationInfo appInfo = new ApplicationInfo();
+        ApplicationInfo appInfo = toAppInfoWithoutStateWithoutFlags();
         appInfo.flags = PackageInfoWithoutStateUtils.appInfoFlags(this);
         appInfo.privateFlags = PackageInfoWithoutStateUtils.appInfoPrivateFlags(this);
+        return appInfo;
+    }
+
+    @Override
+    public ApplicationInfo toAppInfoWithoutStateWithoutFlags() {
+        ApplicationInfo appInfo = new ApplicationInfo();
 
         appInfo.appComponentFactory = appComponentFactory;
         appInfo.backupAgentName = backupAgentName;
@@ -1100,6 +1109,7 @@
         dest.writeBoolean(this.preserveLegacyExternalStorage);
         dest.writeArraySet(this.mimeGroups);
         dest.writeInt(this.gwpAsanMode);
+        dest.writeSparseIntArray(this.minExtensionVersions);
     }
 
     public ParsingPackageImpl(Parcel in) {
@@ -1259,6 +1269,7 @@
         this.preserveLegacyExternalStorage = in.readBoolean();
         this.mimeGroups = (ArraySet<String>) in.readArraySet(boot);
         this.gwpAsanMode = in.readInt();
+        this.minExtensionVersions = in.readSparseIntArray();
     }
 
     public static final Parcelable.Creator<ParsingPackageImpl> CREATOR =
@@ -1767,6 +1778,12 @@
         return minAspectRatio;
     }
 
+    @Nullable
+    @Override
+    public SparseIntArray getMinExtensionVersions() {
+        return minExtensionVersions;
+    }
+
     @Override
     public int getMinSdkVersion() {
         return minSdkVersion;
@@ -2215,6 +2232,12 @@
     }
 
     @Override
+    public ParsingPackageImpl setMinExtensionVersions(@Nullable SparseIntArray value) {
+        minExtensionVersions = value;
+        return this;
+    }
+
+    @Override
     public ParsingPackageImpl setMinSdkVersion(int value) {
         minSdkVersion = value;
         return this;
diff --git a/core/java/android/content/pm/parsing/ParsingPackageRead.java b/core/java/android/content/pm/parsing/ParsingPackageRead.java
index 687bc23..5b53c18 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageRead.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageRead.java
@@ -41,6 +41,7 @@
 import android.util.ArraySet;
 import android.util.Pair;
 import android.util.SparseArray;
+import android.util.SparseIntArray;
 
 import com.android.internal.R;
 
@@ -609,6 +610,13 @@
     String getManageSpaceActivityName();
 
     /**
+     * @see ApplicationInfo#minExtensionVersions
+     * @see R.styleable#AndroidManifestExtensionSdk
+     */
+    @Nullable
+    SparseIntArray getMinExtensionVersions();
+
+    /**
      * @see ApplicationInfo#minSdkVersion
      * @see R.styleable#AndroidManifestUsesSdk_minSdkVersion
      */
@@ -850,4 +858,9 @@
 
     // TODO(b/135203078): Hide and enforce going through PackageInfoUtils
     ApplicationInfo toAppInfoWithoutState();
+
+    /**
+     * same as toAppInfoWithoutState except without flag computation.
+     */
+    ApplicationInfo toAppInfoWithoutStateWithoutFlags();
 }
diff --git a/core/java/android/content/pm/parsing/ParsingPackageUtils.java b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
index c61362f..29ece49 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageUtils.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageUtils.java
@@ -95,6 +95,7 @@
 import android.util.Pair;
 import android.util.Slog;
 import android.util.SparseArray;
+import android.util.SparseIntArray;
 import android.util.TypedValue;
 import android.util.apk.ApkSignatureVerifier;
 
@@ -1255,6 +1256,7 @@
 
                 int type;
                 final int innerDepth = parser.getDepth();
+                SparseIntArray minExtensionVersions = null;
                 while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
                         && (type != XmlPullParser.END_TAG || parser.getDepth() > innerDepth)) {
                     if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
@@ -1263,7 +1265,10 @@
 
                     final ParseResult result;
                     if (parser.getName().equals("extension-sdk")) {
-                        result = parseExtensionSdk(input, pkg, res, parser);
+                        if (minExtensionVersions == null) {
+                            minExtensionVersions = new SparseIntArray();
+                        }
+                        result = parseExtensionSdk(input, res, parser, minExtensionVersions);
                         XmlUtils.skipCurrentTag(parser);
                     } else {
                         result = ParsingUtils.unknownTag("<uses-sdk>", pkg, parser, input);
@@ -1273,6 +1278,7 @@
                         return input.error(result);
                     }
                 }
+                pkg.setMinExtensionVersions(exactSizedCopyOfSparseArray(minExtensionVersions));
             } finally {
                 sa.recycle();
             }
@@ -1280,8 +1286,21 @@
         return input.success(pkg);
     }
 
-    private static ParseResult parseExtensionSdk(ParseInput input, ParsingPackage pkg,
-            Resources res, XmlResourceParser parser) {
+    @Nullable
+    private static SparseIntArray exactSizedCopyOfSparseArray(@Nullable SparseIntArray input) {
+        if (input == null) {
+            return null;
+        }
+        SparseIntArray output = new SparseIntArray(input.size());
+        for (int i = 0; i < input.size(); i++) {
+            output.put(input.keyAt(i), input.valueAt(i));
+        }
+        return output;
+    }
+
+    private static ParseResult<SparseIntArray> parseExtensionSdk(
+            ParseInput input, Resources res, XmlResourceParser parser,
+            SparseIntArray minExtensionVersions) {
         int sdkVersion;
         int minVersion;
         TypedArray sa = res.obtainAttributes(parser, R.styleable.AndroidManifestExtensionSdk);
@@ -1316,7 +1335,8 @@
                     PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED,
                     "Specified sdkVersion " + sdkVersion + " is not valid");
         }
-        return input.success(pkg);
+        minExtensionVersions.put(sdkVersion, minVersion);
+        return input.success(minExtensionVersions);
     }
 
     /**
diff --git a/core/java/android/debug/AdbNotifications.java b/core/java/android/debug/AdbNotifications.java
new file mode 100644
index 0000000..fed5f5f
--- /dev/null
+++ b/core/java/android/debug/AdbNotifications.java
@@ -0,0 +1,90 @@
+/*
+ * 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 android.debug;
+
+import android.annotation.NonNull;
+import android.app.Notification;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import com.android.internal.notification.SystemNotificationChannels;
+
+/**
+ * Utility class for building adb notifications.
+ * @hide
+ */
+public final class AdbNotifications {
+    /**
+     * Notification channel for tv types.
+     */
+    private static final String ADB_NOTIFICATION_CHANNEL_ID_TV = "usbdevicemanager.adb.tv";
+
+    /**
+     * Builds a notification to show connected state for adb over a transport type.
+     * @param context the context
+     * @param transportType the adb transport type.
+     * @return a newly created Notification for the transport type.
+     */
+    public static Notification createNotification(@NonNull Context context,
+            byte transportType) {
+        Resources resources = context.getResources();
+        int titleId;
+        int messageId;
+
+        if (transportType == AdbTransportType.USB) {
+            titleId = com.android.internal.R.string.adb_active_notification_title;
+            messageId = com.android.internal.R.string.adb_active_notification_message;
+        } else if (transportType == AdbTransportType.WIFI) {
+            titleId = com.android.internal.R.string.adbwifi_active_notification_title;
+            messageId = com.android.internal.R.string.adbwifi_active_notification_message;
+        } else {
+            throw new IllegalArgumentException(
+                    "createNotification called with unknown transport type=" + transportType);
+        }
+
+        CharSequence title = resources.getText(titleId);
+        CharSequence message = resources.getText(messageId);
+
+        Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        intent.setPackage(context.getPackageManager().resolveActivity(intent,
+                PackageManager.MATCH_SYSTEM_ONLY).activityInfo.packageName);
+        PendingIntent pIntent = PendingIntent.getActivityAsUser(context, 0, intent,
+                PendingIntent.FLAG_IMMUTABLE, null, UserHandle.CURRENT);
+
+        return new Notification.Builder(context, SystemNotificationChannels.DEVELOPER_IMPORTANT)
+                .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
+                .setWhen(0)
+                .setOngoing(true)
+                .setTicker(title)
+                .setDefaults(0)  // please be quiet
+                .setColor(context.getColor(
+                            com.android.internal.R.color.system_notification_accent_color))
+                .setContentTitle(title)
+                .setContentText(message)
+                .setContentIntent(pIntent)
+                .setVisibility(Notification.VISIBILITY_PUBLIC)
+                .extend(new Notification.TvExtender()
+                        .setChannelId(ADB_NOTIFICATION_CHANNEL_ID_TV))
+                .build();
+    }
+}
diff --git a/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java b/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
index 882a7f4..b3b4549 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyFaceDetectMapper.java
@@ -233,8 +233,10 @@
         Camera.Parameters params = legacyRequest.parameters;
 
         Rect activeArray = characteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
-        ZoomData zoomData = ParameterUtils.convertScalerCropRegion(activeArray,
-                request.get(CaptureRequest.SCALER_CROP_REGION), previewSize, params);
+        ZoomData zoomData = ParameterUtils.convertToLegacyZoom(activeArray,
+                request.get(CaptureRequest.SCALER_CROP_REGION),
+                request.get(CaptureRequest.CONTROL_ZOOM_RATIO),
+                previewSize, params);
 
         List<Face> convertedFaces = new ArrayList<>();
         if (faces != null) {
diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
index 6953a5b..362ddfa 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
@@ -771,6 +771,7 @@
                     CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES                     ,
                     CameraCharacteristics.CONTROL_AWB_LOCK_AVAILABLE                      ,
                     CameraCharacteristics.CONTROL_MAX_REGIONS                             ,
+                    CameraCharacteristics.CONTROL_ZOOM_RATIO_RANGE                        ,
                     CameraCharacteristics.FLASH_INFO_AVAILABLE                            ,
                     CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL                   ,
                     CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES                  ,
@@ -828,6 +829,7 @@
                     CaptureRequest.CONTROL_MODE,
                     CaptureRequest.CONTROL_SCENE_MODE,
                     CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE,
+                    CaptureRequest.CONTROL_ZOOM_RATIO,
                     CaptureRequest.FLASH_MODE,
                     CaptureRequest.JPEG_GPS_COORDINATES,
                     CaptureRequest.JPEG_GPS_PROCESSING_METHOD,
@@ -872,6 +874,7 @@
                     CaptureResult.CONTROL_AWB_MODE                                 ,
                     CaptureResult.CONTROL_AWB_LOCK                                 ,
                     CaptureResult.CONTROL_MODE                                     ,
+                    CaptureResult.CONTROL_ZOOM_RATIO                               ,
                     CaptureResult.FLASH_MODE                                       ,
                     CaptureResult.JPEG_GPS_COORDINATES                             ,
                     CaptureResult.JPEG_GPS_PROCESSING_METHOD                       ,
@@ -935,6 +938,12 @@
 
     private static void mapScaler(CameraMetadataNative m, Parameters p) {
         /*
+         * control.zoomRatioRange
+         */
+        Range<Float> zoomRatioRange = new Range<Float>(1.0f, ParameterUtils.getMaxZoomRatio(p));
+        m.set(CONTROL_ZOOM_RATIO_RANGE, zoomRatioRange);
+
+        /*
          * scaler.availableMaxDigitalZoom
          */
         m.set(SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, ParameterUtils.getMaxZoomRatio(p));
@@ -1383,6 +1392,9 @@
         // control.sceneMode -- DISABLED is always available
         m.set(CaptureRequest.CONTROL_SCENE_MODE, CONTROL_SCENE_MODE_DISABLED);
 
+        // control.zoomRatio -- 1.0
+        m.set(CaptureRequest.CONTROL_ZOOM_RATIO, 1.0f);
+
         /*
          * statistics.*
          */
diff --git a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
index 2e06d5f..3a46379 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
@@ -68,8 +68,9 @@
          */
         ParameterUtils.ZoomData zoomData;
         {
-            zoomData = ParameterUtils.convertScalerCropRegion(activeArray,
+            zoomData = ParameterUtils.convertToLegacyZoom(activeArray,
                     request.get(SCALER_CROP_REGION),
+                    request.get(CONTROL_ZOOM_RATIO),
                     previewSize,
                     params);
 
diff --git a/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java b/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
index dc5823d..09edf74 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
@@ -118,8 +118,10 @@
 
         Rect activeArraySize = characteristics.get(
                 CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
-        ZoomData zoomData = ParameterUtils.convertScalerCropRegion(activeArraySize,
-                request.get(CaptureRequest.SCALER_CROP_REGION), previewSize, params);
+        ZoomData zoomData = ParameterUtils.convertToLegacyZoom(activeArraySize,
+                request.get(CaptureRequest.SCALER_CROP_REGION),
+                request.get(CaptureRequest.CONTROL_ZOOM_RATIO),
+                previewSize, params);
 
         /*
          * colorCorrection
@@ -516,5 +518,12 @@
         {
             m.set(SCALER_CROP_REGION, zoomData.reportedCrop);
         }
+
+        /*
+         * control.zoomRatio
+         */
+        {
+            m.set(CONTROL_ZOOM_RATIO, zoomData.reportedZoomRatio);
+        }
     }
 }
diff --git a/core/java/android/hardware/camera2/legacy/ParameterUtils.java b/core/java/android/hardware/camera2/legacy/ParameterUtils.java
index 3cfd020..eb43598 100644
--- a/core/java/android/hardware/camera2/legacy/ParameterUtils.java
+++ b/core/java/android/hardware/camera2/legacy/ParameterUtils.java
@@ -73,11 +73,15 @@
         public final Rect previewCrop;
         /** Reported crop-region given the zoom index, coordinates relative to active-array */
         public final Rect reportedCrop;
+        /** Reported zoom ratio given the zoom index */
+        public final float reportedZoomRatio;
 
-        public ZoomData(int zoomIndex, Rect previewCrop, Rect reportedCrop) {
+        public ZoomData(int zoomIndex, Rect previewCrop, Rect reportedCrop,
+                float reportedZoomRatio) {
             this.zoomIndex = zoomIndex;
             this.previewCrop = previewCrop;
             this.reportedCrop = reportedCrop;
+            this.reportedZoomRatio = reportedZoomRatio;
         }
     }
 
@@ -371,7 +375,8 @@
      * @throws NullPointerException if any of the args were {@code null}
      */
     public static int getClosestAvailableZoomCrop(
-            Camera.Parameters params, Rect activeArray, Size streamSize, Rect cropRegion,
+            Camera.Parameters params, Rect activeArray,
+            Size streamSize, Rect cropRegion,
             /*out*/
             Rect reportedCropRegion,
             Rect previewCropRegion) {
@@ -733,6 +738,92 @@
     }
 
     /**
+     * Convert the user-specified crop region/zoom into zoom data; which can be used
+     * to set the parameters to a specific zoom index, or to report back to the user what
+     * the actual zoom was, or for other calculations requiring the current preview crop region.
+     *
+     * <p>None of the parameters are mutated.<p>
+     *
+     * @param activeArraySize active array size of the sensor (e.g. max jpeg size)
+     * @param cropRegion the user-specified crop region
+     * @param zoomRatio the user-specified zoom ratio
+     * @param previewSize the current preview size (in pixels)
+     * @param params the current camera parameters (not mutated)
+     *
+     * @return the zoom index, and the effective/reported crop regions (relative to active array)
+     */
+    public static ZoomData convertToLegacyZoom(Rect activeArraySize, Rect
+            cropRegion, Float zoomRatio, Size previewSize, Camera.Parameters params) {
+        final float FLOAT_EQUAL_THRESHOLD = 0.0001f;
+        if (zoomRatio != null &&
+                Math.abs(1.0f - zoomRatio) > FLOAT_EQUAL_THRESHOLD) {
+            // User uses CONTROL_ZOOM_RATIO to control zoom
+            return convertZoomRatio(activeArraySize, zoomRatio, previewSize, params);
+        }
+
+        return convertScalerCropRegion(activeArraySize, cropRegion, previewSize, params);
+    }
+
+    /**
+     * Convert the user-specified zoom ratio into zoom data; which can be used
+     * to set the parameters to a specific zoom index, or to report back to the user what the
+     * actual zoom was, or for other calculations requiring the current preview crop region.
+     *
+     * <p>None of the parameters are mutated.</p>
+     *
+     * @param activeArraySize active array size of the sensor (e.g. max jpeg size)
+     * @param zoomRatio the current zoom ratio
+     * @param previewSize the current preview size (in pixels)
+     * @param params the current camera parameters (not mutated)
+     *
+     * @return the zoom index, and the effective/reported crop regions (relative to active array)
+     */
+    public static ZoomData convertZoomRatio(Rect activeArraySize, float zoomRatio,
+            Size previewSize, Camera.Parameters params) {
+        if (DEBUG) {
+            Log.v(TAG, "convertZoomRatio - user zoom ratio was " + zoomRatio);
+        }
+
+        List<Rect> availableReportedCropRegions =
+                getAvailableZoomCropRectangles(params, activeArraySize);
+        List<Rect> availablePreviewCropRegions =
+                getAvailablePreviewZoomCropRectangles(params, activeArraySize, previewSize);
+        if (availableReportedCropRegions.size() != availablePreviewCropRegions.size()) {
+            throw new AssertionError("available reported/preview crop region size mismatch");
+        }
+
+        // Find the best matched legacy zoom ratio for the requested camera2 zoom ratio.
+        int bestZoomIndex = 0;
+        Rect reportedCropRegion = new Rect(availableReportedCropRegions.get(0));
+        Rect previewCropRegion = new Rect(availablePreviewCropRegions.get(0));
+        float reportedZoomRatio = 1.0f;
+        if (params.isZoomSupported()) {
+            List<Integer> zoomRatios = params.getZoomRatios();
+            for (int i = 1; i < zoomRatios.size(); i++) {
+                if (zoomRatio * ZOOM_RATIO_MULTIPLIER >= zoomRatios.get(i)) {
+                    bestZoomIndex = i;
+                    reportedCropRegion = availableReportedCropRegions.get(i);
+                    previewCropRegion = availablePreviewCropRegions.get(i);
+                    reportedZoomRatio = zoomRatios.get(i);
+                } else {
+                    break;
+                }
+            }
+        }
+
+        if (DEBUG) {
+            Log.v(TAG, "convertZoomRatio - zoom calculated to: " +
+                    "zoomIndex = " + bestZoomIndex +
+                    ", reported crop region = " + reportedCropRegion +
+                    ", preview crop region = " + previewCropRegion +
+                    ", reported zoom ratio = " + reportedZoomRatio);
+        }
+
+        return new ZoomData(bestZoomIndex, reportedCropRegion,
+                previewCropRegion, reportedZoomRatio);
+    }
+
+    /**
      * Convert the user-specified crop region into zoom data; which can be used
      * to set the parameters to a specific zoom index, or to report back to the user what the
      * actual zoom was, or for other calculations requiring the current preview crop region.
@@ -767,15 +858,17 @@
         final int zoomIdx = ParameterUtils.getClosestAvailableZoomCrop(params, activeArraySizeOnly,
                 previewSize, userCropRegion,
                 /*out*/reportedCropRegion, /*out*/previewCropRegion);
+        final float reportedZoomRatio = 1.0f;
 
         if (DEBUG) {
             Log.v(TAG, "convertScalerCropRegion - zoom calculated to: " +
                     "zoomIndex = " + zoomIdx +
                     ", reported crop region = " + reportedCropRegion +
-                    ", preview crop region = " + previewCropRegion);
+                    ", preview crop region = " + previewCropRegion +
+                    ", reported zoom ratio = " + reportedZoomRatio);
         }
 
-        return new ZoomData(zoomIdx, previewCropRegion, reportedCropRegion);
+        return new ZoomData(zoomIdx, previewCropRegion, reportedCropRegion, reportedZoomRatio);
     }
 
     /**
diff --git a/core/java/android/hardware/display/DeviceProductInfo.java b/core/java/android/hardware/display/DeviceProductInfo.java
index ed50d7c..94c5dd8 100644
--- a/core/java/android/hardware/display/DeviceProductInfo.java
+++ b/core/java/android/hardware/display/DeviceProductInfo.java
@@ -19,6 +19,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.Arrays;
 import java.util.Objects;
 
 /**
@@ -33,18 +34,21 @@
     private final String mProductId;
     private final Integer mModelYear;
     private final ManufactureDate mManufactureDate;
+    private final int[] mRelativeAddress;
 
     public DeviceProductInfo(
             String name,
             String manufacturerPnpId,
             String productId,
             Integer modelYear,
-            ManufactureDate manufactureDate) {
+            ManufactureDate manufactureDate,
+            int[] relativeAddress) {
         this.mName = name;
         this.mManufacturerPnpId = manufacturerPnpId;
         this.mProductId = productId;
         this.mModelYear = modelYear;
         this.mManufactureDate = manufactureDate;
+        this.mRelativeAddress = relativeAddress;
     }
 
     private DeviceProductInfo(Parcel in) {
@@ -53,6 +57,7 @@
         mProductId = (String) in.readValue(null);
         mModelYear = (Integer) in.readValue(null);
         mManufactureDate = (ManufactureDate) in.readValue(null);
+        mRelativeAddress = in.createIntArray();
     }
 
     /**
@@ -92,6 +97,14 @@
         return mManufactureDate;
     }
 
+    /**
+     * @return Relative address in the display network. For example, for HDMI connected devices this
+     * can be its physical address. Each component of the address is in the range [0, 255].
+     */
+    public int[] getRelativeAddress() {
+        return mRelativeAddress;
+    }
+
     @Override
     public String toString() {
         return "DeviceProductInfo{"
@@ -105,6 +118,8 @@
                 + mModelYear
                 + ", manufactureDate="
                 + mManufactureDate
+                + ", relativeAddress="
+                + Arrays.toString(mRelativeAddress)
                 + '}';
     }
 
@@ -117,12 +132,14 @@
                 && Objects.equals(mManufacturerPnpId, that.mManufacturerPnpId)
                 && Objects.equals(mProductId, that.mProductId)
                 && Objects.equals(mModelYear, that.mModelYear)
-                && Objects.equals(mManufactureDate, that.mManufactureDate);
+                && Objects.equals(mManufactureDate, that.mManufactureDate)
+                && Arrays.equals(mRelativeAddress, that.mRelativeAddress);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(mName, mManufacturerPnpId, mProductId, mModelYear, mManufactureDate);
+        return Objects.hash(mName, mManufacturerPnpId, mProductId, mModelYear, mManufactureDate,
+            mRelativeAddress);
     }
 
     public static final Creator<DeviceProductInfo> CREATOR =
@@ -150,6 +167,7 @@
         dest.writeValue(mProductId);
         dest.writeValue(mModelYear);
         dest.writeValue(mManufactureDate);
+        dest.writeIntArray(mRelativeAddress);
     }
 
     /**
diff --git a/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java b/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java
index 0593545..3a6d508 100644
--- a/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java
+++ b/core/java/android/hardware/soundtrigger/KeyphraseEnrollmentInfo.java
@@ -18,6 +18,9 @@
 
 import android.Manifest;
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.TestApi;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -37,18 +40,22 @@
 import java.io.IOException;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * Enrollment information about the different available keyphrases.
  *
  * @hide
  */
+@TestApi
 public class KeyphraseEnrollmentInfo {
     private static final String TAG = "KeyphraseEnrollmentInfo";
     /**
@@ -63,6 +70,7 @@
      * Intent Action: for managing the keyphrases for hotword detection.
      * This needs to be defined by a service that supports enrolling users for hotword/keyphrase
      * detection.
+     * @hide
      */
     public static final String ACTION_MANAGE_VOICE_KEYPHRASES =
             "com.android.intent.action.MANAGE_VOICE_KEYPHRASES";
@@ -72,18 +80,21 @@
      * @see #MANAGE_ACTION_ENROLL
      * @see #MANAGE_ACTION_RE_ENROLL
      * @see #MANAGE_ACTION_UN_ENROLL
+     * @hide
      */
     public static final String EXTRA_VOICE_KEYPHRASE_ACTION =
             "com.android.intent.extra.VOICE_KEYPHRASE_ACTION";
 
     /**
      * Intent extra: The hint text to be shown on the voice keyphrase management UI.
+     * @hide
      */
     public static final String EXTRA_VOICE_KEYPHRASE_HINT_TEXT =
             "com.android.intent.extra.VOICE_KEYPHRASE_HINT_TEXT";
     /**
      * Intent extra: The voice locale to use while managing the keyphrase.
      * This is a BCP-47 language tag.
+     * @hide
      */
     public static final String EXTRA_VOICE_KEYPHRASE_LOCALE =
             "com.android.intent.extra.VOICE_KEYPHRASE_LOCALE";
@@ -125,7 +136,8 @@
 
     private String mParseError;
 
-    public KeyphraseEnrollmentInfo(PackageManager pm) {
+    public KeyphraseEnrollmentInfo(@NonNull PackageManager pm) {
+        Objects.requireNonNull(pm);
         // Find the apps that supports enrollment for hotword keyhphrases,
         // Pick a privileged app and obtain the information about the supported keyphrases
         // from its metadata.
@@ -134,13 +146,13 @@
         if (ris == null || ris.isEmpty()) {
             // No application capable of enrolling for voice keyphrases is present.
             mParseError = "No enrollment applications found";
-            mKeyphrasePackageMap = Collections.<KeyphraseMetadata, String>emptyMap();
+            mKeyphrasePackageMap = Collections.emptyMap();
             mKeyphrases = null;
             return;
         }
 
-        List<String> parseErrors = new LinkedList<String>();
-        mKeyphrasePackageMap = new HashMap<KeyphraseMetadata, String>();
+        List<String> parseErrors = new LinkedList<>();
+        mKeyphrasePackageMap = new HashMap<>();
         for (ResolveInfo ri : ris) {
             try {
                 ApplicationInfo ai = pm.getApplicationInfo(
@@ -178,7 +190,7 @@
             mKeyphrases = null;
         } else {
             mKeyphrases = mKeyphrasePackageMap.keySet().toArray(
-                    new KeyphraseMetadata[mKeyphrasePackageMap.size()]);
+                    new KeyphraseMetadata[0]);
         }
 
         if (!parseErrors.isEmpty()) {
@@ -269,8 +281,8 @@
         if (!TextUtils.isEmpty(searchKeyphraseSupportedLocales)) {
             try {
                 String[] supportedLocalesDelimited = searchKeyphraseSupportedLocales.split(",");
-                for (int i = 0; i < supportedLocalesDelimited.length; i++) {
-                    locales.add(Locale.forLanguageTag(supportedLocalesDelimited[i]));
+                for (String s : supportedLocalesDelimited) {
+                    locales.add(Locale.forLanguageTag(s));
                 }
             } catch (Exception ex) {
                 // We catch a generic exception here because we don't want the system service
@@ -297,6 +309,7 @@
         return new KeyphraseMetadata(searchKeyphraseId, searchKeyphrase, locales, recognitionModes);
     }
 
+    @NonNull
     public String getParseError() {
         return mParseError;
     }
@@ -305,8 +318,9 @@
      * @return An array of available keyphrases that can be enrolled on the system.
      *         It may be null if no keyphrases can be enrolled.
      */
-    public KeyphraseMetadata[] listKeyphraseMetadata() {
-        return mKeyphrases;
+    @NonNull
+    public Collection<KeyphraseMetadata> listKeyphraseMetadata() {
+        return Arrays.asList(mKeyphrases);
     }
 
     /**
@@ -319,8 +333,11 @@
      * @return An {@link Intent} to manage the keyphrase. This can be null if managing the
      *         given keyphrase/locale combination isn't possible.
      */
-    public Intent getManageKeyphraseIntent(@ManageActions int action, String keyphrase,
-            Locale locale) {
+    @Nullable
+    public Intent getManageKeyphraseIntent(@ManageActions int action, @NonNull String keyphrase,
+            @NonNull Locale locale) {
+        Objects.requireNonNull(keyphrase);
+        Objects.requireNonNull(locale);
         if (mKeyphrasePackageMap == null || mKeyphrasePackageMap.isEmpty()) {
             Slog.w(TAG, "No enrollment application exists");
             return null;
@@ -328,12 +345,11 @@
 
         KeyphraseMetadata keyphraseMetadata = getKeyphraseMetadata(keyphrase, locale);
         if (keyphraseMetadata != null) {
-            Intent intent = new Intent(ACTION_MANAGE_VOICE_KEYPHRASES)
+            return new Intent(ACTION_MANAGE_VOICE_KEYPHRASES)
                     .setPackage(mKeyphrasePackageMap.get(keyphraseMetadata))
                     .putExtra(EXTRA_VOICE_KEYPHRASE_HINT_TEXT, keyphrase)
                     .putExtra(EXTRA_VOICE_KEYPHRASE_LOCALE, locale.toLanguageTag())
                     .putExtra(EXTRA_VOICE_KEYPHRASE_ACTION, action);
-            return intent;
         }
         return null;
     }
@@ -348,7 +364,11 @@
      * @return The metadata, if the enrollment client supports the given keyphrase
      *         and locale, null otherwise.
      */
-    public KeyphraseMetadata getKeyphraseMetadata(String keyphrase, Locale locale) {
+    @Nullable
+    public KeyphraseMetadata getKeyphraseMetadata(@NonNull String keyphrase,
+            @NonNull Locale locale) {
+        Objects.requireNonNull(keyphrase);
+        Objects.requireNonNull(locale);
         if (mKeyphrases != null && mKeyphrases.length > 0) {
           for (KeyphraseMetadata keyphraseMetadata : mKeyphrases) {
               // Check if the given keyphrase is supported in the locale provided by
diff --git a/core/java/android/hardware/soundtrigger/KeyphraseMetadata.java b/core/java/android/hardware/soundtrigger/KeyphraseMetadata.java
index 15462de..aa86368 100644
--- a/core/java/android/hardware/soundtrigger/KeyphraseMetadata.java
+++ b/core/java/android/hardware/soundtrigger/KeyphraseMetadata.java
@@ -18,57 +18,78 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.TestApi;
 import android.os.Parcelable;
 import android.util.ArraySet;
 
 import com.android.internal.util.DataClass;
 
 import java.util.Locale;
+import java.util.Set;
 
 /**
  * A Voice Keyphrase metadata read from the enrollment application.
  *
  * @hide
  */
+@TestApi
 @DataClass(
         genEqualsHashCode = true,
         genToString = true,
         genConstructor = false,
         genHiddenConstDefs = true)
 public final class KeyphraseMetadata implements Parcelable {
-    public final int id;
+    private final int mId;
     @NonNull
-    public final String keyphrase;
+    private final String mKeyphrase;
     @NonNull
-    public final ArraySet<Locale> supportedLocales;
-    public final int recognitionModeFlags;
+    private final ArraySet<Locale> mSupportedLocales;
+    private final int mRecognitionModeFlags;
 
     public KeyphraseMetadata(int id, @NonNull String keyphrase,
-            @NonNull ArraySet<Locale> supportedLocales, int recognitionModeFlags) {
-        this.id = id;
-        this.keyphrase = keyphrase;
-        this.supportedLocales = supportedLocales;
-        this.recognitionModeFlags = recognitionModeFlags;
+            @NonNull Set<Locale> supportedLocales, int recognitionModeFlags) {
+        this.mId = id;
+        this.mKeyphrase = keyphrase;
+        this.mSupportedLocales = new ArraySet<>(supportedLocales);
+        this.mRecognitionModeFlags = recognitionModeFlags;
+    }
+
+    public int getId() {
+        return mId;
+    }
+
+    @NonNull
+    public String getKeyphrase() {
+        return mKeyphrase;
+    }
+
+    @NonNull
+    public Set<Locale> getSupportedLocales() {
+        return mSupportedLocales;
+    }
+
+    public int getRecognitionModeFlags() {
+        return mRecognitionModeFlags;
     }
 
     /**
      * @return Indicates if we support the given phrase.
      */
     public boolean supportsPhrase(@Nullable String phrase) {
-        return keyphrase.isEmpty() || keyphrase.equalsIgnoreCase(phrase);
+        return getKeyphrase().isEmpty() || getKeyphrase().equalsIgnoreCase(phrase);
     }
 
     /**
      * @return Indicates if we support the given locale.
      */
     public boolean supportsLocale(@Nullable Locale locale) {
-        return supportedLocales.isEmpty() || supportedLocales.contains(locale);
+        return getSupportedLocales().isEmpty() || getSupportedLocales().contains(locale);
     }
 
 
 
 
-    // Code below generated by codegen v1.0.14.
+    // Code below generated by codegen v1.0.15.
     //
     // DO NOT MODIFY!
     // CHECKSTYLE:OFF Generated code
@@ -88,10 +109,10 @@
         // String fieldNameToString() { ... }
 
         return "KeyphraseMetadata { " +
-                "id = " + id + ", " +
-                "keyphrase = " + keyphrase + ", " +
-                "supportedLocales = " + supportedLocales + ", " +
-                "recognitionModeFlags = " + recognitionModeFlags +
+                "id = " + mId + ", " +
+                "keyphrase = " + mKeyphrase + ", " +
+                "supportedLocales = " + mSupportedLocales + ", " +
+                "recognitionModeFlags = " + mRecognitionModeFlags +
         " }";
     }
 
@@ -108,10 +129,10 @@
         KeyphraseMetadata that = (KeyphraseMetadata) o;
         //noinspection PointlessBooleanExpression
         return true
-                && id == that.id
-                && java.util.Objects.equals(keyphrase, that.keyphrase)
-                && java.util.Objects.equals(supportedLocales, that.supportedLocales)
-                && recognitionModeFlags == that.recognitionModeFlags;
+                && mId == that.mId
+                && java.util.Objects.equals(mKeyphrase, that.mKeyphrase)
+                && java.util.Objects.equals(mSupportedLocales, that.mSupportedLocales)
+                && mRecognitionModeFlags == that.mRecognitionModeFlags;
     }
 
     @Override
@@ -121,10 +142,10 @@
         // int fieldNameHashCode() { ... }
 
         int _hash = 1;
-        _hash = 31 * _hash + id;
-        _hash = 31 * _hash + java.util.Objects.hashCode(keyphrase);
-        _hash = 31 * _hash + java.util.Objects.hashCode(supportedLocales);
-        _hash = 31 * _hash + recognitionModeFlags;
+        _hash = 31 * _hash + mId;
+        _hash = 31 * _hash + java.util.Objects.hashCode(mKeyphrase);
+        _hash = 31 * _hash + java.util.Objects.hashCode(mSupportedLocales);
+        _hash = 31 * _hash + mRecognitionModeFlags;
         return _hash;
     }
 
@@ -134,10 +155,10 @@
         // You can override field parcelling by defining methods like:
         // void parcelFieldName(Parcel dest, int flags) { ... }
 
-        dest.writeInt(id);
-        dest.writeString(keyphrase);
-        dest.writeArraySet(supportedLocales);
-        dest.writeInt(recognitionModeFlags);
+        dest.writeInt(mId);
+        dest.writeString(mKeyphrase);
+        dest.writeArraySet(mSupportedLocales);
+        dest.writeInt(mRecognitionModeFlags);
     }
 
     @Override
@@ -151,19 +172,19 @@
         // You can override field unparcelling by defining methods like:
         // static FieldType unparcelFieldName(Parcel in) { ... }
 
-        int _id = in.readInt();
-        String _keyphrase = in.readString();
-        ArraySet<Locale> _supportedLocales = (ArraySet) in.readArraySet(null);
-        int _recognitionModeFlags = in.readInt();
+        int id = in.readInt();
+        String keyphrase = in.readString();
+        ArraySet<Locale> supportedLocales = (ArraySet) in.readArraySet(null);
+        int recognitionModeFlags = in.readInt();
 
-        this.id = _id;
-        this.keyphrase = _keyphrase;
+        this.mId = id;
+        this.mKeyphrase = keyphrase;
         com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, keyphrase);
-        this.supportedLocales = _supportedLocales;
+                NonNull.class, null, mKeyphrase);
+        this.mSupportedLocales = supportedLocales;
         com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, supportedLocales);
-        this.recognitionModeFlags = _recognitionModeFlags;
+                NonNull.class, null, mSupportedLocales);
+        this.mRecognitionModeFlags = recognitionModeFlags;
 
         // onConstructed(); // You can define this method to get a callback
     }
@@ -183,10 +204,10 @@
     };
 
     @DataClass.Generated(
-            time = 1579290593964L,
-            codegenVersion = "1.0.14",
+            time = 1586191622057L,
+            codegenVersion = "1.0.15",
             sourceFile = "frameworks/base/core/java/android/hardware/soundtrigger/KeyphraseMetadata.java",
-            inputSignatures = "public final  int id\npublic final @android.annotation.NonNull java.lang.String keyphrase\npublic final @android.annotation.NonNull android.util.ArraySet<java.util.Locale> supportedLocales\npublic final  int recognitionModeFlags\npublic  boolean supportsPhrase(java.lang.String)\npublic  boolean supportsLocale(java.util.Locale)\nclass KeyphraseMetadata extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genConstructor=false, genHiddenConstDefs=true)")
+            inputSignatures = "private final  int mId\nprivate final @android.annotation.NonNull java.lang.String mKeyphrase\nprivate final @android.annotation.NonNull android.util.ArraySet<java.util.Locale> mSupportedLocales\nprivate final  int mRecognitionModeFlags\npublic  int getId()\npublic @android.annotation.NonNull java.lang.String getKeyphrase()\npublic @android.annotation.NonNull java.util.Set<java.util.Locale> getSupportedLocales()\npublic  int getRecognitionModeFlags()\npublic  boolean supportsPhrase(java.lang.String)\npublic  boolean supportsLocale(java.util.Locale)\nclass KeyphraseMetadata extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genConstructor=false, genHiddenConstDefs=true)")
     @Deprecated
     private void __metadata() {}
 
diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java
index 31d7d082..65e772cb 100644
--- a/core/java/android/net/NetworkAgent.java
+++ b/core/java/android/net/NetworkAgent.java
@@ -25,12 +25,14 @@
 import android.content.Context;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.ConditionVariable;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.AsyncChannel;
 import com.android.internal.util.Protocol;
 
@@ -572,6 +574,37 @@
     }
 
     /**
+     * Register this network agent with a testing harness.
+     *
+     * The returned Messenger sends messages to the Handler. This allows a test to send
+     * this object {@code CMD_*} messages as if they came from ConnectivityService, which
+     * is useful for testing the behavior.
+     *
+     * @hide
+     */
+    public Messenger registerForTest(final Network network) {
+        log("Registering NetworkAgent for test");
+        synchronized (mRegisterLock) {
+            mNetwork = network;
+            mInitialConfiguration = null;
+        }
+        return new Messenger(mHandler);
+    }
+
+    /**
+     * Waits for the handler to be idle.
+     * This is useful for testing, and has smaller scope than an accessor to mHandler.
+     * TODO : move the implementation in common library with the tests
+     * @hide
+     */
+    @VisibleForTesting
+    public boolean waitForIdle(final long timeoutMs) {
+        final ConditionVariable cv = new ConditionVariable(false);
+        mHandler.post(cv::open);
+        return cv.block(timeoutMs);
+    }
+
+    /**
      * @return The Network associated with this agent, or null if it's not registered yet.
      */
     @Nullable
diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java
index 73c6b3d..52d6fdfb 100644
--- a/core/java/android/net/NetworkCapabilities.java
+++ b/core/java/android/net/NetworkCapabilities.java
@@ -680,11 +680,13 @@
     public void restrictCapabilitesForTestNetwork() {
         final long originalCapabilities = mNetworkCapabilities;
         final NetworkSpecifier originalSpecifier = mNetworkSpecifier;
+        final int originalSignalStrength = mSignalStrength;
         clearAll();
         // Reset the transports to only contain TRANSPORT_TEST.
         mTransportTypes = (1 << TRANSPORT_TEST);
         mNetworkCapabilities = originalCapabilities & TEST_NETWORKS_ALLOWED_CAPABILITIES;
         mNetworkSpecifier = originalSpecifier;
+        mSignalStrength = originalSignalStrength;
     }
 
     /**
diff --git a/core/java/android/net/UrlQuerySanitizer.java b/core/java/android/net/UrlQuerySanitizer.java
index cf08b65..b1cf044 100644
--- a/core/java/android/net/UrlQuerySanitizer.java
+++ b/core/java/android/net/UrlQuerySanitizer.java
@@ -306,7 +306,7 @@
                 return null;
             }
             int length = value.length();
-            if ((mFlags & SCRIPT_URL_OK) != 0) {
+            if ((mFlags & SCRIPT_URL_OK) == 0) {
                 if (length >= MIN_SCRIPT_PREFIX_LENGTH) {
                     String asLower = value.toLowerCase(Locale.ROOT);
                     if (asLower.startsWith(JAVASCRIPT_PREFIX)  ||
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 5f8c4f5..c7355dd 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -235,6 +235,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public static @NonNull File getOemDirectory() {
         return DIR_OEM_ROOT;
     }
@@ -246,6 +247,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public static @NonNull File getOdmDirectory() {
         return DIR_ODM_ROOT;
     }
@@ -256,6 +258,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public static @NonNull File getVendorDirectory() {
         return DIR_VENDOR_ROOT;
     }
@@ -294,6 +297,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public static @NonNull File getSystemExtDirectory() {
         return DIR_SYSTEM_EXT_ROOT;
     }
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 0f2060a..187274a 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -57,6 +57,7 @@
 
 import com.android.internal.R;
 import com.android.internal.os.RoSystemProperties;
+import com.android.internal.util.FrameworkStatsLog;
 
 import java.io.IOException;
 import java.lang.annotation.Retention;
@@ -1841,6 +1842,35 @@
     }
 
     /**
+     * Returns the enum defined in the statsd UserLifecycleJourneyReported atom corresponding to the
+     * user type.
+     * @hide
+     */
+    public static int getUserTypeForStatsd(@NonNull String userType) {
+        switch (userType) {
+            case USER_TYPE_FULL_SYSTEM:
+                return FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__FULL_SYSTEM;
+            case USER_TYPE_FULL_SECONDARY:
+                return FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__FULL_SECONDARY;
+            case USER_TYPE_FULL_GUEST:
+                return FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__FULL_GUEST;
+            case USER_TYPE_FULL_DEMO:
+                return FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__FULL_DEMO;
+            case USER_TYPE_FULL_RESTRICTED:
+                return FrameworkStatsLog
+                        .USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__FULL_RESTRICTED;
+            case USER_TYPE_PROFILE_MANAGED:
+                return FrameworkStatsLog
+                        .USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__PROFILE_MANAGED;
+            case USER_TYPE_SYSTEM_HEADLESS:
+                return FrameworkStatsLog
+                        .USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__SYSTEM_HEADLESS;
+            default:
+                return FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__USER_TYPE__TYPE_UNKNOWN;
+        }
+    }
+
+    /**
      * @hide
      * @deprecated Use {@link #isRestrictedProfile()}
      */
diff --git a/core/java/android/os/VibrationEffect.java b/core/java/android/os/VibrationEffect.java
index ca86157..1fef071 100644
--- a/core/java/android/os/VibrationEffect.java
+++ b/core/java/android/os/VibrationEffect.java
@@ -897,6 +897,34 @@
             return -1;
         }
 
+        /**
+         * Scale all primitives of this effect.
+         *
+         * @param gamma the gamma adjustment to apply
+         * @param maxAmplitude the new maximum amplitude of the effect, must be between 0 and
+         *         MAX_AMPLITUDE
+         * @throws IllegalArgumentException if maxAmplitude less than 0 or more than MAX_AMPLITUDE
+         *
+         * @return A {@link Composed} effect with same but scaled primitives.
+         */
+        public Composed scale(float gamma, int maxAmplitude) {
+            if (maxAmplitude > MAX_AMPLITUDE || maxAmplitude < 0) {
+                throw new IllegalArgumentException(
+                        "Amplitude is negative or greater than MAX_AMPLITUDE");
+            }
+            if (gamma == 1.0f && maxAmplitude == MAX_AMPLITUDE) {
+                // Just return a copy of the original if there's no scaling to be done.
+                return new Composed(mPrimitiveEffects);
+            }
+            List<Composition.PrimitiveEffect> scaledPrimitives = new ArrayList<>();
+            for (Composition.PrimitiveEffect primitive : mPrimitiveEffects) {
+                float adjustedScale = MathUtils.pow(primitive.scale, gamma);
+                float newScale = adjustedScale * maxAmplitude / (float) MAX_AMPLITUDE;
+                scaledPrimitives.add(new Composition.PrimitiveEffect(
+                        primitive.id, newScale, primitive.delay));
+            }
+            return new Composed(scaledPrimitives);
+        }
 
         /**
          * @hide
diff --git a/core/java/android/os/incremental/V4Signature.java b/core/java/android/os/incremental/V4Signature.java
index 5cc73ca..d35ce5b 100644
--- a/core/java/android/os/incremental/V4Signature.java
+++ b/core/java/android/os/incremental/V4Signature.java
@@ -16,6 +16,8 @@
 
 package android.os.incremental;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.os.ParcelFileDescriptor;
 
 import java.io.ByteArrayInputStream;
@@ -45,8 +47,8 @@
     public static class HashingInfo {
         public final int hashAlgorithm; // only 1 == SHA256 supported
         public final byte log2BlockSize; // only 12 (block size 4096) supported now
-        public final byte[] salt; // used exactly as in fs-verity, 32 bytes max
-        public final byte[] rawRootHash; // salted digest of the first Merkle tree page
+        @Nullable public final byte[] salt; // used exactly as in fs-verity, 32 bytes max
+        @Nullable public final byte[] rawRootHash; // salted digest of the first Merkle tree page
 
         HashingInfo(int hashAlgorithm, byte log2BlockSize, byte[] salt, byte[] rawRootHash) {
             this.hashAlgorithm = hashAlgorithm;
@@ -58,7 +60,8 @@
         /**
          * Constructs HashingInfo from byte array.
          */
-        public static HashingInfo fromByteArray(byte[] bytes) throws IOException {
+        @NonNull
+        public static HashingInfo fromByteArray(@NonNull byte[] bytes) throws IOException {
             ByteBuffer buffer = ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN);
             final int hashAlgorithm = buffer.getInt();
             final byte log2BlockSize = buffer.get();
@@ -106,8 +109,18 @@
     }
 
     public final int version; // Always 2 for now.
-    public final byte[] hashingInfo;
-    public final byte[] signingInfo; // Passed as-is to the kernel. Can be retrieved later.
+    /**
+     * Raw byte array containing the IncFS hashing data.
+     * @see HashingInfo#fromByteArray(byte[])
+     */
+    @Nullable public final byte[] hashingInfo;
+
+    /**
+     * Raw byte array containing the V4 signature data.
+     * <p>Passed as-is to the kernel. Can be retrieved later.
+     * @see SigningInfo#fromByteArray(byte[])
+     */
+    @Nullable public final byte[] signingInfo;
 
     /**
      * Construct a V4Signature from .idsig file.
@@ -121,7 +134,8 @@
     /**
      * Construct a V4Signature from a byte array.
      */
-    public static V4Signature readFrom(byte[] bytes) throws IOException {
+    @NonNull
+    public static V4Signature readFrom(@NonNull byte[] bytes) throws IOException {
         try (InputStream stream = new ByteArrayInputStream(bytes)) {
             return readFrom(stream);
         }
@@ -169,7 +183,7 @@
         return this.version == SUPPORTED_VERSION;
     }
 
-    private V4Signature(int version, byte[] hashingInfo, byte[] signingInfo) {
+    private V4Signature(int version, @Nullable byte[] hashingInfo, @Nullable byte[] signingInfo) {
         this.version = version;
         this.hashingInfo = hashingInfo;
         this.signingInfo = signingInfo;
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
old mode 100644
new mode 100755
index 5418833..fe340c4
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -4748,6 +4748,14 @@
         public static final String SHOW_BATTERY_PERCENT = "status_bar_show_battery_percent";
 
         /**
+         * Whether or not to enable multiple audio focus.
+         * When enabled, requires more management by user over application playback activity,
+         * for instance pausing media apps when another starts.
+         * @hide
+         */
+        public static final String MULTI_AUDIO_FOCUS_ENABLED = "multi_audio_focus_enabled";
+
+        /**
          * IMPORTANT: If you add a new public settings you also have to add it to
          * PUBLIC_SETTINGS below. If the new setting is hidden you have to add
          * it to PRIVATE_SETTINGS below. Also add a validator that can validate
diff --git a/core/java/android/service/autofill/InlinePresentation.java b/core/java/android/service/autofill/InlinePresentation.java
index 63b3804..9cf1b87 100644
--- a/core/java/android/service/autofill/InlinePresentation.java
+++ b/core/java/android/service/autofill/InlinePresentation.java
@@ -19,7 +19,6 @@
 import android.annotation.NonNull;
 import android.annotation.Size;
 import android.app.slice.Slice;
-import android.compat.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.widget.inline.InlinePresentationSpec;
@@ -67,18 +66,6 @@
         return hints.toArray(new String[hints.size()]);
     }
 
-    /**
-     * @hide
-     * @removed
-     */
-    @UnsupportedAppUsage
-    public InlinePresentation(
-            @NonNull Slice slice,
-            @NonNull android.view.inline.InlinePresentationSpec inlinePresentationSpec,
-            boolean pinned) {
-        this(slice, inlinePresentationSpec.toWidget(), pinned);
-    }
-
 
 
     // Code below generated by codegen v1.0.15.
@@ -245,7 +232,7 @@
     };
 
     @DataClass.Generated(
-            time = 1585633564226L,
+            time = 1586992400667L,
             codegenVersion = "1.0.15",
             sourceFile = "frameworks/base/core/java/android/service/autofill/InlinePresentation.java",
             inputSignatures = "private final @android.annotation.NonNull android.app.slice.Slice mSlice\nprivate final @android.annotation.NonNull android.widget.inline.InlinePresentationSpec mInlinePresentationSpec\nprivate final  boolean mPinned\npublic @android.annotation.NonNull @android.annotation.Size(min=0L) java.lang.String[] getAutofillHints()\nclass InlinePresentation extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstDefs=true, genEqualsHashCode=true)")
diff --git a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
index 1efa3dd..b47b2b4 100644
--- a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
+++ b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
@@ -31,6 +31,7 @@
 import android.content.Intent;
 import android.graphics.Rect;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.Handler;
 import android.os.IBinder;
@@ -558,9 +559,10 @@
             }
         }
 
-        void reportResult(@Nullable List<Dataset> inlineSuggestionsData) {
+        void reportResult(@Nullable List<Dataset> inlineSuggestionsData,
+                @Nullable Bundle clientState) {
             try {
-                mCallback.onSuccess(inlineSuggestionsData);
+                mCallback.onSuccess(inlineSuggestionsData, clientState);
             } catch (RemoteException e) {
                 Log.e(TAG, "Error calling back with the inline suggestions data: " + e);
             }
diff --git a/core/java/android/service/autofill/augmented/FillCallback.java b/core/java/android/service/autofill/augmented/FillCallback.java
index 526a749..21738d80 100644
--- a/core/java/android/service/autofill/augmented/FillCallback.java
+++ b/core/java/android/service/autofill/augmented/FillCallback.java
@@ -21,6 +21,7 @@
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.os.Bundle;
 import android.service.autofill.Dataset;
 import android.service.autofill.augmented.AugmentedAutofillService.AutofillProxy;
 import android.util.Log;
@@ -55,14 +56,15 @@
 
         if (response == null) {
             mProxy.logEvent(AutofillProxy.REPORT_EVENT_NO_RESPONSE);
-            mProxy.reportResult(/* inlineSuggestionsData */ null);
+            mProxy.reportResult(/* inlineSuggestionsData */ null, /* clientState */ null);
             return;
         }
 
         List<Dataset> inlineSuggestions = response.getInlineSuggestions();
+        Bundle clientState = response.getClientState();
         if (inlineSuggestions != null && !inlineSuggestions.isEmpty()) {
             mProxy.logEvent(AutofillProxy.REPORT_EVENT_INLINE_RESPONSE);
-            mProxy.reportResult(inlineSuggestions);
+            mProxy.reportResult(inlineSuggestions, clientState);
             return;
         }
 
diff --git a/core/java/android/service/autofill/augmented/IFillCallback.aidl b/core/java/android/service/autofill/augmented/IFillCallback.aidl
index 24af1e5..609e382 100644
--- a/core/java/android/service/autofill/augmented/IFillCallback.aidl
+++ b/core/java/android/service/autofill/augmented/IFillCallback.aidl
@@ -30,7 +30,7 @@
  */
 interface IFillCallback {
     void onCancellable(in ICancellationSignal cancellation);
-    void onSuccess(in @nullable List<Dataset> inlineSuggestionsData);
+    void onSuccess(in @nullable List<Dataset> inlineSuggestionsData, in @nullable Bundle clientState);
     boolean isCompleted();
     void cancel();
 }
diff --git a/core/java/android/service/dataloader/DataLoaderService.java b/core/java/android/service/dataloader/DataLoaderService.java
index 60373ac..e35b8b7 100644
--- a/core/java/android/service/dataloader/DataLoaderService.java
+++ b/core/java/android/service/dataloader/DataLoaderService.java
@@ -109,9 +109,7 @@
                 @NonNull IDataLoaderStatusListener listener)
                 throws RuntimeException {
             try {
-                if (!nativeCreateDataLoader(id, control, params, listener)) {
-                    Slog.e(TAG, "Failed to create native loader for " + id);
-                }
+                nativeCreateDataLoader(id, control, params, listener);
             } catch (Exception ex) {
                 Slog.e(TAG, "Failed to create native loader for " + id, ex);
                 destroy(id);
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index 0db9771..337027e 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -182,7 +182,6 @@
     private Window mWindow;
     private Activity mActivity;
     private boolean mInteractive;
-    private boolean mLowProfile = true;
     private boolean mFullscreen;
     private boolean mScreenBright = true;
     private boolean mStarted;
@@ -530,32 +529,6 @@
     }
 
     /**
-     * Sets View.SYSTEM_UI_FLAG_LOW_PROFILE on the content view.
-     *
-     * @param lowProfile True to set View.SYSTEM_UI_FLAG_LOW_PROFILE
-     * @hide There is no reason to have this -- dreams can set this flag
-     * on their own content view, and from there can actually do the
-     * correct interactions with it (seeing when it is cleared etc).
-     */
-    public void setLowProfile(boolean lowProfile) {
-        if (mLowProfile != lowProfile) {
-            mLowProfile = lowProfile;
-            int flag = View.SYSTEM_UI_FLAG_LOW_PROFILE;
-            applySystemUiVisibilityFlags(mLowProfile ? flag : 0, flag);
-        }
-    }
-
-    /**
-     * Returns whether or not this dream is in low profile mode. Defaults to true.
-     *
-     * @see #setLowProfile(boolean)
-     * @hide
-     */
-    public boolean isLowProfile() {
-        return getSystemUiVisibilityFlagValue(View.SYSTEM_UI_FLAG_LOW_PROFILE, mLowProfile);
-    }
-
-    /**
      * Controls {@link android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN}
      * on the dream's window.
      *
@@ -900,10 +873,11 @@
     public final void finish() {
         if (mDebug) Slog.v(TAG, "finish(): mFinished=" + mFinished);
 
-        if (mActivity != null) {
-            if (!mActivity.isFinishing()) {
+        Activity activity = mActivity;
+        if (activity != null) {
+            if (!activity.isFinishing()) {
                 // In case the activity is not finished yet, do it now.
-                mActivity.finishAndRemoveTask();
+                activity.finishAndRemoveTask();
             }
             return;
         }
@@ -1093,10 +1067,6 @@
         // along well. Dreams usually don't need such bars anyways, so disable them by default.
         mWindow.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
 
-        applySystemUiVisibilityFlags(
-                (mLowProfile ? View.SYSTEM_UI_FLAG_LOW_PROFILE : 0),
-                View.SYSTEM_UI_FLAG_LOW_PROFILE);
-
         mWindow.getDecorView().addOnAttachStateChangeListener(
                 new View.OnAttachStateChangeListener() {
                     @Override
@@ -1106,6 +1076,7 @@
 
                     @Override
                     public void onViewDetachedFromWindow(View v) {
+                        mActivity = null;
                         finish();
                     }
                 });
@@ -1124,18 +1095,6 @@
         }
     }
 
-    private boolean getSystemUiVisibilityFlagValue(int flag, boolean defaultValue) {
-        View v = mWindow == null ? null : mWindow.getDecorView();
-        return v == null ? defaultValue : (v.getSystemUiVisibility() & flag) != 0;
-    }
-
-    private void applySystemUiVisibilityFlags(int flags, int mask) {
-        View v = mWindow == null ? null : mWindow.getDecorView();
-        if (v != null) {
-            v.setSystemUiVisibility(applyFlags(v.getSystemUiVisibility(), flags, mask));
-        }
-    }
-
     private int applyFlags(int oldFlags, int flags, int mask) {
         return (oldFlags&~mask) | (flags&mask);
     }
@@ -1161,7 +1120,6 @@
         pw.println("  window: " + mWindow);
         pw.print("  flags:");
         if (isInteractive()) pw.print(" interactive");
-        if (isLowProfile()) pw.print(" lowprofile");
         if (isFullscreen()) pw.print(" fullscreen");
         if (isScreenBright()) pw.print(" bright");
         if (isWindowless()) pw.print(" windowless");
diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java
index 21b83c6..5c43f8f 100644
--- a/core/java/android/service/notification/StatusBarNotification.java
+++ b/core/java/android/service/notification/StatusBarNotification.java
@@ -292,6 +292,18 @@
         return this.user.getIdentifier();
     }
 
+    /**
+     * Like {@link #getUserId()} but handles special users.
+     * @hide
+     */
+    public int getNormalizedUserId() {
+        int userId = getUserId();
+        if (userId == UserHandle.USER_ALL) {
+            userId = UserHandle.USER_SYSTEM;
+        }
+        return userId;
+    }
+
     /** The package that the notification belongs to. */
     public String getPackageName() {
         return pkg;
diff --git a/core/java/android/service/voice/AlwaysOnHotwordDetector.java b/core/java/android/service/voice/AlwaysOnHotwordDetector.java
index 97cd760..6f94112 100644
--- a/core/java/android/service/voice/AlwaysOnHotwordDetector.java
+++ b/core/java/android/service/voice/AlwaysOnHotwordDetector.java
@@ -460,7 +460,7 @@
                     "Getting supported recognition modes for the keyphrase is not supported");
         }
 
-        return mKeyphraseMetadata.recognitionModeFlags;
+        return mKeyphraseMetadata.getRecognitionModeFlags();
     }
 
     /**
@@ -765,8 +765,8 @@
     private int startRecognitionLocked(int recognitionFlags) {
         KeyphraseRecognitionExtra[] recognitionExtra = new KeyphraseRecognitionExtra[1];
         // TODO: Do we need to do something about the confidence level here?
-        recognitionExtra[0] = new KeyphraseRecognitionExtra(mKeyphraseMetadata.id,
-                mKeyphraseMetadata.recognitionModeFlags, 0, new ConfidenceLevel[0]);
+        recognitionExtra[0] = new KeyphraseRecognitionExtra(mKeyphraseMetadata.getId(),
+                mKeyphraseMetadata.getRecognitionModeFlags(), 0, new ConfidenceLevel[0]);
         boolean captureTriggerAudio =
                 (recognitionFlags&RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO) != 0;
         boolean allowMultipleTriggers =
@@ -783,7 +783,7 @@
         int code;
         try {
             code = mModelManagementService.startRecognition(
-                    mKeyphraseMetadata.id, mLocale.toLanguageTag(), mInternalCallback,
+                    mKeyphraseMetadata.getId(), mLocale.toLanguageTag(), mInternalCallback,
                     new RecognitionConfig(captureTriggerAudio, allowMultipleTriggers,
                             recognitionExtra, null /* additional data */, audioCapabilities));
         } catch (RemoteException e) {
@@ -799,7 +799,7 @@
     private int stopRecognitionLocked() {
         int code;
         try {
-            code = mModelManagementService.stopRecognition(mKeyphraseMetadata.id,
+            code = mModelManagementService.stopRecognition(mKeyphraseMetadata.getId(),
                     mInternalCallback);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
@@ -813,7 +813,7 @@
 
     private int setParameterLocked(@ModelParams int modelParam, int value) {
         try {
-            int code = mModelManagementService.setParameter(mKeyphraseMetadata.id, modelParam,
+            int code = mModelManagementService.setParameter(mKeyphraseMetadata.getId(), modelParam,
                     value);
 
             if (code != STATUS_OK) {
@@ -828,7 +828,7 @@
 
     private int getParameterLocked(@ModelParams int modelParam) {
         try {
-            return mModelManagementService.getParameter(mKeyphraseMetadata.id, modelParam);
+            return mModelManagementService.getParameter(mKeyphraseMetadata.getId(), modelParam);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -838,7 +838,7 @@
     private ModelParamRange queryParameterLocked(@ModelParams int modelParam) {
         try {
             SoundTrigger.ModelParamRange modelParamRange =
-                    mModelManagementService.queryParameter(mKeyphraseMetadata.id, modelParam);
+                    mModelManagementService.queryParameter(mKeyphraseMetadata.getId(), modelParam);
 
             if (modelParamRange == null) {
                 return null;
diff --git a/core/java/android/speech/RecognizerIntent.java b/core/java/android/speech/RecognizerIntent.java
index 362b94b..3b5a6d5 100644
--- a/core/java/android/speech/RecognizerIntent.java
+++ b/core/java/android/speech/RecognizerIntent.java
@@ -413,6 +413,10 @@
      * {@link #ACTION_VOICE_SEARCH_HANDS_FREE}, {@link #ACTION_WEB_SEARCH} to indicate whether to
      * only use an offline speech recognition engine. The default is false, meaning that either
      * network or offline recognition engines may be used.
+     *
+     * <p>Depending on the recognizer implementation, these values may have
+     * no effect.</p>
+     *
      */
     public static final String EXTRA_PREFER_OFFLINE = "android.speech.extra.PREFER_OFFLINE";
 }
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl
index a0527b7..25e8111 100644
--- a/core/java/android/view/IWindowSession.aidl
+++ b/core/java/android/view/IWindowSession.aidl
@@ -225,13 +225,13 @@
      * For multi screen launcher type applications, xstep and ystep indicate
      * how big the increment is from one screen to another.
      */
-    void setWallpaperPosition(IBinder windowToken, float x, float y, float xstep, float ystep);
+    oneway void setWallpaperPosition(IBinder windowToken, float x, float y, float xstep, float ystep);
 
     /**
      * For wallpaper windows, sets the scale of the wallpaper based on
      * SystemUI behavior.
      */
-    void setWallpaperZoomOut(IBinder windowToken, float scale);
+    oneway void setWallpaperZoomOut(IBinder windowToken, float scale);
 
     /**
      * For wallpaper windows, sets whether the wallpaper should actually be
diff --git a/core/java/android/view/ImeInsetsSourceConsumer.java b/core/java/android/view/ImeInsetsSourceConsumer.java
index 2461e96..bdc8ba8 100644
--- a/core/java/android/view/ImeInsetsSourceConsumer.java
+++ b/core/java/android/view/ImeInsetsSourceConsumer.java
@@ -49,7 +49,7 @@
      * Tracks whether we have an outstanding request from the IME to show, but weren't able to
      * execute it because we didn't have control yet.
      */
-    private boolean mImeRequestedShow;
+    private boolean mIsRequestedVisibleAwaitingControl;
 
     public ImeInsetsSourceConsumer(
             InsetsState state, Supplier<Transaction> transactionSupplier,
@@ -88,15 +88,7 @@
     public void onWindowFocusLost() {
         super.onWindowFocusLost();
         getImm().unregisterImeConsumer(this);
-        mImeRequestedShow = false;
-    }
-
-    @Override
-    public void show(boolean fromIme) {
-        super.show(fromIme);
-        if (fromIme) {
-            mImeRequestedShow = true;
-        }
+        mIsRequestedVisibleAwaitingControl = false;
     }
 
     @Override
@@ -119,11 +111,14 @@
         // TODO: ResultReceiver for IME.
         // TODO: Set mShowOnNextImeRender to automatically show IME and guard it with a flag.
 
+        if (getControl() == null) {
+            // If control is null, schedule to show IME when control is available.
+            mIsRequestedVisibleAwaitingControl = true;
+        }
         // If we had a request before to show from IME (tracked with mImeRequestedShow), reaching
         // this code here means that we now got control, so we can start the animation immediately.
         // If client window is trying to control IME and IME is already visible, it is immediate.
-        if (fromIme || mImeRequestedShow || mState.getSource(getType()).isVisible()) {
-            mImeRequestedShow = false;
+        if (fromIme || mState.getSource(getType()).isVisible()) {
             return ShowResult.SHOW_IMMEDIATELY;
         }
 
@@ -148,11 +143,19 @@
     public void setControl(@Nullable InsetsSourceControl control, int[] showTypes,
             int[] hideTypes) {
         super.setControl(control, showTypes, hideTypes);
-        if (control == null) {
+        if (control == getControl()) {
+            return;
+        }
+        if (control == null && !mIsRequestedVisibleAwaitingControl) {
             hide();
         }
     }
 
+    @Override
+    protected boolean isRequestedVisibleAwaitingControl() {
+        return mIsRequestedVisibleAwaitingControl;
+    }
+
     private boolean isDummyOrEmptyEditor(EditorInfo info) {
         // TODO(b/123044812): Handle dummy input gracefully in IME Insets API
         return info == null || (info.fieldId <= 0 && info.inputType <= 0);
diff --git a/core/java/android/view/InsetsSourceConsumer.java b/core/java/android/view/InsetsSourceConsumer.java
index 6cb9374..a723839 100644
--- a/core/java/android/view/InsetsSourceConsumer.java
+++ b/core/java/android/view/InsetsSourceConsumer.java
@@ -107,8 +107,8 @@
         } else {
             // We are gaining control, and need to run an animation since previous state
             // didn't match
-            if (mRequestedVisible != mState.getSource(mType).isVisible()) {
-                if (mRequestedVisible) {
+            if (isRequestedVisibleAwaitingControl() != mState.getSource(mType).isVisible()) {
+                if (isRequestedVisibleAwaitingControl()) {
                     showTypes[0] |= toPublicType(getType());
                 } else {
                     hideTypes[0] |= toPublicType(getType());
@@ -138,6 +138,16 @@
         return mSourceControl;
     }
 
+    /**
+     * Determines if the consumer will be shown after control is available.
+     * Note: for system bars this method is same as {@link #isRequestedVisible()}.
+     *
+     * @return {@code true} if consumer has a pending show.
+     */
+    protected boolean isRequestedVisibleAwaitingControl() {
+        return isRequestedVisible();
+    }
+
     int getType() {
         return mType;
     }
@@ -263,7 +273,7 @@
      * Sets requested visibility from the client, regardless of whether we are able to control it at
      * the moment.
      */
-    private void setRequestedVisible(boolean requestedVisible) {
+    protected void setRequestedVisible(boolean requestedVisible) {
         mRequestedVisible = requestedVisible;
         if (applyLocalVisibilityOverride()) {
             mController.notifyVisibilityChanged();
diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java
index a9f3e04..0c50cb7 100644
--- a/core/java/android/view/NotificationHeaderView.java
+++ b/core/java/android/view/NotificationHeaderView.java
@@ -17,7 +17,6 @@
 package android.view;
 
 import android.annotation.Nullable;
-import android.app.AppOpsManager;
 import android.app.Notification;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.Context;
@@ -27,7 +26,6 @@
 import android.graphics.Outline;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
-import android.util.ArraySet;
 import android.util.AttributeSet;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -396,6 +394,7 @@
             addRectAroundView(mIcon);
             mExpandButtonRect = addRectAroundView(mExpandButton);
             mAppOpsRect = addRectAroundView(mAppOps);
+            setTouchDelegate(new TouchDelegate(mAppOpsRect, mAppOps));
             addWidthRect();
             mTouchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
         }
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 1086774..76ed37c 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -228,6 +228,7 @@
      */
     public long mNativeObject;
     private long mNativeHandle;
+    private Throwable mReleaseStack = null;
 
     // TODO: Move this to native.
     private final Object mSizeLock = new Object();
@@ -426,11 +427,18 @@
         if (mNativeObject != 0) {
             release();
         }
-      	if (nativeObject != 0) {
+        if (nativeObject != 0) {
             mCloseGuard.open("release");
         }
         mNativeObject = nativeObject;
         mNativeHandle = mNativeObject != 0 ? nativeGetHandle(nativeObject) : 0;
+        if (mNativeObject == 0) {
+            if (Build.IS_DEBUGGABLE) {
+                mReleaseStack = new Throwable("assigned zero nativeObject here");
+            }
+        } else {
+            mReleaseStack = null;
+        }
     }
 
     /**
@@ -989,11 +997,22 @@
             nativeRelease(mNativeObject);
             mNativeObject = 0;
             mNativeHandle = 0;
+            if (Build.IS_DEBUGGABLE) {
+                mReleaseStack = new Throwable("released here");
+            }
             mCloseGuard.close();
         }
     }
 
     /**
+     * Returns the call stack that assigned mNativeObject to zero.
+     * @hide
+     */
+    public Throwable getReleaseStack() {
+        return mReleaseStack;
+    }
+
+    /**
      * Disconnect any client still connected to the surface.
      * @hide
      */
@@ -1004,8 +1023,11 @@
     }
 
     private void checkNotReleased() {
-        if (mNativeObject == 0) throw new NullPointerException(
-                "mNativeObject is null. Have you called release() already?");
+        if (mNativeObject == 0) {
+            Log.wtf(TAG, "Invalid " + this + " caused by:", mReleaseStack);
+            throw new NullPointerException(
+                "mNativeObject of " + this + " is null. Have you called release() already?");
+        }
     }
 
     /**
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 9880ea0..db6fe0f 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -1173,43 +1173,6 @@
                 TAG, "Layout: x=" + mScreenRect.left + " y=" + mScreenRect.top
                 + " w=" + mScreenRect.width() + " h=" + mScreenRect.height()
                 + ", frame=" + mSurfaceFrame);
-        } else {
-            // Calculate the window position in case RT loses the window
-            // and we need to fallback to a UI-thread driven position update
-            if (positionChanged || layoutSizeChanged) { // Only the position has changed
-                mWindowSpaceLeft = mLocation[0];
-                mWindowSpaceTop = mLocation[1];
-                // For our size changed check, we keep mScreenRect.width() and mScreenRect.height()
-                // in view local space.
-                mLocation[0] = getWidth();
-                mLocation[1] = getHeight();
-
-                mScreenRect.set(mWindowSpaceLeft, mWindowSpaceTop,
-                        mWindowSpaceLeft + mLocation[0], mWindowSpaceTop + mLocation[1]);
-
-                if (translator != null) {
-                    translator.translateRectInAppWindowToScreen(mScreenRect);
-                }
-
-                if (mSurfaceControl == null) {
-                    return;
-                }
-
-                if (!isHardwareAccelerated() || !mRtHandlingPositionUpdates) {
-                    try {
-                        if (DEBUG_POSITION) {
-                            Log.d(TAG, String.format("%d updateSurfacePosition UI, "
-                                            + "position = [%d, %d, %d, %d]",
-                                    System.identityHashCode(this),
-                                    mScreenRect.left, mScreenRect.top,
-                                    mScreenRect.right, mScreenRect.bottom));
-                        }
-                        setParentSpaceRectangle(mScreenRect, -1);
-                    } catch (Exception ex) {
-                        Log.e(TAG, "Exception configuring surface", ex);
-                    }
-                }
-            }
         }
     }
 
diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java
index ca3dd04..aad1c60 100644
--- a/core/java/android/view/WindowInsets.java
+++ b/core/java/android/view/WindowInsets.java
@@ -473,6 +473,12 @@
     /**
      * Returns the display cutout if there is one.
      *
+     * <p>Note: the display cutout will already be {@link #consumeDisplayCutout consumed} during
+     * dispatch to {@link View#onApplyWindowInsets}, unless the window has requested a
+     * {@link WindowManager.LayoutParams#layoutInDisplayCutoutMode} other than
+     * {@link WindowManager.LayoutParams#LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER never} or
+     * {@link WindowManager.LayoutParams#LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT default}.
+     *
      * @return the display cutout or null if there is none
      * @see DisplayCutout
      */
@@ -1424,7 +1430,13 @@
         /**
          * Returns an insets type representing the area that used by {@link DisplayCutout}.
          *
-         * <p>This is equivalent to the safe insets on {@link #getDisplayCutout()}.</p>
+         * <p>This is equivalent to the safe insets on {@link #getDisplayCutout()}.
+         *
+         * <p>Note: During dispatch to {@link View#onApplyWindowInsets}, if the window is using
+         * the {@link WindowManager.LayoutParams#LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT default}
+         * {@link WindowManager.LayoutParams#layoutInDisplayCutoutMode}, {@link #getDisplayCutout()}
+         * will return {@code null} even if the window overlaps a display cutout area, in which case
+         * the {@link #displayCutout() displayCutout() inset} will still report the accurate value.
          *
          * @see DisplayCutout#getSafeInsetLeft()
          * @see DisplayCutout#getSafeInsetTop()
diff --git a/core/java/android/view/WindowInsetsAnimationController.java b/core/java/android/view/WindowInsetsAnimationController.java
index c191a54..fb9d05e 100644
--- a/core/java/android/view/WindowInsetsAnimationController.java
+++ b/core/java/android/view/WindowInsetsAnimationController.java
@@ -141,7 +141,10 @@
     /**
      * Finishes the animation, and leaves the windows shown or hidden.
      * <p>
-     * After invoking {@link #finish(boolean)}, this instance is no longer {@link #isReady ready}.
+     * After invoking {@link #finish}, this instance is no longer {@link #isReady ready}.
+     * <p>
+     * Note: Finishing an animation implicitly {@link #setInsetsAndAlpha sets insets and alpha}
+     * according to the requested end state without any further animation.
      *
      * @param shown if {@code true}, the windows will be shown after finishing the
      *              animation. Otherwise they will be hidden.
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 83a7934..6d3dbfe 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -1258,13 +1258,6 @@
                 }
             }
 
-            if (mForAugmentedAutofillOnly) {
-                if (sVerbose) {
-                    Log.v(TAG,  "notifyValueChanged(): not notifying system server on "
-                            + "augmented-only mode");
-                }
-                return;
-            }
             if (!mEnabled || !isActiveLocked()) {
                 if (!startAutofillIfNeededLocked(view)) {
                     if (sVerbose) {
@@ -1299,10 +1292,6 @@
             return;
         }
         synchronized (mLock) {
-            if (mForAugmentedAutofillOnly) {
-                if (sVerbose) Log.v(TAG,  "notifyValueChanged(): ignoring on augmented only mode");
-                return;
-            }
             if (!mEnabled || !isActiveLocked()) {
                 if (sVerbose) {
                     Log.v(TAG, "notifyValueChanged(" + view.getAutofillId() + ":" + virtualId
diff --git a/core/java/android/view/inline/InlineContentView.java b/core/java/android/view/inline/InlineContentView.java
deleted file mode 100644
index 3df201c..0000000
--- a/core/java/android/view/inline/InlineContentView.java
+++ /dev/null
@@ -1,208 +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 android.view.inline;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.content.Context;
-import android.graphics.PixelFormat;
-import android.util.AttributeSet;
-import android.view.SurfaceControl;
-import android.view.SurfaceControlViewHost;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-import android.view.ViewGroup;
-
-/**
- * This class represents a view that holds opaque content from another app that
- * you can inline in your UI.
- *
- * <p>Since the content presented by this view is from another security domain,it is
- * shown on a remote surface preventing the host application from accessing that content.
- * Also the host application cannot interact with the inlined content by injecting touch
- * events or clicking programmatically.
- *
- * <p>This view can be overlaid by other windows, i.e. redressed, but if this is the case
- * the inined UI would not be interactive. Sometimes this is desirable, e.g. animating
- * transitions.
- *
- * <p>By default the surface backing this view is shown on top of the hosting window such
- * that the inlined content is interactive. However, you can temporarily move the surface
- * under the hosting window which could be useful in some cases, e.g. animating transitions.
- * At this point the inlined content will not be interactive and the touch events would
- * be delivered to your app.
- *
- * @hide
- * @removed
- */
-public class InlineContentView extends ViewGroup {
-
-    /**
-     * Callback for observing the lifecycle of the surface control
-     * that manipulates the backing secure embedded UI surface.
-     */
-    public interface SurfaceControlCallback {
-        /**
-         * Called when the backing surface is being created.
-         *
-         * @param surfaceControl The surface control to manipulate the surface.
-         */
-        void onCreated(@NonNull SurfaceControl surfaceControl);
-
-        /**
-         * Called when the backing surface is being destroyed.
-         *
-         * @param surfaceControl The surface control to manipulate the surface.
-         */
-        void onDestroyed(@NonNull SurfaceControl surfaceControl);
-    }
-
-    private final @NonNull SurfaceHolder.Callback mSurfaceCallback = new SurfaceHolder.Callback() {
-        @Override
-        public void surfaceCreated(@NonNull SurfaceHolder holder) {
-            mSurfaceControlCallback.onCreated(mSurfaceView.getSurfaceControl());
-        }
-
-        @Override
-        public void surfaceChanged(@NonNull SurfaceHolder holder,
-                int format, int width, int height) {
-            /* do nothing */
-        }
-
-        @Override
-        public void surfaceDestroyed(@NonNull SurfaceHolder holder) {
-            mSurfaceControlCallback.onDestroyed(mSurfaceView.getSurfaceControl());
-        }
-    };
-
-    private final @NonNull SurfaceView mSurfaceView;
-
-    private @Nullable SurfaceControlCallback mSurfaceControlCallback;
-
-    /**
-     * @inheritDoc
-     *
-     * @hide
-     */
-    public InlineContentView(@NonNull Context context) {
-        this(context, null);
-    }
-
-    /**
-     * @inheritDoc
-     *
-     * @hide
-     */
-    public InlineContentView(@NonNull Context context, @Nullable AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    /**
-     * @inheritDoc
-     *
-     * @hide
-     */
-    public InlineContentView(@NonNull Context context, @Nullable AttributeSet attrs,
-            int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    /**
-     * Gets the surface control. If the surface is not created this method
-     * returns {@code null}.
-     *
-     * @return The surface control.
-     *
-     * @see #setSurfaceControlCallback(SurfaceControlCallback) 
-     */
-    public @Nullable SurfaceControl getSurfaceControl() {
-        return mSurfaceView.getSurfaceControl();
-    }
-
-    /**
-     * @inheritDoc
-     *
-     * @hide
-     */
-    public InlineContentView(@NonNull Context context, @Nullable AttributeSet attrs,
-            int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        mSurfaceView = new SurfaceView(context, attrs, defStyleAttr, defStyleRes);
-        mSurfaceView.setZOrderOnTop(true);
-        mSurfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);
-        addView(mSurfaceView);
-    }
-
-    /**
-     * Sets the embedded UI.
-     * @param surfacePackage The embedded UI.
-     *
-     * @hide
-     */
-    public void setChildSurfacePackage(
-            @Nullable SurfaceControlViewHost.SurfacePackage surfacePackage) {
-        mSurfaceView.setChildSurfacePackage(surfacePackage);
-    }
-
-    @Override
-    public void onLayout(boolean changed, int l, int t, int r, int b) {
-        mSurfaceView.layout(0, 0, getMeasuredWidth(), getMeasuredHeight());
-    }
-
-    /**
-     * Sets a callback to observe the lifecycle of the surface control for
-     * managing the backing surface.
-     *
-     * @param callback The callback to set or {@code null} to clear.
-     */
-    public void setSurfaceControlCallback(@Nullable SurfaceControlCallback callback) {
-        if (mSurfaceControlCallback != null) {
-            mSurfaceView.getHolder().removeCallback(mSurfaceCallback);
-        }
-        mSurfaceControlCallback = callback;
-        if (mSurfaceControlCallback != null) {
-            mSurfaceView.getHolder().addCallback(mSurfaceCallback);
-        }
-    }
-
-    /**
-     * @return Whether the surface backing this view appears on top of its parent.
-     *
-     * @see #setZOrderedOnTop(boolean)
-     */
-    public boolean isZOrderedOnTop() {
-        return mSurfaceView.isZOrderedOnTop();
-    }
-
-    /**
-     * Controls whether the backing surface is placed on top of this view's window.
-     * Normally, it is placed on top of the window, to allow interaction
-     * with the inlined UI. Via this method, you can place the surface below the
-     * window. This means that all of the contents of the window this view is in
-     * will be visible on top of its surface.
-     *
-     * <p> The Z ordering can be changed dynamically if the backing surface is
-     * created, otherwise the ordering would be applied at surface construction time.
-     *
-     * @param onTop Whether to show the surface on top of this view's window.
-     *
-     * @see #isZOrderedOnTop()
-     */
-    public boolean setZOrderedOnTop(boolean onTop) {
-        return mSurfaceView.setZOrderedOnTop(onTop, /*allowDynamicChange*/ true);
-    }
-}
diff --git a/core/java/android/view/inline/InlinePresentationSpec.java b/core/java/android/view/inline/InlinePresentationSpec.java
deleted file mode 100644
index d777cb8..0000000
--- a/core/java/android/view/inline/InlinePresentationSpec.java
+++ /dev/null
@@ -1,347 +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 android.view.inline;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.compat.annotation.UnsupportedAppUsage;
-import android.os.Bundle;
-import android.os.Parcelable;
-import android.util.Size;
-
-import com.android.internal.util.DataClass;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class represents the presentation specification by which an inline suggestion
- * should abide when constructing its UI. Since suggestions are inlined in a
- * host application while provided by another source, they need to be consistent
- * with the host's look at feel to allow building smooth and integrated UIs.
- *
- * @hide
- * @removed
- */
-@DataClass(genEqualsHashCode = true, genToString = true, genBuilder = true)
-public final class InlinePresentationSpec implements Parcelable {
-
-    /** The minimal size of the suggestion. */
-    @NonNull
-    private final Size mMinSize;
-    /** The maximal size of the suggestion. */
-    @NonNull
-    private final Size mMaxSize;
-
-    /**
-     * The extras encoding the UI style information. Defaults to {@code Bundle.EMPTY} in which case
-     * the default system UI style will be used.
-     */
-    @NonNull
-    private final Bundle mStyle;
-
-    private static Bundle defaultStyle() {
-        return Bundle.EMPTY;
-    }
-
-    /** @hide */
-    @DataClass.Suppress({"setMaxSize", "setMinSize"})
-    abstract static class BaseBuilder {
-    }
-
-    /**
-     * @hide
-     */
-    public android.widget.inline.InlinePresentationSpec toWidget() {
-        final android.widget.inline.InlinePresentationSpec.Builder builder =
-                new android.widget.inline.InlinePresentationSpec.Builder(
-                        getMinSize(), getMaxSize());
-        final Bundle style = getStyle();
-        if (style != null) {
-            builder.setStyle(style);
-        }
-        return builder.build();
-    }
-
-    /**
-     * @hide
-     */
-    public static android.view.inline.InlinePresentationSpec fromWidget(
-            android.widget.inline.InlinePresentationSpec widget) {
-        final android.view.inline.InlinePresentationSpec.Builder builder =
-                new android.view.inline.InlinePresentationSpec.Builder(
-                        widget.getMinSize(), widget.getMaxSize());
-        final Bundle style = widget.getStyle();
-        if (style != null) {
-            builder.setStyle(style);
-        }
-        return builder.build();
-    }
-
-    /**
-     * @hide
-     */
-    public static List<android.view.inline.InlinePresentationSpec> fromWidgets(
-            List<android.widget.inline.InlinePresentationSpec> widgets) {
-        final ArrayList<android.view.inline.InlinePresentationSpec> convertedSpecs =
-                new ArrayList<>();
-        for (int i = 0; i < widgets.size(); i++) {
-            convertedSpecs.add(fromWidget(widgets.get(i)));
-        }
-        return convertedSpecs;
-    }
-
-
-
-    // Code below generated by codegen v1.0.15.
-    //
-    // DO NOT MODIFY!
-    // CHECKSTYLE:OFF Generated code
-    //
-    // To regenerate run:
-    // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/view/inline/InlinePresentationSpec.java
-    //
-    // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
-    //   Settings > Editor > Code Style > Formatter Control
-    //@formatter:off
-
-
-    @DataClass.Generated.Member
-    /* package-private */ InlinePresentationSpec(
-            @NonNull Size minSize,
-            @NonNull Size maxSize,
-            @NonNull Bundle style) {
-        this.mMinSize = minSize;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mMinSize);
-        this.mMaxSize = maxSize;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mMaxSize);
-        this.mStyle = style;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mStyle);
-
-        // onConstructed(); // You can define this method to get a callback
-    }
-
-    /**
-     * The minimal size of the suggestion.
-     */
-    @UnsupportedAppUsage
-    @DataClass.Generated.Member
-    public @NonNull Size getMinSize() {
-        return mMinSize;
-    }
-
-    /**
-     * The maximal size of the suggestion.
-     */
-    @UnsupportedAppUsage
-    @DataClass.Generated.Member
-    public @NonNull Size getMaxSize() {
-        return mMaxSize;
-    }
-
-    /**
-     * The extras encoding the UI style information. Defaults to {@code Bundle.EMPTY} in which case
-     * the default system UI style will be used.
-     */
-    @DataClass.Generated.Member
-    public @NonNull Bundle getStyle() {
-        return mStyle;
-    }
-
-    @Override
-    @DataClass.Generated.Member
-    public String toString() {
-        // You can override field toString logic by defining methods like:
-        // String fieldNameToString() { ... }
-
-        return "InlinePresentationSpec { " +
-                "minSize = " + mMinSize + ", " +
-                "maxSize = " + mMaxSize + ", " +
-                "style = " + mStyle +
-        " }";
-    }
-
-    @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(InlinePresentationSpec other) { ... }
-        // boolean fieldNameEquals(FieldType otherValue) { ... }
-
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        @SuppressWarnings("unchecked")
-        InlinePresentationSpec that = (InlinePresentationSpec) o;
-        //noinspection PointlessBooleanExpression
-        return true
-                && java.util.Objects.equals(mMinSize, that.mMinSize)
-                && java.util.Objects.equals(mMaxSize, that.mMaxSize)
-                && java.util.Objects.equals(mStyle, that.mStyle);
-    }
-
-    @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 + java.util.Objects.hashCode(mMinSize);
-        _hash = 31 * _hash + java.util.Objects.hashCode(mMaxSize);
-        _hash = 31 * _hash + java.util.Objects.hashCode(mStyle);
-        return _hash;
-    }
-
-    @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.writeSize(mMinSize);
-        dest.writeSize(mMaxSize);
-        dest.writeBundle(mStyle);
-    }
-
-    @Override
-    @DataClass.Generated.Member
-    public int describeContents() { return 0; }
-
-    /** @hide */
-    @SuppressWarnings({"unchecked", "RedundantCast"})
-    @DataClass.Generated.Member
-    /* package-private */ InlinePresentationSpec(@NonNull android.os.Parcel in) {
-        // You can override field unparcelling by defining methods like:
-        // static FieldType unparcelFieldName(Parcel in) { ... }
-
-        Size minSize = (Size) in.readSize();
-        Size maxSize = (Size) in.readSize();
-        Bundle style = in.readBundle();
-
-        this.mMinSize = minSize;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mMinSize);
-        this.mMaxSize = maxSize;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mMaxSize);
-        this.mStyle = style;
-        com.android.internal.util.AnnotationValidations.validate(
-                NonNull.class, null, mStyle);
-
-        // onConstructed(); // You can define this method to get a callback
-    }
-
-    @DataClass.Generated.Member
-    public static final @NonNull Parcelable.Creator<InlinePresentationSpec> CREATOR
-            = new Parcelable.Creator<InlinePresentationSpec>() {
-        @Override
-        public InlinePresentationSpec[] newArray(int size) {
-            return new InlinePresentationSpec[size];
-        }
-
-        @Override
-        public InlinePresentationSpec createFromParcel(@NonNull android.os.Parcel in) {
-            return new InlinePresentationSpec(in);
-        }
-    };
-
-    /**
-     * A builder for {@link InlinePresentationSpec}
-     */
-    @SuppressWarnings("WeakerAccess")
-    @DataClass.Generated.Member
-    public static final class Builder extends BaseBuilder {
-
-        private @NonNull Size mMinSize;
-        private @NonNull Size mMaxSize;
-        private @NonNull Bundle mStyle;
-
-        private long mBuilderFieldsSet = 0L;
-
-        /**
-         * Creates a new Builder.
-         *
-         * @param minSize
-         *   The minimal size of the suggestion.
-         * @param maxSize
-         *   The maximal size of the suggestion.
-         */
-        @UnsupportedAppUsage
-        public Builder(
-                @NonNull Size minSize,
-                @NonNull Size maxSize) {
-            mMinSize = minSize;
-            com.android.internal.util.AnnotationValidations.validate(
-                    NonNull.class, null, mMinSize);
-            mMaxSize = maxSize;
-            com.android.internal.util.AnnotationValidations.validate(
-                    NonNull.class, null, mMaxSize);
-        }
-
-        /**
-         * The extras encoding the UI style information. Defaults to {@code Bundle.EMPTY} in which case
-         * the default system UI style will be used.
-         */
-        @DataClass.Generated.Member
-        public @NonNull Builder setStyle(@NonNull Bundle value) {
-            checkNotUsed();
-            mBuilderFieldsSet |= 0x4;
-            mStyle = value;
-            return this;
-        }
-
-        /** Builds the instance. This builder should not be touched after calling this! */
-        @UnsupportedAppUsage
-        @NonNull
-        public InlinePresentationSpec build() {
-            checkNotUsed();
-            mBuilderFieldsSet |= 0x8; // Mark builder used
-
-            if ((mBuilderFieldsSet & 0x4) == 0) {
-                mStyle = defaultStyle();
-            }
-            InlinePresentationSpec o = new InlinePresentationSpec(
-                    mMinSize,
-                    mMaxSize,
-                    mStyle);
-            return o;
-        }
-
-        private void checkNotUsed() {
-            if ((mBuilderFieldsSet & 0x8) != 0) {
-                throw new IllegalStateException(
-                        "This Builder should not be reused. Use a new Builder instance instead");
-            }
-        }
-    }
-
-    @DataClass.Generated(
-            time = 1585691139012L,
-            codegenVersion = "1.0.15",
-            sourceFile = "frameworks/base/core/java/android/view/inline/InlinePresentationSpec.java",
-            inputSignatures = "private final @android.annotation.NonNull android.util.Size mMinSize\nprivate final @android.annotation.NonNull android.util.Size mMaxSize\nprivate final @android.annotation.NonNull android.os.Bundle mStyle\nprivate static  android.os.Bundle defaultStyle()\npublic  android.widget.inline.InlinePresentationSpec toWidget()\npublic static  android.view.inline.InlinePresentationSpec fromWidget(android.widget.inline.InlinePresentationSpec)\npublic static  java.util.List<android.view.inline.InlinePresentationSpec> fromWidgets(java.util.List<android.widget.inline.InlinePresentationSpec>)\nclass InlinePresentationSpec extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genBuilder=true)\nclass BaseBuilder extends java.lang.Object implements []")
-    @Deprecated
-    private void __metadata() {}
-
-
-    //@formatter:on
-    // End of generated code
-
-}
diff --git a/core/java/android/view/inputmethod/InlineSuggestionInfo.java b/core/java/android/view/inputmethod/InlineSuggestionInfo.java
index 3e9ffa7..1c703ec 100644
--- a/core/java/android/view/inputmethod/InlineSuggestionInfo.java
+++ b/core/java/android/view/inputmethod/InlineSuggestionInfo.java
@@ -20,7 +20,6 @@
 import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.annotation.TestApi;
-import android.compat.annotation.UnsupportedAppUsage;
 import android.os.Parcelable;
 import android.widget.inline.InlinePresentationSpec;
 
@@ -87,17 +86,6 @@
         return new InlineSuggestionInfo(presentationSpec, source, autofillHints, type, isPinned);
     }
 
-    /**
-     * The presentation spec to which the inflated suggestion view abides.
-     *
-     * @hide
-     * @removed
-     */
-    @UnsupportedAppUsage
-    public @NonNull android.view.inline.InlinePresentationSpec getPresentationSpec() {
-        return android.view.inline.InlinePresentationSpec.fromWidget(mInlinePresentationSpec);
-    }
-
 
 
     // Code below generated by codegen v1.0.15.
@@ -358,10 +346,10 @@
     };
 
     @DataClass.Generated(
-            time = 1585633580662L,
+            time = 1586992414034L,
             codegenVersion = "1.0.15",
             sourceFile = "frameworks/base/core/java/android/view/inputmethod/InlineSuggestionInfo.java",
-            inputSignatures = "public static final @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String SOURCE_AUTOFILL\npublic static final @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String SOURCE_PLATFORM\npublic static final @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String TYPE_SUGGESTION\npublic static final @android.annotation.SuppressLint({\"IntentName\"}) @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String TYPE_ACTION\nprivate final @android.annotation.NonNull android.widget.inline.InlinePresentationSpec mInlinePresentationSpec\nprivate final @android.annotation.NonNull @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String mSource\nprivate final @android.annotation.Nullable java.lang.String[] mAutofillHints\nprivate final @android.annotation.NonNull @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String mType\nprivate final  boolean mPinned\npublic static @android.annotation.TestApi @android.annotation.NonNull android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(android.widget.inline.InlinePresentationSpec,java.lang.String,java.lang.String[],java.lang.String,boolean)\npublic @android.compat.annotation.UnsupportedAppUsage @android.annotation.NonNull android.view.inline.InlinePresentationSpec getPresentationSpec()\nclass InlineSuggestionInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genHiddenConstDefs=true, genHiddenConstructor=true)")
+            inputSignatures = "public static final @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String SOURCE_AUTOFILL\npublic static final @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String SOURCE_PLATFORM\npublic static final @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String TYPE_SUGGESTION\npublic static final @android.annotation.SuppressLint({\"IntentName\"}) @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String TYPE_ACTION\nprivate final @android.annotation.NonNull android.widget.inline.InlinePresentationSpec mInlinePresentationSpec\nprivate final @android.annotation.NonNull @android.view.inputmethod.InlineSuggestionInfo.Source java.lang.String mSource\nprivate final @android.annotation.Nullable java.lang.String[] mAutofillHints\nprivate final @android.annotation.NonNull @android.view.inputmethod.InlineSuggestionInfo.Type java.lang.String mType\nprivate final  boolean mPinned\npublic static @android.annotation.TestApi @android.annotation.NonNull android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(android.widget.inline.InlinePresentationSpec,java.lang.String,java.lang.String[],java.lang.String,boolean)\nclass InlineSuggestionInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genHiddenConstDefs=true, genHiddenConstructor=true)")
     @Deprecated
     private void __metadata() {}
 
diff --git a/core/java/android/view/inputmethod/InlineSuggestionsRequest.java b/core/java/android/view/inputmethod/InlineSuggestionsRequest.java
index af896fc..d282b56 100644
--- a/core/java/android/view/inputmethod/InlineSuggestionsRequest.java
+++ b/core/java/android/view/inputmethod/InlineSuggestionsRequest.java
@@ -19,7 +19,6 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityThread;
-import android.compat.annotation.UnsupportedAppUsage;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.LocaleList;
@@ -93,20 +92,6 @@
     private int mHostDisplayId;
 
     /**
-     * The {@link InlinePresentationSpec} for each suggestion in the response. If the max suggestion
-     * count is larger than the number of specs in the list, then the last spec is used for the
-     * remainder of the suggestions. The list should not be empty.
-     *
-     * @hide
-     * @removed
-     */
-    @UnsupportedAppUsage
-    @NonNull
-    public List<android.view.inline.InlinePresentationSpec> getPresentationSpecs() {
-        return android.view.inline.InlinePresentationSpec.fromWidgets(mInlinePresentationSpecs);
-    }
-
-    /**
      * @hide
      * @see {@link #mHostInputToken}.
      */
@@ -170,17 +155,6 @@
 
     /** @hide */
     abstract static class BaseBuilder {
-        /**
-         * @hide
-         * @removed
-         */
-        @UnsupportedAppUsage
-        @NonNull
-        public Builder addPresentationSpecs(
-                @NonNull android.view.inline.InlinePresentationSpec value) {
-            return ((Builder) this).addInlinePresentationSpecs(value.toWidget());
-        }
-
         abstract Builder setInlinePresentationSpecs(
                 @NonNull List<android.widget.inline.InlinePresentationSpec> specs);
 
@@ -608,10 +582,10 @@
     }
 
     @DataClass.Generated(
-            time = 1585768018462L,
+            time = 1586992395497L,
             codegenVersion = "1.0.15",
             sourceFile = "frameworks/base/core/java/android/view/inputmethod/InlineSuggestionsRequest.java",
-            inputSignatures = "public static final  int SUGGESTION_COUNT_UNLIMITED\nprivate final  int mMaxSuggestionCount\nprivate final @android.annotation.NonNull java.util.List<android.widget.inline.InlinePresentationSpec> mInlinePresentationSpecs\nprivate @android.annotation.NonNull java.lang.String mHostPackageName\nprivate @android.annotation.NonNull android.os.LocaleList mSupportedLocales\nprivate @android.annotation.NonNull android.os.Bundle mExtras\nprivate @android.annotation.Nullable android.os.IBinder mHostInputToken\nprivate  int mHostDisplayId\npublic @android.compat.annotation.UnsupportedAppUsage @android.annotation.NonNull java.util.List<android.view.inline.InlinePresentationSpec> getPresentationSpecs()\npublic  void setHostInputToken(android.os.IBinder)\nprivate  boolean extrasEquals(android.os.Bundle)\nprivate  void parcelHostInputToken(android.os.Parcel,int)\nprivate @android.annotation.Nullable android.os.IBinder unparcelHostInputToken(android.os.Parcel)\npublic  void setHostDisplayId(int)\nprivate  void onConstructed()\nprivate static  int defaultMaxSuggestionCount()\nprivate static  java.lang.String defaultHostPackageName()\nprivate static  android.os.LocaleList defaultSupportedLocales()\nprivate static @android.annotation.Nullable android.os.IBinder defaultHostInputToken()\nprivate static @android.annotation.Nullable int defaultHostDisplayId()\nprivate static @android.annotation.NonNull android.os.Bundle defaultExtras()\nclass InlineSuggestionsRequest extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genBuilder=true)\npublic @android.compat.annotation.UnsupportedAppUsage @android.annotation.NonNull android.view.inputmethod.InlineSuggestionsRequest.Builder addPresentationSpecs(android.view.inline.InlinePresentationSpec)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(java.util.List<android.widget.inline.InlinePresentationSpec>)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostPackageName(java.lang.String)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostInputToken(android.os.IBinder)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostDisplayId(int)\nclass BaseBuilder extends java.lang.Object implements []")
+            inputSignatures = "public static final  int SUGGESTION_COUNT_UNLIMITED\nprivate final  int mMaxSuggestionCount\nprivate final @android.annotation.NonNull java.util.List<android.widget.inline.InlinePresentationSpec> mInlinePresentationSpecs\nprivate @android.annotation.NonNull java.lang.String mHostPackageName\nprivate @android.annotation.NonNull android.os.LocaleList mSupportedLocales\nprivate @android.annotation.NonNull android.os.Bundle mExtras\nprivate @android.annotation.Nullable android.os.IBinder mHostInputToken\nprivate  int mHostDisplayId\npublic  void setHostInputToken(android.os.IBinder)\nprivate  boolean extrasEquals(android.os.Bundle)\nprivate  void parcelHostInputToken(android.os.Parcel,int)\nprivate @android.annotation.Nullable android.os.IBinder unparcelHostInputToken(android.os.Parcel)\npublic  void setHostDisplayId(int)\nprivate  void onConstructed()\nprivate static  int defaultMaxSuggestionCount()\nprivate static  java.lang.String defaultHostPackageName()\nprivate static  android.os.LocaleList defaultSupportedLocales()\nprivate static @android.annotation.Nullable android.os.IBinder defaultHostInputToken()\nprivate static @android.annotation.Nullable int defaultHostDisplayId()\nprivate static @android.annotation.NonNull android.os.Bundle defaultExtras()\nclass InlineSuggestionsRequest extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genToString=true, genBuilder=true)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(java.util.List<android.widget.inline.InlinePresentationSpec>)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostPackageName(java.lang.String)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostInputToken(android.os.IBinder)\nabstract  android.view.inputmethod.InlineSuggestionsRequest.Builder setHostDisplayId(int)\nclass BaseBuilder extends java.lang.Object implements []")
     @Deprecated
     private void __metadata() {}
 
diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java
index 62dd192..51d37a5 100644
--- a/core/java/android/widget/Editor.java
+++ b/core/java/android/widget/Editor.java
@@ -5440,6 +5440,9 @@
 
         @Override
         public boolean onTouchEvent(MotionEvent ev) {
+            if (!mTextView.isFromPrimePointer(ev, true)) {
+                return true;
+            }
             if (mFlagInsertionHandleGesturesEnabled && mFlagCursorDragFromAnywhereEnabled) {
                 // Should only enable touch through when cursor drag is enabled.
                 // Otherwise the insertion handle view cannot be moved.
@@ -5908,6 +5911,9 @@
 
         @Override
         public boolean onTouchEvent(MotionEvent event) {
+            if (!mTextView.isFromPrimePointer(event, true)) {
+                return true;
+            }
             boolean superResult = super.onTouchEvent(event);
 
             switch (event.getActionMasked()) {
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 4a27d3a0..7f6c0d2 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -29,7 +29,6 @@
 import android.app.PendingIntent;
 import android.app.RemoteInput;
 import android.appwidget.AppWidgetHostView;
-import android.appwidget.AppWidgetManager;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.ContextWrapper;
@@ -4131,18 +4130,8 @@
             // The NEW_TASK flags are applied through the activity options and not as a part of
             // the call to startIntentSender() to ensure that they are consistently applied to
             // both mutable and immutable PendingIntents.
-            final IntentSender intentSender = pendingIntent.getIntentSender();
-            final int uid = intentSender.getCreatorUid();
-            final String packageName = intentSender.getCreatorPackage();
-            if (uid != -1 && packageName != null) {
-                final AppWidgetManager appWidgetManager =
-                        context.getSystemService(AppWidgetManager.class);
-                if (appWidgetManager != null) {
-                    appWidgetManager.noteAppWidgetTapped(uid, packageName);
-                }
-            }
             context.startIntentSender(
-                    intentSender, options.first,
+                    pendingIntent.getIntentSender(), options.first,
                     0, 0, 0, options.second.toBundle());
         } catch (IntentSender.SendIntentException e) {
             Log.e(LOG_TAG, "Cannot send pending intent: ", e);
diff --git a/core/java/android/widget/SelectionActionModeHelper.java b/core/java/android/widget/SelectionActionModeHelper.java
index 45943f5..a069e643 100644
--- a/core/java/android/widget/SelectionActionModeHelper.java
+++ b/core/java/android/widget/SelectionActionModeHelper.java
@@ -104,16 +104,43 @@
     }
 
     /**
+     * Swap the selection index if the start index is greater than end index.
+     *
+     * @return the swap result, index 0 is the start index and index 1 is the end index.
+     */
+    private static int[] sortSelctionIndices(int selectionStart, int selectionEnd) {
+        if (selectionStart < selectionEnd) {
+            return new int[]{selectionStart, selectionEnd};
+        }
+        return new int[]{selectionEnd, selectionStart};
+    }
+
+    /**
+     * The {@link TextView} selection start and end index may not be sorted, this method will swap
+     * the {@link TextView} selection index if the start index is greater than end index.
+     *
+     * @param textView the selected TextView.
+     * @return the swap result, index 0 is the start index and index 1 is the end index.
+     */
+    private static int[] sortSelctionIndicesFromTextView(TextView textView) {
+        int selectionStart = textView.getSelectionStart();
+        int selectionEnd = textView.getSelectionEnd();
+
+        return sortSelctionIndices(selectionStart, selectionEnd);
+    }
+
+    /**
      * Starts Selection ActionMode.
      */
     public void startSelectionActionModeAsync(boolean adjustSelection) {
         // Check if the smart selection should run for editable text.
         adjustSelection &= getTextClassificationSettings().isSmartSelectionEnabled();
+        int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
 
         mSelectionTracker.onOriginalSelection(
                 getText(mTextView),
-                mTextView.getSelectionStart(),
-                mTextView.getSelectionEnd(),
+                sortedSelectionIndices[0],
+                sortedSelectionIndices[1],
                 false /*isLink*/);
         cancelAsyncTask();
         if (skipTextClassification()) {
@@ -138,12 +165,14 @@
      * Starts Link ActionMode.
      */
     public void startLinkActionModeAsync(int start, int end) {
-        mSelectionTracker.onOriginalSelection(getText(mTextView), start, end, true /*isLink*/);
+        int[] indexResult = sortSelctionIndices(start, end);
+        mSelectionTracker.onOriginalSelection(getText(mTextView), indexResult[0], indexResult[1],
+                true /*isLink*/);
         cancelAsyncTask();
         if (skipTextClassification()) {
             startLinkActionMode(null);
         } else {
-            resetTextClassificationHelper(start, end);
+            resetTextClassificationHelper(indexResult[0], indexResult[1]);
             mTextClassificationAsyncTask = new TextClassificationAsyncTask(
                     mTextView,
                     mTextClassificationHelper.getTimeoutDuration(),
@@ -172,19 +201,23 @@
 
     /** Reports a selection action event. */
     public void onSelectionAction(int menuItemId, @Nullable String actionLabel) {
+        int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
         mSelectionTracker.onSelectionAction(
-                mTextView.getSelectionStart(), mTextView.getSelectionEnd(),
+                sortedSelectionIndices[0], sortedSelectionIndices[1],
                 getActionType(menuItemId), actionLabel, mTextClassification);
     }
 
     public void onSelectionDrag() {
+        int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
         mSelectionTracker.onSelectionAction(
-                mTextView.getSelectionStart(), mTextView.getSelectionEnd(),
+                sortedSelectionIndices[0], sortedSelectionIndices[1],
                 SelectionEvent.ACTION_DRAG, /* actionLabel= */ null, mTextClassification);
     }
 
     public void onTextChanged(int start, int end) {
-        mSelectionTracker.onTextChanged(start, end, mTextClassification);
+        int[] sortedSelectionIndices = sortSelctionIndices(start, end);
+        mSelectionTracker.onTextChanged(sortedSelectionIndices[0], sortedSelectionIndices[1],
+                mTextClassification);
     }
 
     public boolean resetSelection(int textIndex) {
@@ -301,10 +334,10 @@
             startSelectionActionMode(startSelectionResult);
         };
         // TODO do not trigger the animation if the change included only non-printable characters
+        int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
         final boolean didSelectionChange =
-                result != null && (mTextView.getSelectionStart() != result.mStart
-                        || mTextView.getSelectionEnd() != result.mEnd);
-
+                result != null && (sortedSelectionIndices[0] != result.mStart
+                        || sortedSelectionIndices[1] != result.mEnd);
         if (!didSelectionChange) {
             onAnimationEndCallback.run();
             return;
@@ -453,16 +486,18 @@
         if (actionMode != null) {
             actionMode.invalidate();
         }
+        final int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
         mSelectionTracker.onSelectionUpdated(
-                mTextView.getSelectionStart(), mTextView.getSelectionEnd(), mTextClassification);
+                sortedSelectionIndices[0], sortedSelectionIndices[1], mTextClassification);
         mTextClassificationAsyncTask = null;
     }
 
     private void resetTextClassificationHelper(int selectionStart, int selectionEnd) {
         if (selectionStart < 0 || selectionEnd < 0) {
             // Use selection indices
-            selectionStart = mTextView.getSelectionStart();
-            selectionEnd = mTextView.getSelectionEnd();
+            int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(mTextView);
+            selectionStart = sortedSelectionIndices[0];
+            selectionEnd = sortedSelectionIndices[1];
         }
         mTextClassificationHelper.init(
                 mTextView::getTextClassifier,
@@ -602,10 +637,11 @@
                 mAllowReset = false;
                 boolean selected = editor.selectCurrentWord();
                 if (selected) {
-                    mSelectionStart = editor.getTextView().getSelectionStart();
-                    mSelectionEnd = editor.getTextView().getSelectionEnd();
+                    final int[] sortedSelectionIndices = sortSelctionIndicesFromTextView(textView);
+                    mSelectionStart = sortedSelectionIndices[0];
+                    mSelectionEnd = sortedSelectionIndices[1];
                     mLogger.logSelectionAction(
-                            textView.getSelectionStart(), textView.getSelectionEnd(),
+                            sortedSelectionIndices[0], sortedSelectionIndices[1],
                             SelectionEvent.ACTION_RESET,
                             /* actionLabel= */ null, /* classification= */ null);
                 }
@@ -1178,8 +1214,9 @@
 
         SelectionResult(int start, int end,
                 @Nullable TextClassification classification, @Nullable TextSelection selection) {
-            mStart = start;
-            mEnd = end;
+            int[] sortedIndices = sortSelctionIndices(start, end);
+            mStart = sortedIndices[0];
+            mEnd = sortedIndices[1];
             mClassification = classification;
             mSelection = selection;
         }
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index e178318..e933f18a 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -855,6 +855,19 @@
     int mTextEditSuggestionContainerLayout;
     int mTextEditSuggestionHighlightStyle;
 
+    private static final int NO_POINTER_ID = -1;
+    /**
+     * The prime (the 1st finger) pointer id which is used as a lock to prevent multi touch among
+     * TextView and the handle views which are rendered on popup windows.
+     */
+    private int mPrimePointerId = NO_POINTER_ID;
+
+    /**
+     * Whether the prime pointer is from the event delivered to selection handle or insertion
+     * handle.
+     */
+    private boolean mIsPrimePointerFromHandleView;
+
     /**
      * {@link EditText} specific data, created on demand when one of the Editor fields is used.
      * See {@link #createEditorIfNeeded()}.
@@ -3272,7 +3285,7 @@
 
     /**
      * Applies a tint to the compound drawables. Does not modify the
-     * current tint mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
+     * current tint mode, which is {@link BlendMode#SRC_IN} by default.
      * <p>
      * Subsequent calls to
      * {@link #setCompoundDrawables(Drawable, Drawable, Drawable, Drawable)}
@@ -10886,6 +10899,36 @@
         }
     }
 
+    /**
+     * Called from onTouchEvent() to prevent the touches by secondary fingers.
+     * Dragging on handles can revise cursor/selection, so can dragging on the text view.
+     * This method is a lock to avoid processing multiple fingers on both text view and handles.
+     * Note: multiple fingers on handles (e.g. 2 fingers on the 2 selection handles) should work.
+     *
+     * @param event The motion event that is being handled and carries the pointer info.
+     * @param fromHandleView true if the event is delivered to selection handle or insertion
+     * handle; false if this event is delivered to TextView.
+     * @return Returns true to indicate that onTouchEvent() can continue processing the motion
+     * event, otherwise false.
+     *  - Always returns true for the first finger.
+     *  - For secondary fingers, if the first or current finger is from TextView, returns false.
+     *    This is to make touch mutually exclusive between the TextView and the handles, but
+     *    not among the handles.
+     */
+    boolean isFromPrimePointer(MotionEvent event, boolean fromHandleView) {
+        if (mPrimePointerId == NO_POINTER_ID)  {
+            mPrimePointerId = event.getPointerId(0);
+            mIsPrimePointerFromHandleView = fromHandleView;
+        } else if (mPrimePointerId != event.getPointerId(0)) {
+            return mIsPrimePointerFromHandleView && fromHandleView;
+        }
+        if (event.getActionMasked() == MotionEvent.ACTION_UP
+            || event.getActionMasked() == MotionEvent.ACTION_CANCEL) {
+            mPrimePointerId = -1;
+        }
+        return true;
+    }
+
     @Override
     public boolean onTouchEvent(MotionEvent event) {
         if (DEBUG_CURSOR) {
@@ -10894,6 +10937,9 @@
                     MotionEvent.actionToString(event.getActionMasked()),
                     event.getX(), event.getY());
         }
+        if (!isFromPrimePointer(event, false)) {
+            return true;
+        }
 
         final int action = event.getActionMasked();
         if (mEditor != null) {
diff --git a/core/java/android/window/VirtualDisplayTaskEmbedder.java b/core/java/android/window/VirtualDisplayTaskEmbedder.java
index 7016469..1c0598b 100644
--- a/core/java/android/window/VirtualDisplayTaskEmbedder.java
+++ b/core/java/android/window/VirtualDisplayTaskEmbedder.java
@@ -64,6 +64,7 @@
     // For Virtual Displays
     private int mDisplayDensityDpi;
     private final boolean mSingleTaskInstance;
+    private final boolean mUsePublicVirtualDisplay;
     private VirtualDisplay mVirtualDisplay;
     private Insets mForwardedInsets;
     private DisplayMetrics mTmpDisplayMetrics;
@@ -78,9 +79,10 @@
      *                           only applicable if virtual displays are used
      */
     public VirtualDisplayTaskEmbedder(Context context, VirtualDisplayTaskEmbedder.Host host,
-            boolean singleTaskInstance) {
+            boolean singleTaskInstance, boolean usePublicVirtualDisplay) {
         super(context, host);
         mSingleTaskInstance = singleTaskInstance;
+        mUsePublicVirtualDisplay = usePublicVirtualDisplay;
     }
 
     /**
@@ -97,11 +99,16 @@
     public boolean onInitialize() {
         final DisplayManager displayManager = mContext.getSystemService(DisplayManager.class);
         mDisplayDensityDpi = getBaseDisplayDensity();
+
+        int virtualDisplayFlags = VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
+                | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL;
+        if (mUsePublicVirtualDisplay) {
+            virtualDisplayFlags |= VIRTUAL_DISPLAY_FLAG_PUBLIC;
+        }
+
         mVirtualDisplay = displayManager.createVirtualDisplay(
                 DISPLAY_NAME + "@" + System.identityHashCode(this), mHost.getWidth(),
-                mHost.getHeight(), mDisplayDensityDpi, null,
-                VIRTUAL_DISPLAY_FLAG_PUBLIC | VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
-                        | VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL);
+                mHost.getHeight(), mDisplayDensityDpi, null, virtualDisplayFlags);
 
         if (mVirtualDisplay == null) {
             Log.e(TAG, "Failed to initialize TaskEmbedder");
diff --git a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
index d64b5f1..be66d0c 100644
--- a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
+++ b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
@@ -232,9 +232,8 @@
     }
 
     /**
-     * Show toast if current assigned shortcut target is an accessibility service and its target
-     * sdk version is less than or equal to Q, or greater than Q and does not request
-     * accessibility button.
+     * Show toast to alert the user that the accessibility shortcut turned on or off an
+     * accessibility service.
      */
     private void showToast() {
         final AccessibilityServiceInfo serviceInfo = getInfoForTargetService();
@@ -247,12 +246,15 @@
         }
         final boolean requestA11yButton = (serviceInfo.flags
                 & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
-        if (serviceInfo.getResolveInfo().serviceInfo.applicationInfo
-                .targetSdkVersion > Build.VERSION_CODES.Q && requestA11yButton) {
+        final boolean isServiceEnabled = isServiceEnabled(serviceInfo);
+        if (serviceInfo.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion
+                > Build.VERSION_CODES.Q && requestA11yButton && isServiceEnabled) {
+            // An accessibility button callback is sent to the target accessibility service.
+            // No need to show up a toast in this case.
             return;
         }
         // For accessibility services, show a toast explaining what we're doing.
-        String toastMessageFormatString = mContext.getString(isServiceEnabled(serviceInfo)
+        String toastMessageFormatString = mContext.getString(isServiceEnabled
                 ? R.string.accessibility_shortcut_disabling_service
                 : R.string.accessibility_shortcut_enabling_service);
         String toastMessage = String.format(toastMessageFormatString, serviceName);
diff --git a/core/java/com/android/internal/accessibility/common/ShortcutConstants.java b/core/java/com/android/internal/accessibility/common/ShortcutConstants.java
index b814e3f..7c9c51c 100644
--- a/core/java/com/android/internal/accessibility/common/ShortcutConstants.java
+++ b/core/java/com/android/internal/accessibility/common/ShortcutConstants.java
@@ -79,21 +79,6 @@
     }
 
     /**
-     * Annotation for different shortcut target.
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({
-            TargetType.ACCESSIBILITY_SERVICE,
-            TargetType.ACCESSIBILITY_ACTIVITY,
-            TargetType.WHITE_LISTING,
-    })
-    public @interface TargetType {
-        int ACCESSIBILITY_SERVICE = 0;
-        int ACCESSIBILITY_ACTIVITY = 1;
-        int WHITE_LISTING = 2;
-    }
-
-    /**
      * Annotation for different shortcut menu mode.
      *
      * {@code LAUNCH} for clicking list item to trigger the service callback.
@@ -108,30 +93,4 @@
         int LAUNCH = 0;
         int EDIT = 1;
     }
-
-    /**
-     * Annotation for align the element index of white listing feature
-     * {@code WHITE_LISTING_FEATURES}.
-     *
-     * {@code COMPONENT_ID} is to get the service component name.
-     * {@code LABEL_ID} is to get the service label text.
-     * {@code ICON_ID} is to get the service icon.
-     * {@code FRAGMENT_TYPE} is to get the service fragment type.
-     * {@code SETTINGS_KEY} is to get the service settings key.
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({
-            WhiteListingFeatureElementIndex.COMPONENT_ID,
-            WhiteListingFeatureElementIndex.LABEL_ID,
-            WhiteListingFeatureElementIndex.ICON_ID,
-            WhiteListingFeatureElementIndex.FRAGMENT_TYPE,
-            WhiteListingFeatureElementIndex.SETTINGS_KEY,
-    })
-    public @interface WhiteListingFeatureElementIndex {
-        int COMPONENT_ID = 0;
-        int LABEL_ID = 1;
-        int ICON_ID = 2;
-        int FRAGMENT_TYPE = 3;
-        int SETTINGS_KEY = 4;
-    }
 }
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityActivityTarget.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityActivityTarget.java
new file mode 100644
index 0000000..4c7d93b
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityActivityTarget.java
@@ -0,0 +1,47 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static com.android.internal.accessibility.util.ShortcutUtils.convertToKey;
+import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType;
+import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained;
+
+import android.accessibilityservice.AccessibilityShortcutInfo;
+import android.annotation.NonNull;
+import android.content.Context;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+/**
+ * Base class for creating accessibility activity target.
+ */
+class AccessibilityActivityTarget extends AccessibilityTarget {
+
+    AccessibilityActivityTarget(Context context, @ShortcutType int shortcutType,
+            @NonNull AccessibilityShortcutInfo shortcutInfo) {
+        super(context,
+                shortcutType,
+                AccessibilityFragmentType.LAUNCH_ACTIVITY,
+                isShortcutContained(context, shortcutType,
+                        shortcutInfo.getComponentName().flattenToString()),
+                shortcutInfo.getComponentName().flattenToString(),
+                shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager()),
+                shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager()),
+                convertToKey(convertToUserType(shortcutType)));
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityServiceTarget.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityServiceTarget.java
new file mode 100644
index 0000000..e64f78a
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityServiceTarget.java
@@ -0,0 +1,49 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static com.android.internal.accessibility.util.ShortcutUtils.convertToKey;
+import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType;
+import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.annotation.NonNull;
+import android.content.Context;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+/**
+ * Base class for creating accessibility service target with various fragment types related to
+ * legacy type, invisible type and intuitive type.
+ */
+class AccessibilityServiceTarget extends AccessibilityTarget {
+
+    AccessibilityServiceTarget(Context context, @ShortcutType int shortcutType,
+            @AccessibilityFragmentType int fragmentType,
+            @NonNull AccessibilityServiceInfo serviceInfo) {
+        super(context,
+                shortcutType,
+                fragmentType,
+                isShortcutContained(context, shortcutType,
+                        serviceInfo.getComponentName().flattenToString()),
+                serviceInfo.getComponentName().flattenToString(),
+                serviceInfo.getResolveInfo().loadLabel(context.getPackageManager()),
+                serviceInfo.getResolveInfo().loadIcon(context.getPackageManager()),
+                convertToKey(convertToUserType(shortcutType)));
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java
new file mode 100644
index 0000000..e8d2813
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java
@@ -0,0 +1,165 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY;
+import static android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import static com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
+import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.createEnableDialogContentView;
+import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getInstalledTargets;
+import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getTargets;
+import static com.android.internal.util.Preconditions.checkArgument;
+
+import android.annotation.Nullable;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.res.TypedArray;
+import android.os.Bundle;
+import android.view.View;
+import android.view.Window;
+import android.view.accessibility.AccessibilityManager;
+import android.widget.AdapterView;
+
+import com.android.internal.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Activity used to display various targets related to accessibility service, accessibility
+ * activity or white listing feature for volume key shortcut.
+ */
+public class AccessibilityShortcutChooserActivity extends Activity {
+    @ShortcutType
+    private int mShortcutType;
+    private final List<AccessibilityTarget> mTargets = new ArrayList<>();
+    private AlertDialog mMenuDialog;
+    private AlertDialog mPermissionDialog;
+    private ShortcutTargetAdapter mTargetAdapter;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        final TypedArray theme = getTheme().obtainStyledAttributes(android.R.styleable.Theme);
+        if (!theme.getBoolean(android.R.styleable.Theme_windowNoTitle, /* defValue= */ false)) {
+            requestWindowFeature(Window.FEATURE_NO_TITLE);
+        }
+
+        mShortcutType = getIntent().getIntExtra(AccessibilityManager.EXTRA_SHORTCUT_TYPE,
+                /* unexpectedShortcutType */ -1);
+        final boolean existInShortcutType = (mShortcutType == ACCESSIBILITY_BUTTON)
+                || (mShortcutType == ACCESSIBILITY_SHORTCUT_KEY);
+        checkArgument(existInShortcutType, "Unexpected shortcut type: " + mShortcutType);
+
+        mTargets.addAll(getTargets(this, mShortcutType));
+
+        final String selectDialogTitle =
+                getString(R.string.accessibility_select_shortcut_menu_title);
+        mTargetAdapter = new ShortcutTargetAdapter(mTargets);
+        mMenuDialog = new AlertDialog.Builder(this)
+                .setTitle(selectDialogTitle)
+                .setAdapter(mTargetAdapter, /* listener= */ null)
+                .setPositiveButton(
+                        getString(R.string.edit_accessibility_shortcut_menu_button),
+                        /* listener= */ null)
+                .setOnDismissListener(dialog -> finish())
+                .create();
+        mMenuDialog.setOnShowListener(dialog -> updateDialogListeners());
+        mMenuDialog.show();
+    }
+
+    @Override
+    protected void onDestroy() {
+        mMenuDialog.dismiss();
+        super.onDestroy();
+    }
+
+    private void onTargetSelected(AdapterView<?> parent, View view, int position, long id) {
+        final AccessibilityTarget target = mTargets.get(position);
+        target.onSelected();
+        mMenuDialog.dismiss();
+    }
+
+    private void onTargetChecked(AdapterView<?> parent, View view, int position, long id) {
+        final AccessibilityTarget target = mTargets.get(position);
+
+        if ((target instanceof AccessibilityServiceTarget) && !target.isShortcutEnabled()) {
+            mPermissionDialog = new AlertDialog.Builder(this)
+                    .setView(createEnableDialogContentView(this,
+                            (AccessibilityServiceTarget) target,
+                            v -> {
+                                mPermissionDialog.dismiss();
+                                mTargetAdapter.notifyDataSetChanged();
+                            },
+                            v -> mPermissionDialog.dismiss()))
+                    .create();
+            mPermissionDialog.show();
+            return;
+        }
+
+        target.onCheckedChanged(!target.isShortcutEnabled());
+        mTargetAdapter.notifyDataSetChanged();
+    }
+
+    private void onDoneButtonClicked() {
+        mTargets.clear();
+        mTargets.addAll(getTargets(this, mShortcutType));
+        if (mTargets.isEmpty()) {
+            mMenuDialog.dismiss();
+            return;
+        }
+
+        mTargetAdapter.setShortcutMenuMode(ShortcutMenuMode.LAUNCH);
+        mTargetAdapter.notifyDataSetChanged();
+
+        mMenuDialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(
+                getString(R.string.edit_accessibility_shortcut_menu_button));
+
+        updateDialogListeners();
+    }
+
+    private void onEditButtonClicked() {
+        mTargets.clear();
+        mTargets.addAll(getInstalledTargets(this, mShortcutType));
+        mTargetAdapter.setShortcutMenuMode(ShortcutMenuMode.EDIT);
+        mTargetAdapter.notifyDataSetChanged();
+
+        mMenuDialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(
+                getString(R.string.done_accessibility_shortcut_menu_button));
+
+        updateDialogListeners();
+    }
+
+    private void updateDialogListeners() {
+        final boolean isEditMenuMode =
+                (mTargetAdapter.getShortcutMenuMode() == ShortcutMenuMode.EDIT);
+        final int selectDialogTitleId = R.string.accessibility_select_shortcut_menu_title;
+        final int editDialogTitleId =
+                (mShortcutType == ACCESSIBILITY_BUTTON)
+                        ? R.string.accessibility_edit_shortcut_menu_button_title
+                        : R.string.accessibility_edit_shortcut_menu_volume_title;
+
+        mMenuDialog.setTitle(getString(isEditMenuMode ? editDialogTitleId : selectDialogTitleId));
+        mMenuDialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(
+                isEditMenuMode ? view -> onDoneButtonClicked() : view -> onEditButtonClicked());
+        mMenuDialog.getListView().setOnItemClickListener(
+                isEditMenuMode ? this::onTargetChecked : this::onTargetSelected);
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityTarget.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityTarget.java
new file mode 100644
index 0000000..72ebc58
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityTarget.java
@@ -0,0 +1,141 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY;
+
+import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType;
+import static com.android.internal.accessibility.util.ShortcutUtils.optInValueToSettings;
+import static com.android.internal.accessibility.util.ShortcutUtils.optOutValueFromSettings;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+import com.android.internal.accessibility.dialog.TargetAdapter.ViewHolder;
+
+/**
+ * Abstract base class for creating various target related to accessibility service,
+ * accessibility activity, and white listing feature.
+ */
+abstract class AccessibilityTarget implements TargetOperations, OnTargetSelectedListener,
+        OnTargetCheckedChangeListener {
+    private Context mContext;
+    @ShortcutType
+    private int mShortcutType;
+    @AccessibilityFragmentType
+    private int mFragmentType;
+    private boolean mShortcutEnabled;
+    private String mId;
+    private CharSequence mLabel;
+    private Drawable mIcon;
+    private String mKey;
+
+    AccessibilityTarget(Context context, @ShortcutType int shortcutType,
+            @AccessibilityFragmentType int fragmentType, boolean isShortcutSwitched, String id,
+            CharSequence label, Drawable icon, String key) {
+        mContext = context;
+        mShortcutType = shortcutType;
+        mFragmentType = fragmentType;
+        mShortcutEnabled = isShortcutSwitched;
+        mId = id;
+        mLabel = label;
+        mIcon = icon;
+        mKey = key;
+    }
+
+    @Override
+    public void updateActionItem(@NonNull ViewHolder holder,
+            @ShortcutConstants.ShortcutMenuMode int shortcutMenuMode) {
+        final boolean isEditMenuMode =
+                shortcutMenuMode == ShortcutConstants.ShortcutMenuMode.EDIT;
+
+        holder.mCheckBoxView.setChecked(isEditMenuMode && isShortcutEnabled());
+        holder.mCheckBoxView.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
+        holder.mIconView.setImageDrawable(getIcon());
+        holder.mLabelView.setText(getLabel());
+        holder.mSwitchItem.setVisibility(View.GONE);
+    }
+
+    @Override
+    public void onSelected() {
+        final AccessibilityManager am =
+                getContext().getSystemService(AccessibilityManager.class);
+        switch (getShortcutType()) {
+            case ACCESSIBILITY_BUTTON:
+                am.notifyAccessibilityButtonClicked(getContext().getDisplayId(), getId());
+                return;
+            case ACCESSIBILITY_SHORTCUT_KEY:
+                am.performAccessibilityShortcut(getId());
+                return;
+            default:
+                throw new IllegalStateException("Unexpected shortcut type");
+        }
+    }
+
+    @Override
+    public void onCheckedChanged(boolean isChecked) {
+        setShortcutEnabled(isChecked);
+        if (isChecked) {
+            optInValueToSettings(getContext(), convertToUserType(getShortcutType()), getId());
+        } else {
+            optOutValueFromSettings(getContext(), convertToUserType(getShortcutType()), getId());
+        }
+    }
+
+    public void setShortcutEnabled(boolean enabled) {
+        mShortcutEnabled = enabled;
+    }
+
+    public Context getContext() {
+        return mContext;
+    }
+
+    public @ShortcutType int getShortcutType() {
+        return mShortcutType;
+    }
+
+    public @AccessibilityFragmentType int getFragmentType() {
+        return mFragmentType;
+    }
+
+    public boolean isShortcutEnabled() {
+        return mShortcutEnabled;
+    }
+
+    public String getId() {
+        return mId;
+    }
+
+    public CharSequence getLabel() {
+        return mLabel;
+    }
+
+    public Drawable getIcon() {
+        return mIcon;
+    }
+
+    public String getKey() {
+        return mKey;
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java
new file mode 100644
index 0000000..f63cbe0
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java
@@ -0,0 +1,261 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+import static com.android.internal.accessibility.util.AccessibilityUtils.getAccessibilityServiceFragmentType;
+import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.accessibilityservice.AccessibilityShortcutInfo;
+import android.annotation.NonNull;
+import android.app.ActivityManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.os.Build;
+import android.os.storage.StorageManager;
+import android.provider.Settings;
+import android.text.BidiFormatter;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.internal.R;
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Collection of utilities for accessibility target.
+ */
+final class AccessibilityTargetHelper {
+    private AccessibilityTargetHelper() {}
+
+    static List<AccessibilityTarget> getTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final List<AccessibilityTarget> targets = getInstalledTargets(context, shortcutType);
+        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
+        final List<String> requiredTargets = ams.getAccessibilityShortcutTargets(shortcutType);
+        targets.removeIf(target -> !requiredTargets.contains(target.getId()));
+
+        return targets;
+    }
+
+    static List<AccessibilityTarget> getInstalledTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final List<AccessibilityTarget> targets = new ArrayList<>();
+        targets.addAll(getAccessibilityFilteredTargets(context, shortcutType));
+        targets.addAll(getWhiteListingFeatureTargets(context, shortcutType));
+
+        return targets;
+    }
+
+    private static List<AccessibilityTarget> getAccessibilityFilteredTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final List<AccessibilityTarget> serviceTargets =
+                getAccessibilityServiceTargets(context, shortcutType);
+        final List<AccessibilityTarget> activityTargets =
+                getAccessibilityActivityTargets(context, shortcutType);
+
+        for (AccessibilityTarget activityTarget : activityTargets) {
+            serviceTargets.removeIf(
+                    serviceTarget -> arePackageNameAndLabelTheSame(serviceTarget, activityTarget));
+        }
+
+        final List<AccessibilityTarget> targets = new ArrayList<>();
+        targets.addAll(serviceTargets);
+        targets.addAll(activityTargets);
+
+        return targets;
+    }
+
+    private static boolean arePackageNameAndLabelTheSame(@NonNull AccessibilityTarget serviceTarget,
+            @NonNull AccessibilityTarget activityTarget) {
+        final ComponentName serviceComponentName =
+                ComponentName.unflattenFromString(serviceTarget.getId());
+        final ComponentName activityComponentName =
+                ComponentName.unflattenFromString(activityTarget.getId());
+        final boolean isSamePackageName = activityComponentName.getPackageName().equals(
+                serviceComponentName.getPackageName());
+        final boolean isSameLabel = activityTarget.getLabel().equals(
+                serviceTarget.getLabel());
+
+        return isSamePackageName && isSameLabel;
+    }
+
+    private static List<AccessibilityTarget> getAccessibilityServiceTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
+        final List<AccessibilityServiceInfo> installedServices =
+                ams.getInstalledAccessibilityServiceList();
+        if (installedServices == null) {
+            return Collections.emptyList();
+        }
+
+        final List<AccessibilityTarget> targets = new ArrayList<>(installedServices.size());
+        for (AccessibilityServiceInfo info : installedServices) {
+            final int targetSdk =
+                    info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion;
+            final boolean hasRequestAccessibilityButtonFlag =
+                    (info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
+            if ((targetSdk <= Build.VERSION_CODES.Q) && !hasRequestAccessibilityButtonFlag
+                    && (shortcutType == ACCESSIBILITY_BUTTON)) {
+                continue;
+            }
+
+            targets.add(createAccessibilityServiceTarget(context, shortcutType, info));
+        }
+
+        return targets;
+    }
+
+    private static List<AccessibilityTarget> getAccessibilityActivityTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
+        final List<AccessibilityShortcutInfo> installedServices =
+                ams.getInstalledAccessibilityShortcutListAsUser(context,
+                        ActivityManager.getCurrentUser());
+        if (installedServices == null) {
+            return Collections.emptyList();
+        }
+
+        final List<AccessibilityTarget> targets = new ArrayList<>(installedServices.size());
+        for (AccessibilityShortcutInfo info : installedServices) {
+            targets.add(new AccessibilityActivityTarget(context, shortcutType, info));
+        }
+
+        return targets;
+    }
+
+    private static List<AccessibilityTarget> getWhiteListingFeatureTargets(Context context,
+            @ShortcutType int shortcutType) {
+        final List<AccessibilityTarget> targets = new ArrayList<>();
+
+        final InvisibleToggleWhiteListingFeatureTarget magnification =
+                new InvisibleToggleWhiteListingFeatureTarget(context,
+                shortcutType,
+                isShortcutContained(context, shortcutType, MAGNIFICATION_CONTROLLER_NAME),
+                MAGNIFICATION_CONTROLLER_NAME,
+                context.getString(R.string.accessibility_magnification_chooser_text),
+                context.getDrawable(R.drawable.ic_accessibility_magnification),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED);
+
+        final ToggleWhiteListingFeatureTarget daltonizer =
+                new ToggleWhiteListingFeatureTarget(context,
+                shortcutType,
+                isShortcutContained(context, shortcutType,
+                        DALTONIZER_COMPONENT_NAME.flattenToString()),
+                DALTONIZER_COMPONENT_NAME.flattenToString(),
+                context.getString(R.string.color_correction_feature_name),
+                context.getDrawable(R.drawable.ic_accessibility_color_correction),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED);
+
+        final ToggleWhiteListingFeatureTarget colorInversion =
+                new ToggleWhiteListingFeatureTarget(context,
+                shortcutType,
+                isShortcutContained(context, shortcutType,
+                        COLOR_INVERSION_COMPONENT_NAME.flattenToString()),
+                COLOR_INVERSION_COMPONENT_NAME.flattenToString(),
+                context.getString(R.string.color_inversion_feature_name),
+                context.getDrawable(R.drawable.ic_accessibility_color_inversion),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED);
+
+        targets.add(magnification);
+        targets.add(daltonizer);
+        targets.add(colorInversion);
+
+        return targets;
+    }
+
+    private static AccessibilityTarget createAccessibilityServiceTarget(Context context,
+            @ShortcutType int shortcutType, @NonNull AccessibilityServiceInfo info) {
+        switch (getAccessibilityServiceFragmentType(info)) {
+            case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
+                return new VolumeShortcutToggleAccessibilityServiceTarget(context, shortcutType,
+                        info);
+            case AccessibilityFragmentType.INVISIBLE_TOGGLE:
+                return new InvisibleToggleAccessibilityServiceTarget(context, shortcutType, info);
+            case AccessibilityFragmentType.TOGGLE:
+                return new ToggleAccessibilityServiceTarget(context, shortcutType, info);
+            default:
+                throw new IllegalStateException("Unexpected fragment type");
+        }
+    }
+
+    static View createEnableDialogContentView(Context context,
+            AccessibilityServiceTarget target, View.OnClickListener allowListener,
+            View.OnClickListener denyListener) {
+        final LayoutInflater inflater = (LayoutInflater) context.getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+
+        final View content = inflater.inflate(
+                R.layout.accessibility_enable_service_encryption_warning, /* root= */ null);
+
+        final TextView encryptionWarningView = (TextView) content.findViewById(
+                R.id.accessibility_encryption_warning);
+        if (StorageManager.isNonDefaultBlockEncrypted()) {
+            final String text = context.getString(
+                    R.string.accessibility_enable_service_encryption_warning,
+                    getServiceName(context, target.getLabel()));
+            encryptionWarningView.setText(text);
+            encryptionWarningView.setVisibility(View.VISIBLE);
+        } else {
+            encryptionWarningView.setVisibility(View.GONE);
+        }
+
+        final ImageView dialogIcon = content.findViewById(
+                R.id.accessibility_permissionDialog_icon);
+        dialogIcon.setImageDrawable(target.getIcon());
+
+        final TextView dialogTitle = content.findViewById(
+                R.id.accessibility_permissionDialog_title);
+        dialogTitle.setText(context.getString(R.string.accessibility_enable_service_title,
+                getServiceName(context, target.getLabel())));
+
+        final Button allowButton = content.findViewById(
+                R.id.accessibility_permission_enable_allow_button);
+        final Button denyButton = content.findViewById(
+                R.id.accessibility_permission_enable_deny_button);
+        allowButton.setOnClickListener((view) -> {
+            target.onCheckedChanged(/* isChecked= */ true);
+            allowListener.onClick(view);
+        });
+        denyButton.setOnClickListener((view) -> {
+            target.onCheckedChanged(/* isChecked= */ false);
+            denyListener.onClick(view);
+        });
+
+        return content;
+    }
+
+    // Gets the service name and bidi wrap it to protect from bidi side effects.
+    private static CharSequence getServiceName(Context context, CharSequence label) {
+        final Locale locale = context.getResources().getConfiguration().getLocales().get(0);
+        return BidiFormatter.getInstance(locale).unicodeWrap(label);
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/InvisibleToggleAccessibilityServiceTarget.java b/core/java/com/android/internal/accessibility/dialog/InvisibleToggleAccessibilityServiceTarget.java
new file mode 100644
index 0000000..9d5c374
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/InvisibleToggleAccessibilityServiceTarget.java
@@ -0,0 +1,71 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY;
+
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
+import static com.android.internal.accessibility.util.AccessibilityUtils.setAccessibilityServiceState;
+import static com.android.internal.accessibility.util.ShortcutUtils.isComponentIdExistingInSettings;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.annotation.NonNull;
+import android.content.ComponentName;
+import android.content.Context;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+/**
+ * Extension for {@link AccessibilityServiceTarget} with
+ * {@link AccessibilityFragmentType#INVISIBLE_TOGGLE} type.
+ */
+class InvisibleToggleAccessibilityServiceTarget extends AccessibilityServiceTarget {
+
+    InvisibleToggleAccessibilityServiceTarget(Context context, @ShortcutType int shortcutType,
+            @NonNull AccessibilityServiceInfo serviceInfo) {
+        super(context,
+                shortcutType,
+                AccessibilityFragmentType.INVISIBLE_TOGGLE,
+                serviceInfo);
+    }
+
+    @Override
+    public void onCheckedChanged(boolean isChecked) {
+        final ComponentName componentName = ComponentName.unflattenFromString(getId());
+
+        if (!isComponentIdExistingInOtherShortcut()) {
+            setAccessibilityServiceState(getContext(), componentName, isChecked);
+        }
+
+        super.onCheckedChanged(isChecked);
+    }
+
+    private boolean isComponentIdExistingInOtherShortcut() {
+        switch (getShortcutType()) {
+            case ACCESSIBILITY_BUTTON:
+                return isComponentIdExistingInSettings(getContext(), UserShortcutType.HARDWARE,
+                        getId());
+            case ACCESSIBILITY_SHORTCUT_KEY:
+                return isComponentIdExistingInSettings(getContext(), UserShortcutType.SOFTWARE,
+                        getId());
+            default:
+                throw new IllegalStateException("Unexpected shortcut type");
+        }
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/InvisibleToggleWhiteListingFeatureTarget.java b/core/java/com/android/internal/accessibility/dialog/InvisibleToggleWhiteListingFeatureTarget.java
new file mode 100644
index 0000000..acd101b
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/InvisibleToggleWhiteListingFeatureTarget.java
@@ -0,0 +1,36 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+/**
+ * Extension for {@link AccessibilityTarget} with {@link AccessibilityFragmentType#INVISIBLE_TOGGLE}
+ * type.
+ */
+class InvisibleToggleWhiteListingFeatureTarget extends AccessibilityTarget {
+
+    InvisibleToggleWhiteListingFeatureTarget(Context context, @ShortcutType int shortcutType,
+            boolean isShortcutSwitched, String id, CharSequence label, Drawable icon, String key) {
+        super(context, shortcutType, AccessibilityFragmentType.INVISIBLE_TOGGLE,
+                isShortcutSwitched, id, label, icon, key);
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/OnTargetCheckedChangeListener.java b/core/java/com/android/internal/accessibility/dialog/OnTargetCheckedChangeListener.java
new file mode 100644
index 0000000..dab45e4
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/OnTargetCheckedChangeListener.java
@@ -0,0 +1,30 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+/**
+ * Interface definition for a callback to be invoked when the checked state
+ * of a accessibility target changed.
+ */
+interface OnTargetCheckedChangeListener {
+    /**
+     * Called when the checked state of a accessibility target has changed.
+     *
+     * @param isChecked The new checked state of accessibility target.
+     */
+    void onCheckedChanged(boolean isChecked);
+}
diff --git a/core/java/android/view/inline/InlinePresentationSpec.aidl b/core/java/com/android/internal/accessibility/dialog/OnTargetSelectedListener.java
similarity index 62%
copy from core/java/android/view/inline/InlinePresentationSpec.aidl
copy to core/java/com/android/internal/accessibility/dialog/OnTargetSelectedListener.java
index 680ee4e..b3e976f2 100644
--- a/core/java/android/view/inline/InlinePresentationSpec.aidl
+++ b/core/java/com/android/internal/accessibility/dialog/OnTargetSelectedListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -14,10 +14,14 @@
  * limitations under the License.
  */
 
-package android.view.inline;
+package com.android.internal.accessibility.dialog;
 
 /**
- * @hide
- * @removed
+ * Interface definition for a callback to be invoked when a accessibility target is selected.
  */
-parcelable InlinePresentationSpec;
+interface OnTargetSelectedListener {
+    /**
+     * Called when a accessibility target has been selected.
+     */
+    void onSelected();
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/ShortcutTargetAdapter.java b/core/java/com/android/internal/accessibility/dialog/ShortcutTargetAdapter.java
new file mode 100644
index 0000000..b7605b7
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/ShortcutTargetAdapter.java
@@ -0,0 +1,92 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.internal.R;
+import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
+
+import java.util.List;
+
+/**
+ * Extension for {@link TargetAdapter} and used for AccessibilityShortcutChooserActivity.
+ */
+class ShortcutTargetAdapter extends TargetAdapter {
+    @ShortcutMenuMode
+    private int mShortcutMenuMode = ShortcutMenuMode.LAUNCH;
+    private final List<AccessibilityTarget> mTargets;
+
+    ShortcutTargetAdapter(@NonNull List<AccessibilityTarget> targets) {
+        mTargets = targets;
+    }
+
+    @Override
+    public int getCount() {
+        return mTargets.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mTargets.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        final Context context = parent.getContext();
+        ViewHolder holder;
+        if (convertView == null) {
+            convertView = LayoutInflater.from(context).inflate(
+                    R.layout.accessibility_shortcut_chooser_item, parent, /* attachToRoot= */
+                    false);
+            holder = new ViewHolder();
+            holder.mCheckBoxView = convertView.findViewById(
+                    R.id.accessibility_shortcut_target_checkbox);
+            holder.mIconView = convertView.findViewById(R.id.accessibility_shortcut_target_icon);
+            holder.mLabelView = convertView.findViewById(
+                    R.id.accessibility_shortcut_target_label);
+            holder.mSwitchItem = convertView.findViewById(
+                    R.id.accessibility_shortcut_target_switch_item);
+            convertView.setTag(holder);
+        } else {
+            holder = (ViewHolder) convertView.getTag();
+        }
+
+        final AccessibilityTarget target = mTargets.get(position);
+        target.updateActionItem(holder, mShortcutMenuMode);
+
+        return convertView;
+    }
+
+    void setShortcutMenuMode(@ShortcutMenuMode int shortcutMenuMode) {
+        mShortcutMenuMode = shortcutMenuMode;
+    }
+
+    @ShortcutMenuMode
+    int getShortcutMenuMode() {
+        return mShortcutMenuMode;
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/TargetAdapter.java b/core/java/com/android/internal/accessibility/dialog/TargetAdapter.java
new file mode 100644
index 0000000..1efa17e
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/TargetAdapter.java
@@ -0,0 +1,35 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.Switch;
+import android.widget.TextView;
+
+/**
+ * Abstract base class for creating target adapter for chooser activity.
+ */
+abstract class TargetAdapter extends BaseAdapter {
+    static class ViewHolder{
+        CheckBox mCheckBoxView;
+        ImageView mIconView;
+        TextView mLabelView;
+        Switch mSwitchItem;
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/TargetOperations.java b/core/java/com/android/internal/accessibility/dialog/TargetOperations.java
new file mode 100644
index 0000000..77cc5b4
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/TargetOperations.java
@@ -0,0 +1,33 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import android.annotation.NonNull;
+
+import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
+import com.android.internal.accessibility.dialog.TargetAdapter.ViewHolder;
+
+/**
+ * Interface definition for operations with a accessibility target that was invoked.
+ */
+interface TargetOperations {
+    /**
+     * Called when a accessibility target has been invoked and notified to update latest status.
+     */
+    void updateActionItem(@NonNull ViewHolder holder,
+            @ShortcutMenuMode int shortcutMenuMode);
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/ToggleAccessibilityServiceTarget.java b/core/java/com/android/internal/accessibility/dialog/ToggleAccessibilityServiceTarget.java
new file mode 100644
index 0000000..3a42f7e
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/ToggleAccessibilityServiceTarget.java
@@ -0,0 +1,55 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static com.android.internal.accessibility.util.AccessibilityUtils.isAccessibilityServiceEnabled;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.annotation.NonNull;
+import android.content.Context;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
+import com.android.internal.accessibility.dialog.TargetAdapter.ViewHolder;
+
+/**
+ * Extension for {@link AccessibilityServiceTarget} with {@link AccessibilityFragmentType#TOGGLE}
+ * type.
+ */
+class ToggleAccessibilityServiceTarget extends AccessibilityServiceTarget {
+
+    ToggleAccessibilityServiceTarget(Context context, @ShortcutType int shortcutType,
+            @NonNull AccessibilityServiceInfo serviceInfo) {
+        super(context,
+                shortcutType,
+                AccessibilityFragmentType.TOGGLE,
+                serviceInfo);
+    }
+
+    @Override
+    public void updateActionItem(@NonNull ViewHolder holder,
+            @ShortcutMenuMode int shortcutMenuMode) {
+        super.updateActionItem(holder, shortcutMenuMode);
+
+        final boolean isEditMenuMode =
+                shortcutMenuMode == ShortcutMenuMode.EDIT;
+        holder.mSwitchItem.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
+        holder.mSwitchItem.setChecked(isAccessibilityServiceEnabled(getContext(), getId()));
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/ToggleWhiteListingFeatureTarget.java b/core/java/com/android/internal/accessibility/dialog/ToggleWhiteListingFeatureTarget.java
new file mode 100644
index 0000000..fcbf5ec
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/ToggleWhiteListingFeatureTarget.java
@@ -0,0 +1,57 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.provider.Settings;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
+import com.android.internal.accessibility.dialog.TargetAdapter.ViewHolder;
+
+/**
+ * Extension for {@link AccessibilityTarget} with {@link AccessibilityFragmentType#TOGGLE}
+ * type.
+ */
+class ToggleWhiteListingFeatureTarget extends AccessibilityTarget {
+
+    ToggleWhiteListingFeatureTarget(Context context, @ShortcutType int shortcutType,
+            boolean isShortcutSwitched, String id, CharSequence label, Drawable icon, String key) {
+        super(context, shortcutType, AccessibilityFragmentType.TOGGLE,
+                isShortcutSwitched, id, label, icon, key);
+    }
+
+    @Override
+    public void updateActionItem(@NonNull ViewHolder holder,
+            @ShortcutMenuMode int shortcutMenuMode) {
+        super.updateActionItem(holder, shortcutMenuMode);
+
+        final boolean isEditMenuMode =
+                shortcutMenuMode == ShortcutMenuMode.EDIT;
+        holder.mSwitchItem.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
+        holder.mSwitchItem.setChecked(isFeatureEnabled());
+    }
+
+    private boolean isFeatureEnabled() {
+        return Settings.Secure.getInt(getContext().getContentResolver(),
+                getKey(), /* settingsValueOff */ 0) == /* settingsValueOn */ 1;
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/dialog/VolumeShortcutToggleAccessibilityServiceTarget.java b/core/java/com/android/internal/accessibility/dialog/VolumeShortcutToggleAccessibilityServiceTarget.java
new file mode 100644
index 0000000..04f5061
--- /dev/null
+++ b/core/java/com/android/internal/accessibility/dialog/VolumeShortcutToggleAccessibilityServiceTarget.java
@@ -0,0 +1,78 @@
+/*
+ * 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.internal.accessibility.dialog;
+
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
+import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY;
+
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
+import static com.android.internal.accessibility.util.AccessibilityUtils.setAccessibilityServiceState;
+import static com.android.internal.accessibility.util.ShortcutUtils.optOutValueFromSettings;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.annotation.NonNull;
+import android.content.ComponentName;
+import android.content.Context;
+import android.view.accessibility.AccessibilityManager.ShortcutType;
+import android.widget.Toast;
+
+import com.android.internal.R;
+import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
+
+/**
+ * Extension for {@link AccessibilityServiceTarget} with
+ * {@link AccessibilityFragmentType#VOLUME_SHORTCUT_TOGGLE} type.
+ */
+class VolumeShortcutToggleAccessibilityServiceTarget extends AccessibilityServiceTarget {
+
+    VolumeShortcutToggleAccessibilityServiceTarget(Context context, @ShortcutType int shortcutType,
+            @NonNull AccessibilityServiceInfo serviceInfo) {
+        super(context,
+                shortcutType,
+                AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE,
+                serviceInfo);
+    }
+
+    @Override
+    public void onCheckedChanged(boolean isChecked) {
+        switch (getShortcutType()) {
+            case ACCESSIBILITY_BUTTON:
+                onCheckedFromAccessibilityButton(isChecked);
+                return;
+            case ACCESSIBILITY_SHORTCUT_KEY:
+                super.onCheckedChanged(isChecked);
+                return;
+            default:
+                throw new IllegalStateException("Unexpected shortcut type");
+        }
+    }
+
+    private void onCheckedFromAccessibilityButton(boolean isChecked) {
+        setShortcutEnabled(isChecked);
+        final ComponentName componentName = ComponentName.unflattenFromString(getId());
+        setAccessibilityServiceState(getContext(), componentName, isChecked);
+
+        if (!isChecked) {
+            optOutValueFromSettings(getContext(), UserShortcutType.HARDWARE, getId());
+
+            final String warningText =
+                    getContext().getString(R.string.accessibility_uncheck_legacy_item_warning,
+                            getLabel());
+            Toast.makeText(getContext(), warningText, Toast.LENGTH_SHORT).show();
+        }
+    }
+}
diff --git a/core/java/com/android/internal/accessibility/util/AccessibilityUtils.java b/core/java/com/android/internal/accessibility/util/AccessibilityUtils.java
index bcbd6ab..e50b010 100644
--- a/core/java/com/android/internal/accessibility/util/AccessibilityUtils.java
+++ b/core/java/com/android/internal/accessibility/util/AccessibilityUtils.java
@@ -15,10 +15,12 @@
  */
 
 package com.android.internal.accessibility.util;
+
 import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
 import static com.android.internal.accessibility.common.ShortcutConstants.SERVICES_SEPARATOR;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
+import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.Build;
@@ -26,9 +28,11 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.ArraySet;
+import android.view.accessibility.AccessibilityManager;
 
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -115,7 +119,7 @@
      * @return int from {@link AccessibilityFragmentType}.
      */
     public static @AccessibilityFragmentType int getAccessibilityServiceFragmentType(
-            AccessibilityServiceInfo accessibilityServiceInfo) {
+            @NonNull AccessibilityServiceInfo accessibilityServiceInfo) {
         final int targetSdk = accessibilityServiceInfo.getResolveInfo()
                 .serviceInfo.applicationInfo.targetSdkVersion;
         final boolean requestA11yButton = (accessibilityServiceInfo.flags
@@ -128,4 +132,27 @@
                 ? AccessibilityFragmentType.INVISIBLE_TOGGLE
                 : AccessibilityFragmentType.TOGGLE;
     }
+
+    /**
+     * Returns if a {@code componentId} service is enabled.
+     *
+     * @param context The current context.
+     * @param componentId The component id that need to be checked.
+     * @return {@code true} if a {@code componentId} service is enabled.
+     */
+    public static boolean isAccessibilityServiceEnabled(Context context,
+            @NonNull String componentId) {
+        final AccessibilityManager am = context.getSystemService(AccessibilityManager.class);
+        final List<AccessibilityServiceInfo> enabledServices =
+                am.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
+
+        for (AccessibilityServiceInfo info : enabledServices) {
+            final String id = info.getComponentName().flattenToString();
+            if (id.equals(componentId)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
 }
diff --git a/core/java/com/android/internal/accessibility/util/ShortcutUtils.java b/core/java/com/android/internal/accessibility/util/ShortcutUtils.java
index 717e780..c338a29 100644
--- a/core/java/com/android/internal/accessibility/util/ShortcutUtils.java
+++ b/core/java/com/android/internal/accessibility/util/ShortcutUtils.java
@@ -25,8 +25,10 @@
 import android.content.Context;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.AccessibilityManager.ShortcutType;
 
+import java.util.List;
 import java.util.StringJoiner;
 
 /**
@@ -39,21 +41,21 @@
             new TextUtils.SimpleStringSplitter(SERVICES_SEPARATOR);
 
     /**
-     * Opts in component name into colon-separated {@link UserShortcutType}
-     * key's string in Settings.
+     * Opts in component id into colon-separated {@link UserShortcutType}
+     * key's string from Settings.
      *
      * @param context The current context.
      * @param shortcutType The preferred shortcut type user selected.
-     * @param componentId The component id that need to be opted out from Settings.
+     * @param componentId The component id that need to be opted in Settings.
      */
     public static void optInValueToSettings(Context context, @UserShortcutType int shortcutType,
-            String componentId) {
+            @NonNull String componentId) {
         final StringJoiner joiner = new StringJoiner(String.valueOf(SERVICES_SEPARATOR));
         final String targetKey = convertToKey(shortcutType);
         final String targetString = Settings.Secure.getString(context.getContentResolver(),
                 targetKey);
 
-        if (hasValueInSettings(context, shortcutType, componentId)) {
+        if (isComponentIdExistingInSettings(context, shortcutType, componentId)) {
             return;
         }
 
@@ -66,14 +68,15 @@
     }
 
     /**
-     * Opts out component name into colon-separated {@code shortcutType} key's string in Settings.
+     * Opts out of component id into colon-separated {@link UserShortcutType} key's string from
+     * Settings.
      *
      * @param context The current context.
      * @param shortcutType The preferred shortcut type user selected.
-     * @param componentId The component id that need to be opted out from Settings.
+     * @param componentId The component id that need to be opted out of Settings.
      */
     public static void optOutValueFromSettings(
-            Context context, @UserShortcutType int shortcutType, String componentId) {
+            Context context, @UserShortcutType int shortcutType, @NonNull String componentId) {
         final StringJoiner joiner = new StringJoiner(String.valueOf(SERVICES_SEPARATOR));
         final String targetsKey = convertToKey(shortcutType);
         final String targetsValue = Settings.Secure.getString(context.getContentResolver(),
@@ -96,36 +99,15 @@
     }
 
     /**
-     * Returns if component name existed in one of {@code shortcutTypes} string in Settings.
-     *
-     * @param context The current context.
-     * @param shortcutTypes A combination of {@link UserShortcutType}.
-     * @param componentId The component name that need to be checked existed in Settings.
-     * @return {@code true} if componentName existed in Settings.
-     */
-    public static boolean hasValuesInSettings(Context context, int shortcutTypes,
-            @NonNull String componentId) {
-        boolean exist = false;
-        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
-            exist = hasValueInSettings(context, UserShortcutType.SOFTWARE, componentId);
-        }
-        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
-            exist |= hasValueInSettings(context, UserShortcutType.HARDWARE, componentId);
-        }
-        return exist;
-    }
-
-
-    /**
-     * Returns if component name existed in Settings.
+     * Returns if component id existed in Settings.
      *
      * @param context The current context.
      * @param shortcutType The preferred shortcut type user selected.
      * @param componentId The component id that need to be checked existed in Settings.
-     * @return {@code true} if componentName existed in Settings.
+     * @return {@code true} if component id existed in Settings.
      */
-    public static boolean hasValueInSettings(Context context, @UserShortcutType int shortcutType,
-            @NonNull String componentId) {
+    public static boolean isComponentIdExistingInSettings(Context context,
+            @UserShortcutType int shortcutType, @NonNull String componentId) {
         final String targetKey = convertToKey(shortcutType);
         final String targetString = Settings.Secure.getString(context.getContentResolver(),
                 targetKey);
@@ -146,7 +128,22 @@
     }
 
     /**
-     * Converts {@link UserShortcutType} to key in Settings.
+     * Returns if a {@code shortcutType} shortcut contains {@code componentId}.
+     *
+     * @param context The current context.
+     * @param shortcutType The preferred shortcut type user selected.
+     * @param componentId The component id that need to be checked.
+     * @return {@code true} if a component id is contained.
+     */
+    public static boolean isShortcutContained(Context context, @ShortcutType int shortcutType,
+            @NonNull String componentId) {
+        final AccessibilityManager am = context.getSystemService(AccessibilityManager.class);
+        final List<String> requiredTargets = am.getAccessibilityShortcutTargets(shortcutType);
+        return requiredTargets.contains(componentId);
+    }
+
+    /**
+     * Converts {@link UserShortcutType} to {@link Settings.Secure} key.
      *
      * @param type The shortcut type.
      * @return Mapping key in Settings.
@@ -169,7 +166,7 @@
      * Converts {@link ShortcutType} to {@link UserShortcutType}.
      *
      * @param type The shortcut type.
-     * @return {@link UserShortcutType}.
+     * @return Mapping type from {@link UserShortcutType}.
      */
     public static @UserShortcutType int convertToUserType(@ShortcutType int type) {
         switch (type) {
diff --git a/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java b/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
index d43333e..b1e356d 100644
--- a/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
+++ b/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
@@ -300,30 +300,26 @@
     }
 
     private boolean rebuildTab(ResolverListAdapter activeListAdapter, boolean doPostProcessing) {
-        UserHandle listUserHandle = activeListAdapter.getUserHandle();
-
-        if (UserHandle.myUserId() != listUserHandle.getIdentifier()) {
-            if (!mInjector.hasCrossProfileIntents(activeListAdapter.getIntents(),
-                    UserHandle.myUserId(), listUserHandle.getIdentifier())) {
-                if (listUserHandle.equals(mPersonalProfileUserHandle)) {
-                    DevicePolicyEventLogger.createEvent(
-                                DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_SHARING_TO_PERSONAL)
-                            .setStrings(getMetricsCategory())
-                            .write();
-                    showNoWorkToPersonalIntentsEmptyState(activeListAdapter);
-                } else {
-                    DevicePolicyEventLogger.createEvent(
-                            DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_SHARING_TO_WORK)
-                            .setStrings(getMetricsCategory())
-                            .write();
-                    showNoPersonalToWorkIntentsEmptyState(activeListAdapter);
-                }
-                return false;
-            }
+        if (shouldShowNoCrossProfileIntentsEmptyState(activeListAdapter)) {
+            activeListAdapter.postListReadyRunnable(doPostProcessing);
+            return false;
         }
         return activeListAdapter.rebuildList(doPostProcessing);
     }
 
+    private boolean shouldShowNoCrossProfileIntentsEmptyState(
+            ResolverListAdapter activeListAdapter) {
+        UserHandle listUserHandle = activeListAdapter.getUserHandle();
+        return UserHandle.myUserId() != listUserHandle.getIdentifier()
+                && allowShowNoCrossProfileIntentsEmptyState()
+                && !mInjector.hasCrossProfileIntents(activeListAdapter.getIntents(),
+                        UserHandle.myUserId(), listUserHandle.getIdentifier());
+    }
+
+    boolean allowShowNoCrossProfileIntentsEmptyState() {
+        return true;
+    }
+
     protected abstract void showWorkProfileOffEmptyState(
             ResolverListAdapter activeListAdapter, View.OnClickListener listener);
 
@@ -353,12 +349,35 @@
      * anyway.
      */
     void showEmptyResolverListEmptyState(ResolverListAdapter listAdapter) {
+        if (maybeShowNoCrossProfileIntentsEmptyState(listAdapter)) {
+            return;
+        }
         if (maybeShowWorkProfileOffEmptyState(listAdapter)) {
             return;
         }
         maybeShowNoAppsAvailableEmptyState(listAdapter);
     }
 
+    private boolean maybeShowNoCrossProfileIntentsEmptyState(ResolverListAdapter listAdapter) {
+        if (!shouldShowNoCrossProfileIntentsEmptyState(listAdapter)) {
+            return false;
+        }
+        if (listAdapter.getUserHandle().equals(mPersonalProfileUserHandle)) {
+            DevicePolicyEventLogger.createEvent(
+                    DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_SHARING_TO_PERSONAL)
+                    .setStrings(getMetricsCategory())
+                    .write();
+            showNoWorkToPersonalIntentsEmptyState(listAdapter);
+        } else {
+            DevicePolicyEventLogger.createEvent(
+                    DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_SHARING_TO_WORK)
+                    .setStrings(getMetricsCategory())
+                    .write();
+            showNoPersonalToWorkIntentsEmptyState(listAdapter);
+        }
+        return true;
+    }
+
     /**
      * Returns {@code true} if the work profile off empty state screen is shown.
      */
@@ -429,16 +448,16 @@
             subtitle.setVisibility(View.GONE);
         }
 
-        ImageView icon = emptyStateView.findViewById(R.id.resolver_empty_state_icon);
         Button button = emptyStateView.findViewById(R.id.resolver_empty_state_button);
+        button.setVisibility(buttonOnClick != null ? View.VISIBLE : View.GONE);
+        button.setOnClickListener(buttonOnClick);
+
+        ImageView icon = emptyStateView.findViewById(R.id.resolver_empty_state_icon);
         if (!getContext().getResources().getBoolean(R.bool.resolver_landscape_phone)) {
             icon.setVisibility(View.VISIBLE);
             icon.setImageResource(iconRes);
-            button.setVisibility(buttonOnClick != null ? View.VISIBLE : View.GONE);
-            button.setOnClickListener(buttonOnClick);
         } else {
             icon.setVisibility(View.GONE);
-            button.setVisibility(View.GONE);
         }
 
         activeListAdapter.markTabLoaded();
diff --git a/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java b/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java
deleted file mode 100644
index 4f98a63..0000000
--- a/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java
+++ /dev/null
@@ -1,800 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.internal.app;
-
-import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON;
-import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY;
-import static android.view.accessibility.AccessibilityManager.ShortcutType;
-
-import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
-import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
-import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
-import static com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
-import static com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode;
-import static com.android.internal.accessibility.common.ShortcutConstants.TargetType;
-import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
-import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
-import static com.android.internal.accessibility.common.ShortcutConstants.WhiteListingFeatureElementIndex.COMPONENT_ID;
-import static com.android.internal.accessibility.common.ShortcutConstants.WhiteListingFeatureElementIndex.FRAGMENT_TYPE;
-import static com.android.internal.accessibility.common.ShortcutConstants.WhiteListingFeatureElementIndex.ICON_ID;
-import static com.android.internal.accessibility.common.ShortcutConstants.WhiteListingFeatureElementIndex.LABEL_ID;
-import static com.android.internal.accessibility.common.ShortcutConstants.WhiteListingFeatureElementIndex.SETTINGS_KEY;
-import static com.android.internal.accessibility.util.AccessibilityUtils.getAccessibilityServiceFragmentType;
-import static com.android.internal.accessibility.util.AccessibilityUtils.setAccessibilityServiceState;
-import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType;
-import static com.android.internal.accessibility.util.ShortcutUtils.hasValuesInSettings;
-import static com.android.internal.accessibility.util.ShortcutUtils.optInValueToSettings;
-import static com.android.internal.accessibility.util.ShortcutUtils.optOutValueFromSettings;
-import static com.android.internal.util.Preconditions.checkArgument;
-
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.accessibilityservice.AccessibilityShortcutInfo;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.storage.StorageManager;
-import android.provider.Settings;
-import android.text.BidiFormatter;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.Switch;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.android.internal.R;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-
-/**
- * Activity used to display and persist a service or feature target for the Accessibility button.
- */
-public class AccessibilityButtonChooserActivity extends Activity {
-    @ShortcutType
-    private static int sShortcutType;
-    @UserShortcutType
-    private int mShortcutUserType;
-    private final List<AccessibilityButtonTarget> mTargets = new ArrayList<>();
-    private AlertDialog mAlertDialog;
-    private AlertDialog mEnableDialog;
-    private TargetAdapter mTargetAdapter;
-    private AccessibilityButtonTarget mCurrentCheckedTarget;
-
-    private static final String[][] WHITE_LISTING_FEATURES = {
-            {
-                    COLOR_INVERSION_COMPONENT_NAME.flattenToString(),
-                    String.valueOf(R.string.color_inversion_feature_name),
-                    String.valueOf(R.drawable.ic_accessibility_color_inversion),
-                    String.valueOf(AccessibilityFragmentType.TOGGLE),
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
-            },
-            {
-                    DALTONIZER_COMPONENT_NAME.flattenToString(),
-                    String.valueOf(R.string.color_correction_feature_name),
-                    String.valueOf(R.drawable.ic_accessibility_color_correction),
-                    String.valueOf(AccessibilityFragmentType.TOGGLE),
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
-            },
-            {
-                    MAGNIFICATION_CONTROLLER_NAME,
-                    String.valueOf(R.string.accessibility_magnification_chooser_text),
-                    String.valueOf(R.drawable.ic_accessibility_magnification),
-                    String.valueOf(AccessibilityFragmentType.INVISIBLE_TOGGLE),
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
-            },
-    };
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        final TypedArray theme = getTheme().obtainStyledAttributes(android.R.styleable.Theme);
-        if (!theme.getBoolean(android.R.styleable.Theme_windowNoTitle, /* defValue= */ false)) {
-            requestWindowFeature(Window.FEATURE_NO_TITLE);
-        }
-
-        sShortcutType = getIntent().getIntExtra(AccessibilityManager.EXTRA_SHORTCUT_TYPE,
-                /* unexpectedShortcutType */ -1);
-        final boolean existInShortcutType = (sShortcutType == ACCESSIBILITY_BUTTON)
-                || (sShortcutType == ACCESSIBILITY_SHORTCUT_KEY);
-        checkArgument(existInShortcutType, "Unexpected shortcut type: " + sShortcutType);
-
-        mShortcutUserType = convertToUserType(sShortcutType);
-
-        mTargets.addAll(getServiceTargets(this, sShortcutType));
-
-        final String selectDialogTitle =
-                getString(R.string.accessibility_select_shortcut_menu_title);
-        mTargetAdapter = new TargetAdapter(mTargets);
-        mAlertDialog = new AlertDialog.Builder(this)
-                .setTitle(selectDialogTitle)
-                .setAdapter(mTargetAdapter, /* listener= */ null)
-                .setPositiveButton(
-                        getString(R.string.edit_accessibility_shortcut_menu_button),
-                        /* listener= */ null)
-                .setOnDismissListener(dialog -> finish())
-                .create();
-        mAlertDialog.setOnShowListener(dialog -> updateDialogListeners());
-        mAlertDialog.show();
-    }
-
-    @Override
-    protected void onDestroy() {
-        mAlertDialog.dismiss();
-        super.onDestroy();
-    }
-
-    private static List<AccessibilityButtonTarget> getServiceTargets(@NonNull Context context,
-            @ShortcutType int shortcutType) {
-        final List<AccessibilityButtonTarget> targets = getInstalledServiceTargets(context);
-        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
-        final List<String> requiredTargets = ams.getAccessibilityShortcutTargets(shortcutType);
-        targets.removeIf(target -> !requiredTargets.contains(target.getId()));
-
-        return targets;
-    }
-
-    private static List<AccessibilityButtonTarget> getInstalledServiceTargets(
-            @NonNull Context context) {
-        final List<AccessibilityButtonTarget> targets = new ArrayList<>();
-        targets.addAll(getAccessibilityFilteredTargets(context));
-        targets.addAll(getWhiteListingServiceTargets(context));
-
-        return targets;
-    }
-
-    private static List<AccessibilityButtonTarget> getAccessibilityFilteredTargets(
-            @NonNull Context context) {
-        final List<AccessibilityButtonTarget> serviceTargets =
-                getAccessibilityServiceTargets(context);
-        final List<AccessibilityButtonTarget> activityTargets =
-                getAccessibilityActivityTargets(context);
-
-        for (AccessibilityButtonTarget activityTarget : activityTargets) {
-            serviceTargets.removeIf(serviceTarget -> {
-                final ComponentName serviceComponentName =
-                        ComponentName.unflattenFromString(serviceTarget.getId());
-                final ComponentName activityComponentName =
-                        ComponentName.unflattenFromString(activityTarget.getId());
-                final boolean isSamePackageName = activityComponentName.getPackageName().equals(
-                        serviceComponentName.getPackageName());
-                final boolean isSameLabel = activityTarget.getLabel().equals(
-                        serviceTarget.getLabel());
-
-                return isSamePackageName && isSameLabel;
-            });
-        }
-
-        final List<AccessibilityButtonTarget> targets = new ArrayList<>();
-        targets.addAll(serviceTargets);
-        targets.addAll(activityTargets);
-
-        return targets;
-    }
-
-    private static List<AccessibilityButtonTarget> getAccessibilityServiceTargets(
-            @NonNull Context context) {
-        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
-        final List<AccessibilityServiceInfo> installedServices =
-                ams.getInstalledAccessibilityServiceList();
-        if (installedServices == null) {
-            return Collections.emptyList();
-        }
-
-        final List<AccessibilityButtonTarget> targets = new ArrayList<>(installedServices.size());
-        for (AccessibilityServiceInfo info : installedServices) {
-            final int targetSdk =
-                    info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion;
-            final boolean hasRequestAccessibilityButtonFlag =
-                    (info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
-            if ((targetSdk < Build.VERSION_CODES.R) && !hasRequestAccessibilityButtonFlag
-                    && (sShortcutType == ACCESSIBILITY_BUTTON)) {
-                continue;
-            }
-            targets.add(new AccessibilityButtonTarget(context, info));
-        }
-
-        return targets;
-    }
-
-    private static List<AccessibilityButtonTarget> getAccessibilityActivityTargets(
-            @NonNull Context context) {
-        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
-        final List<AccessibilityShortcutInfo> installedServices =
-                ams.getInstalledAccessibilityShortcutListAsUser(context,
-                        ActivityManager.getCurrentUser());
-        if (installedServices == null) {
-            return Collections.emptyList();
-        }
-
-        final List<AccessibilityButtonTarget> targets = new ArrayList<>(installedServices.size());
-        for (AccessibilityShortcutInfo info : installedServices) {
-            targets.add(new AccessibilityButtonTarget(context, info));
-        }
-
-        return targets;
-    }
-
-    private static List<AccessibilityButtonTarget> getWhiteListingServiceTargets(
-            @NonNull Context context) {
-        final List<AccessibilityButtonTarget> targets = new ArrayList<>();
-
-        for (int i = 0; i < WHITE_LISTING_FEATURES.length; i++) {
-            final AccessibilityButtonTarget target = new AccessibilityButtonTarget(
-                    context,
-                    WHITE_LISTING_FEATURES[i][COMPONENT_ID],
-                    Integer.parseInt(WHITE_LISTING_FEATURES[i][LABEL_ID]),
-                    Integer.parseInt(WHITE_LISTING_FEATURES[i][ICON_ID]),
-                    Integer.parseInt(WHITE_LISTING_FEATURES[i][FRAGMENT_TYPE]));
-            targets.add(target);
-        }
-
-        return targets;
-    }
-
-    private static boolean isWhiteListingServiceEnabled(@NonNull Context context,
-            AccessibilityButtonTarget target) {
-
-        for (int i = 0; i < WHITE_LISTING_FEATURES.length; i++) {
-            if (WHITE_LISTING_FEATURES[i][COMPONENT_ID].equals(target.getId())) {
-                return Settings.Secure.getInt(context.getContentResolver(),
-                        WHITE_LISTING_FEATURES[i][SETTINGS_KEY],
-                        /* settingsValueOff */ 0) == /* settingsValueOn */ 1;
-            }
-        }
-
-        return false;
-    }
-
-    private static boolean isWhiteListingService(String componentId) {
-        for (int i = 0; i < WHITE_LISTING_FEATURES.length; i++) {
-            if (WHITE_LISTING_FEATURES[i][COMPONENT_ID].equals(componentId)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private void setWhiteListingServiceEnabled(String componentId, int settingsValue) {
-        for (int i = 0; i < WHITE_LISTING_FEATURES.length; i++) {
-            if (WHITE_LISTING_FEATURES[i][COMPONENT_ID].equals(componentId)) {
-                Settings.Secure.putInt(getContentResolver(),
-                        WHITE_LISTING_FEATURES[i][SETTINGS_KEY], settingsValue);
-                return;
-            }
-        }
-    }
-
-    private void setServiceEnabled(String componentId, boolean enabled) {
-        if (isWhiteListingService(componentId)) {
-            setWhiteListingServiceEnabled(componentId,
-                    enabled ? /* settingsValueOn */ 1 : /* settingsValueOff */ 0);
-        } else {
-            final ComponentName componentName = ComponentName.unflattenFromString(componentId);
-            setAccessibilityServiceState(this, componentName, enabled);
-        }
-    }
-
-    private static class ViewHolder {
-        View mItemView;
-        CheckBox mCheckBox;
-        ImageView mIconView;
-        TextView mLabelView;
-        Switch mSwitchItem;
-    }
-
-    private static class TargetAdapter extends BaseAdapter {
-        @ShortcutMenuMode
-        private int mShortcutMenuMode = ShortcutMenuMode.LAUNCH;
-        private List<AccessibilityButtonTarget> mButtonTargets;
-
-        TargetAdapter(List<AccessibilityButtonTarget> targets) {
-            this.mButtonTargets = targets;
-        }
-
-        void setShortcutMenuMode(@ShortcutMenuMode int shortcutMenuMode) {
-            mShortcutMenuMode = shortcutMenuMode;
-        }
-
-        @ShortcutMenuMode
-        int getShortcutMenuMode() {
-            return mShortcutMenuMode;
-        }
-
-        @Override
-        public int getCount() {
-            return mButtonTargets.size();
-        }
-
-        @Override
-        public Object getItem(int position) {
-            return mButtonTargets.get(position);
-        }
-
-        @Override
-        public long getItemId(int position) {
-            return position;
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            final Context context = parent.getContext();
-            ViewHolder holder;
-            if (convertView == null) {
-                convertView = LayoutInflater.from(context).inflate(
-                        R.layout.accessibility_button_chooser_item, parent, /* attachToRoot= */
-                        false);
-                holder = new ViewHolder();
-                holder.mItemView = convertView;
-                holder.mCheckBox = convertView.findViewById(
-                        R.id.accessibility_button_target_checkbox);
-                holder.mIconView = convertView.findViewById(R.id.accessibility_button_target_icon);
-                holder.mLabelView = convertView.findViewById(
-                        R.id.accessibility_button_target_label);
-                holder.mSwitchItem = convertView.findViewById(
-                        R.id.accessibility_button_target_switch_item);
-                convertView.setTag(holder);
-            } else {
-                holder = (ViewHolder) convertView.getTag();
-            }
-
-            final AccessibilityButtonTarget target = mButtonTargets.get(position);
-            updateActionItem(context, holder, target);
-
-            return convertView;
-        }
-
-        private void updateActionItem(@NonNull Context context,
-                @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
-
-            switch (target.getFragmentType()) {
-                case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
-                    updateVolumeShortcutToggleTargetActionItemVisibility(holder, target);
-                    break;
-                case AccessibilityFragmentType.INVISIBLE_TOGGLE:
-                    updateInvisibleToggleTargetActionItemVisibility(holder, target);
-                    break;
-                case AccessibilityFragmentType.TOGGLE:
-                    updateToggleTargetActionItemVisibility(context, holder, target);
-                    break;
-                case AccessibilityFragmentType.LAUNCH_ACTIVITY:
-                    updateLaunchActivityTargetActionItemVisibility(holder, target);
-                    break;
-                default:
-                    throw new IllegalStateException("Unexpected fragment type");
-            }
-        }
-
-        private void updateVolumeShortcutToggleTargetActionItemVisibility(
-                @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
-            final boolean isLaunchMenuMode = (mShortcutMenuMode == ShortcutMenuMode.LAUNCH);
-
-            holder.mCheckBox.setChecked(!isLaunchMenuMode && target.isChecked());
-            holder.mCheckBox.setVisibility(isLaunchMenuMode ? View.GONE : View.VISIBLE);
-            holder.mIconView.setImageDrawable(target.getDrawable());
-            holder.mLabelView.setText(target.getLabel());
-            holder.mSwitchItem.setVisibility(View.GONE);
-        }
-
-        private void updateInvisibleToggleTargetActionItemVisibility(@NonNull ViewHolder holder,
-                AccessibilityButtonTarget target) {
-            final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
-
-            holder.mCheckBox.setChecked(isEditMenuMode && target.isChecked());
-            holder.mCheckBox.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
-            holder.mIconView.setImageDrawable(target.getDrawable());
-            holder.mLabelView.setText(target.getLabel());
-            holder.mSwitchItem.setVisibility(View.GONE);
-        }
-
-        private void updateToggleTargetActionItemVisibility(@NonNull Context context,
-                @NonNull ViewHolder holder, AccessibilityButtonTarget target) {
-            final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
-            final boolean isServiceEnabled = isWhiteListingService(target.getId())
-                    ? isWhiteListingServiceEnabled(context, target)
-                    : isAccessibilityServiceEnabled(context, target);
-
-            holder.mCheckBox.setChecked(isEditMenuMode && target.isChecked());
-            holder.mCheckBox.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
-            holder.mIconView.setImageDrawable(target.getDrawable());
-            holder.mLabelView.setText(target.getLabel());
-            holder.mSwitchItem.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
-            holder.mSwitchItem.setChecked(!isEditMenuMode && isServiceEnabled);
-        }
-
-        private void updateLaunchActivityTargetActionItemVisibility(@NonNull ViewHolder holder,
-                AccessibilityButtonTarget target) {
-            final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
-
-            holder.mCheckBox.setChecked(isEditMenuMode && target.isChecked());
-            holder.mCheckBox.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
-            holder.mIconView.setImageDrawable(target.getDrawable());
-            holder.mLabelView.setText(target.getLabel());
-            holder.mSwitchItem.setVisibility(View.GONE);
-        }
-    }
-
-    private static class AccessibilityButtonTarget {
-        private String mId;
-        @TargetType
-        private int mType;
-        private boolean mChecked;
-        private CharSequence mLabel;
-        private Drawable mDrawable;
-        @AccessibilityFragmentType
-        private int mFragmentType;
-
-        AccessibilityButtonTarget(@NonNull Context context,
-                @NonNull AccessibilityServiceInfo serviceInfo) {
-            this.mId = serviceInfo.getComponentName().flattenToString();
-            this.mType = TargetType.ACCESSIBILITY_SERVICE;
-            this.mChecked = isTargetShortcutUsed(context, mId);
-            this.mLabel = serviceInfo.getResolveInfo().loadLabel(context.getPackageManager());
-            this.mDrawable = serviceInfo.getResolveInfo().loadIcon(context.getPackageManager());
-            this.mFragmentType = getAccessibilityServiceFragmentType(serviceInfo);
-        }
-
-        AccessibilityButtonTarget(@NonNull Context context,
-                @NonNull AccessibilityShortcutInfo shortcutInfo) {
-            this.mId = shortcutInfo.getComponentName().flattenToString();
-            this.mType = TargetType.ACCESSIBILITY_ACTIVITY;
-            this.mChecked = isTargetShortcutUsed(context, mId);
-            this.mLabel = shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager());
-            this.mDrawable = shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager());
-            this.mFragmentType = AccessibilityFragmentType.LAUNCH_ACTIVITY;
-        }
-
-        AccessibilityButtonTarget(Context context, @NonNull String id, int labelResId,
-                int iconRes, @AccessibilityFragmentType int fragmentType) {
-            this.mId = id;
-            this.mType = TargetType.WHITE_LISTING;
-            this.mChecked = isTargetShortcutUsed(context, mId);
-            this.mLabel = context.getText(labelResId);
-            this.mDrawable = context.getDrawable(iconRes);
-            this.mFragmentType = fragmentType;
-        }
-
-        public void setChecked(boolean checked) {
-            mChecked = checked;
-        }
-
-        public String getId() {
-            return mId;
-        }
-
-        public int getType() {
-            return mType;
-        }
-
-        public boolean isChecked() {
-            return mChecked;
-        }
-
-        public CharSequence getLabel() {
-            return mLabel;
-        }
-
-        public Drawable getDrawable() {
-            return mDrawable;
-        }
-
-        public int getFragmentType() {
-            return mFragmentType;
-        }
-    }
-
-    private static boolean isAccessibilityServiceEnabled(@NonNull Context context,
-            AccessibilityButtonTarget target) {
-        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
-        final List<AccessibilityServiceInfo> enabledServices =
-                ams.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
-
-        for (AccessibilityServiceInfo info : enabledServices) {
-            final String id = info.getComponentName().flattenToString();
-            if (id.equals(target.getId())) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private void onTargetSelected(AdapterView<?> parent, View view, int position, long id) {
-        final AccessibilityButtonTarget target = mTargets.get(position);
-        switch (target.getFragmentType()) {
-            case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
-                onVolumeShortcutToggleTargetSelected(target);
-                break;
-            case AccessibilityFragmentType.INVISIBLE_TOGGLE:
-                onInvisibleToggleTargetSelected(target);
-                break;
-            case AccessibilityFragmentType.TOGGLE:
-                onToggleTargetSelected(target);
-                break;
-            case AccessibilityFragmentType.LAUNCH_ACTIVITY:
-                onLaunchActivityTargetSelected(target);
-                break;
-            default:
-                throw new IllegalStateException("Unexpected fragment type");
-        }
-
-        mAlertDialog.dismiss();
-    }
-
-    private void onVolumeShortcutToggleTargetSelected(AccessibilityButtonTarget target) {
-        if (sShortcutType == ACCESSIBILITY_BUTTON) {
-            final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
-            ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
-        } else if (sShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
-            switchServiceState(target);
-        }
-    }
-
-    private void onInvisibleToggleTargetSelected(AccessibilityButtonTarget target) {
-        final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
-        if (sShortcutType == ACCESSIBILITY_BUTTON) {
-            ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
-        } else if (sShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
-            ams.performAccessibilityShortcut(target.getId());
-        }
-    }
-
-    private void onToggleTargetSelected(AccessibilityButtonTarget target) {
-        switchServiceState(target);
-    }
-
-    private void onLaunchActivityTargetSelected(AccessibilityButtonTarget target) {
-        final AccessibilityManager ams = getSystemService(AccessibilityManager.class);
-        if (sShortcutType == ACCESSIBILITY_BUTTON) {
-            ams.notifyAccessibilityButtonClicked(getDisplayId(), target.getId());
-        } else if (sShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
-            ams.performAccessibilityShortcut(target.getId());
-        }
-    }
-
-    private void switchServiceState(AccessibilityButtonTarget target) {
-        final ComponentName componentName =
-                ComponentName.unflattenFromString(target.getId());
-        final String componentId = componentName.flattenToString();
-
-        if (isWhiteListingService(componentId)) {
-            setWhiteListingServiceEnabled(componentId,
-                    isWhiteListingServiceEnabled(this, target)
-                            ? /* settingsValueOff */ 0
-                            : /* settingsValueOn */ 1);
-        } else {
-            setAccessibilityServiceState(this, componentName,
-                    /* enabled= */!isAccessibilityServiceEnabled(this, target));
-        }
-    }
-
-    private void onTargetChecked(AdapterView<?> parent, View view, int position, long id) {
-        mCurrentCheckedTarget = mTargets.get(position);
-
-        if ((mCurrentCheckedTarget.getType() == TargetType.ACCESSIBILITY_SERVICE)
-                && !mCurrentCheckedTarget.isChecked()) {
-            mEnableDialog = new AlertDialog.Builder(this)
-                    .setView(createEnableDialogContentView(this, mCurrentCheckedTarget,
-                            this::onPermissionAllowButtonClicked,
-                            this::onPermissionDenyButtonClicked))
-                    .create();
-            mEnableDialog.show();
-            return;
-        }
-
-        onTargetChecked(mCurrentCheckedTarget, !mCurrentCheckedTarget.isChecked());
-    }
-
-    private void onTargetChecked(AccessibilityButtonTarget target, boolean checked) {
-        switch (target.getFragmentType()) {
-            case AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE:
-                onVolumeShortcutToggleTargetChecked(checked);
-                break;
-            case AccessibilityFragmentType.INVISIBLE_TOGGLE:
-                onInvisibleToggleTargetChecked(checked);
-                break;
-            case AccessibilityFragmentType.TOGGLE:
-                onToggleTargetChecked(checked);
-                break;
-            case AccessibilityFragmentType.LAUNCH_ACTIVITY:
-                onLaunchActivityTargetChecked(checked);
-                break;
-            default:
-                throw new IllegalStateException("Unexpected fragment type");
-        }
-    }
-
-    private void onVolumeShortcutToggleTargetChecked(boolean checked) {
-        if (sShortcutType == ACCESSIBILITY_BUTTON) {
-            setServiceEnabled(mCurrentCheckedTarget.getId(), checked);
-            if (!checked) {
-                optOutValueFromSettings(this, HARDWARE, mCurrentCheckedTarget.getId());
-                final String warningText =
-                        getString(R.string.accessibility_uncheck_legacy_item_warning,
-                                mCurrentCheckedTarget.getLabel());
-                Toast.makeText(this, warningText, Toast.LENGTH_SHORT).show();
-            }
-        } else if (sShortcutType == ACCESSIBILITY_SHORTCUT_KEY) {
-            updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
-        } else {
-            throw new IllegalStateException("Unexpected shortcut type");
-        }
-
-        mCurrentCheckedTarget.setChecked(checked);
-        mTargetAdapter.notifyDataSetChanged();
-    }
-
-    private void onInvisibleToggleTargetChecked(boolean checked) {
-        final int shortcutTypes = UserShortcutType.SOFTWARE | HARDWARE;
-        if (!hasValuesInSettings(this, shortcutTypes, mCurrentCheckedTarget.getId())) {
-            setServiceEnabled(mCurrentCheckedTarget.getId(), checked);
-        }
-
-        updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
-        mCurrentCheckedTarget.setChecked(checked);
-        mTargetAdapter.notifyDataSetChanged();
-    }
-
-    private void onToggleTargetChecked(boolean checked) {
-        updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
-        mCurrentCheckedTarget.setChecked(checked);
-        mTargetAdapter.notifyDataSetChanged();
-    }
-
-    private void onLaunchActivityTargetChecked(boolean checked) {
-        updateValueToSettings(mCurrentCheckedTarget.getId(), checked);
-        mCurrentCheckedTarget.setChecked(checked);
-        mTargetAdapter.notifyDataSetChanged();
-    }
-
-    private void updateValueToSettings(String componentId, boolean checked) {
-        if (checked) {
-            optInValueToSettings(this, mShortcutUserType, componentId);
-        } else  {
-            optOutValueFromSettings(this, mShortcutUserType, componentId);
-        }
-    }
-
-    private void onDoneButtonClicked() {
-        mTargets.clear();
-        mTargets.addAll(getServiceTargets(this, sShortcutType));
-        if (mTargets.isEmpty()) {
-            mAlertDialog.dismiss();
-            return;
-        }
-
-        mTargetAdapter.setShortcutMenuMode(ShortcutMenuMode.LAUNCH);
-        mTargetAdapter.notifyDataSetChanged();
-
-        mAlertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(
-                getString(R.string.edit_accessibility_shortcut_menu_button));
-
-        updateDialogListeners();
-    }
-
-    private void onEditButtonClicked() {
-        mTargets.clear();
-        mTargets.addAll(getInstalledServiceTargets(this));
-        mTargetAdapter.setShortcutMenuMode(ShortcutMenuMode.EDIT);
-        mTargetAdapter.notifyDataSetChanged();
-
-        mAlertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(
-                getString(R.string.done_accessibility_shortcut_menu_button));
-
-        updateDialogListeners();
-    }
-
-    private void updateDialogListeners() {
-        final boolean isEditMenuMode =
-                (mTargetAdapter.getShortcutMenuMode() == ShortcutMenuMode.EDIT);
-        final int selectDialogTitleId = R.string.accessibility_select_shortcut_menu_title;
-        final int editDialogTitleId =
-                (sShortcutType == ACCESSIBILITY_BUTTON)
-                        ? R.string.accessibility_edit_shortcut_menu_button_title
-                        : R.string.accessibility_edit_shortcut_menu_volume_title;
-
-        mAlertDialog.setTitle(getString(isEditMenuMode ? editDialogTitleId : selectDialogTitleId));
-        mAlertDialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(
-                isEditMenuMode ? view -> onDoneButtonClicked() : view -> onEditButtonClicked());
-        mAlertDialog.getListView().setOnItemClickListener(
-                isEditMenuMode ? this::onTargetChecked : this::onTargetSelected);
-    }
-
-    private static boolean isTargetShortcutUsed(@NonNull Context context, String id) {
-        final AccessibilityManager ams = context.getSystemService(AccessibilityManager.class);
-        final List<String> requiredTargets = ams.getAccessibilityShortcutTargets(sShortcutType);
-        return requiredTargets.contains(id);
-    }
-
-    private void onPermissionAllowButtonClicked(View view) {
-        if (mCurrentCheckedTarget.getFragmentType()
-                != AccessibilityFragmentType.VOLUME_SHORTCUT_TOGGLE) {
-            updateValueToSettings(mCurrentCheckedTarget.getId(), /* checked= */ true);
-        }
-        onTargetChecked(mCurrentCheckedTarget, /* checked= */ true);
-        mEnableDialog.dismiss();
-    }
-
-    private void onPermissionDenyButtonClicked(View view) {
-        mEnableDialog.dismiss();
-    }
-
-    private static View createEnableDialogContentView(Context context,
-            AccessibilityButtonTarget target, View.OnClickListener allowListener,
-            View.OnClickListener denyListener) {
-        final LayoutInflater inflater = (LayoutInflater) context.getSystemService(
-                Context.LAYOUT_INFLATER_SERVICE);
-
-        final View content = inflater.inflate(
-                R.layout.accessibility_enable_service_encryption_warning, /* root= */ null);
-
-        final TextView encryptionWarningView = (TextView) content.findViewById(
-                R.id.accessibility_encryption_warning);
-        if (StorageManager.isNonDefaultBlockEncrypted()) {
-            final String text = context.getString(
-                    R.string.accessibility_enable_service_encryption_warning,
-                    getServiceName(context, target.getLabel()));
-            encryptionWarningView.setText(text);
-            encryptionWarningView.setVisibility(View.VISIBLE);
-        } else {
-            encryptionWarningView.setVisibility(View.GONE);
-        }
-
-        final ImageView permissionDialogIcon = content.findViewById(
-                R.id.accessibility_permissionDialog_icon);
-        permissionDialogIcon.setImageDrawable(target.getDrawable());
-
-        final TextView permissionDialogTitle = content.findViewById(
-                R.id.accessibility_permissionDialog_title);
-        permissionDialogTitle.setText(context.getString(R.string.accessibility_enable_service_title,
-                getServiceName(context, target.getLabel())));
-
-        final Button permissionAllowButton = content.findViewById(
-                R.id.accessibility_permission_enable_allow_button);
-        final Button permissionDenyButton = content.findViewById(
-                R.id.accessibility_permission_enable_deny_button);
-        permissionAllowButton.setOnClickListener(allowListener);
-        permissionDenyButton.setOnClickListener(denyListener);
-
-        return content;
-    }
-
-    // Gets the service name and bidi wrap it to protect from bidi side effects.
-    private static CharSequence getServiceName(Context context, CharSequence label) {
-        final Locale locale = context.getResources().getConfiguration().getLocales().get(0);
-        return BidiFormatter.getInstance(locale).unicodeWrap(label);
-    }
-}
diff --git a/core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java b/core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java
index ba8c7b3..def1137 100644
--- a/core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java
+++ b/core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java
@@ -163,6 +163,9 @@
 
     @Override
     List<ComponentName> getTopComponentNames(int topK) {
+        if (mResolverRankerService != null) {
+            return mResolverRankerService.getTopComponentNames(topK);
+        }
         return mTargetRanks.entrySet().stream()
                 .sorted(Entry.comparingByValue())
                 .limit(topK)
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index c82ab6c..970bab9 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -169,6 +169,17 @@
     public static final String EXTRA_PRIVATE_RETAIN_IN_ON_STOP
             = "com.android.internal.app.ChooserActivity.EXTRA_PRIVATE_RETAIN_IN_ON_STOP";
 
+    /**
+     * Integer extra to indicate which profile should be automatically selected.
+     * <p>Can only be used if there is a work profile.
+     * <p>Possible values can be either {@link #PROFILE_PERSONAL} or {@link #PROFILE_WORK}.
+     */
+    static final String EXTRA_SELECTED_PROFILE =
+            "com.android.internal.app.ChooserActivity.EXTRA_SELECTED_PROFILE";
+
+    static final int PROFILE_PERSONAL = AbstractMultiProfilePagerAdapter.PROFILE_PERSONAL;
+    static final int PROFILE_WORK = AbstractMultiProfilePagerAdapter.PROFILE_WORK;
+
     private static final String PREF_NUM_SHEET_EXPANSIONS = "pref_num_sheet_expansions";
 
     private static final String CHIP_LABEL_METADATA_KEY = "android.service.chooser.chip_label";
@@ -860,15 +871,31 @@
                 filterLastUsed,
                 mUseLayoutForBrowsables,
                 /* userHandle */ getWorkProfileUserHandle());
+        int selectedProfile = findSelectedProfile();
         return new ChooserMultiProfilePagerAdapter(
                 /* context */ this,
                 personalAdapter,
                 workAdapter,
-                /* defaultProfile */ getCurrentProfile(),
+                selectedProfile,
                 getPersonalProfileUserHandle(),
                 getWorkProfileUserHandle());
     }
 
+    private int findSelectedProfile() {
+        int selectedProfile;
+        if (getIntent().hasExtra(EXTRA_SELECTED_PROFILE)) {
+            selectedProfile = getIntent().getIntExtra(EXTRA_SELECTED_PROFILE, /* defValue = */ -1);
+            if (selectedProfile != PROFILE_PERSONAL && selectedProfile != PROFILE_WORK) {
+                throw new IllegalArgumentException(EXTRA_SELECTED_PROFILE + " has invalid value "
+                        + selectedProfile + ". Must be either ChooserActivity.PROFILE_PERSONAL or "
+                        + "ChooserActivity.PROFILE_WORK.");
+            }
+        } else {
+            selectedProfile = getProfileForUser(getUser());
+        }
+        return selectedProfile;
+    }
+
     @Override
     protected boolean postRebuildList(boolean rebuildCompleted) {
         updateStickyContentPreview();
@@ -2144,7 +2171,7 @@
                         mChooserMultiProfilePagerAdapter.getActiveListAdapter();
                 if (currentListAdapter != null) {
                     currentListAdapter.updateModel(info.getResolvedComponentName());
-                    currentListAdapter.updateChooserCounts(ri.activityInfo.packageName, getUserId(),
+                    currentListAdapter.updateChooserCounts(ri.activityInfo.packageName,
                             targetIntent.getAction());
                 }
                 if (DEBUG) {
@@ -2479,7 +2506,10 @@
                         gridAdapter.getMaxTargetsPerRow());
             }
 
-            if (mChooserMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
+            UserHandle currentUserHandle = mChooserMultiProfilePagerAdapter.getCurrentUserHandle();
+            int currentProfile = getProfileForUser(currentUserHandle);
+            int initialProfile = findSelectedProfile();
+            if (currentProfile != initialProfile) {
                 return;
             }
 
@@ -2576,6 +2606,20 @@
         }
     }
 
+    /**
+     * Returns {@link #PROFILE_PERSONAL}, {@link #PROFILE_WORK}, or -1 if the given user handle
+     * does not match either the personal or work user handle.
+     **/
+    private int getProfileForUser(UserHandle currentUserHandle) {
+        if (currentUserHandle.equals(getPersonalProfileUserHandle())) {
+            return PROFILE_PERSONAL;
+        } else if (currentUserHandle.equals(getWorkProfileUserHandle())) {
+            return PROFILE_WORK;
+        }
+        Log.e(TAG, "User " + currentUserHandle + " does not belong to a personal or work profile.");
+        return -1;
+    }
+
     private ViewGroup getCurrentEmptyStateView() {
         int currentPage = mChooserMultiProfilePagerAdapter.getCurrentPage();
         return mChooserMultiProfilePagerAdapter.getItem(currentPage).getEmptyStateView();
diff --git a/core/java/com/android/internal/app/ChooserActivityLogger.java b/core/java/com/android/internal/app/ChooserActivityLogger.java
index 088973c..c26bac4 100644
--- a/core/java/com/android/internal/app/ChooserActivityLogger.java
+++ b/core/java/com/android/internal/app/ChooserActivityLogger.java
@@ -182,7 +182,8 @@
                 return FrameworkStatsLog.SHARESHEET_STARTED__PREVIEW_TYPE__CONTENT_PREVIEW_FILE;
             case ChooserActivity.CONTENT_PREVIEW_TEXT:
             default:
-                return FrameworkStatsLog.SHARESHEET_STARTED__PREVIEW_TYPE__CONTENT_PREVIEW_TEXT;
+                return FrameworkStatsLog
+                        .SHARESHEET_STARTED__PREVIEW_TYPE__CONTENT_PREVIEW_TYPE_UNKNOWN;
         }
     }
 
diff --git a/core/java/com/android/internal/app/ChooserListAdapter.java b/core/java/com/android/internal/app/ChooserListAdapter.java
index 0d90bbf..bdfcda5 100644
--- a/core/java/com/android/internal/app/ChooserListAdapter.java
+++ b/core/java/com/android/internal/app/ChooserListAdapter.java
@@ -207,6 +207,9 @@
         if (mListViewDataChanged) {
             if (mAppendDirectShareEnabled) {
                 appendServiceTargetsWithQuota();
+                if (mPendingChooserTargetService.isEmpty()) {
+                    fillAllServiceTargets();
+                }
             }
             super.notifyDataSetChanged();
         }
@@ -488,13 +491,14 @@
             Map<ChooserTarget, ShortcutInfo> directShareToShortcutInfos,
             List<ChooserActivity.ChooserTargetServiceConnection>
                     pendingChooserTargetServiceConnections) {
-        ComponentName origComponentName = origTarget.getResolvedComponentName();
+        ComponentName origComponentName = origTarget != null ? origTarget.getResolvedComponentName()
+                : !targets.isEmpty() ? targets.get(0).getComponentName() : null;
         mPendingChooserTargetService = pendingChooserTargetServiceConnections.stream()
                 .map(ChooserActivity.ChooserTargetServiceConnection::getComponentName)
                 .filter(componentName -> !componentName.equals(origComponentName))
                 .collect(Collectors.toSet());
         // Park targets in memory
-        if (!targets.isEmpty() && !mParkingDirectShareTargets.containsKey(origComponentName)) {
+        if (!targets.isEmpty()) {
             final boolean isShortcutResult =
                     (targetType == TARGET_TYPE_SHORTCUTS_FROM_SHORTCUT_MANAGER
                             || targetType == TARGET_TYPE_SHORTCUTS_FROM_PREDICTION_SERVICE);
@@ -509,8 +513,11 @@
                                             : null))
                     )
                     .collect(Collectors.toList());
-            mParkingDirectShareTargets.put(origComponentName,
-                    new Pair<>(parkingTargetInfos, 0));
+            Pair<List<ChooserTargetInfo>, Integer> parkingTargetInfoPair =
+                    mParkingDirectShareTargets.getOrDefault(origComponentName,
+                            new Pair<>(new ArrayList<>(), 0));
+            parkingTargetInfoPair.first.addAll(parkingTargetInfos);
+            mParkingDirectShareTargets.put(origComponentName, parkingTargetInfoPair);
             if (isShortcutResult) {
                 mShortcutComponents.add(origComponentName);
             }
@@ -558,6 +565,9 @@
      * Append all remaining targets (parking in memory) into direct share row as per their ranking.
      */
     private void fillAllServiceTargets() {
+        if (mParkingDirectShareTargets.isEmpty()) {
+            return;
+        }
         int maxRankedTargets = mChooserListCommunicator.getMaxRankedTargets();
         List<ComponentName> topComponentNames = getTopComponentNames(maxRankedTargets);
         // Append all remaining targets of top recommended components into direct share row.
@@ -576,16 +586,18 @@
             mParkingDirectShareTargets.remove(component);
         }
         // Append all remaining shortcuts targets into direct share row.
-        List<ChooserTargetInfo> remainingTargets = new ArrayList<>();
         mParkingDirectShareTargets.entrySet().stream()
                 .filter(entry -> mShortcutComponents.contains(entry.getKey()))
                 .map(entry -> entry.getValue())
                 .map(pair -> pair.first)
-                .forEach(remainingTargets::addAll);
-        remainingTargets.sort(
-                (t1, t2) -> -Float.compare(t1.getModifiedScore(), t2.getModifiedScore()));
-        mServiceTargets.addAll(remainingTargets);
-        mNumShortcutResults += remainingTargets.size();
+                .forEach(targets -> {
+                    for (ChooserTargetInfo target : targets) {
+                        if (!checkDuplicateTarget(target)) {
+                            mServiceTargets.add(target);
+                            mNumShortcutResults++;
+                        }
+                    }
+                });
         mParkingDirectShareTargets.clear();
     }
 
diff --git a/core/java/com/android/internal/app/IntentForwarderActivity.java b/core/java/com/android/internal/app/IntentForwarderActivity.java
index 9bdfa4a..3eb0923 100644
--- a/core/java/com/android/internal/app/IntentForwarderActivity.java
+++ b/core/java/com/android/internal/app/IntentForwarderActivity.java
@@ -108,20 +108,16 @@
             finish();
             return;
         }
+        if (Intent.ACTION_CHOOSER.equals(intentReceived.getAction())) {
+            launchChooserActivityWithCorrectTab(intentReceived, className);
+            return;
+        }
 
         final int callingUserId = getUserId();
         final Intent newIntent = canForward(intentReceived, getUserId(), targetUserId,
                 mInjector.getIPackageManager(), getContentResolver());
         if (newIntent != null) {
-            if (Intent.ACTION_CHOOSER.equals(newIntent.getAction())) {
-                Intent innerIntent = newIntent.getParcelableExtra(Intent.EXTRA_INTENT);
-                // At this point, innerIntent is not null. Otherwise, canForward would have returned
-                // false.
-                innerIntent.prepareToLeaveUser(callingUserId);
-                innerIntent.fixUris(callingUserId);
-            } else {
-                newIntent.prepareToLeaveUser(callingUserId);
-            }
+            newIntent.prepareToLeaveUser(callingUserId);
 
             final ResolveInfo ri = mInjector.resolveActivityAsUser(newIntent, MATCH_DEFAULT_ONLY,
                     targetUserId);
@@ -153,6 +149,33 @@
         finish();
     }
 
+    private void launchChooserActivityWithCorrectTab(Intent intentReceived, String className) {
+        // When showing the sharesheet, instead of forwarding to the other profile,
+        // we launch the sharesheet in the current user and select the other tab.
+        // This fixes b/152866292 where the user can not go back to the original profile
+        // when cross-profile intents are disabled.
+        int selectedProfile = findSelectedProfile(className);
+        sanitizeIntent(intentReceived);
+        intentReceived.putExtra(ChooserActivity.EXTRA_SELECTED_PROFILE, selectedProfile);
+        Intent innerIntent = intentReceived.getParcelableExtra(Intent.EXTRA_INTENT);
+        if (innerIntent == null) {
+            Slog.wtf(TAG, "Cannot start a chooser intent with no extra " + Intent.EXTRA_INTENT);
+            return;
+        }
+        sanitizeIntent(innerIntent);
+        startActivityAsCaller(intentReceived, null, null, false, getUserId());
+        finish();
+    }
+
+    private int findSelectedProfile(String className) {
+        if (className.equals(FORWARD_INTENT_TO_PARENT)) {
+            return ChooserActivity.PROFILE_PERSONAL;
+        } else if (className.equals(FORWARD_INTENT_TO_MANAGED_PROFILE)) {
+            return ChooserActivity.PROFILE_WORK;
+        }
+        return -1;
+    }
+
     private boolean shouldShowDisclosure(@Nullable ResolveInfo ri, Intent intent) {
         if (!isDeviceProvisioned()) {
             return false;
@@ -211,23 +234,7 @@
 
         Intent intentToCheck = forwardIntent;
         if (Intent.ACTION_CHOOSER.equals(forwardIntent.getAction())) {
-            // The EXTRA_INITIAL_INTENTS may not be allowed to be forwarded.
-            if (forwardIntent.hasExtra(Intent.EXTRA_INITIAL_INTENTS)) {
-                Slog.wtf(TAG, "An chooser intent with extra initial intents cannot be forwarded to"
-                        + " a different user");
-                return null;
-            }
-            if (forwardIntent.hasExtra(Intent.EXTRA_REPLACEMENT_EXTRAS)) {
-                Slog.wtf(TAG, "A chooser intent with replacement extras cannot be forwarded to a"
-                        + " different user");
-                return null;
-            }
-            intentToCheck = forwardIntent.getParcelableExtra(Intent.EXTRA_INTENT);
-            if (intentToCheck == null) {
-                Slog.wtf(TAG, "Cannot forward a chooser intent with no extra "
-                        + Intent.EXTRA_INTENT);
-                return null;
-            }
+            return null;
         }
         if (forwardIntent.getSelector() != null) {
             intentToCheck = forwardIntent.getSelector();
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index fc3f20f..1bc982c 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -179,6 +179,7 @@
     public static final String EXTRA_IS_AUDIO_CAPTURE_DEVICE = "is_audio_capture_device";
 
     private BroadcastReceiver mWorkProfileStateReceiver;
+    private boolean mIsHeaderCreated;
 
     /**
      * Get the string resource to be used as a label for the link to the resolver activity for an
@@ -398,11 +399,6 @@
                     | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
             rdl.setOnApplyWindowInsetsListener(this::onApplyWindowInsets);
 
-            if (shouldShowTabs() && isIntentPicker()) {
-                rdl.setMaxCollapsedHeight(getResources()
-                        .getDimensionPixelSize(R.dimen.resolver_max_collapsed_height_with_tabs));
-            }
-
             mResolverDrawerLayout = rdl;
         }
 
@@ -484,13 +480,42 @@
                         == workProfileUserHandle.getIdentifier()),
                 mUseLayoutForBrowsables,
                 /* userHandle */ workProfileUserHandle);
+        // In the edge case when we have 0 apps in the current profile and >1 apps in the other,
+        // the intent resolver is started in the other profile. Since this is the only case when
+        // this happens, we check for it here and set the current profile's tab.
+        int selectedProfile = getCurrentProfile();
+        UserHandle intentUser = UserHandle.of(getLaunchingUserId());
+        if (!getUser().equals(intentUser)) {
+            if (getPersonalProfileUserHandle().equals(intentUser)) {
+                selectedProfile = PROFILE_PERSONAL;
+            } else if (getWorkProfileUserHandle().equals(intentUser)) {
+                selectedProfile = PROFILE_WORK;
+            }
+        }
         return new ResolverMultiProfilePagerAdapter(
                 /* context */ this,
                 personalAdapter,
                 workAdapter,
-                /* defaultProfile */ getCurrentProfile(),
+                selectedProfile,
                 getPersonalProfileUserHandle(),
-                getWorkProfileUserHandle());
+                getWorkProfileUserHandle(),
+                /* shouldShowNoCrossProfileIntentsEmptyState= */ getUser().equals(intentUser));
+    }
+
+    /**
+     * Returns the user id of the user that the starting intent originated from.
+     * <p>This is not necessarily equal to {@link #getUserId()} or {@link UserHandle#myUserId()},
+     * as there are edge cases when the intent resolver is launched in the other profile.
+     * For example, when we have 0 resolved apps in current profile and multiple resolved apps
+     * in the other profile, opening a link from the current profile launches the intent resolver
+     * in the other one. b/148536209 for more info.
+     */
+    private int getLaunchingUserId() {
+        int contentUserHint = getIntent().getContentUserHint();
+        if (contentUserHint == UserHandle.USER_CURRENT) {
+            return UserHandle.myUserId();
+        }
+        return contentUserHint;
     }
 
     protected @Profile int getCurrentProfile() {
@@ -861,7 +886,7 @@
 
     private void setAlwaysButtonEnabled(boolean hasValidSelection, int checkedPos,
             boolean filtered) {
-        if (mMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
+        if (!mMultiProfilePagerAdapter.getCurrentUserHandle().equals(getUser())) {
             // Never allow the inactive profile to always open an app.
             mAlwaysButton.setEnabled(false);
             return;
@@ -1000,10 +1025,7 @@
             mMultiProfilePagerAdapter.showListView(listAdapter);
         }
         if (doPostProcessing) {
-            if (mMultiProfilePagerAdapter.getCurrentUserHandle().getIdentifier()
-                    == UserHandle.myUserId()) {
-                setHeader();
-            }
+            maybeCreateHeader(listAdapter);
             resetButtonBar();
             onListRebuilt(listAdapter);
         }
@@ -1012,6 +1034,15 @@
     protected void onListRebuilt(ResolverListAdapter listAdapter) {
         final ItemClickListener listener = new ItemClickListener();
         setupAdapterListView((ListView) mMultiProfilePagerAdapter.getActiveAdapterView(), listener);
+        if (shouldShowTabs() && isIntentPicker()) {
+            final ResolverDrawerLayout rdl = findViewById(R.id.contentPanel);
+            if (rdl != null) {
+                rdl.setMaxCollapsedHeight(getResources()
+                        .getDimensionPixelSize(useLayoutWithDefault()
+                                ? R.dimen.resolver_max_collapsed_height_with_default_with_tabs
+                                : R.dimen.resolver_max_collapsed_height_with_tabs));
+            }
+        }
     }
 
     protected boolean onTargetSelected(TargetInfo target, boolean alwaysCheck) {
@@ -1675,10 +1706,15 @@
 
     /**
      * Configure the area above the app selection list (title, content preview, etc).
+     * <p>The header is created once when first launching the activity and whenever a package is
+     * installed or uninstalled.
      */
-    public void setHeader() {
-        if (mMultiProfilePagerAdapter.getActiveListAdapter().getCount() == 0
-                && mMultiProfilePagerAdapter.getActiveListAdapter().getPlaceholderCount() == 0) {
+    private void maybeCreateHeader(ResolverListAdapter listAdapter) {
+        if (mIsHeaderCreated) {
+            return;
+        }
+        if (!shouldShowTabs()
+                && listAdapter.getCount() == 0 && listAdapter.getPlaceholderCount() == 0) {
             final TextView titleView = findViewById(R.id.title);
             if (titleView != null) {
                 titleView.setVisibility(View.GONE);
@@ -1699,8 +1735,9 @@
 
         final ImageView iconView = findViewById(R.id.icon);
         if (iconView != null) {
-            mMultiProfilePagerAdapter.getActiveListAdapter().loadFilteredItemIconTaskAsync(iconView);
+            listAdapter.loadFilteredItemIconTaskAsync(iconView);
         }
+        mIsHeaderCreated = true;
     }
 
     protected void resetButtonBar() {
@@ -1800,6 +1837,7 @@
                 // turning on.
                 return;
             }
+            mIsHeaderCreated = false;
             boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true);
             if (listRebuilt) {
                 ResolverListAdapter activeListAdapter =
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java
index 579abee..cee8a92 100644
--- a/core/java/com/android/internal/app/ResolverListAdapter.java
+++ b/core/java/com/android/internal/app/ResolverListAdapter.java
@@ -165,8 +165,9 @@
         mResolverListController.updateModel(componentName);
     }
 
-    public void updateChooserCounts(String packageName, int userId, String action) {
-        mResolverListController.updateChooserCounts(packageName, userId, action);
+    public void updateChooserCounts(String packageName, String action) {
+        mResolverListController.updateChooserCounts(
+                packageName, getUserHandle().getIdentifier(), action);
     }
 
     List<ResolvedComponentInfo> getUnfilteredResolveList() {
@@ -255,6 +256,7 @@
             }
         }
 
+        setPlaceholderCount(0);
         int n;
         if ((currentResolveList != null) && ((n = currentResolveList.size()) > 0)) {
             // We only care about fixing the unfilteredList if the current resolve list and
diff --git a/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java b/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
index b690a18..ad31d8b 100644
--- a/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
+++ b/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
@@ -35,6 +35,7 @@
 public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerAdapter {
 
     private final ResolverProfileDescriptor[] mItems;
+    private final boolean mShouldShowNoCrossProfileIntentsEmptyState;
 
     ResolverMultiProfilePagerAdapter(Context context,
             ResolverListAdapter adapter,
@@ -44,6 +45,7 @@
         mItems = new ResolverProfileDescriptor[] {
                 createProfileDescriptor(adapter)
         };
+        mShouldShowNoCrossProfileIntentsEmptyState = true;
     }
 
     ResolverMultiProfilePagerAdapter(Context context,
@@ -51,13 +53,15 @@
             ResolverListAdapter workAdapter,
             @Profile int defaultProfile,
             UserHandle personalProfileUserHandle,
-            UserHandle workProfileUserHandle) {
+            UserHandle workProfileUserHandle,
+            boolean shouldShowNoCrossProfileIntentsEmptyState) {
         super(context, /* currentPage */ defaultProfile, personalProfileUserHandle,
                 workProfileUserHandle);
         mItems = new ResolverProfileDescriptor[] {
                 createProfileDescriptor(personalAdapter),
                 createProfileDescriptor(workAdapter)
         };
+        mShouldShowNoCrossProfileIntentsEmptyState = shouldShowNoCrossProfileIntentsEmptyState;
     }
 
     private ResolverProfileDescriptor createProfileDescriptor(
@@ -163,6 +167,11 @@
     }
 
     @Override
+    boolean allowShowNoCrossProfileIntentsEmptyState() {
+        return mShouldShowNoCrossProfileIntentsEmptyState;
+    }
+
+    @Override
     protected void showWorkProfileOffEmptyState(ResolverListAdapter activeListAdapter,
             View.OnClickListener listener) {
         showEmptyState(activeListAdapter,
diff --git a/core/java/com/android/internal/app/SystemUserHomeActivity.java b/core/java/com/android/internal/app/SystemUserHomeActivity.java
index 26fbf6f..ee936a3 100644
--- a/core/java/com/android/internal/app/SystemUserHomeActivity.java
+++ b/core/java/com/android/internal/app/SystemUserHomeActivity.java
@@ -17,10 +17,27 @@
 package com.android.internal.app;
 
 import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.android.internal.R;
 
 /**
  * Placeholder home activity, which is always installed on the system user. At least one home
  * activity must be present and enabled in order for the system to boot.
  */
 public class SystemUserHomeActivity extends Activity {
+    private static final String TAG = "SystemUserHome";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, "onCreate");
+        setContentView(R.layout.system_user_home);
+    }
+
+    protected void onDestroy() {
+        super.onDestroy();
+        Log.i(TAG, "onDestroy");
+    }
 }
diff --git a/core/java/com/android/internal/app/procstats/DumpUtils.java b/core/java/com/android/internal/app/procstats/DumpUtils.java
index eda04a6..9bdbdc7 100644
--- a/core/java/com/android/internal/app/procstats/DumpUtils.java
+++ b/core/java/com/android/internal/app/procstats/DumpUtils.java
@@ -16,14 +16,39 @@
 
 package com.android.internal.app.procstats;
 
+import static com.android.internal.app.procstats.ProcessStats.ADJ_COUNT;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_MEM_FACTOR_COUNT;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_MEM_FACTOR_CRITICAL;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_MEM_FACTOR_LOW;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_MEM_FACTOR_MODERATE;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_MEM_FACTOR_NORMAL;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_NOTHING;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_MOD;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_OFF;
+import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_ON;
+import static com.android.internal.app.procstats.ProcessStats.STATE_BACKUP;
+import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY;
+import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY_CLIENT;
+import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_EMPTY;
+import static com.android.internal.app.procstats.ProcessStats.STATE_COUNT;
+import static com.android.internal.app.procstats.ProcessStats.STATE_HEAVY_WEIGHT;
+import static com.android.internal.app.procstats.ProcessStats.STATE_HOME;
+import static com.android.internal.app.procstats.ProcessStats.STATE_IMPORTANT_BACKGROUND;
+import static com.android.internal.app.procstats.ProcessStats.STATE_IMPORTANT_FOREGROUND;
+import static com.android.internal.app.procstats.ProcessStats.STATE_LAST_ACTIVITY;
+import static com.android.internal.app.procstats.ProcessStats.STATE_NOTHING;
+import static com.android.internal.app.procstats.ProcessStats.STATE_PERSISTENT;
+import static com.android.internal.app.procstats.ProcessStats.STATE_RECEIVER;
+import static com.android.internal.app.procstats.ProcessStats.STATE_SERVICE;
+import static com.android.internal.app.procstats.ProcessStats.STATE_SERVICE_RESTARTING;
+import static com.android.internal.app.procstats.ProcessStats.STATE_TOP;
+
 import android.os.UserHandle;
 import android.service.procstats.ProcessStatsEnums;
 import android.service.procstats.ProcessStatsStateProto;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
-import static com.android.internal.app.procstats.ProcessStats.*;
-
 import java.io.PrintWriter;
 import java.util.ArrayList;
 
@@ -38,6 +63,7 @@
     public static final String[] STATE_NAMES_CSV;
     static final String[] STATE_TAGS;
     static final int[] STATE_PROTO_ENUMS;
+    private static final int[] PROCESS_STATS_STATE_TO_AGGREGATED_STATE;
 
     // Make the mapping easy to update.
     static {
@@ -126,6 +152,39 @@
         STATE_PROTO_ENUMS[STATE_CACHED_ACTIVITY_CLIENT] =
                 ProcessStatsEnums.PROCESS_STATE_CACHED_ACTIVITY_CLIENT;
         STATE_PROTO_ENUMS[STATE_CACHED_EMPTY] = ProcessStatsEnums.PROCESS_STATE_CACHED_EMPTY;
+
+        // Remap states, as defined by ProcessStats.java, to a reduced subset of states for data
+        // aggregation / size reduction purposes.
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE = new int[STATE_COUNT];
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_PERSISTENT] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_PERSISTENT;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_TOP] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_TOP;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_IMPORTANT_FOREGROUND] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_IMPORTANT_FOREGROUND;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_IMPORTANT_BACKGROUND] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BACKGROUND;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_BACKUP] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BACKGROUND;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_SERVICE] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BACKGROUND;
+        // "Restarting" is not a real state, so this shouldn't exist.
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_SERVICE_RESTARTING] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_UNKNOWN;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_RECEIVER] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_RECEIVER;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_HEAVY_WEIGHT] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BACKGROUND;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_HOME] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_LAST_ACTIVITY] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_ACTIVITY] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_ACTIVITY_CLIENT] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
+        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_EMPTY] =
+                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
     }
 
     public static final String[] ADJ_SCREEN_NAMES_CSV = new String[] {
@@ -455,4 +514,51 @@
         }
         return itemName;
     }
+
+    /**
+     * Aggregate process states to reduce size of statistics logs.
+     *
+     * <p>Involves unpacking the three parts of state (process state / device memory state /
+     * screen state), manipulating the elements, then re-packing the new values into a single
+     * int. This integer is guaranteed to be unique for any given combination of state elements.
+     *
+     * @param curState current state as used in mCurState in {@class ProcessState} ie. a value
+     *                 combined from the process's state, the device's memory pressure state, and
+     *                 the device's screen on/off state.
+     * @return an integer representing the combination of screen state and process state, where
+     *         process state has been aggregated.
+     */
+    public static int aggregateCurrentProcessState(int curState) {
+        int screenStateIndex = curState / (ADJ_SCREEN_MOD * STATE_COUNT);
+        // extract process state from the compound state variable (discarding memory state)
+        int procStateIndex = curState % STATE_COUNT;
+
+        // Remap process state per array above.
+        try {
+            procStateIndex = PROCESS_STATS_STATE_TO_AGGREGATED_STATE[procStateIndex];
+        } catch (IndexOutOfBoundsException e) {
+            procStateIndex = ProcessStatsEnums.AGGREGATED_PROCESS_STATE_UNKNOWN;
+        }
+
+        // Pack screen & process state using bit shifting
+        return (procStateIndex << 0xf) | screenStateIndex;
+    }
+
+    /** Print aggregated tags generated via {@code #aggregateCurrentProcessState}. */
+    public static void printAggregatedProcStateTagProto(ProtoOutputStream proto, long screenId,
+            long stateId, int state) {
+        // screen state is in lowest 0xf bits, process state is in next 0xf bits up
+
+        try {
+            proto.write(stateId, STATE_PROTO_ENUMS[state >> 0xf]);
+        } catch (IndexOutOfBoundsException e) {
+            proto.write(stateId, ProcessStatsEnums.PROCESS_STATE_UNKNOWN);
+        }
+
+        try {
+            proto.write(screenId, ADJ_SCREEN_PROTO_ENUMS[state & 0xf]);
+        } catch (IndexOutOfBoundsException e) {
+            proto.write(screenId, ProcessStatsEnums.SCREEN_STATE_UNKNOWN);
+        }
+    }
 }
diff --git a/core/java/com/android/internal/app/procstats/ProcessState.java b/core/java/com/android/internal/app/procstats/ProcessState.java
index a6bed5b..79ff594 100644
--- a/core/java/com/android/internal/app/procstats/ProcessState.java
+++ b/core/java/com/android/internal/app/procstats/ProcessState.java
@@ -16,22 +16,6 @@
 
 package com.android.internal.app.procstats;
 
-import android.os.Parcel;
-import android.os.SystemClock;
-import android.os.UserHandle;
-import android.service.procstats.ProcessStatsProto;
-import android.service.procstats.ProcessStatsStateProto;
-import android.util.ArrayMap;
-import android.util.DebugUtils;
-import android.util.Log;
-import android.util.LongSparseArray;
-import android.util.Slog;
-import android.util.SparseLongArray;
-import android.util.TimeUtils;
-import android.util.proto.ProtoOutputStream;
-import android.util.proto.ProtoUtils;
-
-
 import static com.android.internal.app.procstats.ProcessStats.PSS_AVERAGE;
 import static com.android.internal.app.procstats.ProcessStats.PSS_COUNT;
 import static com.android.internal.app.procstats.ProcessStats.PSS_MAXIMUM;
@@ -60,6 +44,21 @@
 import static com.android.internal.app.procstats.ProcessStats.STATE_SERVICE_RESTARTING;
 import static com.android.internal.app.procstats.ProcessStats.STATE_TOP;
 
+import android.os.Parcel;
+import android.os.SystemClock;
+import android.os.UserHandle;
+import android.service.procstats.ProcessStatsProto;
+import android.service.procstats.ProcessStatsStateProto;
+import android.util.ArrayMap;
+import android.util.DebugUtils;
+import android.util.Log;
+import android.util.LongSparseArray;
+import android.util.Slog;
+import android.util.SparseLongArray;
+import android.util.TimeUtils;
+import android.util.proto.ProtoOutputStream;
+import android.util.proto.ProtoUtils;
+
 import com.android.internal.app.procstats.ProcessStats.PackageState;
 import com.android.internal.app.procstats.ProcessStats.ProcessStateHolder;
 import com.android.internal.app.procstats.ProcessStats.TotalMemoryUseCollection;
@@ -1418,4 +1417,109 @@
 
         proto.end(token);
     }
+
+    /** Similar to {@code #dumpDebug}, but with a reduced/aggregated subset of states. */
+    public void dumpAggregatedProtoForStatsd(ProtoOutputStream proto, long fieldId,
+            String procName, int uid, long now) {
+        // Group proc stats by aggregated type (only screen state + process state)
+        SparseLongArray durationByState = new SparseLongArray();
+        boolean didCurState = false;
+        for (int i = 0; i < mDurations.getKeyCount(); i++) {
+            final int key = mDurations.getKeyAt(i);
+            final int type = SparseMappingTable.getIdFromKey(key);
+            final int aggregatedType = DumpUtils.aggregateCurrentProcessState(type);
+
+            long time = mDurations.getValue(key);
+            if (mCurCombinedState == type) {
+                didCurState = true;
+                time += now - mStartTime;
+            }
+            int index = durationByState.indexOfKey(aggregatedType);
+            if (index >= 0) {
+                durationByState.put(aggregatedType, time + durationByState.valueAt(index));
+            } else {
+                durationByState.put(aggregatedType, time);
+            }
+        }
+        if (!didCurState && mCurCombinedState != STATE_NOTHING) {
+            final int aggregatedType = DumpUtils.aggregateCurrentProcessState(mCurCombinedState);
+            int index = durationByState.indexOfKey(aggregatedType);
+            if (index >= 0) {
+                durationByState.put(aggregatedType,
+                        (now - mStartTime) + durationByState.valueAt(index));
+            } else {
+                durationByState.put(aggregatedType, now - mStartTime);
+            }
+        }
+
+        // Now we have total durations, aggregate the RSS values
+        SparseLongArray meanRssByState = new SparseLongArray();
+        SparseLongArray maxRssByState = new SparseLongArray();
+        // compute weighted averages and max-of-max
+        for (int i = 0; i < mPssTable.getKeyCount(); i++) {
+            final int key = mPssTable.getKeyAt(i);
+            final int type = SparseMappingTable.getIdFromKey(key);
+            if (durationByState.indexOfKey(type) < 0) {
+                // state without duration should not have stats!
+                continue;
+            }
+            final int aggregatedType = DumpUtils.aggregateCurrentProcessState(type);
+
+            long[] rssMeanAndMax = mPssTable.getRssMeanAndMax(key);
+
+            // compute mean * duration, then store sum of that in meanRssByState
+            long meanTimesDuration = rssMeanAndMax[0] * mDurations.getValue(key);
+            if (meanRssByState.indexOfKey(aggregatedType) >= 0) {
+                meanRssByState.put(aggregatedType,
+                        meanTimesDuration + meanRssByState.get(aggregatedType));
+            } else {
+                meanRssByState.put(aggregatedType, meanTimesDuration);
+            }
+
+            // accumulate max-of-maxes in maxRssByState
+            if (maxRssByState.indexOfKey(aggregatedType) >= 0
+                    && maxRssByState.get(aggregatedType) < rssMeanAndMax[1]) {
+                maxRssByState.put(aggregatedType, rssMeanAndMax[1]);
+            } else if (maxRssByState.indexOfKey(aggregatedType) < 0) {
+                maxRssByState.put(aggregatedType, rssMeanAndMax[1]);
+            }
+        }
+
+        // divide the means by the durations to get the weighted mean-of-means
+        for (int i = 0; i < durationByState.size(); i++) {
+            int aggregatedKey = durationByState.keyAt(i);
+            if (meanRssByState.indexOfKey(aggregatedKey) < 0) {
+                // these data structures should be consistent
+                continue;
+            }
+            meanRssByState.put(aggregatedKey,
+                    meanRssByState.get(aggregatedKey) / durationByState.get(aggregatedKey));
+        }
+
+        // build the output
+        final long token = proto.start(fieldId);
+        proto.write(ProcessStatsProto.PROCESS, procName);
+        proto.write(ProcessStatsProto.UID, uid);
+
+        for (int i = 0; i < durationByState.size(); i++) {
+            final long stateToken = proto.start(ProcessStatsProto.STATES);
+
+            final int aggregatedKey = durationByState.keyAt(i);
+
+            DumpUtils.printAggregatedProcStateTagProto(proto,
+                    ProcessStatsStateProto.SCREEN_STATE,
+                    ProcessStatsStateProto.PROCESS_STATE,
+                    aggregatedKey);
+            proto.write(ProcessStatsStateProto.DURATION_MS, durationByState.get(aggregatedKey));
+
+            ProtoUtils.toAggStatsProto(proto, ProcessStatsStateProto.RSS,
+                    0, /* do not output a minimum value */
+                    meanRssByState.get(aggregatedKey),
+                    maxRssByState.get(aggregatedKey));
+
+            proto.end(stateToken);
+        }
+
+        proto.end(token);
+    }
 }
diff --git a/core/java/com/android/internal/app/procstats/ProcessStats.java b/core/java/com/android/internal/app/procstats/ProcessStats.java
index 009b1e0..80f6272 100644
--- a/core/java/com/android/internal/app/procstats/ProcessStats.java
+++ b/core/java/com/android/internal/app/procstats/ProcessStats.java
@@ -2178,29 +2178,7 @@
      * Writes to ProtoOutputStream.
      */
     public void dumpDebug(ProtoOutputStream proto, long now, int section) {
-        proto.write(ProcessStatsSectionProto.START_REALTIME_MS, mTimePeriodStartRealtime);
-        proto.write(ProcessStatsSectionProto.END_REALTIME_MS,
-                mRunning ? SystemClock.elapsedRealtime() : mTimePeriodEndRealtime);
-        proto.write(ProcessStatsSectionProto.START_UPTIME_MS, mTimePeriodStartUptime);
-        proto.write(ProcessStatsSectionProto.END_UPTIME_MS, mTimePeriodEndUptime);
-        proto.write(ProcessStatsSectionProto.RUNTIME, mRuntime);
-        proto.write(ProcessStatsSectionProto.HAS_SWAPPED_PSS, mHasSwappedOutPss);
-        boolean partial = true;
-        if ((mFlags & FLAG_SHUTDOWN) != 0) {
-            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SHUTDOWN);
-            partial = false;
-        }
-        if ((mFlags & FLAG_SYSPROPS) != 0) {
-            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SYSPROPS);
-            partial = false;
-        }
-        if ((mFlags & FLAG_COMPLETE) != 0) {
-            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_COMPLETE);
-            partial = false;
-        }
-        if (partial) {
-            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_PARTIAL);
-        }
+        dumpProtoPreamble(proto);
 
         final int NPAGETYPES = mPageTypeLabels.size();
         for (int i = 0; i < NPAGETYPES; i++) {
@@ -2247,6 +2225,49 @@
         }
     }
 
+    /** Similar to {@code #dumpDebug}, but with a reduced/aggregated subset of states. */
+    public void dumpAggregatedProtoForStatsd(ProtoOutputStream proto) {
+        dumpProtoPreamble(proto);
+        final ArrayMap<String, SparseArray<ProcessState>> procMap = mProcesses.getMap();
+        for (int ip = 0; ip < procMap.size(); ip++) {
+            final String procName = procMap.keyAt(ip);
+            final SparseArray<ProcessState> uids = procMap.valueAt(ip);
+            for (int iu = 0; iu < uids.size(); iu++) {
+                final int uid = uids.keyAt(iu);
+                final ProcessState procState = uids.valueAt(iu);
+                procState.dumpAggregatedProtoForStatsd(proto,
+                        ProcessStatsSectionProto.PROCESS_STATS,
+                        procName, uid, mTimePeriodEndRealtime);
+            }
+        }
+    }
+
+    private void dumpProtoPreamble(ProtoOutputStream proto) {
+        proto.write(ProcessStatsSectionProto.START_REALTIME_MS, mTimePeriodStartRealtime);
+        proto.write(ProcessStatsSectionProto.END_REALTIME_MS,
+                mRunning ? SystemClock.elapsedRealtime() : mTimePeriodEndRealtime);
+        proto.write(ProcessStatsSectionProto.START_UPTIME_MS, mTimePeriodStartUptime);
+        proto.write(ProcessStatsSectionProto.END_UPTIME_MS, mTimePeriodEndUptime);
+        proto.write(ProcessStatsSectionProto.RUNTIME, mRuntime);
+        proto.write(ProcessStatsSectionProto.HAS_SWAPPED_PSS, mHasSwappedOutPss);
+        boolean partial = true;
+        if ((mFlags & FLAG_SHUTDOWN) != 0) {
+            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SHUTDOWN);
+            partial = false;
+        }
+        if ((mFlags & FLAG_SYSPROPS) != 0) {
+            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_SYSPROPS);
+            partial = false;
+        }
+        if ((mFlags & FLAG_COMPLETE) != 0) {
+            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_COMPLETE);
+            partial = false;
+        }
+        if (partial) {
+            proto.write(ProcessStatsSectionProto.STATUS, ProcessStatsSectionProto.STATUS_PARTIAL);
+        }
+    }
+
     final public static class ProcessStateHolder {
         public final long appVersion;
         public ProcessState state;
diff --git a/core/java/com/android/internal/app/procstats/PssTable.java b/core/java/com/android/internal/app/procstats/PssTable.java
index fc93c3a..a6bae6e 100644
--- a/core/java/com/android/internal/app/procstats/PssTable.java
+++ b/core/java/com/android/internal/app/procstats/PssTable.java
@@ -16,17 +16,17 @@
 
 package com.android.internal.app.procstats;
 
+import static com.android.internal.app.procstats.ProcessStats.PSS_AVERAGE;
+import static com.android.internal.app.procstats.ProcessStats.PSS_COUNT;
+import static com.android.internal.app.procstats.ProcessStats.PSS_MAXIMUM;
+import static com.android.internal.app.procstats.ProcessStats.PSS_MINIMUM;
 import static com.android.internal.app.procstats.ProcessStats.PSS_RSS_AVERAGE;
 import static com.android.internal.app.procstats.ProcessStats.PSS_RSS_MAXIMUM;
 import static com.android.internal.app.procstats.ProcessStats.PSS_RSS_MINIMUM;
 import static com.android.internal.app.procstats.ProcessStats.PSS_SAMPLE_COUNT;
-import static com.android.internal.app.procstats.ProcessStats.PSS_MINIMUM;
-import static com.android.internal.app.procstats.ProcessStats.PSS_AVERAGE;
-import static com.android.internal.app.procstats.ProcessStats.PSS_MAXIMUM;
-import static com.android.internal.app.procstats.ProcessStats.PSS_USS_MINIMUM;
 import static com.android.internal.app.procstats.ProcessStats.PSS_USS_AVERAGE;
 import static com.android.internal.app.procstats.ProcessStats.PSS_USS_MAXIMUM;
-import static com.android.internal.app.procstats.ProcessStats.PSS_COUNT;
+import static com.android.internal.app.procstats.ProcessStats.PSS_USS_MINIMUM;
 
 import android.service.procstats.ProcessStatsStateProto;
 import android.util.proto.ProtoOutputStream;
@@ -133,7 +133,6 @@
             }
 
             if (stats[statsIndex + PSS_RSS_MINIMUM] > minRss) {
-                stats[statsIndex + PSS_RSS_MINIMUM] = minRss;
             }
 
             stats[statsIndex + PSS_RSS_AVERAGE] = (long)(((stats[statsIndex + PSS_RSS_AVERAGE]
@@ -167,4 +166,10 @@
                 stats[statsIndex + PSS_RSS_AVERAGE],
                 stats[statsIndex + PSS_RSS_MAXIMUM]);
     }
+
+    long[] getRssMeanAndMax(int key) {
+        final long[] stats = getArrayForKey(key);
+        final int statsIndex = SparseMappingTable.getIndexFromKey(key);
+        return new long[]{stats[statsIndex + PSS_RSS_AVERAGE], stats[statsIndex + PSS_RSS_MAXIMUM]};
+    }
 }
diff --git a/core/java/com/android/internal/appwidget/IAppWidgetService.aidl b/core/java/com/android/internal/appwidget/IAppWidgetService.aidl
index 9e09cf3..1186dfe 100644
--- a/core/java/com/android/internal/appwidget/IAppWidgetService.aidl
+++ b/core/java/com/android/internal/appwidget/IAppWidgetService.aidl
@@ -77,6 +77,6 @@
     boolean requestPinAppWidget(String packageName, in ComponentName providerComponent,
             in Bundle extras, in IntentSender resultIntent);
     boolean isRequestPinAppWidgetSupported();
-    void noteAppWidgetTapped(int uid, String packageName);
+    oneway void noteAppWidgetTapped(in String callingPackage, in int appWidgetId);
 }
 
diff --git a/core/java/com/android/internal/os/RuntimeInit.java b/core/java/com/android/internal/os/RuntimeInit.java
index 0e9c2c4..dd1e4f4 100644
--- a/core/java/com/android/internal/os/RuntimeInit.java
+++ b/core/java/com/android/internal/os/RuntimeInit.java
@@ -19,6 +19,7 @@
 import android.app.ActivityManager;
 import android.app.ActivityThread;
 import android.app.ApplicationErrorReport;
+import android.app.IActivityManager;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.type.DefaultMimeMapFactory;
 import android.os.Build;
@@ -64,6 +65,8 @@
 
     private static volatile boolean mCrashing = false;
 
+    private static volatile ApplicationWtfHandler sDefaultApplicationWtfHandler;
+
     private static final native void nativeFinishInit();
     private static final native void nativeSetExitWithoutCleanup(boolean exitWithoutCleanup);
 
@@ -438,10 +441,27 @@
      */
     public static void wtf(String tag, Throwable t, boolean system) {
         try {
-            if (ActivityManager.getService().handleApplicationWtf(
-                    mApplicationObject, tag, system,
-                    new ApplicationErrorReport.ParcelableCrashInfo(t),
-                    Process.myPid())) {
+            boolean exit = false;
+            final IActivityManager am = ActivityManager.getService();
+            if (am != null) {
+                exit = am.handleApplicationWtf(
+                        mApplicationObject, tag, system,
+                        new ApplicationErrorReport.ParcelableCrashInfo(t),
+                        Process.myPid());
+            } else {
+                // Unlikely but possible in early system boot
+                final ApplicationWtfHandler handler = sDefaultApplicationWtfHandler;
+                if (handler != null) {
+                    exit = handler.handleApplicationWtf(
+                            mApplicationObject, tag, system,
+                            new ApplicationErrorReport.ParcelableCrashInfo(t),
+                            Process.myPid());
+                } else {
+                    // Simply log the error
+                    Slog.e(TAG, "Original WTF:", t);
+                }
+            }
+            if (exit) {
                 // The Activity Manager has already written us off -- now exit.
                 Process.killProcess(Process.myPid());
                 System.exit(10);
@@ -457,6 +477,29 @@
     }
 
     /**
+     * Set the default {@link ApplicationWtfHandler}, in case the ActivityManager is not ready yet.
+     */
+    public static void setDefaultApplicationWtfHandler(final ApplicationWtfHandler handler) {
+        sDefaultApplicationWtfHandler = handler;
+    }
+
+    /**
+     * The handler to deal with the serious application errors.
+     */
+    public interface ApplicationWtfHandler {
+        /**
+         * @param app object of the crashing app, null for the system server
+         * @param tag reported by the caller
+         * @param system whether this wtf is coming from the system
+         * @param crashInfo describing the context of the error
+         * @param immediateCallerPid the caller Pid
+         * @return true if the process should exit immediately (WTF is fatal)
+         */
+        boolean handleApplicationWtf(IBinder app, String tag, boolean system,
+                ApplicationErrorReport.ParcelableCrashInfo crashInfo, int immediateCallerPid);
+    }
+
+    /**
      * Set the object identifying this application/process, for reporting VM
      * errors.
      */
diff --git a/core/java/com/android/internal/policy/DecorView.java b/core/java/com/android/internal/policy/DecorView.java
index b6c58e1..f5d38ca 100644
--- a/core/java/com/android/internal/policy/DecorView.java
+++ b/core/java/com/android/internal/policy/DecorView.java
@@ -1631,9 +1631,7 @@
 
         int opacity = PixelFormat.OPAQUE;
         final WindowConfiguration winConfig = getResources().getConfiguration().windowConfiguration;
-        // TODO(b/149585281) remove when root task has the correct bounds for freeform
-        final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor
-                && winConfig.getWindowingMode() != WINDOWING_MODE_FREEFORM;
+        final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor;
         // If we draw shadows in the compositor we don't need to force the surface to be
         // translucent.
         if (winConfig.hasWindowShadow() && !renderShadowsInCompositor) {
@@ -2427,8 +2425,7 @@
     private void updateElevation() {
         final int windowingMode =
                 getResources().getConfiguration().windowConfiguration.getWindowingMode();
-        final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor
-                && windowingMode != WINDOWING_MODE_FREEFORM;
+        final boolean renderShadowsInCompositor = mWindow.mRenderShadowsInCompositor;
         // If rendering shadows in the compositor, don't set an elevation on the view
         if (renderShadowsInCompositor) {
             return;
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index 1dbd69c..24fe063 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -77,7 +77,7 @@
     void onNotificationSmartReplySent(in String key, in int replyIndex, in CharSequence reply,
             in int notificationLocation, boolean modifiedBeforeSending);
     void onNotificationSettingsViewed(String key);
-    void onNotificationBubbleChanged(String key, boolean isBubble);
+    void onNotificationBubbleChanged(String key, boolean isBubble, int flags);
     void onBubbleNotificationSuppressionChanged(String key, boolean isSuppressed);
     void grantInlineReplyUriPermission(String key, in Uri uri, in UserHandle user, String packageName);
     void clearInlineReplyUriPermissions(String key);
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 1cfa12d..5869787 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -848,8 +848,18 @@
         LOG_FATAL("Unknown alternative for variant DeviceProductInfo::ManufactureOrModelDate");
     }
 
+    jintArray relativeAddress = nullptr;
+    if (info->relativeAddress != DeviceProductInfo::NO_RELATIVE_ADDRESS) {
+        relativeAddress = env->NewIntArray(info->relativeAddress.size());
+        jint* relativeAddressData = env->GetIntArrayElements(relativeAddress, nullptr);
+        for (size_t i = 0; i < info->relativeAddress.size(); i++) {
+            relativeAddressData[i] = static_cast<jint>(info->relativeAddress[i]);
+        }
+        env->ReleaseIntArrayElements(relativeAddress, relativeAddressData, 0);
+    }
     return env->NewObject(gDeviceProductInfoClassInfo.clazz, gDeviceProductInfoClassInfo.ctor, name,
-                          manufacturerPnpId, productId, modelYear, manufactureDate);
+                          manufacturerPnpId, productId, modelYear, manufactureDate,
+                          relativeAddress);
 }
 
 static jobject nativeGetDisplayInfo(JNIEnv* env, jclass clazz, jobject tokenObj) {
@@ -1684,7 +1694,8 @@
                              "Ljava/lang/String;"
                              "Ljava/lang/String;"
                              "Ljava/lang/Integer;"
-                             "Landroid/hardware/display/DeviceProductInfo$ManufactureDate;)V");
+                             "Landroid/hardware/display/DeviceProductInfo$ManufactureDate;"
+                             "[I)V");
 
     jclass deviceProductInfoManufactureDateClazz =
             FindClassOrDie(env, "android/hardware/display/DeviceProductInfo$ManufactureDate");
diff --git a/core/proto/Android.bp b/core/proto/Android.bp
index 6119d71..3b891d6 100644
--- a/core/proto/Android.bp
+++ b/core/proto/Android.bp
@@ -28,13 +28,3 @@
         "android/bluetooth/smp/enums.proto",
     ],
 }
-
-java_library_host {
-    name: "protolog-proto",
-    srcs: [
-        "android/server/protolog.proto"
-    ],
-    proto: {
-        type: "full",
-    },
-}
diff --git a/core/proto/android/app/appexitinfo.proto b/core/proto/android/app/appexitinfo.proto
index 4b9444e..cc3d367 100644
--- a/core/proto/android/app/appexitinfo.proto
+++ b/core/proto/android/app/appexitinfo.proto
@@ -41,7 +41,7 @@
     optional int64 pss = 11;
     optional int64 rss = 12;
     optional int64 timestamp = 13;
-    optional string description = 14;
+    optional string description = 14 [(.android.privacy).dest = DEST_EXPLICIT];
     optional bytes state = 15;
     optional string trace_file = 16;
 }
diff --git a/core/proto/android/content/locusid.proto b/core/proto/android/content/locusid.proto
index 4f0ce6b..e2ba78d 100644
--- a/core/proto/android/content/locusid.proto
+++ b/core/proto/android/content/locusid.proto
@@ -20,8 +20,10 @@
 
 option java_multiple_files = true;
 
+import "frameworks/base/core/proto/android/privacy.proto";
+
 // On disk representation of android.content.LocusId. Currently used by
 // com.android.server.people.ConversationInfoProto.
 message LocusIdProto {
-  optional string locus_id = 1;
+    optional string locus_id = 1 [(.android.privacy).dest = DEST_EXPLICIT];
 }
diff --git a/core/proto/android/nfc/aid_group.proto b/core/proto/android/nfc/aid_group.proto
index 0636519..8810ff7 100644
--- a/core/proto/android/nfc/aid_group.proto
+++ b/core/proto/android/nfc/aid_group.proto
@@ -23,7 +23,7 @@
 
 // Debugging information for android.nfc.cardemulation.AidGroup
 message AidGroupProto {
-    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+    option (.android.msg_privacy).dest = DEST_EXPLICIT;
 
     optional string category = 1;
     // A group of Application Identifiers. A hexadecimal string, with an even amount of hexadecimal
diff --git a/core/proto/android/nfc/apdu_service_info.proto b/core/proto/android/nfc/apdu_service_info.proto
index c726ea3..fd110c4 100644
--- a/core/proto/android/nfc/apdu_service_info.proto
+++ b/core/proto/android/nfc/apdu_service_info.proto
@@ -25,7 +25,7 @@
 
 // Debugging information for android.nfc.cardemulation.ApduServiceInfo
 message ApduServiceInfoProto {
-    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+    option (.android.msg_privacy).dest = DEST_EXPLICIT;
 
     optional .android.content.ComponentNameProto component_name = 1;
     optional string description = 2;
diff --git a/core/proto/android/nfc/card_emulation.proto b/core/proto/android/nfc/card_emulation.proto
index 474d14a..9c3c6d7 100644
--- a/core/proto/android/nfc/card_emulation.proto
+++ b/core/proto/android/nfc/card_emulation.proto
@@ -75,8 +75,8 @@
 message RegisteredAidCacheProto {
     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     message AidCacheEntry {
-        optional string key = 1;
-        optional string category = 2;
+        optional string key = 1 [(.android.privacy).dest = DEST_EXPLICIT];
+        optional string category = 2 [(.android.privacy).dest = DEST_EXPLICIT];
         optional .android.content.ComponentNameProto default_component = 3;
         repeated .android.nfc.cardemulation.ApduServiceInfoProto services = 4;
     }
@@ -91,7 +91,7 @@
     message Route {
         option (.android.msg_privacy).dest = DEST_AUTOMATIC;
         optional int32 id = 1;
-        repeated string aids = 2;
+        repeated string aids = 2 [(.android.privacy).dest = DEST_EXPLICIT];
     }
     optional int32 default_route = 1;
     repeated Route routes = 2;
@@ -108,7 +108,7 @@
 message SystemCodeRoutingManagerProto {
     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
     message T3tIdentifier {
-        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+        option (.android.msg_privacy).dest = DEST_EXPLICIT;
         optional string system_code = 1;
         optional string nfcid2 = 2;
     }
diff --git a/core/proto/android/nfc/ndef.proto b/core/proto/android/nfc/ndef.proto
index 52b3238..5e10084 100644
--- a/core/proto/android/nfc/ndef.proto
+++ b/core/proto/android/nfc/ndef.proto
@@ -31,7 +31,7 @@
 message NdefRecordProto {
     option (.android.msg_privacy).dest = DEST_AUTOMATIC;
 
-    optional bytes type = 1;
-    optional bytes id = 2;
+    optional bytes type = 1 [(.android.privacy).dest = DEST_EXPLICIT];
+    optional bytes id = 2 [(.android.privacy).dest = DEST_EXPLICIT];
     optional int32 payload_bytes = 3;
 }
diff --git a/core/proto/android/nfc/nfc_fservice_info.proto b/core/proto/android/nfc/nfc_fservice_info.proto
index eecd7b0..0c4c72a 100644
--- a/core/proto/android/nfc/nfc_fservice_info.proto
+++ b/core/proto/android/nfc/nfc_fservice_info.proto
@@ -24,7 +24,7 @@
 
 // Debugging information for android.nfc.cardemulation.NfcFServiceInfo
 message NfcFServiceInfoProto {
-    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+    option (.android.msg_privacy).dest = DEST_EXPLICIT;
 
     optional .android.content.ComponentNameProto component_name = 1;
     // Description of the service
diff --git a/core/proto/android/nfc/nfc_service.proto b/core/proto/android/nfc/nfc_service.proto
index 73a7989..2df1d5d 100644
--- a/core/proto/android/nfc/nfc_service.proto
+++ b/core/proto/android/nfc/nfc_service.proto
@@ -104,7 +104,7 @@
     optional int32 send_flags = 5;
     optional bool send_enabled = 6;
     optional bool receive_enabled = 7;
-    optional string callback_ndef = 8;
+    optional string callback_ndef = 8 [(.android.privacy).dest = DEST_EXPLICIT];
     optional .android.nfc.NdefMessageProto message_to_send = 9;
     repeated string uris_to_send = 10 [(.android.privacy).dest = DEST_EXPLICIT];
 }
diff --git a/core/proto/android/server/jobscheduler.proto b/core/proto/android/server/jobscheduler.proto
index bd1bae6..b678d62 100644
--- a/core/proto/android/server/jobscheduler.proto
+++ b/core/proto/android/server/jobscheduler.proto
@@ -523,6 +523,7 @@
                 optional bool is_idle = 1;
                 optional bool is_screen_on = 2;
                 optional bool is_dock_idle = 3;
+                optional bool in_car_mode = 4;
             }
 
             oneof active_tracker {
diff --git a/core/proto/android/server/notificationhistory.proto b/core/proto/android/server/notificationhistory.proto
index 15f4abb..9896ba5 100644
--- a/core/proto/android/server/notificationhistory.proto
+++ b/core/proto/android/server/notificationhistory.proto
@@ -19,6 +19,8 @@
 
 option java_multiple_files = true;
 
+import "frameworks/base/core/proto/android/privacy.proto";
+
 // On disk data store for historical notifications
 message NotificationHistoryProto {
   message StringPool {
@@ -33,7 +35,7 @@
     optional int32 package_index = 2;
 
     // The name of the NotificationChannel this notification was posted to
-    optional string channel_name = 3;
+    optional string channel_name = 3 [(.android.privacy).dest = DEST_EXPLICIT];
     // channel_name_index contains the index + 1 of the channel name in the string pool
     optional int32 channel_name_index = 4;
 
@@ -49,9 +51,9 @@
     // The time at which the notification was posted
     optional int64 posted_time_ms = 9;
     // The title of the notification
-    optional string title = 10;
+    optional string title = 10 [(.android.privacy).dest = DEST_EXPLICIT];
     // The text of the notification
-    optional string text = 11;
+    optional string text = 11 [(.android.privacy).dest = DEST_EXPLICIT];
     // The small icon of the notification
     optional Icon icon = 12;
 
diff --git a/core/proto/android/server/peopleservice.proto b/core/proto/android/server/peopleservice.proto
index e65a2ab..59556c4 100644
--- a/core/proto/android/server/peopleservice.proto
+++ b/core/proto/android/server/peopleservice.proto
@@ -21,6 +21,7 @@
 option java_multiple_files = true;
 
 import "frameworks/base/core/proto/android/content/locusid.proto";
+import "frameworks/base/core/proto/android/privacy.proto";
 
 // On disk data of conversation infos for a user and app package.
 message ConversationInfosProto {
@@ -40,10 +41,10 @@
   optional .android.content.LocusIdProto locus_id_proto = 2;
 
   // The URI of the contact in the conversation.
-  optional string contact_uri = 3;
+  optional string contact_uri = 3 [(.android.privacy).dest = DEST_EXPLICIT];
 
   // The notification channel id of the conversation.
-  optional string notification_channel_id = 4;
+  optional string notification_channel_id = 4 [(.android.privacy).dest = DEST_EXPLICIT];
 
   // Integer representation of shortcut bit flags.
   optional int32 shortcut_flags = 5;
@@ -52,7 +53,7 @@
   optional int32 conversation_flags = 6;
 
   // The phone number of the contact.
-  optional string contact_phone_number = 7;
+  optional string contact_phone_number = 7 [(.android.privacy).dest = DEST_EXPLICIT];
 }
 
 // On disk data of events.
diff --git a/core/proto/android/server/protolog.proto b/core/proto/android/server/protolog.proto
index 3512c0a..34dc55b 100644
--- a/core/proto/android/server/protolog.proto
+++ b/core/proto/android/server/protolog.proto
@@ -20,8 +20,12 @@
 
 option java_multiple_files = true;
 
+import "frameworks/base/core/proto/android/privacy.proto";
+
 /* represents a single log entry */
 message ProtoLogMessage {
+    option (.android.msg_privacy).dest = DEST_LOCAL;
+
     /* log statement identifier, created from message string and log level. */
     optional sfixed32 message_hash = 1;
     /* log time, relative to the elapsed system time clock. */
@@ -40,6 +44,8 @@
    Encoded, it should start with 0x9 0x50 0x52 0x4f 0x54 0x4f 0x4c 0x4f 0x47 (.PROTOLOG), such
    that they can be easily identified. */
 message ProtoLogFileProto {
+    option (.android.msg_privacy).dest = DEST_LOCAL;
+
     /* constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 | MagicNumber.MAGIC_NUMBER_L
        (this is needed because enums have to be 32 bits and there's no nice way to put 64bit
         constants into .proto files. */
diff --git a/core/proto/android/server/syncstorageengine.proto b/core/proto/android/server/syncstorageengine.proto
index 87eb1b3..d313747 100644
--- a/core/proto/android/server/syncstorageengine.proto
+++ b/core/proto/android/server/syncstorageengine.proto
@@ -58,7 +58,7 @@
 
     message LastEventInfo {
       optional int64 last_event_time = 1; // time since epoch
-      optional string last_event = 2;
+      optional string last_event = 2 [(.android.privacy).dest = DEST_EXPLICIT];
     }
 
     // Note: version doesn't need to be stored in proto because of how protos store information but
@@ -68,7 +68,7 @@
     optional int32 last_success_source = 4;
     optional int64 last_failure_time = 5; // time since epoch
     optional int32 last_failure_source = 6;
-    optional string last_failure_message = 7;
+    optional string last_failure_message = 7 [(.android.privacy).dest = DEST_EXPLICIT];
     optional int64 initial_failure_time = 8; // time since epoch
     optional bool pending = 9;
     optional bool initialize = 10;
diff --git a/core/proto/android/server/usagestatsservice_v2.proto b/core/proto/android/server/usagestatsservice_v2.proto
index 24b0728..664c22d 100644
--- a/core/proto/android/server/usagestatsservice_v2.proto
+++ b/core/proto/android/server/usagestatsservice_v2.proto
@@ -112,13 +112,13 @@
   optional int32 flags = 4;
   optional int32 type = 5;
   optional .android.content.ConfigurationProto config = 6;
-  optional string shortcut_id = 7;
+  optional string shortcut_id = 7 [(.android.privacy).dest = DEST_EXPLICIT];
   optional int32 standby_bucket = 8;
-  optional string notification_channel_id = 9;
+  optional string notification_channel_id = 9 [(.android.privacy).dest = DEST_EXPLICIT];
   optional int32 instance_id = 10;
   optional string task_root_package = 11;
   optional string task_root_class = 12;
-  optional string locus_id = 13;
+  optional string locus_id = 13 [(.android.privacy).dest = DEST_EXPLICIT];
 }
 
 /**
@@ -128,7 +128,7 @@
   message PackagesMap {
     optional int32 package_token = 1;
     // The list of strings for each package where their indices are the token
-    repeated string strings = 2;
+    repeated string strings = 2 [(.android.privacy).dest = DEST_EXPLICIT];
   }
 
   optional int32 counter = 1;
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index 608925578..0f5616f 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -250,7 +250,7 @@
     reserved 3; // activity
     optional bool fills_parent = 4;
     optional .android.graphics.RectProto bounds = 5;
-    optional .android.graphics.RectProto displayed_bounds = 6;
+    optional .android.graphics.RectProto displayed_bounds = 6 [deprecated=true];
     optional bool defer_removal = 7;
     optional int32 surface_width = 8;
     optional int32 surface_height = 9;
@@ -310,7 +310,7 @@
     optional bool visible = 24;
     reserved 25; // configuration_container
     optional IdentifierProto identifier = 26;
-    optional string state = 27;
+    optional string state = 27 [(.android.privacy).dest = DEST_EXPLICIT];
     optional bool front_of_task = 28;
     optional int32 proc_id = 29;
     optional bool translucent = 30;
diff --git a/core/proto/android/service/procstats_enum.proto b/core/proto/android/service/procstats_enum.proto
index cc3fe5a..2abf373 100644
--- a/core/proto/android/service/procstats_enum.proto
+++ b/core/proto/android/service/procstats_enum.proto
@@ -76,3 +76,27 @@
     SERVICE_OPERATION_STATE_BOUND = 4;
     SERVICE_OPERATION_STATE_EXECUTING = 5;
 }
+
+// this enum list is from frameworks/base/core/java/com/android/internal/app/procstats/ProcessStats.java
+// and not frameworks/base/core/java/android/app/ActivityManager.java
+enum AggregatedProcessState {
+    AGGREGATED_PROCESS_STATE_UNKNOWN = 0;
+    // Persistent system process; PERSISTENT or PERSISTENT_UI in ActivityManager
+    AGGREGATED_PROCESS_STATE_PERSISTENT = 1;
+    // Top activity; actually any visible activity; TOP or TOP_SLEEPING in ActivityManager
+    AGGREGATED_PROCESS_STATE_TOP = 2;
+    // Bound top foreground process; BOUND_TOP or BOUND_FOREGROUND_SERVICE in ActivityManager
+    AGGREGATED_PROCESS_STATE_BOUND_TOP_OR_FGS = 3;
+    // Important foreground process; FOREGROUND_SERVICE in ActivityManager
+    AGGREGATED_PROCESS_STATE_FGS = 4;
+    // Important foreground process ; IMPORTANT_FOREGROUND in ActivityManager
+    AGGREGATED_PROCESS_STATE_IMPORTANT_FOREGROUND = 5;
+    // Various background processes; IMPORTANT_BACKGROUND, TRANSIENT_BACKGROUND, BACKUP, SERVICE,
+    // HEAVY_WEIGHT in ActivityManager
+    AGGREGATED_PROCESS_STATE_BACKGROUND = 6;
+    // Process running a receiver; RECEIVER in ActivityManager
+    AGGREGATED_PROCESS_STATE_RECEIVER = 7;
+    // Various cached processes; HOME, LAST_ACTIVITY, CACHED_ACTIVITY, CACHED_RECENT,
+    // CACHED_ACTIVITY_CLIENT, CACHED_EMPTY in ActivityManager
+    AGGREGATED_PROCESS_STATE_CACHED = 8;
+}
\ No newline at end of file
diff --git a/core/proto/android/service/sensor_service.proto b/core/proto/android/service/sensor_service.proto
index 48f6670..7f60534 100644
--- a/core/proto/android/service/sensor_service.proto
+++ b/core/proto/android/service/sensor_service.proto
@@ -166,7 +166,7 @@
     message RecentEventsLog {
         option (android.msg_privacy).dest = DEST_AUTOMATIC;
 
-        optional string name = 1;
+        optional string name = 1 [(.android.privacy).dest = DEST_EXPLICIT];
         optional int32 recent_events_count = 2;
         repeated Event events = 3;
     }
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 32a79f3..6e8b9de 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -526,6 +526,7 @@
     <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
 
     <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
+    <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" />
     <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
     <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
     <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
@@ -5060,7 +5061,7 @@
                 <category android:name="android.intent.category.VOICE" />
             </intent-filter>
         </activity>
-        <activity android:name="com.android.internal.app.AccessibilityButtonChooserActivity"
+        <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity"
                   android:exported="false"
                   android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight"
                   android:finishOnCloseSystemDialogs="true"
diff --git a/core/res/res/layout/accessibility_button_chooser_item.xml b/core/res/res/layout/accessibility_shortcut_chooser_item.xml
similarity index 87%
rename from core/res/res/layout/accessibility_button_chooser_item.xml
rename to core/res/res/layout/accessibility_shortcut_chooser_item.xml
index b7dd892..fff22d9 100644
--- a/core/res/res/layout/accessibility_button_chooser_item.xml
+++ b/core/res/res/layout/accessibility_shortcut_chooser_item.xml
@@ -24,7 +24,7 @@
     android:padding="16dp">
 
     <CheckBox
-        android:id="@+id/accessibility_button_target_checkbox"
+        android:id="@+id/accessibility_shortcut_target_checkbox"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:paddingStart="16dp"
@@ -34,13 +34,13 @@
         android:visibility="gone"/>
 
     <ImageView
-        android:id="@+id/accessibility_button_target_icon"
+        android:id="@+id/accessibility_shortcut_target_icon"
         android:layout_width="48dp"
         android:layout_height="48dp"
         android:scaleType="fitCenter"/>
 
     <TextView
-        android:id="@+id/accessibility_button_target_label"
+        android:id="@+id/accessibility_shortcut_target_label"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginStart="16dp"
@@ -50,7 +50,7 @@
         android:fontFamily="sans-serif-medium"/>
 
     <Switch
-        android:id="@+id/accessibility_button_target_switch_item"
+        android:id="@+id/accessibility_shortcut_target_switch_item"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:background="@null"
diff --git a/core/res/res/layout/notification_material_action_list.xml b/core/res/res/layout/notification_material_action_list.xml
index 4258019..ec54091 100644
--- a/core/res/res/layout/notification_material_action_list.xml
+++ b/core/res/res/layout/notification_material_action_list.xml
@@ -20,16 +20,34 @@
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/notification_action_list_margin_top"
         android:layout_gravity="bottom">
-    <com.android.internal.widget.NotificationActionListLayout
-            android:id="@+id/actions"
+
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="@dimen/notification_action_list_height"
-            android:paddingEnd="12dp"
+            android:layout_height="wrap_content"
             android:orientation="horizontal"
-            android:gravity="center_vertical"
-            android:visibility="gone"
-            android:background="@color/notification_action_list_background_color"
+            android:paddingEnd="12dp"
             >
-        <!-- actions will be added here -->
-    </com.android.internal.widget.NotificationActionListLayout>
+
+            <com.android.internal.widget.NotificationActionListLayout
+                android:id="@+id/actions"
+                android:layout_width="0dp"
+                android:layout_weight="1"
+                android:layout_height="@dimen/notification_action_list_height"
+                android:orientation="horizontal"
+                android:gravity="center_vertical"
+                android:visibility="gone"
+                android:background="@color/notification_action_list_background_color"
+                >
+                <!-- actions will be added here -->
+            </com.android.internal.widget.NotificationActionListLayout>
+
+            <ImageView
+                android:id="@+id/bubble_button"
+                android:layout_width="48dp"
+                android:layout_height="48dp"
+                android:layout_gravity="center_vertical|end"
+                android:visibility="gone"
+                android:scaleType="centerInside"
+                />
+    </LinearLayout>
 </FrameLayout>
diff --git a/core/res/res/layout/notification_template_header.xml b/core/res/res/layout/notification_template_header.xml
index 6f36aae..ece59e2 100644
--- a/core/res/res/layout/notification_template_header.xml
+++ b/core/res/res/layout/notification_template_header.xml
@@ -143,34 +143,35 @@
         android:layout_height="match_parent"
         android:layout_width="wrap_content"
         android:layout_marginStart="6dp"
-        android:orientation="horizontal" >
-        <ImageButton
+        android:background="?android:selectableItemBackgroundBorderless"
+        android:orientation="horizontal">
+        <ImageView
             android:id="@+id/camera"
             android:layout_width="?attr/notificationHeaderIconSize"
             android:layout_height="?attr/notificationHeaderIconSize"
             android:src="@drawable/ic_camera"
-            android:background="?android:selectableItemBackgroundBorderless"
             android:visibility="gone"
+            android:focusable="false"
             android:contentDescription="@string/notification_appops_camera_active"
             />
-        <ImageButton
+        <ImageView
             android:id="@+id/mic"
             android:layout_width="?attr/notificationHeaderIconSize"
             android:layout_height="?attr/notificationHeaderIconSize"
             android:src="@drawable/ic_mic"
-            android:background="?android:selectableItemBackgroundBorderless"
             android:layout_marginStart="4dp"
             android:visibility="gone"
+            android:focusable="false"
             android:contentDescription="@string/notification_appops_microphone_active"
             />
-        <ImageButton
+        <ImageView
             android:id="@+id/overlay"
             android:layout_width="?attr/notificationHeaderIconSize"
             android:layout_height="?attr/notificationHeaderIconSize"
             android:src="@drawable/ic_alert_window_layer"
-            android:background="?android:selectableItemBackgroundBorderless"
             android:layout_marginStart="4dp"
             android:visibility="gone"
+            android:focusable="false"
             android:contentDescription="@string/notification_appops_overlay_active"
             />
     </LinearLayout>
diff --git a/core/res/res/layout/notification_template_material_conversation.xml b/core/res/res/layout/notification_template_material_conversation.xml
index e986b18..8a57e05 100644
--- a/core/res/res/layout/notification_template_material_conversation.xml
+++ b/core/res/res/layout/notification_template_material_conversation.xml
@@ -195,35 +195,36 @@
                         android:layout_width="wrap_content"
                         android:paddingTop="3dp"
                         android:layout_marginStart="2dp"
+                        android:background="?android:selectableItemBackgroundBorderless"
                         android:orientation="horizontal" >
-                        <ImageButton
+                        <ImageView
                             android:layout_marginStart="4dp"
                             android:id="@+id/camera"
                             android:layout_width="?attr/notificationHeaderIconSize"
                             android:layout_height="?attr/notificationHeaderIconSize"
                             android:src="@drawable/ic_camera"
-                            android:background="?android:selectableItemBackgroundBorderless"
                             android:visibility="gone"
+                            android:focusable="false"
                             android:contentDescription="@string/notification_appops_camera_active"
                             />
-                        <ImageButton
+                        <ImageView
                             android:id="@+id/mic"
                             android:layout_width="?attr/notificationHeaderIconSize"
                             android:layout_height="?attr/notificationHeaderIconSize"
                             android:src="@drawable/ic_mic"
-                            android:background="?android:selectableItemBackgroundBorderless"
                             android:layout_marginStart="4dp"
                             android:visibility="gone"
+                            android:focusable="false"
                             android:contentDescription="@string/notification_appops_microphone_active"
                             />
-                        <ImageButton
+                        <ImageView
                             android:id="@+id/overlay"
                             android:layout_width="?attr/notificationHeaderIconSize"
                             android:layout_height="?attr/notificationHeaderIconSize"
                             android:src="@drawable/ic_alert_window_layer"
-                            android:background="?android:selectableItemBackgroundBorderless"
                             android:layout_marginStart="4dp"
                             android:visibility="gone"
+                            android:focusable="false"
                             android:contentDescription="@string/notification_appops_overlay_active"
                             />
                     </LinearLayout>
diff --git a/core/res/res/layout/resolver_list_with_default.xml b/core/res/res/layout/resolver_list_with_default.xml
index 06a7633..4a5aa02 100644
--- a/core/res/res/layout/resolver_list_with_default.xml
+++ b/core/res/res/layout/resolver_list_with_default.xml
@@ -21,7 +21,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:maxWidth="@dimen/resolver_max_width"
-    android:maxCollapsedHeight="144dp"
+    android:maxCollapsedHeight="@dimen/resolver_max_collapsed_height_with_default"
     android:id="@id/contentPanel">
 
     <LinearLayout
diff --git a/core/res/res/layout/system_user_home.xml b/core/res/res/layout/system_user_home.xml
new file mode 100644
index 0000000..8afa423
--- /dev/null
+++ b/core/res/res/layout/system_user_home.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2020 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#80000000"
+    android:forceHasOverlappingRendering="false">
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_gravity="center"
+        android:layout_marginStart="16dp"
+        android:layout_marginEnd="16dp">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="20sp"
+            android:textColor="?android:attr/textColorPrimary"
+            android:text="Framework Fallback Home"/>
+        <ProgressBar
+            style="@android:style/Widget.Material.ProgressBar.Horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="12.75dp"
+            android:colorControlActivated="?android:attr/textColorPrimary"
+            android:indeterminate="true"/>
+    </LinearLayout>
+</FrameLayout>
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 8facd8a..d8ab37f 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Versoek deur <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ja"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nee"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Uitveeperk is oorskry"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Daar is <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> uitgeveede items vir <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, rekening <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Wat wil jy doen?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Vee die items uit"</string>
@@ -1789,8 +1795,8 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Opgedateer deur jou administrateur"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Uitgevee deur jou administrateur"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Batterybespaarder doen die volgende om die batterylewe te verleng:\n·Skakel Donker-tema aan\n·Skakel agtergrondaktiwiteit, sommige visuele effekte en ander kenmerke, soos \"Hey Google\", af of beperk hulle\n\n"<annotation id="url">"Kom meer te wete"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Batterybespaarder doen die volgende om die batterylewe te verleng:\n·Skakel Donker-tema aan\n·Skakel agtergrondaktiwiteit, sommige visuele effekte en ander kenmerke, soos \"Hey Google\", af of beperk hulle"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Batterybespaarder doen die volgende om die batterylewe te verleng:\n·Skakel Donkertema aan\n·Skakel agtergrondaktiwiteit, sommige visuele effekte en ander kenmerke, soos \"Hey Google\", af of beperk hulle\n\n"<annotation id="url">"Kom meer te wete"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Batterybespaarder doen die volgende om die batterylewe te verleng:\n·Skakel Donkertema aan\n·Skakel agtergrondaktiwiteit, sommige visuele effekte en ander kenmerke, soos \"Hey Google\", af of beperk hulle"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Databespaarder verhoed sommige programme om data in die agtergrond te stuur of te aanvaar om datagebruik te help verminder. \'n Program wat jy tans gebruik kan by data ingaan, maar sal dit dalk minder gereeld doen. Dit kan byvoorbeeld beteken dat prente nie wys totdat jy op hulle tik nie."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Skakel Databespaarder aan?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Skakel aan"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index cafa7e8..eb18af6 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">" በ፡<xliff:g id="NAME">%1$s</xliff:g>(<xliff:g id="SERVICE">%2$s</xliff:g>) ተጠየቀ"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"አዎ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"አይ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"የሰርዝ ወሰን ከመጠን አልፏል"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> የተሰረዙ ንጥሎች ለ<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>፣ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> መለያ አሉ። ምን ማድረግ ትፈልጋለህ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ንጥሎቹን ሰርዝ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 1ed36a8..77692cf 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1541,6 +1541,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"مطلوب من <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"نعم"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"لا"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"تم تجاوز حد الحذف."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"هناك <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> من العناصر المحذوفة لـ <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>، في حساب <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. ماذا تريد أن تفعل؟"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"حذف العناصر"</string>
@@ -1733,7 +1739,7 @@
     <string name="done_accessibility_shortcut_menu_button" msgid="3668407723770815708">"تم"</string>
     <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"إيقاف الاختصار"</string>
     <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"استخدام الاختصار"</string>
-    <string name="color_inversion_feature_name" msgid="326050048927789012">"عكس الألوان"</string>
+    <string name="color_inversion_feature_name" msgid="326050048927789012">"قلب الألوان"</string>
     <string name="color_correction_feature_name" msgid="3655077237805422597">"تصحيح الألوان"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"تم الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت. تم تفعيل <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"تم الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت. تم إيقاف <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string>
@@ -1881,9 +1887,9 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"تم التحديث بواسطة المشرف"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"تم الحذف بواسطة المشرف"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"حسنًا"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"‏لإطالة عمر البطارية، \"توفير شحن البطارية\":\n·تفعيل \"التصميم الداكن\"\n إيقاف النشاط في الخلفية أو تقييده وأيضًا بعض التأثيرات المرئية والميزات الأخرى، مثلاً \"Ok Google\"\n\n"<annotation id="url">"مزيد من المعلومات"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"‏لإطالة عمر البطارية، \"توفير شحن البطارية\":\n·تفعيل \"التصميم الداكن\"\n إيقاف النشاط في الخلفية أو تقييده وأيضًا بعض التأثيرات المرئية والميزات الأخرى، مثلاً \"Ok Google\"."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"للمساعدة في خفض استخدام البيانات، تمنع ميزة \"توفير البيانات\" بعض التطبيقات من إرسال البيانات وتلقّيها في الخلفية. يمكن للتطبيق الذي تستخدمه الآن الوصول إلى البيانات، ولكن لا يمكنه تنفيذ ذلك كثيرًا. وهذا يعني أن الصور مثلاً لا تظهر حتى تنقر عليها."</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"‏لإطالة عمر البطارية، \"توفير شحن البطارية\":\n·تفعيل \"المظهر الداكن\"\n إيقاف النشاط في الخلفية وأيضًا بعض التأثيرات المرئية والميزات الأخرى، مثلاً \"Ok Google\" أو فرض قيود عليها\n\n"<annotation id="url">"مزيد من المعلومات"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"‏لإطالة عمر البطارية، \"توفير شحن البطارية\":\n·تفعيل \"المظهر الداكن\"\n إيقاف النشاط في الخلفية وأيضًا بعض التأثيرات المرئية والميزات الأخرى، مثلاً \"Ok Google\" أو فرض قيود عليها."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"للمساعدة في خفض استخدام البيانات، تمنع ميزة \"توفير البيانات\" بعض التطبيقات من إرسال البيانات وتلقّيها في الخلفية. يمكن للتطبيقات المتاحة لديك الآن استخدام البيانات، ولكن لا يمكنها الإكثار من ذلك. وهذا يعني أن الصور مثلاً لا تظهر حتى تنقر عليها."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"هل تريد تفعيل توفير البيانات؟"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"تفعيل"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
@@ -1987,12 +1993,12 @@
     <string name="close_button_text" msgid="10603510034455258">"إغلاق"</string>
     <string name="notification_messaging_title_template" msgid="772857526770251989">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
     <plurals name="selected_count" formatted="false" msgid="3946212171128200491">
-      <item quantity="zero">تم تحديد <xliff:g id="COUNT_1">%1$d</xliff:g> من العناصر</item>
-      <item quantity="two">تم تحديد عنصرين (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
-      <item quantity="few">تم تحديد <xliff:g id="COUNT_1">%1$d</xliff:g> عناصر</item>
-      <item quantity="many">تم تحديد <xliff:g id="COUNT_1">%1$d</xliff:g> عنصرًا</item>
-      <item quantity="other">تم تحديد <xliff:g id="COUNT_1">%1$d</xliff:g> من العناصر</item>
-      <item quantity="one">تم تحديد عنصر واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>)</item>
+      <item quantity="zero">تم اختيار <xliff:g id="COUNT_1">%1$d</xliff:g> عنصر</item>
+      <item quantity="two">تم اختيار عنصرين (<xliff:g id="COUNT_1">%1$d</xliff:g>)</item>
+      <item quantity="few">تم اختيار <xliff:g id="COUNT_1">%1$d</xliff:g> عناصر</item>
+      <item quantity="many">تم اختيار <xliff:g id="COUNT_1">%1$d</xliff:g> عنصرًا</item>
+      <item quantity="other">تم اختيار <xliff:g id="COUNT_1">%1$d</xliff:g> عنصر</item>
+      <item quantity="one">تم اختيار عنصر واحد (<xliff:g id="COUNT_0">%1$d</xliff:g>)</item>
     </plurals>
     <string name="default_notification_channel_label" msgid="3697928973567217330">"غير مصنفة"</string>
     <string name="importance_from_user" msgid="2782756722448800447">"لقد عيَّنت أهمية هذه الإشعارات."</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index dae9867..4b38c9b 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)এ অনুৰোধ কৰিছে"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"হয়"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"নহয়"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"মচি পেলোৱাৰ সীমা পাৰ হ’ল"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"এই <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ৰ মচি থোৱা <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> টা <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> বস্তু আছে। আপুনি কি কৰিব বিচাৰে?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"বস্তুবোৰ মচক"</string>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index 462ca3a..3fa7a7f 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) tərəfindən tələb edilib"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Bəli"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Xeyr"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limiti keçəni silin"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> üçün <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> silinmiş fayl var, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> hesabı. Nə etmək istəyirsiniz?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Elementləri sil"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Batareyanın ömrünü artırmaq üçün Enerjiyə Qənaət xüsusiyyəti:\n·Qaranlıq temanı aktiv edir\n·Arxa fondakı fəaliyyəti, bəzi vizual effektləri və “Hey Google” kimi digər xüsusiyyətləri deaktiv edir və ya məhdudlaşdırır\n\n"<annotation id="url">"Ətraflı məlumat"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Batareyanın ömrünü artırmaq üçün Enerjiyə Qənaət xüsusiyyəti:\n·Qaranlıq temanı aktiv edir\n·Arxa fondakı fəaliyyəti, bəzi vizual effektləri və “Hey Google” kimi digər xüsusiyyətləri deaktiv edir və ya məhdudlaşdırır"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Data istifadəsini azalatmaq üçün, Data Qanaəti bəzi tətbiqlərin arxafonda data göndərməsini və qəbulunun qarşısını alır. Hazırda istifadə etdiyiniz tətbiq dataya daxil ola bilər, lakin bunu tez-tez edə bilməz. Bu o deməkdir ki, məsələn, Siz üzərinə tıklamadıqca o şəkillər göstərilməyəcək."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Data istifadəsini azalatmaq üçün, Data Qanaəti bəzi tətbiqlərin arxafonda data göndərməsinin və qəbulunun qarşısını alır. Hazırda işlətdiyiniz tətbiq dataya daxil ola bilər, ancaq bunu tez-tez edə bilməz. Bu o deməkdir ki, məsələn, Siz üzərinə tıklamadıqca o şəkillər göstərilməyəcək."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Data Qənaəti aktiv edilsin?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Aktivləşdirin"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 8454589..9f9d293 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -1478,6 +1478,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Zahteva <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Da"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Premašeno je ograničenje za brisanje"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Postoje izbrisane stavke (<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>) za <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, nalog <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Šta želite da uradite?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Izbriši stavke"</string>
@@ -1815,7 +1821,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Radi dužeg trajanja baterije, ušteda baterije:\n·uključuje tamnu temu\n·isključuje ili ograničava aktivnosti u pozadini, neke vizuelne efekte i druge funkcije, na primer, „Ok Google“\n\n"<annotation id="url">"Saznajte više"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Radi dužeg trajanja baterije, ušteda baterije:\n·uključuje tamnu temu\n·isključuje ili ograničava aktivnosti u pozadini, neke vizuelne efekte i druge funkcije, na primer, „Ok Google“"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Da bi se smanjila potrošnja podataka, Ušteda podataka sprečava neke aplikacije da šalju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može da pristupa podacima, ali će to činiti ređe. Na primer, slike se neće prikazivati dok ih ne dodirnete."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Uključiti Uštedu podataka?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Želite da uključite Uštedu podataka?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Uključi"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">%1$d minut (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 9d3ca53..6ab96fd 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -20,9 +20,9 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="byteShort" msgid="202579285008794431">"б"</string>
+    <string name="byteShort" msgid="202579285008794431">"Б"</string>
     <string name="kilobyteShort" msgid="2214285521564195803">"КБ"</string>
-    <string name="megabyteShort" msgid="6649361267635823443">"Мб"</string>
+    <string name="megabyteShort" msgid="6649361267635823443">"МБ"</string>
     <string name="gigabyteShort" msgid="7515809460261287991">"ГБ"</string>
     <string name="terabyteShort" msgid="1822367128583886496">"Тб"</string>
     <string name="petabyteShort" msgid="5651571254228534832">"Пб"</string>
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Запыт ад карыстальнiка <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Так"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Не"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Выдаліць перавышаны ліміт"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Выдалена элементаў для тыпу сінхранiзацыi \"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>\": <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Уліковы запіс <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Што вы жадаеце зрабіць?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Выдаліць элементы."</string>
@@ -1603,7 +1609,7 @@
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Трансліраваць экран на прыладу"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"Пошук прылад..."</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Налады"</string>
-    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Адлучыць"</string>
+    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Адключыць"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"Сканiраванне..."</string>
     <string name="media_route_status_connecting" msgid="5845597961412010540">"Падключэнне..."</string>
     <string name="media_route_status_available" msgid="1477537663492007608">"Даступна"</string>
@@ -1837,7 +1843,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ОК"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Каб павялічыць тэрмін службы акумулятара, рэжым эканоміі зараду:\n·уключае цёмную тэму;\n·выключае ці абмяжоўвае дзеянні ў фонавым рэжыме, некаторыя візуальныя эфекты і іншыя функцыі, напрыклад \"Ok Google\"\n\n"<annotation id="url">"Даведацца больш"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Каб павялічыць тэрмін службы акумулятара, рэжым эканоміі зараду:\n·уключае цёмную тэму;\n·выключае ці абмяжоўвае дзеянні ў фонавым рэжыме, некаторыя візуальныя эфекты і іншыя функцыі, напрыклад \"Ok Google\""</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"У рэжыме Эканомія трафіка фонавая перадача для некаторых праграмам адключана. Праграма, якую вы зараз выкарыстоўваеце, можа атрымліваць доступ да даных, але радзей, чым звычайна. Напрыклад, відарысы могуць не загружацца, пакуль вы не націсніце на іх."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"У рэжыме \"Эканомія трафіка\" фонавая перадача для некаторых праграмам адключана. Праграма, якую вы зараз выкарыстоўваеце, можа атрымліваць доступ да даных, але радзей, чым звычайна. Напрыклад, відарысы могуць не загружацца, пакуль вы не націсніце на іх."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Уключыць Эканомію трафіка?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Уключыць"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index ff0838d..3fc07e9 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Заявено от <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Да"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Не"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Лимитът за изтриване бе надхвърлен"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Има <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> изтрити елемента за <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, профил <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Какво искате да направите?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Изтриване на елементите"</string>
@@ -1789,10 +1795,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Актуализирано от администратора ви"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Изтрито от администратора ви"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ОК"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"С цел удължаване на живота на батерията режимът за запазването й:\n·включва тъмната тема;\n·изключва или ограничава активността на заден план, някои визуални ефекти и други функции, като например „Ok Google“.\n\n"<annotation id="url">"Научете повече"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"С цел удължаване на живота на батерията режимът за запазването й:\n·включва тъмната тема;\n·изключва или ограничава активността на заден план, някои визуални ефекти и други функции, като например „Ok Google“."</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"С цел удължаване на живота на батерията режимът за запазването ѝ:\n·включва тъмната тема;\n·изключва или ограничава активността на заден план, някои визуални ефекти и други функции, като например „Ok Google“.\n\n"<annotation id="url">"Научете повече"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"С цел удължаване на живота на батерията режимът за запазването ѝ:\n·включва тъмната тема;\n·изключва или ограничава активността на заден план, някои визуални ефекти и други функции, като например „Ok Google“."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"С цел намаляване на преноса на данни функцията за икономия на данни не позволява на някои приложения да изпращат или получават данни на заден план. Понастоящем използвано от вас приложение може да използва данни, но по-рядко. Това например може да означава, че изображенията не се показват, докато не ги докоснете."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Ще вкл. ли Икономия на данни?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Ще вкл. ли „Икономия на данни“?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Включване"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">За %1$d минути (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index 4090e21..3ed3341 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) এর দ্বারা অনুরোধকৃত"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"হ্যাঁ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"না"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"মুছে ফেলার সীমা ছাড়িয়ে গেছে"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> অ্যাকাউন্টে <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> এর জন্য <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>টি মুছে ফেলা আইটেম রয়েছে৷ আপনি এগুলিকে নিয়ে কি করতে চান?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"আইটেমগুলি মুছুন"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"আপনার প্রশাসক মুছে দিয়েছেন"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ঠিক আছে"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ব্যাটারি আরও বেশিক্ষণ চালাতে, ব্যাটারি সেভার:\n·গাঢ় থিম চালু করে\n·ব্যাকগ্রাউন্ড অ্যাক্টিভিটি, কিছু ভিজ্যুয়াল এফেক্ট, এবং “হ্যালো Google”-এর মতো অন্যান্য ফিচার বন্ধ বা সীমাবদ্ধ করে\n\n"<annotation id="url">"আরও জানুন"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ব্যাটারি আরও বেশিক্ষণ চালাতে, ব্যাটারি সেভার:\n·গাঢ় থিম চালু করে\n·ব্যাকগ্রাউন্ড অ্যাক্টিভিটি, কিছু ভিজ্যুয়াল এফেক্ট, এবং “হ্যালো Google”-এর মতো অন্যান্য ফিচার বন্ধ বা সীমাবদ্ধ করে"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ব্যাটারি আরও বেশিক্ষণ চালাতে, ব্যাটারি সেভার:\n·গাঢ় থিম চালু করে\n·ব্যাকগ্রাউন্ড অ্যাক্টিভিটি, কিছু ভিজ্যুয়াল এফেক্ট এবং “হ্যালো Google”-এর মতো অন্যান্য ফিচার বন্ধ বা সীমাবদ্ধ করে"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"ডেটার ব্যবহার কমাতে সহায়তা করার জন্য, ডেটা সেভার ব্যাকগ্রাউন্ডে কিছু অ্যাপ্লিকেশনকে ডেটা পাঠাতে বা গ্রহণ করতে বাধা দেয়৷ আপনি বর্তমানে এমন একটি অ্যাপ্লিকেশন ব্যবহার করছেন যেটি ডেটা অ্যাক্সেস করতে পারে, তবে সেটি কমই করে৷ এর ফলে যা হতে পারে, উদাহরণস্বরূপ, আপনি ছবির উপর ট্যাপ না করা পর্যন্ত সেগুলি দেখানো হবে না৷"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"ডেটা সেভার চালু করবেন?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"চালু করুন"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index bd05452..937f899 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -293,7 +293,7 @@
     <string name="foreground_service_tap_for_details" msgid="9078123626015586751">"Dodirnite za detalje o potrošnji baterije i prijenosa podataka"</string>
     <string name="foreground_service_multiple_separator" msgid="5002287361849863168">"<xliff:g id="LEFT_SIDE">%1$s</xliff:g>, <xliff:g id="RIGHT_SIDE">%2$s</xliff:g>"</string>
     <string name="safeMode" msgid="8974401416068943888">"Siguran način rada"</string>
-    <string name="android_system_label" msgid="5974767339591067210">"Android sistem"</string>
+    <string name="android_system_label" msgid="5974767339591067210">"Sistem Android"</string>
     <string name="user_owner_label" msgid="8628726904184471211">"Pređite na lični profil"</string>
     <string name="managed_profile_label" msgid="7316778766973512382">"Pređite na radni profil"</string>
     <string name="permgrouplab_contacts" msgid="4254143639307316920">"Kontakti"</string>
@@ -1480,6 +1480,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Zahtjev uputio <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Da"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Granica za brisanje prekoračena"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Izbrisano je <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> stavki za <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, račun <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Šta želite uraditi?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Izbriši stavke"</string>
@@ -1815,8 +1821,8 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Izbrisao je vaš administrator"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Uredu"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Radi produženja vijeka trajanja baterije, Ušteda baterije:\n·Uključuje Tamnu temu\n·Isključuje ili ograničava aktivnosti u pozadini, određene vizuelne efekte i druge funkcije kao što je \"Hej Google\"\n\n"<annotation id="url">"Saznajte više"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Radi produženja vijeka trajanja baterije, Ušteda baterije:\n·Uključuje Tamnu temu\n·Isključuje ili ograničava aktivnosti u pozadini, određene vizuelne efekte i druge funkcije kao što je \"Hej Google\""</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Da bi se smanjio prijenos podataka, Ušteda podataka sprečava da neke aplikacije šalju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može pristupiti podacima, ali će to činiti rjeđe. To može značiti, naprimjer, da se slike ne prikazuju sve dok ih ne dodirnete."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Radi produženja vijeka trajanja baterije, Ušteda baterije:\n·Uključuje Tamnu temu\n·Isključuje ili ograničava aktivnosti u pozadini, određene vizuelne efekte i druge funkcije kao što je \"Ok Google\""</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Radi smanjenja prijenosa podataka, Ušteda podataka sprečava da neke aplikacije šalju ili primaju podatke u pozadini. Aplikacija koju trenutno koristite može pristupiti podacima, ali će to činiti rjeđe. Naprimjer, to može značiti da se slike ne prikazuju dok ih ne dodirnete."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Uključiti Uštedu podataka?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Uključi"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index a0e404a..d8960b8 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Sol·licitat per <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sí"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"S\'ha superat el límit de supressions"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Hi ha <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elements suprimits per a <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, compte <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Què vols fer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Suprimeix els elements"</string>
@@ -1645,8 +1651,8 @@
     <string name="done_accessibility_shortcut_menu_button" msgid="3668407723770815708">"Fet"</string>
     <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"Desactiva la drecera"</string>
     <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"Utilitza la drecera"</string>
-    <string name="color_inversion_feature_name" msgid="326050048927789012">"Inversió dels colors"</string>
-    <string name="color_correction_feature_name" msgid="3655077237805422597">"Correcció del color"</string>
+    <string name="color_inversion_feature_name" msgid="326050048927789012">"Inversió de colors"</string>
+    <string name="color_correction_feature_name" msgid="3655077237805422597">"Correcció de color"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"S\'han mantingut premudes les tecles de volum. S\'ha activat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"S\'han mantingut premudes les tecles de volum. S\'ha desactivat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string>
     <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Mantén premudes les dues tecles de volum durant 3 segons per fer servir <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
@@ -1789,8 +1795,8 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Actualitzat per l\'administrador"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Suprimit per l\'administrador"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"D\'acord"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Per allargar la durada de la bateria, el mode Estalvi de bateria fa el següent:\n Activa el tema fosc\n Desactiva o restringeix l\'activitat en segon pla, alguns efectes visuals i altres funcions com \"Ok Google\"\n\n"<annotation id="url">"Més informació"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Per allargar la durada de la bateria, el mode Estalvi de bateria fa el següent:\n Activa el tema fosc\n Desactiva o restringeix l\'activitat en segon pla, alguns efectes visuals i altres funcions com \"Ok Google\""</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Per allargar la durada de la bateria, el mode Estalvi de bateria:\n Activa el tema fosc\n Desactiva o restringeix l\'activitat en segon pla, alguns efectes visuals i altres funcions com \"Ok Google\"\n\n"<annotation id="url">"Més informació"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Per allargar la durada de la bateria, el mode Estalvi de bateria:\n Activa el tema fosc\n Desactiva o restringeix l\'activitat en segon pla, alguns efectes visuals i altres funcions com \"Ok Google\""</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Per reduir l\'ús de dades, la funció Economitzador de dades evita que determinades aplicacions enviïn o rebin dades en segon pla. L\'aplicació que estiguis fent servir podrà accedir a les dades, però menys sovint. Això vol dir, per exemple, que les imatges no es mostraran fins que no les toquis."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Activar Economitzador de dades?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Activa"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index f56b8b5..9fee46f 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Požadavek od uživatele <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ano"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Byl překročen limit mazání."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Počet smazaných položek pro <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> (účet <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>): <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Co chcete dělat?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Smazat položky."</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 6e9098b..fe4861a 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Anmodet om af <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ja"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nej"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Grænsen for sletning er overskredet"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Der er <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> slettede emner for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, konto <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Hvad vil du gøre?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Slet elementerne"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index bfb7b4d..02a047c 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Angefordert von <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"\"Ja\""</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nein"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Löschbegrenzung überschritten"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Es sind <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> gelöschte Elemente für <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, Konto <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>, vorhanden. Wie möchtest du fortfahren?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Elemente löschen"</string>
@@ -1788,10 +1794,10 @@
     <string name="package_installed_device_owner" msgid="7035926868974878525">"Von deinem Administrator installiert"</string>
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Von deinem Administrator aktualisiert"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Von deinem Administrator gelöscht"</string>
-    <string name="confirm_battery_saver" msgid="5247976246208245754">"Ok"</string>
+    <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Der Energiesparmodus sorgt für eine längere Akkulaufzeit:\n·Das dunkle Design wird aktiviert\n·Hintergrundaktivitäten, einige optische Effekte und weitere Funktionen wie \"Ok Google\" werden abgeschaltet oder eingeschränkt\n\n"<annotation id="url">"Weitere Informationen"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Der Energiesparmodus sorgt für eine längere Akkulaufzeit:\n Das dunkle Design wird aktiviert\n·Hintergrundaktivitäten, einige optische Effekte und weitere Funktionen wie \"Ok Google\" werden abgeschaltet oder eingeschränkt"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Der Datensparmodus verhindert zum einen, dass Apps im Hintergrund Daten senden oder empfangen, sodass weniger Daten verbraucht werden. Zum anderen werden die Datenzugriffe der gerade aktiven App eingeschränkt, was z. B. dazu führen kann, dass Bilder erst angetippt werden müssen, bevor sie sichtbar werden."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Der Energiesparmodus sorgt für eine längere Akkulaufzeit:\n·Das dunkle Design wird aktiviert\n·Hintergrundaktivitäten, einige optische Effekte und weitere Funktionen wie \"Ok Google\" werden abgeschaltet oder eingeschränkt"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Der Datensparmodus verhindert zum einen, dass manche Apps im Hintergrund Daten senden oder empfangen, sodass weniger Daten verbraucht werden. Zum anderen werden die Datenzugriffe der gerade aktiven App eingeschränkt, was z. B. dazu führen kann, dass Bilder erst angetippt werden müssen, bevor sie sichtbar werden."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Datensparmodus aktivieren?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Aktivieren"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 5fdbe9e..9687e6c 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -268,7 +268,7 @@
     <string name="status_bar_notification_info_overflow" msgid="3330152558746563475">"999+"</string>
     <string name="notification_hidden_text" msgid="2835519769868187223">"Νέα ειδοποίηση"</string>
     <string name="notification_channel_virtual_keyboard" msgid="6465975799223304567">"Εικονικό πληκτρολόγιο"</string>
-    <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"Φυσικό πληκτρολόγιο"</string>
+    <string name="notification_channel_physical_keyboard" msgid="5417306456125988096">"Κανονικό πληκτρολόγιο"</string>
     <string name="notification_channel_security" msgid="8516754650348238057">"Ασφάλεια"</string>
     <string name="notification_channel_car_mode" msgid="2123919247040988436">"Λειτουργία αυτοκινήτου"</string>
     <string name="notification_channel_account" msgid="6436294521740148173">"Κατάσταση λογαριασμού"</string>
@@ -1327,7 +1327,7 @@
     <string name="share_remote_bugreport_action" msgid="7630880678785123682">"ΚΟΙΝΟΠΟΙΗΣΗ"</string>
     <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"ΑΠΟΡΡΙΨΗ"</string>
     <string name="select_input_method" msgid="3971267998568587025">"Επιλογή μεθόδου εισόδου"</string>
-    <string name="show_ime" msgid="6406112007347443383">"Να παραμένει στην οθόνη όταν είναι ενεργό το φυσικό πληκτρολόγιο"</string>
+    <string name="show_ime" msgid="6406112007347443383">"Να παραμένει στην οθόνη όταν είναι ενεργό το κανονικό πληκτρολόγιο"</string>
     <string name="hardware" msgid="1800597768237606953">"Εμφάνιση εικονικού πληκτρολ."</string>
     <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Διαμόρφωση φυσικού πληκτρολογίου"</string>
     <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Πατήστε για να επιλέξετε γλώσσα και διάταξη"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Ζητήθηκε από <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ναι"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Όχι"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Έγινε υπέρβαση του ορίου διαγραφής"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Υπάρχουν <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> διαγραμμένα στοιχεία για τον συγχρονισμό <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, στον λογαριασμό <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Τι θέλετε να κάνετε;"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Διαγραφή των στοιχείων"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index ea121ef..0a564d7 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -1457,6 +1457,9 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Requested by <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yes"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <string name="gnss_nfw_notification_title" msgid="5004493772059563423">"Emergency location accessed"</string>
+    <string name="gnss_nfw_notification_message_oem" msgid="3683958907027107969">"Your device manufacturer accessed your location during a recent emergency session"</string>
+    <string name="gnss_nfw_notification_message_carrier" msgid="815888995791562151">"Your operator accessed your location during a recent emergency session"</string>
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Deletion limit exceeded"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"There are <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> deleted items for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. What do you want to do?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Delete the items"</string>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index a5bbb41..613c439 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -1457,6 +1457,9 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Requested by <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yes"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <string name="gnss_nfw_notification_title" msgid="5004493772059563423">"Emergency location accessed"</string>
+    <string name="gnss_nfw_notification_message_oem" msgid="3683958907027107969">"Your device manufacturer accessed your location during a recent emergency session"</string>
+    <string name="gnss_nfw_notification_message_carrier" msgid="815888995791562151">"Your operator accessed your location during a recent emergency session"</string>
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Deletion limit exceeded"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"There are <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> deleted items for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. What do you want to do?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Delete the items"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index ea121ef..0a564d7 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1457,6 +1457,9 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Requested by <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yes"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <string name="gnss_nfw_notification_title" msgid="5004493772059563423">"Emergency location accessed"</string>
+    <string name="gnss_nfw_notification_message_oem" msgid="3683958907027107969">"Your device manufacturer accessed your location during a recent emergency session"</string>
+    <string name="gnss_nfw_notification_message_carrier" msgid="815888995791562151">"Your operator accessed your location during a recent emergency session"</string>
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Deletion limit exceeded"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"There are <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> deleted items for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. What do you want to do?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Delete the items"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index ea121ef..0a564d7 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -1457,6 +1457,9 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Requested by <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yes"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <string name="gnss_nfw_notification_title" msgid="5004493772059563423">"Emergency location accessed"</string>
+    <string name="gnss_nfw_notification_message_oem" msgid="3683958907027107969">"Your device manufacturer accessed your location during a recent emergency session"</string>
+    <string name="gnss_nfw_notification_message_carrier" msgid="815888995791562151">"Your operator accessed your location during a recent emergency session"</string>
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Deletion limit exceeded"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"There are <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> deleted items for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. What do you want to do?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Delete the items"</string>
diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml
index 2777e0e..77d2f31 100644
--- a/core/res/res/values-en-rXC/strings.xml
+++ b/core/res/res/values-en-rXC/strings.xml
@@ -1457,6 +1457,9 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‎Requested by ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ (‎‏‎‎‏‏‎<xliff:g id="SERVICE">%2$s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎Yes‎‏‎‎‏‎"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎No‎‏‎‎‏‎"</string>
+    <string name="gnss_nfw_notification_title" msgid="5004493772059563423">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎Emergency location accessed‎‏‎‎‏‎"</string>
+    <string name="gnss_nfw_notification_message_oem" msgid="3683958907027107969">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎Your device manufacturer accessed your location during a recent emergency session‎‏‎‎‏‎"</string>
+    <string name="gnss_nfw_notification_message_carrier" msgid="815888995791562151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎Your carrier accessed your location during a recent emergency session‎‏‎‎‏‎"</string>
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎Delete limit exceeded‎‏‎‎‏‎"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎There are ‎‏‎‎‏‏‎<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>‎‏‎‎‏‏‏‎ deleted items for ‎‏‎‎‏‏‎<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>‎‏‎‎‏‏‏‎, account ‎‏‎‎‏‏‎<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>‎‏‎‎‏‏‏‎. What do you want to do?‎‏‎‎‏‎"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎Delete the items‎‏‎‎‏‎"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index cf58937..3bde4cb 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitado por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sí"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Eliminar el límite excedido"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Hay <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementos eliminados para <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> en la cuenta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. ¿Qué quieres hacer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Eliminar elementos"</string>
@@ -1790,9 +1796,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Tu administrador borró este paquete"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Aceptar"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Para extender la duración de batería, el Ahorro de batería hace lo siguiente:\n·Activa el Tema oscuro.\n·Desactiva o restringe la actividad en segundo plano, algunos efectos visuales y otras funciones, como \"Ok Google\".\n\n"<annotation id="url">"Más información"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Para extender la duración de batería, el Ahorro de batería hace lo siguiente:\n·Activa el Tema oscuro.\n·Desactiva o restringe la actividad en segundo plano, algunos efectos visuales y otras funciones, como \"Ok Google\"."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Para reducir el uso de datos, Ahorro de datos evita que algunas apps envíen y reciban datos en segundo plano. La app que estés usando podrá acceder a los datos, pero con menor frecuencia. De esta forma, por ejemplo, las imágenes no se mostrarán hasta que las presiones."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"¿Activar Ahorro de datos?"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Para extender la duración de batería, el modo Ahorro de batería hace lo siguiente:\n·Activa el Tema oscuro.\n·Desactiva o restringe la actividad en segundo plano, algunos efectos visuales y otras funciones como \"Ok Google\"."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Para reducir el uso de datos, el modo Ahorro de datos evita que algunas apps envíen y reciban datos en segundo plano. La app que estés usando podrá acceder a los datos, pero con menor frecuencia. De esta forma, por ejemplo, las imágenes no se mostrarán hasta que las presiones."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"¿Deseas activar Ahorro de datos?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Activar"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">Durante %1$d minutos hasta la(s) <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g></item>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index b57b692..87b0f79 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitud enviada por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sí"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Se ha superado el límite de eliminaciones."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Hay <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementos eliminados para <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> (cuenta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>). ¿Qué quieres hacer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Eliminar elementos"</string>
@@ -1654,7 +1660,7 @@
     <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar dos dedos hacia arriba desde la parte inferior de la pantalla):"</string>
     <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string>
     <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"Para cambiar de una función a otra, mantén pulsado el botón Accesibilidad."</string>
-    <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"Para cambiar de una función a otra, desliza dos dedos hacia arriba y mantén pulsada la pantalla."</string>
+    <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"Para cambiar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
     <string name="accessibility_gesture_3finger_instructional_text" msgid="3425123684990193765">"Para cambiar de una función a otra, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1502075582164931596">"Ampliar"</string>
     <string name="user_switched" msgid="7249833311585228097">"Usuario actual: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -1791,8 +1797,8 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Aceptar"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Para que la batería dure más, el modo Ahorro de batería:\n· Activa el tema oscuro\n· Desactiva o restringe actividad en segundo plano, algunos efectos visuales y otras funciones como \"Ok Google\"\n\n"<annotation id="url">"Más información"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Para que la batería dure más, el modo Ahorro de batería:\n· Activa el tema oscuro\n· Desactiva o restringe actividad en segundo plano, algunos efectos visuales y otras funciones como \"Ok Google\""</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"El ahorro de datos evita que algunas aplicaciones envíen o reciban datos en segundo plano, lo que permite reducir el uso de datos. Una aplicación activa podrá acceder a los datos, aunque con menos frecuencia. Esto significa que es posible que, por ejemplo, algunas imágenes no se muestren hasta que las toques."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"¿Activar ahorro de datos?"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"El modo Ahorro de datos evita que algunas aplicaciones envíen o reciban datos en segundo plano, lo que puede reducir el uso de datos. Una aplicación activa puede acceder a los datos, aunque con menos frecuencia. Esto significa que es posible que, por ejemplo, algunas imágenes no se muestren hasta que las toques."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"¿Activar Ahorro de datos?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Activar"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">Durante %1$d minutos (hasta las <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1901,7 +1907,7 @@
     <string name="pin_specific_target" msgid="7824671240625957415">"Fijar <xliff:g id="LABEL">%1$s</xliff:g>"</string>
     <string name="unpin_target" msgid="3963318576590204447">"No fijar"</string>
     <string name="unpin_specific_target" msgid="3859828252160908146">"No fijar <xliff:g id="LABEL">%1$s</xliff:g>"</string>
-    <string name="app_info" msgid="6113278084877079851">"Acerca de la aplicación"</string>
+    <string name="app_info" msgid="6113278084877079851">"Información de la aplicación"</string>
     <string name="negative_duration" msgid="1938335096972945232">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="demo_starting_message" msgid="6577581216125805905">"Iniciando demostración…"</string>
     <string name="demo_restarting_message" msgid="1160053183701746766">"Restableciendo dispositivo…"</string>
@@ -1996,7 +2002,7 @@
     <string name="notification_appops_overlay_active" msgid="5571732753262836481">"se muestra sobre otras aplicaciones que haya en la pantalla"</string>
     <string name="dynamic_mode_notification_channel_name" msgid="2986926422100223328">"Notificación sobre el modo rutina"</string>
     <string name="dynamic_mode_notification_title" msgid="9205715501274608016">"Es posible que te quedes sin batería antes de lo habitual"</string>
-    <string name="dynamic_mode_notification_summary" msgid="4141614604437372157">"Se ha activado el ahorro de batería para aumentar la duración de la batería"</string>
+    <string name="dynamic_mode_notification_summary" msgid="4141614604437372157">"Se ha activado el modo Ahorro de batería para aumentar la duración de la batería"</string>
     <string name="battery_saver_notification_channel_name" msgid="3918243458067916913">"Ahorro de batería"</string>
     <string name="battery_saver_off_notification_title" msgid="7637255960468032515">"Ahorro de batería desactivado"</string>
     <string name="battery_saver_charged_notification_summary" product="default" msgid="5544457317418624367">"El teléfono tiene suficiente batería. Las funciones ya no están restringidas."</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index 070fd79f..3de520e 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Taotleja: <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Jah"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ei"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Kustutamiste piirarv on ületatud"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Kustutatavad üksused kontol <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> sünkroonimistüübi <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> jaoks: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Mida soovite teha?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Kustuta üksused"</string>
@@ -1792,7 +1798,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Aku tööea pikendamiseks teeb akusäästja järgmist.\n·Lülitab sisse tumeda teema.\n·Lülitab välja taustategevused, mõned visuaalsed efektid ja muud funktsioonid (nt „Hei Google”) või piirab neid.\n\n"<annotation id="url">"Lisateave"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Aku tööea pikendamiseks teeb akusäästja järgmist.\n·Lülitab sisse tumeda teema.\n·Lülitab välja taustategevused, mõned visuaalsed efektid ja muud funktsioonid (nt „Hei Google”) või piirab neid."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Andmekasutuse vähendamiseks keelab andmemahu säästja mõne rakenduse puhul andmete taustal saatmise ja vastuvõtmise. Rakendus, mida praegu kasutate, pääseb andmesidele juurde, kuid võib seda teha väiksema sagedusega. Seetõttu võidakse näiteks pildid kuvada alles siis, kui neid puudutate."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Lül. andmemahu säästja sisse?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Lülitada andmemahu säästja sisse?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Lülita sisse"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d minutiks (kuni <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index c5922e1..34117aa 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -297,7 +297,7 @@
     <string name="permgroupdesc_contacts" msgid="9163927941244182567">"atzitu kontaktuak"</string>
     <string name="permgrouplab_location" msgid="1858277002233964394">"Kokapena"</string>
     <string name="permgroupdesc_location" msgid="1995955142118450685">"atzitu gailuaren kokapena"</string>
-    <string name="permgrouplab_calendar" msgid="6426860926123033230">"Egutegia"</string>
+    <string name="permgrouplab_calendar" msgid="6426860926123033230">"Calendar"</string>
     <string name="permgroupdesc_calendar" msgid="6762751063361489379">"atzitu egutegia"</string>
     <string name="permgrouplab_sms" msgid="795737735126084874">"SMS mezuak"</string>
     <string name="permgroupdesc_sms" msgid="5726462398070064542">"bidali eta ikusi SMS mezuak"</string>
@@ -481,7 +481,7 @@
     <string name="permdesc_setTimeZone" product="tv" msgid="9069045914174455938">"Android TV gailuaren ordu-zona aldatzeko baimena ematen die aplikazioei."</string>
     <string name="permdesc_setTimeZone" product="default" msgid="4611828585759488256">"Telefonoaren ordu-zona aldatzeko baimena ematen die aplikazioei."</string>
     <string name="permlab_getAccounts" msgid="5304317160463582791">"bilatu gailuko kontuak"</string>
-    <string name="permdesc_getAccounts" product="tablet" msgid="1784452755887604512">"Tabletak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Instalatuta dituzun aplikazioek sortutako kontuak har daitezke barnean."</string>
+    <string name="permdesc_getAccounts" product="tablet" msgid="1784452755887604512">"Tabletak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Instalatuta dauzkazun aplikazioek sortutako kontuak har daitezke barnean."</string>
     <string name="permdesc_getAccounts" product="tv" msgid="437604680436540822">"Android TV gailuak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Kontu horien artean, instalatuta dituzun aplikazioek sortutako kontuak egon litezke."</string>
     <string name="permdesc_getAccounts" product="default" msgid="2491273043569751867">"Telefonoak ezagutzen dituen kontuen zerrenda lortzeko baimena ematen die aplikazioei. Instalatuta dituzun aplikazioek sortutako kontuak har daitezke barnean."</string>
     <string name="permlab_accessNetworkState" msgid="2349126720783633918">"ikusi sareko konexioak"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> erabiltzaileak eskatuta (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Bai"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ez"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Ezabatze-muga gainditu da"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Ezabatutako <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementu daude <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> sinkronizazioan, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> kontuan. Zer egin nahi duzu?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Ezabatu elementuak"</string>
@@ -1789,10 +1795,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Administratzaileak eguneratu du"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Administratzaileak ezabatu du"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Ados"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Bateriaren iraupena luzatzeko, erabili Bateria-aurrezlea:\n·Gai iluna aktibatzen du\n Desaktibatu edo murriztu egiten ditu atzeko planoko jarduerak, zenbait efektu bisual eta beste eginbide batzuk, hala nola \"Ok Google\"\n\n"<annotation id="url">"Lortu informazio gehiago"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Bateriaren iraupena luzatzeko, erabili Bateria-aurrezlea:\n·Gai iluna aktibatzen du\n Desaktibatu edo murriztu egiten ditu atzeko planoko jarduerak, zenbait efektu bisual eta beste eginbide batzuk, hala nola \"Ok Google\""</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Datuen erabilera murrizteko, atzeko planoan datuak bidaltzea eta jasotzea galarazten die datu-aurrezleak aplikazio batzuei. Unean erabiltzen ari zaren aplikazioak atzitu egin ahal izango ditu datuak, baina baliteke maiztasun txikiagoarekin atzitzea. Horrela, adibidez, baliteke irudiak ez erakustea haiek sakatu arte."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Datu-aurrezlea aktibatu?"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Bateriaren iraupena luzatzeko, erabili bateria-aurrezlea:\n·Gai iluna aktibatzen du\n Desaktibatu edo murriztu egiten ditu atzeko planoko jarduerak, zenbait efektu bisual eta beste eginbide batzuk, hala nola \"Ok Google\"\n\n"<annotation id="url">"Lortu informazio gehiago"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Bateriaren iraupena luzatzeko, erabili bateria-aurrezlea:\n·Gai iluna aktibatzen du\n Desaktibatu edo murriztu egiten ditu atzeko planoko jarduerak, zenbait efektu bisual eta beste eginbide batzuk, hala nola \"Ok Google\""</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Datuen erabilera murrizteko, atzeko planoan datuak bidaltzea eta jasotzea galarazten die datu-aurrezleak aplikazio batzuei. Une honetan erabiltzen ari zaren aplikazioak atzitu egin ahal izango ditu datuak, baina baliteke maiztasun txikiagoarekin atzitzea. Horrela, adibidez, baliteke irudiak ez erakustea haiek sakatu arte."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Datu-aurrezlea aktibatu nahi duzu?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Aktibatu"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d minutuz (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> arte)</item>
@@ -1872,7 +1878,7 @@
     <string name="notification_history_title_placeholder" msgid="7748630986182249599">"Aplikazio-jakinarazpen pertsonalizatua"</string>
     <string name="user_creation_account_exists" msgid="2239146360099708035">"<xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzeko baimena eman nahi diozu <xliff:g id="APP">%1$s</xliff:g> aplikazioari? (Badago kontu hori duen erabiltzaile bat)"</string>
     <string name="user_creation_adding" msgid="7305185499667958364">"<xliff:g id="ACCOUNT">%2$s</xliff:g> kontua duen erabiltzailea sortzeko baimena eman nahi diozu <xliff:g id="APP">%1$s</xliff:g> aplikazioari?"</string>
-    <string name="language_selection_title" msgid="52674936078683285">"Gehitu hizkuntza"</string>
+    <string name="language_selection_title" msgid="52674936078683285">"Gehitu hizkuntza bat"</string>
     <string name="country_selection_title" msgid="5221495687299014379">"Lurralde-hobespena"</string>
     <string name="search_language_hint" msgid="7004225294308793583">"Adierazi hizkuntza"</string>
     <string name="language_picker_section_suggested" msgid="6556199184638990447">"Iradokitakoak"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index e25dc34..5b56437 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -242,16 +242,16 @@
     <string name="global_action_emergency" msgid="1387617624177105088">"اضطراری"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"گزارش اشکال"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"پایان جلسه"</string>
-    <string name="global_action_screenshot" msgid="2610053466156478564">"عکس صفحه‌نمایش"</string>
+    <string name="global_action_screenshot" msgid="2610053466156478564">"نماگرفت"</string>
     <string name="bugreport_title" msgid="8549990811777373050">"گزارش اشکال"</string>
     <string name="bugreport_message" msgid="5212529146119624326">"این گزارش اطلاعات مربوط به وضعیت دستگاه کنونی شما را جمع‌آوری می‌کند تا به‌صورت پیام ایمیل ارسال شود. از زمان شروع گزارش اشکال تا آماده شدن برای ارسال اندکی زمان می‌برد؛ لطفاً کمی صبر کنید."</string>
     <string name="bugreport_option_interactive_title" msgid="7968287837902871289">"گزارش تعاملی"</string>
     <string name="bugreport_option_interactive_summary" msgid="8493795476325339542">"در بیشتر شرایط از این گزینه استفاده کنید. به شما امکان ردیابی پیشرفت گزارش و وارد کردن جزئیات بیشتری درباره مشکل را می‌دهد. ممکن است برخی از بخش‌هایی را که کمتر استفاده شده و باعث افزایش طول زمان گزارش می‌شود حذف کند."</string>
     <string name="bugreport_option_full_title" msgid="7681035745950045690">"گزارش کامل"</string>
-    <string name="bugreport_option_full_summary" msgid="1975130009258435885">"از این گزینه برای به‌حداقل رساندن تداخل سیستم هنگام پاسخ‌گو نبودن یا کند بودن دستگاه یا هنگام نیازداشتن به همه بخش‌های گزارش استفاده کنید. عکس صفحه‌نمایش دیگری نمی‌گیرد یا امکان وارد کردن جزئیات بیشتری به شما نمی‌دهد."</string>
+    <string name="bugreport_option_full_summary" msgid="1975130009258435885">"از این گزینه برای به‌حداقل رساندن تداخل سیستم هنگام پاسخ‌گو نبودن یا کند بودن دستگاه یا هنگام نیازداشتن به همه بخش‌های گزارش استفاده کنید. نماگرفت دیگری نمی‌گیرد یا امکان وارد کردن جزئیات بیشتری به شما نمی‌دهد."</string>
     <plurals name="bugreport_countdown" formatted="false" msgid="3906120379260059206">
-      <item quantity="one">تا <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دیگر عکس صفحه‌نمایش برای گزارش اشکال گرفته می‌شود.</item>
-      <item quantity="other">تا <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دیگر عکس صفحه‌نمایش برای گزارش اشکال گرفته می‌شود.</item>
+      <item quantity="one">تا <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دیگر نماگرفت برای گزارش اشکال گرفته می‌شود.</item>
+      <item quantity="other">تا <xliff:g id="NUMBER_1">%d</xliff:g> ثانیه دیگر نماگرفت برای گزارش اشکال گرفته می‌شود.</item>
     </plurals>
     <string name="bugreport_screenshot_success_toast" msgid="7986095104151473745">"نماگرفت با گزارش اشکال گرفته شد"</string>
     <string name="bugreport_screenshot_failure_toast" msgid="6736320861311294294">"نماگرفت با گزارش اشکال گرفته نشد"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"درخواست‌کننده <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"بله"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"نه"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"از حد مجاز حذف فراتر رفت"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"‏<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> مورد حذف‌شده برای <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>، حساب <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> وجود دارد. می‎خواهید چه کار بکنید؟"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"حذف موارد"</string>
@@ -1556,10 +1562,10 @@
     <string name="default_audio_route_category_name" msgid="5241740395748134483">"سیستم"</string>
     <string name="bluetooth_a2dp_audio_route_name" msgid="4214648773120426288">"بلوتوث‌های صوتی"</string>
     <string name="wireless_display_route_description" msgid="8297563323032966831">"صفحه نمایش بی‌سیم"</string>
-    <string name="media_route_button_content_description" msgid="2299223698196869956">"فرستادن"</string>
+    <string name="media_route_button_content_description" msgid="2299223698196869956">"ارسال محتوا"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"برقراری ارتباط با دستگاه"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"فرستادن صفحه نمایش به دستگاه"</string>
-    <string name="media_route_chooser_searching" msgid="6119673534251329535">"در حال جستجو برای دستگاه‌ها..."</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"فرستادن محتوای صفحه به دستگاه"</string>
+    <string name="media_route_chooser_searching" msgid="6119673534251329535">"درحال جستجوی دستگاه‌ها…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"تنظیمات"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"قطع ارتباط"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"در حال اسکن کردن…"</string>
@@ -1791,8 +1797,8 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"تأیید"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"‏برای افزایش عمر باتری، «بهینه‌سازی باتری»:\n «طرح زمینه تیره» را روشن می‌کند\n فعالیت پس‌زمینه، برخی جلوه‌های بصری، و دیگر ویژگی‌ها مانند «Ok Google» را خاموش یا محدود می‌کند\n\n"<annotation id="url">"بیشتر بدانید"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"‏برای افزایش عمر باتری، «بهینه‌سازی باتری»:\n «طرح زمینه تیره» را روشن می‌کند\n فعالیت پس‌زمینه، برخی جلوه‌های بصری، و دیگر ویژگی‌ها مانند «Ok Google» را خاموش یا محدود می‌کند"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"برای کمک به کاهش مصرف داده، «صرفه‌جویی داده» از ارسال و دریافت داده در پس‌زمینه ازطرف بعضی برنامه‌ها جلوگیری می‌کند. برنامه‌ای که درحال‌حاضر استفاده می‌کنید می‌تواند به داده‌ها دسترسی داشته باشد اما دفعات دسترسی آن محدود است.این یعنی، برای مثال، تصاویر تا زمانی که روی آن‌ها ضربه نزنید نشان داده نمی‌شوند."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"صرفه‌جویی داده روشن شود؟"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"«صرفه‌جویی داده»، برای کمک به کاهش مصرف داده، از ارسال و دریافت داده در پس‌زمینه ازطرف بعضی برنامه‌ها جلوگیری می‌کند. برنامه‌ای که درحال‌حاضر استفاده می‌کنید می‌تواند به داده‌ها دسترسی داشته باشد اما دفعات دسترسی آن محدود است.این یعنی، برای مثال، تصاویر تازمانی‌که روی آن‌ها ضربه نزنید نشان داده نمی‌شوند."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"«صرفه‌جویی داده» روشن شود؟"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"روشن کردن"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">‏به مدت %1$d دقیقه (تا <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -2037,7 +2043,7 @@
     <string name="accessibility_system_action_power_dialog_label" msgid="8095341821683910781">"کادر گفتگوی روشن/خاموش"</string>
     <string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"تغییر وضعیت صفحهٔ دونیمه"</string>
     <string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"صفحه قفل"</string>
-    <string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"عکس صفحه‌نمایش"</string>
+    <string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"نماگرفت"</string>
     <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"منوی دسترس‌پذیری"</string>
     <string name="accessibility_freeform_caption" msgid="8377519323496290122">"نوار شرح <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
     <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> در سطل «محدودشده» قرار گرفت"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 315f7ea..77c0f0c 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -1327,7 +1327,7 @@
     <string name="share_remote_bugreport_action" msgid="7630880678785123682">"JAA"</string>
     <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"HYLKÄÄ"</string>
     <string name="select_input_method" msgid="3971267998568587025">"Valitse syöttötapa"</string>
-    <string name="show_ime" msgid="6406112007347443383">"Pidä näytöllä, kun fyysinen näppäimistö on aktiivinen."</string>
+    <string name="show_ime" msgid="6406112007347443383">"Pidä näytöllä, kun fyysinen näppäimistö on aktiivinen"</string>
     <string name="hardware" msgid="1800597768237606953">"Näytä virtuaalinen näppäimistö"</string>
     <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Määritä fyysinen näppäimistö"</string>
     <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Valitse kieli ja asettelu koskettamalla."</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Pyytänyt <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Kyllä"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ei"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Poistoraja ylittynyt"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Tilin <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> synkronointityypissä <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> on <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> poistettua kohdetta. Mitä tehdään?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Poista kohteet"</string>
@@ -1909,7 +1915,7 @@
     <string name="conference_call" msgid="5731633152336490471">"Puhelinneuvottelu"</string>
     <string name="tooltip_popup_title" msgid="7863719020269945722">"Työkaluvinkki"</string>
     <string name="app_category_game" msgid="4534216074910244790">"Pelit"</string>
-    <string name="app_category_audio" msgid="8296029904794676222">"Musiikki ja audio"</string>
+    <string name="app_category_audio" msgid="8296029904794676222">"Musiikki ja ääni"</string>
     <string name="app_category_video" msgid="2590183854839565814">"Elokuvat ja videot"</string>
     <string name="app_category_image" msgid="7307840291864213007">"Kuvat ja valokuvat"</string>
     <string name="app_category_social" msgid="2278269325488344054">"Some ja viestintä"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 6198d0e..2b3b555 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Demande de <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Oui"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Non"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Le nombre maximal de suppressions a été atteint."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> éléments vont être supprimés lors de la synchronisation <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> pour le compte <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Voulez-vous continuer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Supprimer les éléments"</string>
@@ -1789,10 +1795,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Mise à jour par votre administrateur"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Supprimé par votre administrateur"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Pour prolonger l\'autonomie de la pile, l\'économiseur de pile effectue les actions suivantes :\n·Activer le thème sombre\n·Désactiver ou limiter l\'activité en arrière-plan, certains effets visuels et d\'autres fonctionnalités, comme « Hey Google »\n\n"<annotation id="url">"En savoir plus"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Pour prolonger l\'autonomie de la pile, l\'économiseur de pile effectue les actions suivantes :\n·Activer le thème sombre\n·Désactiver ou limiter l\'activité en arrière-plan, certains effets visuels et d\'autres fonctionnalités, comme « Hey Google »"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Pour aider à diminuer l\'utilisation des données, la fonction Économiseur de données empêche certaines applications d\'envoyer ou de recevoir des données en arrière-plan. Une application que vous utilisez actuellement peut accéder à des données, mais peut le faire moins souvent. Cela peut signifier, par exemple, que les images ne s\'affichent pas jusqu\'à ce que vous les touchiez."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Activer l\'Économiseur de données?"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Pour prolonger l\'autonomie de la pile, l\'économiseur de pile effectue les actions suivantes :\n·Activer le thème sombre\n·Désactiver ou limiter l\'activité en arrière-plan, certains effets visuels et d\'autres fonctionnalités, comme « Ok Google »\n\n"<annotation id="url">"En savoir plus"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Pour prolonger l\'autonomie de la pile, l\'économiseur de pile effectue les actions suivantes :\n·Active le thème sombre\n·Désactive ou limite l\'activité en arrière-plan, certains effets visuels et d\'autres fonctionnalités, comme « Ok Google »"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Pour aider à diminuer l\'utilisation des données, la fonctionnalité Économiseur de données empêche certaines applications d\'envoyer ou de recevoir des données en arrière-plan. Une application que vous utilisez actuellement peut accéder à des données, mais peut le faire moins souvent. Cela peut signifier, par exemple, que les images ne s\'affichent pas jusqu\'à ce que vous les touchiez."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Activer l\'économiseur de données?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Activer"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">Pendant %1$d minute (jusqu\'à <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 3708d3a..f540953 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -242,7 +242,7 @@
     <string name="global_action_emergency" msgid="1387617624177105088">"Urgences"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"Rapport de bug"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"Fermer la session"</string>
-    <string name="global_action_screenshot" msgid="2610053466156478564">"Capture"</string>
+    <string name="global_action_screenshot" msgid="2610053466156478564">"Capture d\'écran"</string>
     <string name="bugreport_title" msgid="8549990811777373050">"Rapport de bug"</string>
     <string name="bugreport_message" msgid="5212529146119624326">"Cela permet de recueillir des informations concernant l\'état actuel de votre appareil. Ces informations sont ensuite envoyées sous forme d\'e-mail. Merci de patienter pendant la préparation du rapport de bug. Cette opération peut prendre quelques instants."</string>
     <string name="bugreport_option_interactive_title" msgid="7968287837902871289">"Rapport interactif"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Demande de <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Oui"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Non"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Le nombre maximal de suppressions a été atteint."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> éléments vont être supprimés lors de la synchronisation <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> pour le compte <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Que voulez-vous faire ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Supprimer les éléments"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index 7f621ca..714bb7c 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitado por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Si"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Non"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Superouse o límite de elementos eliminados"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Hai <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementos eliminados de <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, conta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Que queres facer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Eliminar os elementos"</string>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index fa88ebc..191bf18 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) દ્વારા વિનંતી કરાઈ"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"હા"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"નહીં"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"કાઢી નાખવાની સીમા ઓળંગાઈ"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, એકાઉન્ટ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> માટે <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> કાઢી નાખેલ આઇટમ્સ છે. તમે શું કરવા માગો છો?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"આઇટમ્સ કાઢી નાખો"</string>
@@ -1558,8 +1564,8 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"વાયરલેસ ડિસ્પ્લે"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"કાસ્ટ કરો"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"ઉપકરણ સાથે કનેક્ટ કરો"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ઉપકરણ પર સ્ક્રીન કાસ્ટ કરો"</string>
-    <string name="media_route_chooser_searching" msgid="6119673534251329535">"ઉપકરણો માટે શોધી રહ્યું છે…"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ડિવાઇસ પર સ્ક્રીન કાસ્ટ કરો"</string>
+    <string name="media_route_chooser_searching" msgid="6119673534251329535">"ડિવાઇસ શોધી રહ્યું છે…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"સેટિંગ"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ડિસ્કનેક્ટ કરો"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"સ્કેન કરી રહ્યું છે..."</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ઓકે"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"બૅટરીની આવરદા વધારવા માટે, બૅટરી સેવર:\n·ઘેરી થીમ ચાલુ કરે છે\n·બૅકગ્રાઉન્ડ પ્રવૃત્તિ, અમુક વિઝ્યુઅલ ઇફેક્ટ અને “હેય Google” જેવી અન્ય સુવિધાઓ બંધ અથવા પ્રતિબંધિત કરે છે\n\n"<annotation id="url">"વધુ જાણો"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"બૅટરીની આવરદા વધારવા માટે, બૅટરી સેવર:\n·ઘેરી થીમ ચાલુ કરે છે\n·બૅકગ્રાઉન્ડ પ્રવૃત્તિ, અમુક વિઝ્યુઅલ ઇફેક્ટ અને “હેય Google” જેવી અન્ય સુવિધાઓ બંધ અથવા પ્રતિબંધિત કરે છે"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"ડેટા વપરાશને ઘટાડવામાં સહાય માટે, ડેટા સેવર કેટલીક ઍપ્લિકેશનોને પૃષ્ઠભૂમિમાં ડેટા મોકલવા અથવા પ્રાપ્ત કરવાથી અટકાવે છે. તમે હાલમાં ઉપયોગ કરી રહ્યાં છો તે ઍપ્લિકેશન ડેટાને ઍક્સેસ કરી શકે છે, પરંતુ તે આ ક્યારેક જ કરી શકે છે. આનો અર્થ એ હોઈ શકે છે, ઉદાહરણ તરીકે, છબીઓ ત્યાં સુધી પ્રદર્શિત થશે નહીં જ્યાં સુધી તમે તેને ટૅપ નહીં કરો."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"ડેટા વપરાશને ઘટાડવામાં સહાય માટે, ડેટા સેવર કેટલીક ઍપને બૅકગ્રાઉન્ડમાં ડેટા મોકલવા અથવા પ્રાપ્ત કરવાથી અટકાવે છે. તમે હાલમાં ઉપયોગ કરી રહ્યાં છો તે ઍપ ડેટાને ઍક્સેસ કરી શકે છે, પરંતુ તે આ ક્યારેક જ કરી શકે છે. આનો અર્થ એ હોઈ શકે છે, ઉદાહરણ તરીકે, છબીઓ ત્યાં સુધી પ્રદર્શિત થશે નહીં જ્યાં સુધી તમે તેને ટૅપ નહીં કરો."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"ડેટા સેવર ચાલુ કરીએ?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ચાલુ કરો"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
@@ -1909,7 +1915,7 @@
     <string name="conference_call" msgid="5731633152336490471">"કોન્ફરન્સ કૉલ"</string>
     <string name="tooltip_popup_title" msgid="7863719020269945722">"ટૂલટિપ"</string>
     <string name="app_category_game" msgid="4534216074910244790">"રમતો"</string>
-    <string name="app_category_audio" msgid="8296029904794676222">"સંગીત અને ઑડિઓ"</string>
+    <string name="app_category_audio" msgid="8296029904794676222">"સંગીત અને ઑડિયો"</string>
     <string name="app_category_video" msgid="2590183854839565814">"મૂવી અને વીડિઓ"</string>
     <string name="app_category_image" msgid="7307840291864213007">"ફોટો અને છબીઓ"</string>
     <string name="app_category_social" msgid="2278269325488344054">"સામાજિક અને સંચાર"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index ca9ad67..a52d564 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) द्वारा अनुरोधित"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"हां"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"नहीं"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"हटाने की सीमा पार हो गई"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> खाते के <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> आइटम हटा दिए गए हैं. आप क्‍या करना चाहते हैं?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"आइटम मिटाएं"</string>
@@ -1790,8 +1796,8 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"आपके व्यवस्थापक ने हटा दिया है"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ठीक है"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"बैटरी लाइफ़ बढ़ाने के लिए बैटरी सेवर:\n·गहरे रंग वाली थीम चालू करता है\n·बैकग्राउंड की गतिविधि, कुछ विज़ुअल इफ़ेक्ट, और \"Hey Google\" जैसी दूसरी सुविधाएं इस्तेमाल करने से रोकता है या बंद करता है\n\n"<annotation id="url">"ज़्यादा जानें"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"बैटरी लाइफ़ बढ़ाने के लिए, बैटरी सेवर:\n गहरे रंग वाली थीम चालू करता है\nबैकग्राउंड की गतिविधि, कुछ विज़ुअल इफ़ेक्ट, और \"Hey Google\" जैसी दूसरी सुविधाएं इस्तेमाल करने से रोकता है या बंद करता है"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"डेटा खर्च, कम करने के लिए डेटा सेवर कुछ ऐप्लिकेशन को बैकग्राउंड में डेटा भेजने या डेटा पाने से रोकता है. आप फ़िलहाल जिस ऐप्लिकेशन का इस्तेमाल कर रहे हैं वह डेटा तक पहुंच सकता है लेकिन ऐसा कभी-कभी ही हो पाएगा. उदाहरण के लिए, इमेज तब तक दिखाई नहीं देंगी जब तक कि आप उन्हें टैप नहीं करते."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"बैटरी लाइफ़ बढ़ाने के लिए, बैटरी सेवर:\n गहरे रंग वाली थीम चालू करता है\nबैकग्राउंड की गतिविधि, कुछ विज़ुअल इफ़ेक्ट, और \"Hey Google\" जैसी दूसरी सुविधाओं को रोकता या बंद करता है"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"डेटा खर्च को कम करने के लिए, डेटा सेवर कुछ ऐप्लिकेशन को बैकग्राउंड में डेटा भेजने या डेटा पाने से रोकता है. फ़िलहाल, आप जिस ऐप्लिकेशन का इस्तेमाल कर रहे हैं वह डेटा ऐक्सेस कर सकता है, लेकिन ऐसा कभी-कभी ही हो पाएगा. उदाहरण के लिए, इमेज तब तक दिखाई नहीं देंगी जब तक कि आप उन पर टैप नहीं करते."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा बचाने की सेटिंग चालू करें?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"चालू करें"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 4dab599..f6cb875 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1478,6 +1478,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Zatražio <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Da"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Prekoračeno je ograničenje za brisanje"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Postoji sljedeći broj izbrisanih stavki: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> za vrstu sinkronizacije <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> i račun <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Što želite učiniti?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Izbriši ove stavke"</string>
@@ -1813,9 +1819,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Izbrisao administrator"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"U redu"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Da bi se produljilo trajanje baterije, Štednja baterije:\n·Uključuje Tamnu temu.\n·Isključuje ili ograničava aktivnosti u pozadini, neke vizualne efekte i druge značajke kao što je \"Hey Google\".\n\n"<annotation id="url">"Saznajte više"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Da bi se produljilo trajanje baterije, Štednja baterije:\n·Uključuje Tamnu temu.\n·Isključuje ili ograničava aktivnosti u pozadini, neke vizualne efekte i druge značajke kao što je \"Hey Google\"."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Da bi se produljilo trajanje baterije, Štednja baterije:\n·uključuje Tamnu temu\n·isključuje ili ograničava aktivnosti u pozadini, neke vizualne efekte i druge značajke kao što je \"Hey Google\"."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Da bi se smanjio podatkovni promet, značajka Štednja podatkovnog prometa onemogućuje nekim aplikacijama slanje ili primanje podataka u pozadini. Aplikacija koju trenutačno upotrebljavate može pristupiti podacima, no možda će to činiti rjeđe. To može značiti da se, na primjer, slike neće prikazivati dok ih ne dodirnete."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Uključiti Uštedu podataka?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Uključiti Štednju podatkovnog prometa?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Uključi"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">%1$d minutu (do <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index a2eac83..a88dd28 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Igénylő <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Igen"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nem"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"A szinkronizálás elérte a törlésre vonatkozó korlátot"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> törölt elem van a(z) (<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>) <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> fióknál. Mit szeretne tenni?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Az elemek törlése"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Az Akkumulátorkímélő mód az akkumulátor üzemidejének növelése érdekében a következőket teszi:\n Bekapcsolja a sötét témát.\n Kikapcsolja vagy korlátozza a háttérben futó tevékenységeket, egyes vizuális effekteket, az „Ok Google” parancsot és egyéb funkciókat.\n\n"<annotation id="url">"További információ"</annotation>"."</string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Az Akkumulátorkímélő mód az akkumulátor üzemidejének növelése érdekében a következőket teszi:\n Bekapcsolja a sötét témát.\n Kikapcsolja vagy korlátozza a háttérben futó tevékenységeket, egyes vizuális effekteket, az „Ok Google” parancsot és egyéb funkciókat."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Az adatforgalom csökkentése érdekében az Adatforgalom-csökkentő megakadályozza, hogy egyes alkalmazások adatokat küldjenek vagy fogadjanak a háttérben. Az Ön által aktuálisan használt alkalmazások hozzáférhetnek az adatokhoz, de csak ritkábban. Ez például azt jelentheti, hogy a képek csak rákoppintás után jelennek meg."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Az adatforgalom csökkentése érdekében az Adatforgalom-csökkentő megakadályozza, hogy egyes alkalmazások adatokat küldjenek vagy fogadjanak a háttérben. Az Ön által jelenleg használt alkalmazások hozzáférhetnek az adatokhoz, de csak ritkábban. Ez például azt jelentheti, hogy a képek csak rákoppintás után jelennek meg."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Bekapcsolja az Adatforgalom-csökkentőt?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Bekapcsolás"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 8ca3176..42e1316 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)-ի հարցումով"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Այո"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ոչ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Ջնջելու սահմանը գերազանցվել է"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ջնջված տարր կա <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>-ի համար, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>-ի հաշիվ: Ի՞նչ եք ցանկանում անել:"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Ջնջել տարրերը"</string>
@@ -1558,7 +1564,7 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"Անլար էկրան"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"Հեռարձակում"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"Միանալ սարքին"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Հեռարձակել էկրանը սարքի վրա"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Էկրանը հեռարձակել սարքին"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"Որոնվում են սարքեր..."</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Կարգավորումներ"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Անջատել"</string>
@@ -1789,9 +1795,9 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Թարմացվել է ձեր ադմինիստրատորի կողմից"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Ջնջվել է ձեր ադմինիստրատորի կողմից"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Եղավ"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Մարտկոցի աշխատաժամանակը երկարացնելու համար «Մարտկոցի տնտեսում» գործառույթը՝\n·միացնում է մուգ թեման,\n·անջատում կամ սահմանափակում է աշխատանքը ֆոնային ռեժիմում, որոշ տեսողական էֆեկտներ և այլ գործառույթներ, օրինակ «OK Google» հրահանգը:\n\n"<annotation id="url">"Իմանալ ավելին"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Մարտկոցի աշխատաժամանակը երկարացնելու համար «Մարտկոցի տնտեսում» գործառույթը՝\n·միացնում է մուգ թեման,\n·անջատում կամ սահմանափակում է աշխատանքը ֆոնային ռեժիմում, որոշ տեսողական էֆեկտներ և այլ գործառույթներ, օրինակ «OK Google» հրահանգը:"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Թրաֆիկի տնտեսման ռեժիմում որոշ հավելվածների համար ֆոնային փոխանցումն անջատված է։ Հավելվածը, որն օգտագործում եք, կարող է տվյալներ փոխանցել և ստանալ, սակայն ոչ այնքան հաճախ: Օրինակ՝ պատկերները կցուցադրվեն միայն դրանց վրա սեղմելուց հետո։"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Մարտկոցի աշխատաժամանակը երկարացնելու համար «Մարտկոցի տնտեսում» գործառույթը\n·միացնում է մուգ թեման,\n·անջատում կամ սահմանափակում է աշխատանքը ֆոնային ռեժիմում, որոշ վիզուալ էֆեկտներ և այլ գործառույթներ, օրինակ «OK Google» հրահանգը:\n\n"<annotation id="url">"Իմանալ ավելին"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Մարտկոցի աշխատաժամանակը երկարացնելու համար «Մարտկոցի տնտեսում» գործառույթը\n·միացնում է մուգ թեման,\n·անջատում կամ սահմանափակում է աշխատանքը ֆոնային ռեժիմում, որոշ վիզուալ էֆեկտներ և այլ գործառույթներ, օրինակ «OK Google» հրահանգը:"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Թրաֆիկի տնտեսման ռեժիմում որոշ հավելվածների համար տվյալների ֆոնային փոխանցումն անջատված է։ Հավելվածը, որն օգտագործում եք, կարող է տվյալներ փոխանցել և ստանալ, սակայն ոչ այնքան հաճախ: Օրինակ՝ պատկերները կցուցադրվեն միայն դրանց վրա սեղմելուց հետո։"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Միացնե՞լ թրաֆիկի խնայումը:"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Միացնել"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 9f3c5a7..3d6791f 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -212,7 +212,7 @@
     <string name="turn_on_radio" msgid="2961717788170634233">"Hidupkan nirkabel"</string>
     <string name="turn_off_radio" msgid="7222573978109933360">"Matikan nirkabel"</string>
     <string name="screen_lock" msgid="2072642720826409809">"Kunci layar"</string>
-    <string name="power_off" msgid="4111692782492232778">"Matikan perangkat"</string>
+    <string name="power_off" msgid="4111692782492232778">"Matikan"</string>
     <string name="silent_mode_silent" msgid="5079789070221150912">"Pendering mati"</string>
     <string name="silent_mode_vibrate" msgid="8821830448369552678">"Pendering bergetar"</string>
     <string name="silent_mode_ring" msgid="6039011004781526678">"Pendering nyala"</string>
@@ -236,7 +236,7 @@
     <string name="global_actions" product="tv" msgid="3871763739487450369">"Opsi Android TV"</string>
     <string name="global_actions" product="default" msgid="6410072189971495460">"Opsi telepon"</string>
     <string name="global_action_lock" msgid="6949357274257655383">"Kunci layar"</string>
-    <string name="global_action_power_off" msgid="4404936470711393203">"Matikan perangkat"</string>
+    <string name="global_action_power_off" msgid="4404936470711393203">"Matikan"</string>
     <string name="global_action_power_options" msgid="1185286119330160073">"Daya"</string>
     <string name="global_action_restart" msgid="4678451019561687074">"Mulai ulang"</string>
     <string name="global_action_emergency" msgid="1387617624177105088">"Darurat"</string>
@@ -510,7 +510,7 @@
     <string name="permdesc_changeWimaxState" product="tablet" msgid="4011097664859480108">"Memungkinkan aplikasi menyambungkan tablet ke dan memutus tablet dari jaringan WiMAX."</string>
     <string name="permdesc_changeWimaxState" product="tv" msgid="5373274458799425276">"Mengizinkan aplikasi menghubungkan perangkat Android TV ke, dan memutuskan hubungan perangkat Android TV dari, jaringan WiMAX."</string>
     <string name="permdesc_changeWimaxState" product="default" msgid="1551666203780202101">"Memungkinkan aplikasi menyambungkan ponsel ke dan memutus ponsel dari jaringan WiMAX."</string>
-    <string name="permlab_bluetooth" msgid="586333280736937209">"sandingkan dengan perangkat Bluetooth"</string>
+    <string name="permlab_bluetooth" msgid="586333280736937209">"sambungkan dengan perangkat Bluetooth"</string>
     <string name="permdesc_bluetooth" product="tablet" msgid="3053222571491402635">"Memungkinkan aplikasi melihat konfigurasi Bluetooth di tablet, dan membuat serta menerima sambungan dengan perangkat yang disandingkan."</string>
     <string name="permdesc_bluetooth" product="tv" msgid="8851534496561034998">"Mengizinkan aplikasi melihat konfigurasi Bluetooth di perangkat Android TV, serta melakukan dan menerima sambungan dengan perangkat yang tersambung."</string>
     <string name="permdesc_bluetooth" product="default" msgid="2779606714091276746">"Memungkinkan aplikasi melihat konfigurasi Bluetooth di ponsel, dan membuat serta menerima sambungan dengan perangkat yang disandingkan."</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Diminta oleh <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ya"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Tidak"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Penghapusan melebihi batas"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Terdapat <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> item yang dihapus untuk <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, akun <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Apa yang ingin Anda lakukan?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Hapus item"</string>
@@ -1518,7 +1524,7 @@
     <string name="data_usage_limit_snoozed_body" msgid="545146591766765678">"Anda telah menggunakan <xliff:g id="SIZE">%s</xliff:g> melebihi batas yang ditetapkan"</string>
     <string name="data_usage_restricted_title" msgid="126711424380051268">"Data latar belakang dibatasi"</string>
     <string name="data_usage_restricted_body" msgid="5338694433686077733">"Ketuk untuk menghapus batasan."</string>
-    <string name="data_usage_rapid_title" msgid="2950192123248740375">"Penggunaan kuota yang tinggi"</string>
+    <string name="data_usage_rapid_title" msgid="2950192123248740375">"Penggunaan data seluler tinggi"</string>
     <string name="data_usage_rapid_body" msgid="3886676853263693432">"Aplikasi Anda menggunakan lebih banyak kuota daripada biasanya"</string>
     <string name="data_usage_rapid_app_body" msgid="5425779218506513861">"<xliff:g id="APP">%s</xliff:g> menggunakan lebih banyak kuota daripada biasanya"</string>
     <string name="ssl_certificate" msgid="5690020361307261997">"Sertifikat keamanan"</string>
@@ -1791,8 +1797,8 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Oke"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Untuk memperpanjang masa pakai baterai, Penghemat Baterai:\n·Mengaktifkan Tema gelap\n·Menonaktifkan atau membatasi aktivitas di latar belakang, beberapa efek visual, dan fitur lain seperti “Ok Google”\n\n"<annotation id="url">"Pelajari lebih lanjut"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Untuk memperpanjang masa pakai baterai, Penghemat Baterai:\n·Mengaktifkan Tema gelap\n·Menonaktifkan atau membatasi aktivitas di latar belakang, beberapa efek visual, dan fitur lain seperti “Ok Google”"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Untuk membantu mengurangi penggunaan kuota, Penghemat Kuota Internet mencegah beberapa aplikasi mengirim atau menerima data di latar belakang. Aplikasi yang sedang digunakan dapat mengakses data, tetapi frekuensinya agak lebih jarang. Misalnya saja, gambar hanya akan ditampilkan setelah diketuk."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Aktifkan Penghemat Kuota?"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Untuk membantu mengurangi penggunaan data, Penghemat Data mencegah beberapa aplikasi mengirim atau menerima data di latar belakang. Aplikasi yang sedang digunakan dapat mengakses data, tetapi frekuensinya agak lebih jarang. Misalnya saja, gambar hanya akan ditampilkan setelah diketuk."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Aktifkan Penghemat Data?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Aktifkan"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">Selama %1$d menit (hingga <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index c45f349..85926d2 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -1327,7 +1327,7 @@
     <string name="share_remote_bugreport_action" msgid="7630880678785123682">"DEILA"</string>
     <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"HAFNA"</string>
     <string name="select_input_method" msgid="3971267998568587025">"Veldu innsláttaraðferð"</string>
-    <string name="show_ime" msgid="6406112007347443383">"Haltu því á skjánum meðan vélbúnaðarlyklaborðið er virkt"</string>
+    <string name="show_ime" msgid="6406112007347443383">"Halda því á skjánum meðan vélbúnaðarlyklaborðið er virkt"</string>
     <string name="hardware" msgid="1800597768237606953">"Sýna sýndarlyklaborð"</string>
     <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"Stilla vélbúnaðarlyklaborð"</string>
     <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Ýttu til að velja tungumál og útlit"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Beiðni frá <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Já"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nei"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Hámarki eyðinga náð"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> atriðum hefur verið eytt fyrir <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> á reikningnum <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Hvað viltu gera?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Eyða atriðunum"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Í lagi"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Til að auka rafhlöðuendingu gerir rafhlöðusparnaður eftirfarandi:\n·Kveikir á dökku þema\n·Slekkur á eða takmarkar bakgrunnsvirkni, tilteknar myndbrellur og aðra eiginleika eins og „Ok Google“.\n\n"<annotation id="url">"Frekari upplýsingar"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Til að auka rafhlöðuendingu gerir rafhlöðusparnaður eftirfarandi:\n·Kveikir á dökku þema\n·Slekkur á eða takmarkar bakgrunnsvirkni, tilteknar myndbrellur og aðra eiginleika eins og „Ok Google“."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Gagnasparnaður getur hjálpað til við að draga úr gagnanotkun með því að hindra forrit í að senda eða sækja gögn í bakgrunni. Forrit sem er í notkun getur náð í gögn, en gerir það kannski sjaldnar. Niðurstaðan gæti verið, svo dæmi sé tekið, að myndir séu ekki birtar fyrr en þú ýtir á þær."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Gagnasparnaður getur hjálpað til við að draga úr gagnanotkun með því að hindra forrit í að senda eða sækja gögn í bakgrunni. Forrit sem er í notkun getur náð í gögn, en gerir það kannski sjaldnar. Niðurstaðan getur verið, svo dæmi sé tekið, að myndir eru ekki birtar fyrr en þú ýtir á þær."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Kveikja á gagnasparnaði?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Kveikja"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 704b233..bddd1ae 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -142,7 +142,7 @@
     <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string>
     <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chiamate Wi-Fi"</string>
     <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string>
-    <string name="wifi_calling_off_summary" msgid="5626710010766902560">"OFF"</string>
+    <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string>
     <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chiamata tramite Wi-Fi"</string>
     <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chiamata su rete mobile"</string>
     <string name="wfc_mode_wifi_only_summary" msgid="104951993894678665">"Solo Wi-Fi"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Richiesto da <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sì"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limite di eliminazioni superato"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Ci sono <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementi eliminati per <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> . Come vuoi procedere?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Elimina gli elementi"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Eliminato dall\'amministratore"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Per estendere la durata della batteria, il risparmio energetico:\n·Attiva il Tema scuro\n·Disattiva o limita le attività in background, alcuni effetti visivi e altre funzionalità come \"Ok Google\"\n\n"<annotation id="url">"Ulteriori informazioni"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Per estendere la durata della batteria, il risparmio energetico:\n·Attiva il Tema scuro\n·Disattiva o limita le attività in background, alcuni effetti visivi e altre funzionalità come \"Ok Google\""</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Per estendere la durata della batteria, Risparmio energetico:\n·Attiva il Tema scuro\n·Disattiva o limita le attività in background, alcuni effetti visivi e altre funzionalità come \"Ok Google\""</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Per contribuire a ridurre l\'utilizzo dei dati, la funzione Risparmio dati impedisce ad alcune app di inviare o ricevere dati in background. Un\'app in uso può accedere ai dati, ma potrebbe farlo con meno frequenza. Esempio: le immagini non vengono visualizzate finché non le tocchi."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Attivare Risparmio dati?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Attiva"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 5c0ab14..3c57bc5 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -577,7 +577,7 @@
     <string name="permdesc_manageFace" msgid="6204569688492710471">"מאפשרת לאפליקציה להפעיל שיטות להוספה ומחיקה של תבניות פנים שבהן ייעשה שימוש."</string>
     <string name="permlab_useFaceAuthentication" msgid="1011430526454859030">"שימוש בחומרה לשחרור נעילה על ידי זיהוי פנים"</string>
     <string name="permdesc_useFaceAuthentication" msgid="3115697017684668012">"מאפשרת לאפליקציה להשתמש בחומרה לשחרור נעילה על ידי זיהוי פנים לצורך אימות"</string>
-    <string name="face_recalibrate_notification_name" msgid="6006095897989257026">"שחרור נעילה על ידי זיהוי פנים"</string>
+    <string name="face_recalibrate_notification_name" msgid="6006095897989257026">"שחרור נעילה בזיהוי פנים"</string>
     <string name="face_recalibrate_notification_title" msgid="5944930528030496897">"יש לבצע רישום מחדש של הפנים שלך"</string>
     <string name="face_recalibrate_notification_content" msgid="892757485125249962">"לשיפור הזיהוי יש לבצע רישום מחדש של הפנים שלך"</string>
     <string name="face_acquired_insufficient" msgid="2150805835949162453">"לא ניתן היה לקלוט את הפנים במדויק. יש לנסות שוב."</string>
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"מבוקש על ידי <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"כן"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"לא"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"חרגת ממגבלת המחיקה"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"יש <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> פריטים שנמחקו עבור <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> , בחשבון <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. איזו פעולה ברצונך לבצע?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"מחק את הפריטים"</string>
@@ -1838,7 +1844,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"‏התכונה \'חיסכון בסוללה\':\n·מפעילה עיצוב כהה\n·מכבה או מגבילה פעילות ברקע, חלק מהאפקטים החזותיים ותכונות אחרות כמו \"Ok Google\", כדי להאריך את חיי הסוללה\n\n"<annotation id="url">"מידע נוסף"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"‏התכונה \'חיסכון בסוללה\':\n·מפעילה עיצוב כהה\n·מכבה או מגבילה פעילות ברקע, חלק מהאפקטים החזותיים ותכונות אחרות כמו \"Ok Google\", כדי להאריך את חיי הסוללה"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"‏כדי לסייע בהפחתת השימוש בנתונים, חוסך הנתונים (Data Saver) מונע מאפליקציות מסוימות שליחה או קבלה של נתונים ברקע. אפליקציה שבה נעשה שימוש כרגע יכולה לגשת לנתונים, אבל בתדירות נמוכה יותר. המשמעות היא, למשל, שתמונות יוצגו רק לאחר שמקישים עליהן."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"‏האם להפעיל את חוסך הנתונים (Data Saver)?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"להפעיל את חוסך הנתונים?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"הפעל"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="two">‏למשך %d דקות (עד <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 1e5f5ec..d68f6cf 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -1306,9 +1306,9 @@
     <string name="usb_power_notification_message" msgid="7284765627437897702">"接続されているデバイスを充電しています。タップすると、他の項目が表示されます。"</string>
     <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"アナログのオーディオ アクセサリを検出"</string>
     <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"接続したデバイスはこのスマートフォンと互換性がありません。タップすると、詳細を確認できます。"</string>
-    <string name="adb_active_notification_title" msgid="408390247354560331">"USBデバッグが接続されました"</string>
+    <string name="adb_active_notification_title" msgid="408390247354560331">"USB デバッグが接続されました"</string>
     <string name="adb_active_notification_message" msgid="5617264033476778211">"USB デバッグを無効にするにはここをタップしてください"</string>
-    <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"USBデバッグを無効にする場合に選択します。"</string>
+    <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"USB デバッグを無効にする場合に選択します。"</string>
     <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"ワイヤレス デバッグが接続されました"</string>
     <string name="adbwifi_active_notification_message" msgid="930987922852867972">"ワイヤレス デバッグをUSB デバッグを無効にするにはここをタップしてください"</string>
     <string name="adbwifi_active_notification_message" product="tv" msgid="8633421848366915478">"ワイヤレス デバッグを無効にする場合に選択します。"</string>
@@ -1327,7 +1327,7 @@
     <string name="share_remote_bugreport_action" msgid="7630880678785123682">"共有する"</string>
     <string name="decline_remote_bugreport_action" msgid="4040894777519784346">"共有しない"</string>
     <string name="select_input_method" msgid="3971267998568587025">"入力方法の選択"</string>
-    <string name="show_ime" msgid="6406112007347443383">"物理キーボードが有効になっている間は、画面に表示されます"</string>
+    <string name="show_ime" msgid="6406112007347443383">"物理キーボードが有効になっていても画面に表示させます"</string>
     <string name="hardware" msgid="1800597768237606953">"仮想キーボードの表示"</string>
     <string name="select_keyboard_layout_notification_title" msgid="4427643867639774118">"物理キーボードの設定"</string>
     <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"タップして言語とレイアウトを選択してください"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g>さん(<xliff:g id="SERVICE">%2$s</xliff:g>)からのリクエスト"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"はい"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"いいえ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"削除の制限を超えました"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>アカウントの<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>で<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>件の削除があります。操作を選択してください。"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"アイテムを削除する"</string>
@@ -1508,7 +1514,7 @@
     <string name="storage_usb_drive_label" msgid="6631740655876540521">"<xliff:g id="MANUFACTURER">%s</xliff:g>製USBドライブ"</string>
     <string name="storage_usb" msgid="2391213347883616886">"USBストレージ"</string>
     <string name="extract_edit_menu_button" msgid="63954536535863040">"編集"</string>
-    <string name="data_usage_warning_title" msgid="9034893717078325845">"データ使用の警告"</string>
+    <string name="data_usage_warning_title" msgid="9034893717078325845">"警告するデータ使用量"</string>
     <string name="data_usage_warning_body" msgid="1669325367188029454">"<xliff:g id="APP">%s</xliff:g> のデータを使用しました"</string>
     <string name="data_usage_mobile_limit_title" msgid="3911447354393775241">"モバイルデータの上限に達しました"</string>
     <string name="data_usage_wifi_limit_title" msgid="2069698056520812232">"Wi-Fiデータの上限に達しました"</string>
@@ -1555,7 +1561,7 @@
     <string name="default_audio_route_name_usb" msgid="895668743163316932">"USB"</string>
     <string name="default_audio_route_category_name" msgid="5241740395748134483">"システム"</string>
     <string name="bluetooth_a2dp_audio_route_name" msgid="4214648773120426288">"Bluetooth音声"</string>
-    <string name="wireless_display_route_description" msgid="8297563323032966831">"ワイヤレスディスプレイ"</string>
+    <string name="wireless_display_route_description" msgid="8297563323032966831">"ワイヤレス ディスプレイ"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"キャスト"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"デバイスに接続"</string>
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"デバイスへの画面のキャスト"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"電池を長持ちさせるためにバッテリー セーバーが行う操作:\n·ダークテーマを ON にする\n·バックグラウンド アクティビティ、一部の視覚効果や、「OK Google」などの機能を OFF にする、または制限する\n\n"<annotation id="url">"詳細"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"電池を長持ちさせるためにバッテリー セーバーが行う操作:\n·ダークテーマを ON にする\n·バックグラウンド アクティビティ、一部の視覚効果や、「OK Google」などの機能を OFF にする、または制限する"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"データセーバーは、一部のアプリによるバックグラウンドでのデータ送受信を停止することでデータ使用量を抑制します。使用中のアプリからデータにアクセスすることはできますが、その頻度は低くなる場合があります。この影響として、たとえば画像はタップしないと表示されないようになります。"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"データセーバーは、一部のアプリによるバックグラウンドでのデータ送受信を停止することでデータ使用量を抑制します。使用中のアプリからデータを送受信することはできますが、その頻度は低くなる場合があります。この影響として、たとえば画像はタップしないと表示されないようになります。"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"データセーバーを ON にしますか?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ON にする"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
@@ -2058,7 +2064,7 @@
     <string name="resolver_cant_access_personal_apps" msgid="648291604475669395">"個人用アプリでこのコンテンツを開くことはできません"</string>
     <string name="resolver_cant_access_personal_apps_explanation" msgid="2298773629302296519">"IT 管理者は、個人用プロファイルのアプリでこのコンテンツを開くことを許可していません"</string>
     <string name="resolver_turn_on_work_apps" msgid="884910835250037247">"仕事用プロファイルが一時停止しています"</string>
-    <string name="resolver_switch_on_work" msgid="2873009160846966379">"オンにする"</string>
+    <string name="resolver_switch_on_work" msgid="2873009160846966379">"ON にする"</string>
     <string name="resolver_no_work_apps_available_share" msgid="7933949011797699505">"このコンテンツに対応する仕事用アプリはありません"</string>
     <string name="resolver_no_work_apps_available_resolve" msgid="1244844292366099399">"このコンテンツを開くことができる仕事用アプリはありません"</string>
     <string name="resolver_no_personal_apps_available_share" msgid="5639102815174748732">"このコンテンツに対応する個人用アプリはありません"</string>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 89de803..d8f5bb8 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"მოთხოვნილია <xliff:g id="NAME">%1$s</xliff:g>-ის მიერ (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"დიახ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"არა"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"წაშლის შეზღუდვა გადაჭარბებულია"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> წაშლილი ერთეულია <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>-თვის, ანგარიში <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. რისი გაკეთება გსურთ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ერთეულების წაშლა"</string>
@@ -1789,8 +1795,8 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"განახლებულია თქვენი ადმინისტრატორის მიერ"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"წაიშალა თქვენი ადმინისტრატორის მიერ"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"კარგი"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ელემენტის მუშაობის განრძლივობის მიზნით, ელემენტის დამზოგველი:\n·ირთვება ბნელ თემაზე\n·თიშავს ან ზღუდავს ფონის აქტივობებს, გარკვეულ ვიზუალურ ეფექტებს და სახვა შესაძლებლობებს, როგორიც არის “Hey Google”\n\n"<annotation id="url">"შეიტყვეთ მეტი"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ელემენტის მუშაობის განრძლივობის მიზნით, ელემენტის დამზოგველი:\n·ირთვება ბნელ თემაზე\n·თიშავს ან ზღუდავს ფონის აქტივობებს, გარკვეულ ვიზუალურ ეფექტებს და სახვა შესაძლებლობებს, როგორიც არის “Hey Google”"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ბატარეის მუშაობის განრძლივობის მიზნით, ბატარეის დამზოგველი:\n·ირთვება ბნელ თემაზე\n·თიშავს ან ზღუდავს ფონის აქტივობებს, გარკვეულ ვიზუალურ ეფექტებს და სახვა შესაძლებლობებს, როგორიც არის “Hey Google”\n\n"<annotation id="url">"შეიტყვეთ მეტი"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ბატარეის მუშაობის გახანგრძლივების მიზნით, ბატარეის დამზოგველი:\n·ირთვება ბნელ თემაზე\n·თიშავს ან ზღუდავს ფონის აქტივობებს, გარკვეულ ვიზუალურ ეფექტებს და სახვა შესაძლებლობებს, როგორიც არის “Hey Google”"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"მობილური ინტერნეტის მოხმარების შემცირების მიზნით, მონაცემთა დამზოგველი ზოგიერთ აპს ფონურ რეჟიმში მონაცემთა გაგზავნასა და მიღებას შეუზღუდავს. თქვენ მიერ ამჟამად გამოყენებული აპი მაინც შეძლებს მობილურ ინტერნეტზე წვდომას, თუმცა ამას ნაკლები სიხშირით განახორციელებს. ეს ნიშნავს, რომ, მაგალითად, სურათები არ გამოჩნდება მანამ, სანამ მათ საგანგებოდ არ შეეხებით."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"ჩაირთოს მონაცემთა დამზოგველი?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ჩართვა"</string>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index a417eab..96e7060 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Өтініш жіберген <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Иә"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Жоқ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Жою шектеуінен асып кетті"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Мұнда <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> жойылған <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> есептік жазбасының элементі бар. Не істеуді қалайсыз?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Бұл нәрселер жойылсын"</string>
@@ -1559,7 +1565,7 @@
     <string name="media_route_button_content_description" msgid="2299223698196869956">"Трансляциялау"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"Құрылғыға жалғау"</string>
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Экран трансляциясы"</string>
-    <string name="media_route_chooser_searching" msgid="6119673534251329535">"Құрылғыларды іздеуде…"</string>
+    <string name="media_route_chooser_searching" msgid="6119673534251329535">"Құрылғылар ізделуде…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Параметрлер"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Ажырату"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"Тексеруде..."</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Әкімші жойған"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Жарайды"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Батарея жұмысының ұзақтығын арттыру үшін Battery Saver:\n·Қараңғы тақырыпты іске қосады\n·фондық әрекеттерді, кейбір көрнекі әсерлерді және \"Ok Google\" сияқты басқа да функцияларды өшіреді немесе шектейді.\n\n"<annotation id="url">"Толығырақ"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Батарея жұмысының ұзақтығын арттыру үшін Battery Saver:\n·Қараңғы тақырыпты іске қосады\n·фондық әрекеттерді, кейбір көрнекі әсерлерді және \"Ok Google\" сияқты басқа да функцияларды өшіреді немесе шектейді."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Батарея жұмысының ұзақтығын арттыру үшін Battery Saver:\n·Қараңғы тақырыпты іске қосады;\n·фондық әрекеттерді, кейбір көрнекі әсерлерді және \"Ok Google\" сияқты басқа да функцияларды өшіреді немесе шектейді."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Дерек шығынын азайту үшін Data Saver функциясы кейбір қолданбаларға деректерді фондық режимде жіберуге және алуға жол бермейді. Ашық тұрған қолданба деректерді пайдаланады, бірақ шектеулі шамада (мысалы, кескіндер оларды түрткенге дейін көрсетілмейді)."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Data Saver функциясын қосу керек пе?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Қосу"</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 50cea44..81a324e 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -1459,6 +1459,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"បាន​ស្នើ​ដោយ <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"បាទ/ចាស"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ទេ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"លុប​​លើស​ដែន​កំណត់"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"មាន​ធាតុ​បាន​លុប <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> សម្រាប់ <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> គណនី <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ។ តើ​អ្នក​ចង់​ធ្វើ​អ្វី​ខ្លះ​?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"លុប​ធាតុ"</string>
@@ -1794,7 +1800,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ដើម្បី​បង្កើនកម្រិត​ថាមពលថ្ម កម្មវិធី​សន្សំ​ថ្ម៖\n·បើករចនាប័ទ្មងងឹត​\n·បិទ ឬដាក់កំហិតលើ​សកម្មភាពផ្ទៃខាងក្រោយ ឥទ្ធិពល​ជារូបភាពមួយចំនួន និងមុខងារផ្សេងទៀត​ដូចជា “Hey Google” ជាដើម\n\n"<annotation id="url">"ស្វែងយល់បន្ថែម"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"ដើម្បី​បង្កើនកម្រិត​ថាមពលថ្ម កម្មវិធី​សន្សំ​ថ្ម៖\n·បើករចនាប័ទ្មងងឹត​\n·បិទ ឬដាក់កំហិតលើ​សកម្មភាពផ្ទៃខាងក្រោយ ឥទ្ធិពល​ជារូបភាពមួយចំនួន និងមុខងារផ្សេងទៀត​ដូចជា “Hey Google” ជាដើម"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"ដើម្បីជួយកាត់បន្ថយការប្រើប្រាស់ទិន្នន័យ កម្មវិធីសន្សំសំចៃទិន្នន័យរារាំងកម្មវិធីមួយចំនួនមិនឲ្យបញ្ជូន ឬទទួលទិន្នន័យនៅផ្ទៃខាងក្រោយទេ។ កម្មវិធីដែលអ្នកកំពុងប្រើនាពេលបច្ចុប្បន្នអាចចូលប្រើប្រាស់​ទិន្នន័យបាន ប៉ុន្តែអាចនឹងមិនញឹកញាប់ដូចមុនទេ។ ឧទាហរណ៍ រូបភាពមិនបង្ហាញទេ លុះត្រាតែអ្នកប៉ះរូបភាពទាំងនោះ។"</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"បើកកម្មវិធីសន្សំសំចៃទិន្នន័យឬ?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"បើកកម្មវិធីសន្សំសំចៃទិន្នន័យ?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"បើក"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">រយៈពេល %1$d នាទី (រហូតដល់ <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index bbe9201..07342c0 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ಅವರಿಂದ ವಿನಂತಿಸಲಾಗಿದೆ"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ಹೌದು"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ಇಲ್ಲ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ಅಳಿಸುವ ಮಿತಿ ಮೀರಿದೆ"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ಗಾಗಿ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ಅಳಿಸಲಾಗಿರುವ ಐಟಂಗಳು ಕಂಡುಬಂದಿವೆ. ನೀವು ಏನು ಮಾಡಬೇಕೆಂದು ಬಯಸುವಿರಿ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ಐಟಂಗಳನ್ನು ಅಳಿಸಿ"</string>
@@ -1792,7 +1798,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ವಿಸ್ತರಿಸಲು, ಬ್ಯಾಟರಿ ಸೇವರ್:\n·ಡಾರ್ಕ್ ಥೀಮ್ ಅನ್ನು ಆನ್ ಮಾಡುತ್ತದೆ\n·ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆ, ಕೆಲವು ದೃಶ್ಯಾತ್ಮಕ ಎಫೆಕ್ಟ್‌ಗಳು ಮತ್ತು “ಹೇ Google” ನಂತಹ ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ ಅಥವಾ ನಿರ್ಬಂಧಿಸುತ್ತದೆ\n\n"<annotation id="url">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ವಿಸ್ತರಿಸಲು, ಬ್ಯಾಟರಿ ಸೇವರ್:\n·ಡಾರ್ಕ್ ಥೀಮ್ ಅನ್ನು ಆನ್ ಮಾಡುತ್ತದೆ\n·ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆ, ಕೆಲವು ವಿಷುವಲ್ ಎಫೆಕ್ಟ್‌ಗಳು ಮತ್ತು “ಹೇ Google” ನಂತಹ ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ ಅಥವಾ ನಿರ್ಬಂಧಿಸುತ್ತದೆ"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"ಡೇಟಾ ಬಳಕೆ ಕಡಿಮೆ ಮಾಡುವ ನಿಟ್ಟಿನಲ್ಲಿ, ಡೇಟಾ ಸೇವರ್ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಡೇಟಾ ಕಳುಹಿಸುವುದನ್ನು ಅಥವಾ ಸ್ವೀಕರಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ನೀವು ಪ್ರಸ್ತುತ ಬಳಸುತ್ತಿರುವ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಆದರೆ ಪದೇ ಪದೇ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಇದರರ್ಥ, ಉದಾಹರಣೆಗೆ, ನೀವು ಅವುಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡುವವರೆಗೆ ಆ ಚಿತ್ರಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುವುದಿಲ್ಲ."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"ಡೇಟಾ ಉಳಿಸುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡುವುದೇ?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"ಡೇಟಾ ಸೇವರ್ ಆನ್ ಮಾಡಬೇಕೇ?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ಆನ್‌ ಮಾಡಿ"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">%1$d ನಿಮಿಷಗಳವರೆಗೆ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ವರೆಗೆ)</item>
@@ -1944,7 +1950,7 @@
     <string name="autofill_save_yes" msgid="8035743017382012850">"ಉಳಿಸಿ"</string>
     <string name="autofill_save_no" msgid="9212826374207023544">"ಬೇಡ"</string>
     <string name="autofill_save_notnow" msgid="2853932672029024195">"ಸದ್ಯಕ್ಕೆ ಬೇಡ"</string>
-    <string name="autofill_save_never" msgid="6821841919831402526">"ಎಂದೂ ಇಲ್ಲ"</string>
+    <string name="autofill_save_never" msgid="6821841919831402526">"ಎಂದೂ ಬೇಡ"</string>
     <string name="autofill_update_yes" msgid="4608662968996874445">"ಅಪ್‌ಡೇಟ್"</string>
     <string name="autofill_continue_yes" msgid="7914985605534510385">"ಮುಂದುವರಿಯಿರಿ"</string>
     <string name="autofill_save_type_password" msgid="5624528786144539944">"ಪಾಸ್‌ವರ್ಡ್"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index a5c8832..0a56fb6 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -293,7 +293,7 @@
     <string name="android_system_label" msgid="5974767339591067210">"Android 시스템"</string>
     <string name="user_owner_label" msgid="8628726904184471211">"개인 프로필로 전환"</string>
     <string name="managed_profile_label" msgid="7316778766973512382">"직장 프로필로 전환"</string>
-    <string name="permgrouplab_contacts" msgid="4254143639307316920">"주소록"</string>
+    <string name="permgrouplab_contacts" msgid="4254143639307316920">"연락처"</string>
     <string name="permgroupdesc_contacts" msgid="9163927941244182567">"주소록에 액세스"</string>
     <string name="permgrouplab_location" msgid="1858277002233964394">"위치"</string>
     <string name="permgroupdesc_location" msgid="1995955142118450685">"이 기기의 위치정보에 액세스"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"요청한 사람: <xliff:g id="NAME">%1$s</xliff:g>(<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"예"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"아니요"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"삭제 한도를 초과했습니다."</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> 계정에 대해 <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>개의 삭제된 항목이 있습니다. 어떻게 하시겠습니까?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"항목 삭제"</string>
@@ -1792,7 +1798,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"배터리 수명을 늘리기 위해 절전 모드가 다음과 같이 작동합니다.\n·어두운 테마를 사용 설정합니다.\n·백그라운드 활동, 일부 시각 효과 및 \'Hey Google\'과 같은 기타 기능을 사용 중지하거나 제한합니다.\n\n"<annotation id="url">"자세히 알아보기"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"배터리 수명을 늘리기 위해 절전 모드가 다음과 같이 작동합니다.\n·어두운 테마를 사용 설정합니다.\n·백그라운드 활동, 일부 시각 효과 및 \'Hey Google\'과 같은 기타 기능을 사용 중지하거나 제한합니다."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"데이터 사용량을 줄이기 위해 데이터 절약 모드는 일부 앱이 백그라운드에서 데이터를 전송하거나 수신하지 못하도록 합니다. 현재 사용 중인 앱에서 데이터에 액세스할 수 있지만 빈도가 줄어듭니다. 예를 들면, 이미지를 탭하기 전에는 이미지가 표시되지 않습니다."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"데이터 절약 모드를 사용할까요?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"데이터 절약 모드를 사용 설정하시겠습니까?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"사용 설정"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d분 동안(<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>까지)</item>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 5ea4383..81ede7d 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -48,7 +48,7 @@
     <string name="invalidPin" msgid="7542498253319440408">"Узундугу 4төн 8ге чейинки сандан турган PIN-кодду териңиз."</string>
     <string name="invalidPuk" msgid="8831151490931907083">"Узундугу 8 же көбүрөөк сандан турган PUK-кодду териңиз."</string>
     <string name="needPuk" msgid="7321876090152422918">"SIM-картаңыз PUK менен кулпуланган. Кулпусун ачуу үчүн PUK-кодду териңиз."</string>
-    <string name="needPuk2" msgid="7032612093451537186">"SIM-картаны бөгөттөн чыгаруу үчүн PUK2 кодун териңиз."</string>
+    <string name="needPuk2" msgid="7032612093451537186">"SIM картаны бөгөттөн чыгаруу үчүн PUK2 кодун териңиз."</string>
     <string name="enablePin" msgid="2543771964137091212">"Оңунан чыкпады, SIM/RUIM бөгөттөөсүн жандырыңыз."</string>
     <plurals name="pinpuk_attempts" formatted="false" msgid="1619867269012213584">
       <item quantity="other">Сизде SIM кулпуланганга чейин <xliff:g id="NUMBER_1">%d</xliff:g> аракет калды.</item>
@@ -238,7 +238,7 @@
     <string name="global_action_lock" msgid="6949357274257655383">"Экран кулпусу"</string>
     <string name="global_action_power_off" msgid="4404936470711393203">"Өчүрүү"</string>
     <string name="global_action_power_options" msgid="1185286119330160073">"Кубат"</string>
-    <string name="global_action_restart" msgid="4678451019561687074">"Кайра баштоо"</string>
+    <string name="global_action_restart" msgid="4678451019561687074">"Өчүрүп күйгүзүү"</string>
     <string name="global_action_emergency" msgid="1387617624177105088">"Тез жардам"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"Ката тууралуу билдирүү"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"Сеансты бүтүрүү"</string>
@@ -375,8 +375,8 @@
     <string name="permdesc_systemAlertWindow" msgid="1145660714855738308">"Бул колдонмо башка колдонмолордун же экрандын башка бөлүгүнүн үстүндө көрүнүшү мүмкүн. Ал колдонмолорду пайдаланууга же алардын көрсөтүлүшүнө тоскоолдук жаратышы мүмкүн."</string>
     <string name="permlab_runInBackground" msgid="541863968571682785">"фондо иштей берсин"</string>
     <string name="permdesc_runInBackground" msgid="4344539472115495141">"Бул колдонмо фондо иштей берет. Батареяңыз тез эле отуруп калышы мүмкүн."</string>
-    <string name="permlab_useDataInBackground" msgid="783415807623038947">"фондо дайындарды өткөрө берсин"</string>
-    <string name="permdesc_useDataInBackground" msgid="1230753883865891987">"Бул колдонмо фондо дайындарды өткөрө берет. Дайындарды көбүрөөк өткөрүшү мүмкүн."</string>
+    <string name="permlab_useDataInBackground" msgid="783415807623038947">"фондо дайын-даректерди өткөрө берсин"</string>
+    <string name="permdesc_useDataInBackground" msgid="1230753883865891987">"Бул колдонмо фондо дайын-даректерди өткөрө берет. Дайындарды көбүрөөк өткөрүшү мүмкүн."</string>
     <string name="permlab_persistentActivity" msgid="464970041740567970">"колдонмону үзгүлтүксүз иштетүү"</string>
     <string name="permdesc_persistentActivity" product="tablet" msgid="6055271149187369916">"Колдонмого өзүнүн бөлүктөрүн эстутумда туруктуу кармоого уруксат берет.Бул эстутумдун башка колдонмолорго жетиштүүлүгүн чектеши жана телефондун иштешин жайлатышы мүмкүн."</string>
     <string name="permdesc_persistentActivity" product="tv" msgid="6800526387664131321">"Колдонмого өз бөлүктөрүн эстутумда туруктуу сактоого уруксат берет. Бул башка колдонмолор үчүн жеткиликтүү болгон эстутумду чектеп, Android TV түзмөгүңүздүн иштешин жайлатышы мүмкүн."</string>
@@ -407,14 +407,14 @@
     <string name="permdesc_readCallLog" msgid="8964770895425873433">"Бул колдонмо чалууларыңыздын таржымалын окуй алат."</string>
     <string name="permlab_writeCallLog" msgid="670292975137658895">"чалуулар тизмегин жаздыруу"</string>
     <string name="permdesc_writeCallLog" product="tablet" msgid="2657525794731690397">"Колдонмого планшетиңиздин чалуулар тизмегин, анын ичинде, чыгыш жана кириш чалууларына тиешелүү берилиштерди өзгөртүү уруксатын берет. Зыяндуу колдонмолор муну колдонуп чалуулар тизмегин өзгөртө же жок кыла алышат."</string>
-    <string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"Колдонмого Android TV түзмөгүңүздүн чалуулар тизмесин, анын ичинде кирүүчү жана чыгуучу чалуулар тууралуу дайындарды өзгөртүүгө уруксат берет. Зыянкеч колдонмолор ал уруксатты колдонуп чалуулар тизмеңизди тазалап же өзгөртүп коюшу мүмкүн."</string>
+    <string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"Колдонмого Android TV түзмөгүңүздүн чалуулар тизмесин, анын ичинде кирүүчү жана чыгуучу чалуулар тууралуу дайын-даректерди өзгөртүүгө уруксат берет. Зыянкеч колдонмолор ал уруксатты колдонуп чалуулар тизмеңизди тазалап же өзгөртүп коюшу мүмкүн."</string>
     <string name="permdesc_writeCallLog" product="default" msgid="5903033505665134802">"Колдонмого телефонуңуздун чалуулар тизмегин, анын ичинде, чыгыш жана кириш чалууларына тиешелүү берилиштерди өзгөртүү уруксатын берет. Зыяндуу колдонмолор муну колдонуп чалуулар тизмегин өзгөртө же жок кыла алышат."</string>
     <string name="permlab_bodySensors" msgid="3411035315357380862">"дене-бой сенсорлоруна (жүрөктүн кагышын өлчөгүчтөр сыяктуу) уруксат"</string>
-    <string name="permdesc_bodySensors" product="default" msgid="2365357960407973997">"Колдонмого жүрөгүңүздүн согушу сыяктуу дене-бой абалыңызды көзөмөлдөгөн сенсорлордогу дайындарды көрүп туруу мүмкүнчүлүгүн берет."</string>
+    <string name="permdesc_bodySensors" product="default" msgid="2365357960407973997">"Колдонмого жүрөгүңүздүн согушу сыяктуу дене-бой абалыңызды көзөмөлдөгөн сенсорлордогу дайын-даректерди көрүп туруу мүмкүнчүлүгүн берет."</string>
     <string name="permlab_readCalendar" msgid="6408654259475396200">"Жылнаамадагы иш-чараларды жана алардын чоо-жайын окуу"</string>
-    <string name="permdesc_readCalendar" product="tablet" msgid="515452384059803326">"Бул колдонмо планшетиңизде сакталган жылнаамадагы иш-чаралардын баарын окуп жана андагы дайындарды бөлүшүп же сактай алат."</string>
+    <string name="permdesc_readCalendar" product="tablet" msgid="515452384059803326">"Бул колдонмо планшетиңизде сакталган жылнаамадагы иш-чаралардын баарын окуп жана андагы дайын-даректерди бөлүшүп же сактай алат."</string>
     <string name="permdesc_readCalendar" product="tv" msgid="5811726712981647628">"Бул колдонмо Android TV түзмөгүңүздө сакталган жылнаама иш-чараларынын баарын окуп, ошондой эле жылнаама дайындарын бөлүшүп же сактай алат."</string>
-    <string name="permdesc_readCalendar" product="default" msgid="9118823807655829957">"Бул колдонмо телефонуңузда сакталган жылнаамадагы иш-чаралардын баарын окуп жана андагы дайындарды бөлүшүп же сактай алат."</string>
+    <string name="permdesc_readCalendar" product="default" msgid="9118823807655829957">"Бул колдонмо телефонуңузда сакталган жылнаамадагы иш-чаралардын баарын окуп жана андагы дайын-даректерди бөлүшүп же сактай алат."</string>
     <string name="permlab_writeCalendar" msgid="6422137308329578076">"ээсинен уруксат албай, күнбаракка иш-аракеттерди кошуу же өзгөртүү жана конокторго чакыруу жөнөтүү"</string>
     <string name="permdesc_writeCalendar" product="tablet" msgid="8722230940717092850">"Бул колдонмо планшетиңизге жылнаама иш-чараларын кошуп, алып салып же өзгөртүшү мүмкүн. Бул колдонмо жылнаама ээсинин атынан билдирүүлөрдү жөнөтүп же ээсине эскертпестен иш-чараларды өзгөртүшү мүмкүн."</string>
     <string name="permdesc_writeCalendar" product="tv" msgid="951246749004952706">"Бул колдонмо Android TV түзмөгүңүзгө жылнаама иш-чараларын кошуп, ошондой эле аларды өчүрүшү же өзгөртүшү мүмкүн. Бул колдонмо жылнаама ээсинин атынан билдирүүлөрдү жөнөтүп же ээсине эскертпестен иш-чараларды өзгөртүшү мүмкүн."</string>
@@ -523,11 +523,11 @@
     <string name="permlab_requestPasswordComplexity" msgid="1808977190557794109">"экранды бөгөттөөнүн татаалдык деңгээлин суроо"</string>
     <string name="permdesc_requestPasswordComplexity" msgid="1130556896836258567">"Колдонмого экранды бөгөттөөнүн татаалдыгын (татаал, орточо, оңой же такыр жок) үйрөнүүгө мүмкүнчүлүк берет. Татаалдык деңгээли сырсөздүн узундугу жана экранды бөгөттөөнүн түрү боюнча айырмаланат. Колдонмо экранды бөгөттөөнү белгилүү деңгээлге тууралоону колдонуучуларга сунуштай да алат, бирок колдонуучулар ага көңүл бурбай койсо болот. Сырсөздү колдонмо билбеши үчүн, экранды бөгөттөө сырсөзүн кадимки текстте сактоого болбойт."</string>
     <string name="permlab_useBiometric" msgid="6314741124749633786">"биометрикалык аппаратты колдонуу"</string>
-    <string name="permdesc_useBiometric" msgid="7502858732677143410">"Колдонмого аныктыгын текшерүү үчүн биометрикалык аппаратты пайдалануу мүмкүндүгүн берет"</string>
+    <string name="permdesc_useBiometric" msgid="7502858732677143410">"Колдонмого аныктыгын текшерүү үчүн, биометрикалык аппаратты пайдалануу мүмкүндүгүн берет"</string>
     <string name="permlab_manageFingerprint" msgid="7432667156322821178">"манжа изинин аппараттык камсыздоосун башкаруу"</string>
     <string name="permdesc_manageFingerprint" msgid="2025616816437339865">"Колдонмого пайдалануу үчүн манжа изинин үлгүлөрүн кошуу жана жок кылуу мүмкүндүгүн берет."</string>
     <string name="permlab_useFingerprint" msgid="1001421069766751922">"манжа изинин аппараттык камсыздоосун колдонуу"</string>
-    <string name="permdesc_useFingerprint" msgid="412463055059323742">"Колдонмого аныктыгын текшерүү үчүн манжа изинин аппараттык камсыздоосун пайдалануу мүмкүндүгүн берет"</string>
+    <string name="permdesc_useFingerprint" msgid="412463055059323742">"Колдонмого аныктыгын текшерүү үчүн, манжа изинин аппараттык камсыздоосун пайдалануу мүмкүндүгүн берет"</string>
     <string name="permlab_audioWrite" msgid="8501705294265669405">"музыка жыйнагыңызды өчүрүү"</string>
     <string name="permdesc_audioWrite" msgid="8057399517013412431">"Колдонмого музыка жыйнагыңызды өзгөртүүгө мүмкүнчүлүк берет."</string>
     <string name="permlab_videoWrite" msgid="5940738769586451318">"видео жыйнагыңызды өзгөртүү"</string>
@@ -672,9 +672,9 @@
     <string name="policylab_limitPassword" msgid="4851829918814422199">"Сырсөз эрежелерин коюу"</string>
     <string name="policydesc_limitPassword" msgid="4105491021115793793">"Экран кулпусунун сырсөздөрү менен PIN\'дерине уруксат берилген узундук менен белгилерди көзөмөлдөө."</string>
     <string name="policylab_watchLogin" msgid="7599669460083719504">"Экран кулпусун ачуу аракеттерин көзөмөлдөө"</string>
-    <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, планшетти кулпулаңыз же планшеттеги бардык дайындарды тазалап салыңыз."</string>
+    <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, планшетти кулпулаңыз же планшеттеги бардык дайын-даректерди тазалап салыңыз."</string>
     <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Экрандын кулпусун ачуу учурунда сырсөздөр канча жолу туура эмес терилгенин тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, Android TV түзмөгүңүздү кулпулап же Android TV түзмөгүңүздөгү бардык дайын-даректериңизди тазалап салуу."</string>
-    <string name="policydesc_watchLogin" product="default" msgid="4885030206253600299">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, телефонду кулпулаңыз же телефондогу бардык дайындарды тазалап салыңыз."</string>
+    <string name="policydesc_watchLogin" product="default" msgid="4885030206253600299">"Экрандын кулпусу ачылып жатканда туура эмес терилген сырсөздөрдүн санын текшерип, эгер алардын саны өтө эле көп болсо, телефонду кулпулаңыз же телефондогу бардык дайын-даректерди тазалап салыңыз."</string>
     <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="2049038943004297474">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, планшетти кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string>
     <string name="policydesc_watchLogin_secondaryUser" product="tv" msgid="8965224107449407052">"Экрандын кулпусун ачуу учурунда сырсөздөр канча жолу туура эмес терилгенин тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, Android TV түзмөгүңүздү кулпулап же колдонуучунун бардык дайындарын тазалап салуу."</string>
     <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="9177645136475155924">"Экрандын кулпусун ачуу учурунда туура эмес терилген сырсөздөрдү тескөө жана сырсөз өтө көп жолу туура эмес терилген болсо, телефонду кулпулап же бул колдонуучунун бардык дайындарын тазалап салуу."</string>
@@ -683,9 +683,9 @@
     <string name="policylab_forceLock" msgid="7360335502968476434">"Экранды кулпулоо"</string>
     <string name="policydesc_forceLock" msgid="1008844760853899693">"Экран качан жана кантип кулпулана турганын башкарат."</string>
     <string name="policylab_wipeData" msgid="1359485247727537311">"Бардык маалыматты өчүрүү"</string>
-    <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен планшеттеги бардык дайындарды өчүрөт."</string>
+    <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен планшеттеги бардык дайын-даректерди өчүрөт."</string>
     <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"Android TV түзмөгүңүздүн дайындарын эскертүүсүз кайра башынан жөндөө аркылуу тазалоо."</string>
-    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен телефондогу бардык дайындарды өчүрөт."</string>
+    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"Алдын-ала эскертпестен, баштапкы абалга келтирүү функциясы менен телефондогу бардык дайын-даректерди өчүрөт."</string>
     <string name="policylab_wipeData_secondaryUser" msgid="413813645323433166">"Колдонуучунун дайындарын тазалоо"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="2336676480090926470">"Бул колдонуучунун ушул планшеттеги дайындарын эскертүүсүз тазалоо."</string>
     <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2293713284515865200">"Бул Android TV түзмөгүндөгү бул колдонуучу дайындарын эскертүүсүз тазалоо."</string>
@@ -840,8 +840,8 @@
     <string name="lockscreen_missing_sim_message" product="tablet" msgid="8596805728510570760">"Планшетте SIM-карта жок."</string>
     <string name="lockscreen_missing_sim_message" product="tv" msgid="2582768023352171073">"Android TV түзмөгүңүздө SIM-карта жок."</string>
     <string name="lockscreen_missing_sim_message" product="default" msgid="1408695081255172556">"Телефондо SIM-карта жок."</string>
-    <string name="lockscreen_missing_sim_instructions" msgid="8473601862688263903">"SIM-картаны салыңыз."</string>
-    <string name="lockscreen_missing_sim_instructions_long" msgid="3664999892038416334">"SIM-карта жок же ал окулбайт. SIM-картаны салыңыз."</string>
+    <string name="lockscreen_missing_sim_instructions" msgid="8473601862688263903">"SIM картаны салыңыз."</string>
+    <string name="lockscreen_missing_sim_instructions_long" msgid="3664999892038416334">"SIM-карта жок же ал окулбайт. SIM картаны салыңыз."</string>
     <string name="lockscreen_permanent_disabled_sim_message_short" msgid="3812893366715730539">"Жараксыз SIM-карта."</string>
     <string name="lockscreen_permanent_disabled_sim_instructions" msgid="4358929052509450807">"SIM картаңыз биротоло өчүрүлдү.\n Башка SIM карта алыш үчүн зымсыз тейлөөчүгө кайрылыңыз."</string>
     <string name="lockscreen_transport_prev_description" msgid="2879469521751181478">"Мурунку трек"</string>
@@ -1216,18 +1216,18 @@
     <string name="dump_heap_ready_text" msgid="5849618132123045516">"<xliff:g id="PROC">%1$s</xliff:g> иштетүүсүнүн үймө дампы сиз үчүн бөлүшүүгө даяр. Абайлаңыз: бул үймө дампты иштетүү процессинде окула турган купуя жеке, анын ичинде терип киргизген маалыматыңыз камтылышы мүмкүн."</string>
     <string name="sendText" msgid="493003724401350724">"Текст үчүн аракет тандаңыз"</string>
     <string name="volume_ringtone" msgid="134784084629229029">"Коңгуроонун үн көлөмү"</string>
-    <string name="volume_music" msgid="7727274216734955095">"Мультимедианын үнү"</string>
+    <string name="volume_music" msgid="7727274216734955095">"Мультимедианын катуулугу"</string>
     <string name="volume_music_hint_playing_through_bluetooth" msgid="2614142915948898228">"Bluetooth аркылуу ойнотулууда"</string>
     <string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"Үнсүз рингтон орнотулду"</string>
     <string name="volume_call" msgid="7625321655265747433">"Чалуудагы үн көлөмү"</string>
     <string name="volume_bluetooth_call" msgid="2930204618610115061">"Bluetooth чалуудагы үн көлөмү"</string>
-    <string name="volume_alarm" msgid="4486241060751798448">"Ойготкучтун үнү"</string>
+    <string name="volume_alarm" msgid="4486241060751798448">"Ойготкучтун катуулугу"</string>
     <string name="volume_notification" msgid="6864412249031660057">"Эскертме үн көлөмү"</string>
     <string name="volume_unknown" msgid="4041914008166576293">"Үн көлөмү"</string>
     <string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"Bluetooth үнүнүн деңгээли"</string>
     <string name="volume_icon_description_ringer" msgid="2187800636867423459">"Коңгуроо үнүнүн деңгээли"</string>
     <string name="volume_icon_description_incall" msgid="4491255105381227919">"Чалуунун үн деңгээли"</string>
-    <string name="volume_icon_description_media" msgid="4997633254078171233">"Мультимедианын үнү"</string>
+    <string name="volume_icon_description_media" msgid="4997633254078171233">"Мультимедианын катуулугу"</string>
     <string name="volume_icon_description_notification" msgid="579091344110747279">"Эскертме үнүнүн деңгээли"</string>
     <string name="ringtone_default" msgid="9118299121288174597">"Демейки шыңгыр"</string>
     <string name="ringtone_default_with_actual" msgid="2709686194556159773">"Демейки шыңгыр (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
@@ -1281,8 +1281,8 @@
     <string name="sim_added_message" msgid="6602906609509958680">"Мобилдик түйүнкгө жетки алуу үчүн, түзмөгүңүздү өчүрүп кайра жандырыңыз."</string>
     <string name="sim_restart_button" msgid="8481803851341190038">"Өчүрүп күйгүзүү"</string>
     <string name="install_carrier_app_notification_title" msgid="5712723402213090102">"Мобилдик кызматты жандыруу"</string>
-    <string name="install_carrier_app_notification_text" msgid="2781317581274192728">"Жаңы SIM-картаны жандыруу үчүн байланыш операторунун колдонмосун жүктөп алыңыз"</string>
-    <string name="install_carrier_app_notification_text_app_name" msgid="4086877327264106484">"Жаңы SIM-картаны жандыруу үчүн <xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун жүктөп алыңыз"</string>
+    <string name="install_carrier_app_notification_text" msgid="2781317581274192728">"Жаңы SIM картаны жандыруу үчүн байланыш операторунун колдонмосун жүктөп алыңыз"</string>
+    <string name="install_carrier_app_notification_text_app_name" msgid="4086877327264106484">"Жаңы SIM картаны жандыруу үчүн <xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун жүктөп алыңыз"</string>
     <string name="install_carrier_app_notification_button" msgid="6257740533102594290">"Колдонмону жүктөп алуу"</string>
     <string name="carrier_app_notification_title" msgid="5815477368072060250">"Жаңы SIM карта салынды"</string>
     <string name="carrier_app_notification_text" msgid="6567057546341958637">"Аны жөндөө үчүн таптап коюңуз"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) сурады"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ооба"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Жок"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Жок кылуу чегинен ашты"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> эсебине тиешелүү <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> боюнча <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> өчүрүлгөн элемент бар. Мындан аркы кадамдарыңыз кандай болот?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Элементтерди жок кылуу"</string>
@@ -1591,7 +1597,7 @@
     <string name="kg_password_wrong_pin_code" msgid="9013856346870572451">"PIN-код туура эмес."</string>
     <string name="kg_invalid_sim_pin_hint" msgid="4821601451222564077">"Узундугу 4төн 8ге чейинки сандан турган PIN-кодду териңиз."</string>
     <string name="kg_invalid_sim_puk_hint" msgid="2539364558870734339">"PUK-код 8 сандан турушу керек."</string>
-    <string name="kg_invalid_puk" msgid="4809502818518963344">"Туура PUK-кодду кайрадан териңиз. Кайталанган аракеттер SIM-картаны биротоло жараксыз кылат."</string>
+    <string name="kg_invalid_puk" msgid="4809502818518963344">"Туура PUK-кодду кайрадан териңиз. Кайталанган аракеттер SIM картаны биротоло жараксыз кылат."</string>
     <string name="kg_invalid_confirm_pin_hint" product="default" msgid="4705368340409816254">"PIN-коддор туура келбеди"</string>
     <string name="kg_login_too_many_attempts" msgid="699292728290654121">"Өтө көп үлгү киргизүү аракети болду"</string>
     <string name="kg_login_instructions" msgid="3619844310339066827">"Бөгөттөн чыгарыш үчүн, Google эсебиңиз менен кириңиз."</string>
@@ -1653,8 +1659,8 @@
     <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Атайын мүмкүнчүлүктөр баскычын таптаганыңызда иштей турган функцияны тандаңыз:"</string>
     <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Атайын мүмкүнчүлүктөр жаңсоосу үчүн функцияны тандаңыз (эки манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз):"</string>
     <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Атайын мүмкүнчүлүктөр жаңсоосу аркылуу иштетиле турган функцияны тандаңыз (үч манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз):"</string>
-    <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"Функцияларды которуштуруу үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
-    <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"Функцияларды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+    <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"Функцияларды которуштуруу үчүн, Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
+    <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"Функцияларды которуштуруу үчүн, эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_gesture_3finger_instructional_text" msgid="3425123684990193765">"Башка функцияга которулуу үчүн үч манжаңыз менен экранды өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_magnification_chooser_text" msgid="1502075582164931596">"Чоңойтуу"</string>
     <string name="user_switched" msgid="7249833311585228097">"Учурдагы колдонуучу <xliff:g id="NAME">%1$s</xliff:g>."</string>
@@ -1790,8 +1796,8 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Администраторуңуз жок кылып салган"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ЖАРАЙТ"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Батареяны үнөмдөө үчүн Батареяны үнөмдөгүч:\n·Караңгы теманы күйгүзөт\n·Фондогу аракеттерди, айрым визуалдык эффекттерди жана \"Окей Google\" сыяктуу башка функцияларды өчүрөт же чектейт\n\n"<annotation id="url">"Кеңири маалымат"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Батареяны үнөмдөө үчүн Батареяны үнөмдөгүч режими:\n·Караңгы теманы күйгүзөт\n·Фондогу аракеттерди, айрым визуалдык эффекттерди жана \"Окей Google\" сыяктуу башка функцияларды өчүрөт же чектейт"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Трафикти үнөмдөө режиминде айрым колдонмолор дайындарды фондо өткөрө алышпайт. Учурда сиз пайдаланып жаткан колдонмо дайындарды жөнөтүп/ала алат, бирок адаттагыдан азыраак өткөргөндүктөн, анын айрым функциялары талаптагыдай иштебей коюшу мүмкүн. Мисалы, сүрөттөр басылмайынча жүктөлбөйт."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Батареянын иштешин узартуу үчүн, Батареяны үнөмдөөчү режим:\n·Караңгы теманы күйгүзөт;\n·Фондогу аракеттерди, айрым визуалдык эффекттерди жана \"Окей Google\" сыяктуу башка функцияларды өчүрөт же чектейт"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Трафикти үнөмдөө режиминде айрым колдонмолор дайын-даректерди фондо өткөрө алышпайт. Учурда сиз пайдаланып жаткан колдонмо дайын-даректерди жөнөтүп/ала алат, бирок адаттагыдан азыраак өткөргөндүктөн, анын айрым функциялары талаптагыдай иштебей коюшу мүмкүн. Мисалы, сүрөттөр басылмайынча жүктөлбөйт."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Трафикти үнөмдөө режимин иштетесизби?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Күйгүзүү"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
@@ -1958,12 +1964,12 @@
     <string name="etws_primary_default_message_earthquake" msgid="8401079517718280669">"Эс алып, жакын жерден калканч издеңиз."</string>
     <string name="etws_primary_default_message_tsunami" msgid="5828171463387976279">"Деңиз жана дарыя жээгинде жайгашкан аймактардан бийик тоо сыяктуу коопсуз жерге тезинен чыгып кетиңиз."</string>
     <string name="etws_primary_default_message_earthquake_and_tsunami" msgid="4888224011071875068">"Эс алып, жакын жерден калканч издеңиз."</string>
-    <string name="etws_primary_default_message_test" msgid="4583367373909549421">"Өзгөчө кырдаалда жөнөтүлүүчү билдирүүлөрдү сыноо"</string>
+    <string name="etws_primary_default_message_test" msgid="4583367373909549421">"Кырсыктаганда жөнөтүлүүчү билдирүүлөрдү сыноо"</string>
     <string name="notification_reply_button_accessibility" msgid="5235776156579456126">"Жооп берүү"</string>
     <string name="etws_primary_default_message_others" msgid="7958161706019130739"></string>
-    <string name="mmcc_authentication_reject" msgid="4891965994643876369">"SIM-картаны сүйлөшүү үчүн колдонууга тыюу салынган"</string>
+    <string name="mmcc_authentication_reject" msgid="4891965994643876369">"SIM картаны сүйлөшүү үчүн колдонууга тыюу салынган"</string>
     <string name="mmcc_imsi_unknown_in_hlr" msgid="227760698553988751">"SIM-карта сүйлөшүү үчүн таанылган жок"</string>
-    <string name="mmcc_illegal_ms" msgid="7509650265233909445">"SIM-картаны сүйлөшүү үчүн колдонууга тыюу салынган"</string>
+    <string name="mmcc_illegal_ms" msgid="7509650265233909445">"SIM картаны сүйлөшүү үчүн колдонууга тыюу салынган"</string>
     <string name="mmcc_illegal_me" msgid="6505557881889904915">"Телефонду сүйлөшүү үчүн колдонууга тыюу салынган"</string>
     <string name="mmcc_authentication_reject_msim_template" msgid="4480853038909922153">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> картасына уруксат берилген жок"</string>
     <string name="mmcc_imsi_unknown_in_hlr_msim_template" msgid="3688508325248599657">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> картасы таанылган жок"</string>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index b22fa0e..60b91f7 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"ຮ້ອງຂໍໂດຍ <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ຕົກລົງ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ບໍ່"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ກາຍເຂດກຳນົດການລຶບ"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"ມີ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ລາຍການທີ່ຖືກລຶບສຳລັບ <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, ບັນຊີ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. ທ່ານຕ້ອງການຈະເຮັດແນວໃດ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ລຶບລາຍການ"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 1b2d0b5..6efae06 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Užklausą pateikė <xliff:g id="NAME">%1$s</xliff:g> („<xliff:g id="SERVICE">%2$s</xliff:g>“)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Taip"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Viršytas ištrynimo apribojimas"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Yra <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ištr. element., skirt. <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, „<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>“ pask. Ką norite daryti?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Ištrinti elementus"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 9cb4bd6..aad9a69 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -1478,6 +1478,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Pieprasīja: <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Jā"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nē"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Pārsniegts dzēšanas ierobežojums"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, konts <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>: izdzēsti <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> vienumi. Kādas darbības vēlaties veikt?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Dzēsiet šos vienumus."</string>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index 3807da8..9eb7aac 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -1299,7 +1299,7 @@
     <string name="usb_supplying_notification_title" msgid="5378546632408101811">"Поврзаниот уред се полни преку USB"</string>
     <string name="usb_mtp_notification_title" msgid="1065989144124499810">"Вклучен е пренос на датотеки преку USB"</string>
     <string name="usb_ptp_notification_title" msgid="5043437571863443281">"Вклучен е PTP преку USB"</string>
-    <string name="usb_tether_notification_title" msgid="8828527870612663771">"Вклучено е врзување преку USB"</string>
+    <string name="usb_tether_notification_title" msgid="8828527870612663771">"Вклучен е интернет преку USB"</string>
     <string name="usb_midi_notification_title" msgid="7404506788950595557">"Вклучен е MIDI преку USB"</string>
     <string name="usb_accessory_notification_title" msgid="1385394660861956980">"Поврзан е USB-додаток"</string>
     <string name="usb_notification_message" msgid="4715163067192110676">"Допрете за повеќе опции."</string>
@@ -1457,14 +1457,20 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Побарано од <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Да"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Не"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Границата на бришење е надмината"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Постојат <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> избришани ставки за <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> сметка. Што сакате да направите?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Избриши ги ставките"</string>
     <string name="sync_undo_deletes" msgid="5786033331266418896">"Врати ги избришаните"</string>
     <string name="sync_do_nothing" msgid="4528734662446469646">"Не прави ништо засега"</string>
     <string name="choose_account_label" msgid="5557833752759831548">"Изберете сметка"</string>
-    <string name="add_account_label" msgid="4067610644298737417">"Додај сметка"</string>
-    <string name="add_account_button_label" msgid="322390749416414097">"Додај сметка"</string>
+    <string name="add_account_label" msgid="4067610644298737417">"Додајте сметка"</string>
+    <string name="add_account_button_label" msgid="322390749416414097">"Додајте сметка"</string>
     <string name="number_picker_increment_button" msgid="7621013714795186298">"Зголеми"</string>
     <string name="number_picker_decrement_button" msgid="5116948444762708204">"Намали"</string>
     <string name="number_picker_increment_scroll_mode" msgid="8403893549806805985">"<xliff:g id="VALUE">%s</xliff:g> допри и задржи."</string>
@@ -1792,9 +1798,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Избришано од администраторот"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Во ред"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"За да го продолжи траењето на батеријата, „Штедачот на батерија“:\n·вклучува темна тема\n·исклучува или ограничува активност во заднина, некои визуелни ефекти и други функции како „Hey Google“\n\n"<annotation id="url">"Дознајте повеќе"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"За да го продолжи траењето на батеријата, „Штедачот на батерија“:\n·вклучува темна тема\n·исклучува или ограничува активност во заднина, некои визуелни ефекти и други функции како „Hey Google“"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"За да се намали користењето интернет, „Штедачот на интернет“ спречува дел од апликациите да испраќаат или да примаат податоци во заднина. Апликацијата што ја користите во моментов можеби ќе пристапува до интернет, но тоа ќе го прави поретко. Ова значи, на пример, дека сликите нема да се прикажат додека не ги допрете."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Вклучете Штедач на интернет?"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"За да го продолжи траењето на батеријата, „Штедачот на батерија“:\n·вклучува „Темна тема“;\n·исклучува или ограничува активност во заднина, некои визуелни ефекти и други функции како „Ok Google“."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"За да се намали користењето интернет, „Штедачот на интернет“ спречува дел од апликациите да испраќаат или да примаат податоци во заднина. Одредена апликација што ја користите ќе може да користи интернет, но можеби тоа ќе го прави поретко. Ова значи, на пример, дека сликите нема да се прикажуваат додека не ги допрете."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Да се вклучи „Штедач на интернет“?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Вклучи"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">За %1$d минута (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
@@ -1874,7 +1880,7 @@
     <string name="notification_history_title_placeholder" msgid="7748630986182249599">"Приспособено известување за апликација"</string>
     <string name="user_creation_account_exists" msgid="2239146360099708035">"Дозволувате <xliff:g id="APP">%1$s</xliff:g> да создаде нов корисник со <xliff:g id="ACCOUNT">%2$s</xliff:g>? (Веќе постои корисник со оваа сметка.)"</string>
     <string name="user_creation_adding" msgid="7305185499667958364">"Дозволувате <xliff:g id="APP">%1$s</xliff:g> да создаде нов корисник со <xliff:g id="ACCOUNT">%2$s</xliff:g>?"</string>
-    <string name="language_selection_title" msgid="52674936078683285">"Додај јазик"</string>
+    <string name="language_selection_title" msgid="52674936078683285">"Додајте јазик"</string>
     <string name="country_selection_title" msgid="5221495687299014379">"Претпочитувања за регион"</string>
     <string name="search_language_hint" msgid="7004225294308793583">"Внеси име на јазик"</string>
     <string name="language_picker_section_suggested" msgid="6556199184638990447">"Предложени"</string>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index e54cf72..5b56aa7c3 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) അഭ്യർത്ഥിച്ചത്"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"വേണം"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"വേണ്ട"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ഇല്ലാതാക്കൽ പരിധി കഴിഞ്ഞു"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> എന്ന അക്കൗണ്ടിലെ <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> എന്നതിനായി ഇല്ലാതാക്കിയ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ഇനങ്ങളുണ്ട്. നിങ്ങൾ എന്തുചെയ്യാൻ താൽപ്പര്യപ്പെടുന്നു?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ഇനങ്ങൾ ഇല്ലാതാക്കുക"</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index 4fcbe76..ac29610 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -297,7 +297,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">"Календарь"</string>
     <string name="permgroupdesc_calendar" msgid="6762751063361489379">"Хуанли руу хандах"</string>
     <string name="permgrouplab_sms" msgid="795737735126084874">"Мессеж"</string>
     <string name="permgroupdesc_sms" msgid="5726462398070064542">"SMS мессежийг илгээх, харах"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) хүсэлт илгээсэн"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Тийм"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Үгүй"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Устгах хязгаар хэтрэв"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>-р <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> бүртгэлийн <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> зүйл устсан . Та юу хиймээр байна?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Устгах"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ОК"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Батарейн ажиллах хугацааг уртасгахын тулд Батарей хэмнэгч нь:\n·Бараан загварыг асаадаг\n·Арын үйл ажиллагаа, зарим визуал эффект болон “Hey Google” зэрэг бусад онцлогийг унтрааж эсвэл хязгаарладаг\n\n"<annotation id="url">"Нэмэлт мэдээлэл авах"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Батарейн ажиллах хугацааг уртасгахын тулд Батарей хэмнэгч нь:\n·Бараан загварыг асаадаг\n·Арын үйл ажиллагаа, зарим визуал эффект болон “Hey Google” зэрэг бусад онцлогийг унтрааж эсвэл хязгаарладаг"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"Дата ашиглалтыг багасгахын тулд дата хэмнэгч нь зарим апп-н өгөгдлийг дэвсгэрт илгээх болон авахаас сэргийлдэг. Таны одоогийн ашиглаж буй апп нь өгөгдөлд хандах боломжтой хэдий ч тогтмол хандахгүй. Жишээлбэл зургийг товших хүртэл харагдахгүй."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"Дата ашиглалтыг багасгахын тулд дата хэмнэгч нь ар талд ажиллаж буй зарим апп-н өгөгдлийг илгээх болон авахаас сэргийлдэг. Таны одоогийн ашиглаж буй апп нь өгөгдөлд хандах боломжтой хэдий ч тогтмол хандахгүй. Энэ нь жишээлбэл зургийг товших хүртэл харагдахгүй гэсэн үг юм."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Дата хэмнэгчийг асаах уу?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Асаах"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
@@ -1901,7 +1907,7 @@
     <string name="pin_specific_target" msgid="7824671240625957415">"<xliff:g id="LABEL">%1$s</xliff:g>-г бэхлэх"</string>
     <string name="unpin_target" msgid="3963318576590204447">"Unpin"</string>
     <string name="unpin_specific_target" msgid="3859828252160908146">"<xliff:g id="LABEL">%1$s</xliff:g>-г тогтоосныг болиулах"</string>
-    <string name="app_info" msgid="6113278084877079851">"Апп-н мэдээлэл"</string>
+    <string name="app_info" msgid="6113278084877079851">"Аппын мэдээлэл"</string>
     <string name="negative_duration" msgid="1938335096972945232">"−<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="demo_starting_message" msgid="6577581216125805905">"Жишээг эхлүүлж байна…"</string>
     <string name="demo_restarting_message" msgid="1160053183701746766">"Төхөөрөмжийг шинэчилж байна…"</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index feba806..5187245 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -236,7 +236,7 @@
     <string name="global_actions" product="tv" msgid="3871763739487450369">"Android TV पर्याय"</string>
     <string name="global_actions" product="default" msgid="6410072189971495460">"फोन पर्याय"</string>
     <string name="global_action_lock" msgid="6949357274257655383">"स्क्रीन लॉक"</string>
-    <string name="global_action_power_off" msgid="4404936470711393203">"बंद"</string>
+    <string name="global_action_power_off" msgid="4404936470711393203">"बंद करा"</string>
     <string name="global_action_power_options" msgid="1185286119330160073">"पॉवर"</string>
     <string name="global_action_restart" msgid="4678451019561687074">"रीस्टार्ट करा"</string>
     <string name="global_action_emergency" msgid="1387617624177105088">"आणीबाणी"</string>
@@ -257,9 +257,9 @@
     <string name="bugreport_screenshot_failure_toast" msgid="6736320861311294294">"बग रिपोर्टसह स्क्रीनशॉट घेता आला नाही"</string>
     <string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"मूक मोड"</string>
     <string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"ध्वनी बंद आहे"</string>
-    <string name="global_action_silent_mode_off_status" msgid="6608006545950920042">"ध्वनी चालू आहे"</string>
+    <string name="global_action_silent_mode_off_status" msgid="6608006545950920042">"ध्वनी सुरू आहे"</string>
     <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"विमान मोड"</string>
-    <string name="global_actions_airplane_mode_on_status" msgid="5508025516695361936">"विमान मोड चालू आहे"</string>
+    <string name="global_actions_airplane_mode_on_status" msgid="5508025516695361936">"विमान मोड सुरू आहे"</string>
     <string name="global_actions_airplane_mode_off_status" msgid="8522219771500505475">"विमान मोड बंद आहे"</string>
     <string name="global_action_settings" msgid="4671878836947494217">"सेटिंग्ज"</string>
     <string name="global_action_assist" msgid="2517047220311505805">"सहाय्यता"</string>
@@ -284,9 +284,9 @@
     <string name="notification_channel_retail_mode" msgid="3732239154256431213">"रीटेल डेमो"</string>
     <string name="notification_channel_usb" msgid="1528280969406244896">"USB कनेक्‍शन"</string>
     <string name="notification_channel_heavy_weight_app" msgid="17455756500828043">"APP चालत आहे"</string>
-    <string name="notification_channel_foreground_service" msgid="7102189948158885178">"बॅटरी लवकर संपवणारी ॲप्‍स"</string>
+    <string name="notification_channel_foreground_service" msgid="7102189948158885178">"बॅटरी लवकर संपवणारी अ‍ॅप्स"</string>
     <string name="foreground_service_app_in_background" msgid="1439289699671273555">"<xliff:g id="APP_NAME">%1$s</xliff:g> बॅटरी वापरत आहे"</string>
-    <string name="foreground_service_apps_in_background" msgid="7340037176412387863">"<xliff:g id="NUMBER">%1$d</xliff:g> ॲप्‍स बॅटरी वापरत आहेत"</string>
+    <string name="foreground_service_apps_in_background" msgid="7340037176412387863">"<xliff:g id="NUMBER">%1$d</xliff:g> अ‍ॅप्स बॅटरी वापरत आहेत"</string>
     <string name="foreground_service_tap_for_details" msgid="9078123626015586751">"बॅटरी आणि डेटा वापराच्‍या तपशीलांसाठी टॅप करा"</string>
     <string name="foreground_service_multiple_separator" msgid="5002287361849863168">"<xliff:g id="LEFT_SIDE">%1$s</xliff:g>, <xliff:g id="RIGHT_SIDE">%2$s</xliff:g>"</string>
     <string name="safeMode" msgid="8974401416068943888">"सुरक्षित मोड"</string>
@@ -384,7 +384,7 @@
     <string name="permlab_foregroundService" msgid="1768855976818467491">"पृष्‍ठभाग सेवा रन करा"</string>
     <string name="permdesc_foregroundService" msgid="8720071450020922795">"अ‍ॅपला पृष्‍ठभाग सेवा वापरण्याची अनुमती देते."</string>
     <string name="permlab_getPackageSize" msgid="375391550792886641">"अ‍ॅप संचयन स्थान मोजा"</string>
-    <string name="permdesc_getPackageSize" msgid="742743530909966782">"अ‍ॅप ला त्याचा कोड, डेटा आणि कॅश   आकार पुनर्प्राप्त करण्यासाठी अनुमती देते"</string>
+    <string name="permdesc_getPackageSize" msgid="742743530909966782">"अ‍ॅप ला त्याचा कोड, डेटा आणि कॅशे    आकार पुनर्प्राप्त करण्यासाठी अनुमती देते"</string>
     <string name="permlab_writeSettings" msgid="8057285063719277394">"सिस्टम सेटिंग्ज सुधारित करा"</string>
     <string name="permdesc_writeSettings" msgid="8293047411196067188">"सिस्टीमचा सेटिंग्ज डेटा सुधारित करण्यासाठी अ‍ॅप ला अनुमती देते. दुर्भावनापूर्ण अ‍ॅप्स आपल्या सिस्टीमचे कॉन्फिगरेशन दूषित करू शकतात."</string>
     <string name="permlab_receiveBootCompleted" msgid="6643339400247325379">"सुरूवातीस चालवा"</string>
@@ -1397,9 +1397,9 @@
     <string name="ime_action_go" msgid="5536744546326495436">"जा"</string>
     <string name="ime_action_search" msgid="4501435960587287668">"शोधा"</string>
     <string name="ime_action_send" msgid="8456843745664334138">"पाठवा"</string>
-    <string name="ime_action_next" msgid="4169702997635728543">"पुढील"</string>
+    <string name="ime_action_next" msgid="4169702997635728543">"पुढे"</string>
     <string name="ime_action_done" msgid="6299921014822891569">"पूर्ण झाले"</string>
-    <string name="ime_action_previous" msgid="6548799326860401611">"मागील"</string>
+    <string name="ime_action_previous" msgid="6548799326860401611">"मागे"</string>
     <string name="ime_action_default" msgid="8265027027659800121">"कार्यान्वित करा"</string>
     <string name="dial_number_using" msgid="6060769078933953531">\n"<xliff:g id="NUMBER">%s</xliff:g> वापरून नंबर डायल करा"</string>
     <string name="create_contact_using" msgid="6200708808003692594">\n"<xliff:g id="NUMBER">%s</xliff:g> वापरून संपर्क तयार करा"</string>
@@ -1434,7 +1434,7 @@
     <string name="no_file_chosen" msgid="4146295695162318057">"फाईल निवडली नाही"</string>
     <string name="reset" msgid="3865826612628171429">"रीसेट करा"</string>
     <string name="submit" msgid="862795280643405865">"सबमिट करा"</string>
-    <string name="car_mode_disable_notification_title" msgid="8450693275833142896">"ड्रायव्हिंग अ‍ॅप चालू आहे"</string>
+    <string name="car_mode_disable_notification_title" msgid="8450693275833142896">"ड्रायव्हिंग अ‍ॅप सुरू आहे"</string>
     <string name="car_mode_disable_notification_message" msgid="8954550232288567515">"ड्रायव्हिंग ॲपमधून बाहेर पाडण्यासाठी टॅप करा."</string>
     <string name="back_button_label" msgid="4078224038025043387">"मागे"</string>
     <string name="next_button_label" msgid="6040209156399907780">"पुढील"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) द्वारे विनंती केली"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"होय"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"नाही"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ओलांडलेली मर्यादा हटवा"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> खात्यासाठी <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> हटविलेले आयटम आहेत. तुम्ही काय करू इच्छिता?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"आयटम हटवा"</string>
@@ -1656,7 +1662,7 @@
     <string name="accessibility_button_instructional_text" msgid="8853928358872550500">"वैशिष्टयांदरम्यान स्विच करण्यासाठी अ‍ॅक्सेसिबिलिटी बटणाला स्पर्श करा आणि धरून ठेवा."</string>
     <string name="accessibility_gesture_instructional_text" msgid="9196230728837090497">"वैशिष्टयांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_gesture_3finger_instructional_text" msgid="3425123684990193765">"वैशिष्टयांदरम्यान स्विच करण्यासाठी तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
-    <string name="accessibility_magnification_chooser_text" msgid="1502075582164931596">"मोठे करणे"</string>
+    <string name="accessibility_magnification_chooser_text" msgid="1502075582164931596">"मॅग्निफिकेशन"</string>
     <string name="user_switched" msgid="7249833311585228097">"वर्तमान वापरकर्ता <xliff:g id="NAME">%1$s</xliff:g>."</string>
     <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g> वर स्विच करत आहे…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"<xliff:g id="NAME">%1$s</xliff:g> लॉग आउट करत आहे…"</string>
@@ -1790,9 +1796,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"आपल्या प्रशासकाने हटवले"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ओके"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"बॅटरी सेव्‍हर हे बॅटरीचे आयुष्य वाढवते:\n·गडद थीम सुरू करते \n· बॅकग्राउंड अ‍ॅक्टिव्हिटी, काही व्हिज्युअल इफेक्ट आणि \"Ok Google\" यासारखी वैशिष्ट्ये बंद किंवा मर्यादित करते.\n\n"<annotation id="url">"अधिक जाणून घ्या"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"बॅटरी सेव्‍हर हे बॅटरीचे आयुष्य वाढवते:\n·गडद थीम सुरू करते \n· बॅकग्राउंड अ‍ॅक्टिव्हिटी, काही व्हिज्युअल इफेक्ट आणि \"Ok Google\" यासारखी वैशिष्ट्ये बंद किंवा मर्यादित करते."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"डेटा सर्व्हर डेटाचा वापर कमी करण्यात मदत करण्यासाठी काही अ‍ॅप्सना पार्श्वभूमीमध्ये डेटा पाठवण्यास किंवा  मिळवण्यास प्रतिबंध करतो. तुम्ही सध्या वापरत असलेले अ‍ॅप डेटा अ‍ॅक्सेस करू शकते, पण तसे खूप कमी वेळा होते. याचाच अर्थ असा की, तुम्ही इमेजवर टॅप करेपर्यंत त्या डिस्प्ले होणार नाहीत असा असू शकतो."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा सेव्हर चालू करायचा?"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"बॅटरीचे आयुष्य वाढवण्यासाठी बॅटरी सेव्‍हर:\n·गडद थीम सुरू करते \n· बॅकग्राउंड अ‍ॅक्टिव्हिटी, काही व्हिज्युअल इफेक्ट आणि \"Ok Google\" यासारखी वैशिष्ट्ये बंद किंवा मर्यादित करते."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"डेटाचा वापर कमी करण्यात मदत करण्यासाठी काही अ‍ॅप्सना बॅकग्राउंडमध्ये डेटा पाठवण्यास किंवा मिळवण्यास डेटा सर्व्हर प्रतिबंध करतो. तुम्ही सध्या वापरत असलेले अ‍ॅप डेटा अ‍ॅक्सेस करू शकते, पण तसे खूप कमी वेळा होते. याचाच अर्थ असा की, तुम्ही इमेजवर टॅप करेपर्यंत त्या डिस्प्ले होणार नाहीत असे होऊ शकते."</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा सेव्हर चालू करायचे?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"चालू करा"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d मिनिटांसाठी (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> पर्यंत)</item>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 1a69a73..cc66d3b 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Diminta oleh <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ya"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Tidak"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Melebihi had padam"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Terdapat <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> item yang dipadamkan untuk <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, akaun <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Apakah yang mahu anda lakukan?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Padamkan item itu"</string>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index c93ca0f..cd7d9db 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -258,7 +258,7 @@
     <string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"အသံတိတ်စနစ်"</string>
     <string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"အသံပိတ်ထားသည်"</string>
     <string name="global_action_silent_mode_off_status" msgid="6608006545950920042">"အသံဖွင့်ထားသည်"</string>
-    <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်"</string>
+    <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"လေယာဉ်ပျံမုဒ်"</string>
     <string name="global_actions_airplane_mode_on_status" msgid="5508025516695361936">"လေယဥ်ပျံပေါ်၌အသုံးပြုသောစနစ်ဖွင့်ထားသည်"</string>
     <string name="global_actions_airplane_mode_off_status" msgid="8522219771500505475">"လေယဥ်ပျံပေါ်၌အသုံးပြုသောစနစ်ပိတ်ထားသည်"</string>
     <string name="global_action_settings" msgid="4671878836947494217">"ဆက်တင်များ"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)မှတောင်းခံသည်"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yes"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"No"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ပယ်ဖျက်မည့်ကန့်သတ်နှုန်းကျော်လွန်သည်"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>၊  account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> အတွက် စုစုပေါင်း <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> အရာဖျက်ထားပါသည်။ သင်ဘာလုပ်ချင်ပါလဲ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ဤအရာများကိုဖျက်ပါ"</string>
@@ -1558,10 +1564,10 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"ကြိုးမဲ့ပြသခြင်း"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"သရုပ်ဆောင်​များ"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"စက်တစ်ခုကို ချိတ်ဆက်ရန်"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ဖန်သားပြင်ကို စက်ဆီ ပို့လွှတ်ပါ"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ဖန်သားပြင်ကို စက်ထံသို့ ပို့ပါ"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"စက်များကို ရှာဖွေနေပါသည် ..."</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"ဆက်တင်များ"</string>
-    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ချိတ်ဆက်ခြင်းရပ်ဆိုင်းရန်"</string>
+    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ချိတ်ဆက်မှုဖြုတ်ရန်"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"စကင်ပြုလုပ်နေစဉ်..."</string>
     <string name="media_route_status_connecting" msgid="5845597961412010540">"ဆက်သွယ်နေစဉ်..."</string>
     <string name="media_route_status_available" msgid="1477537663492007608">"ရနိုင်သော"</string>
@@ -1790,9 +1796,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"သင်၏ စီမံခန့်ခွဲသူက ဖျက်လိုက်ပါပြီ"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် \'ဘက်ထရီအားထိန်း\' က \n·မှောင်သည့် အပြင်အဆင်ကို ဖွင့်သည် \n·နောက်ခံလုပ်ဆောင်ချက် အချို့ အမြင်အာရုံဆိုင်ရာ အထူးပြုလုပ်ချက်များနှင့် “Hey Google” ကဲ့သို့ အခြား ဝန်ဆောင်မှုများကို ပိတ်ခြင်း သို့မဟုတ် ကန့်သတ်ခြင်းတို့ ပြုလုပ်သည်။\n\n"<annotation id="url">"ပိုမိုလေ့လာရန်"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် \'ဘက်ထရီအားထိန်း\' က \n·မှောင်သည့် အပြင်အဆင်ကို ဖွင့်သည် \n·နောက်ခံလုပ်ဆောင်ချက် အချို့ အမြင်အာရုံဆိုင်ရာ အထူးပြုလုပ်ချက်များနှင့် “Hey Google” ကဲ့သို့ အခြား ဝန်ဆောင်မှုများကို ပိတ်ခြင်း သို့မဟုတ် ကန့်သတ်ခြင်းတို့ ပြုလုပ်သည်။"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် \'ဘက်ထရီအားထိန်း\' က- \n·မှောင်သည့် အပြင်အဆင်ကို ဖွင့်သည်\n·နောက်ခံလုပ်ဆောင်ချက်၊ ပြသမှုဆိုင်ရာ အထူးပြုလုပ်ချက်အချို့နှင့် “Hey Google” ကဲ့သို့ အခြား ဝန်ဆောင်မှုများကို ပိတ်သည် သို့မဟုတ် ကန့်သတ်သည်။"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"ဒေတာအသုံးလျှော့ချနိုင်ရန်အတွက် အက်ပ်များကို နောက်ခံတွင် ဒေတာပို့ခြင်းနှင့် လက်ခံခြင်းမပြုရန် \'ဒေတာချွေတာမှု\' စနစ်က တားဆီးထားပါသည်။ ယခုအက်ပ်ဖြင့် ဒေတာအသုံးပြုနိုင်သော်လည်း အကြိမ်လျှော့၍သုံးရပါမည်။ ဥပမာ၊ သင်က မတို့မချင်း ပုံများပေါ်လာမည် မဟုတ်ပါ။"</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"ဒေတာအသုံးပြုမှု ချွေတာမှုစနစ်ကို ဖွင့်မလား။"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"ဒေတာချွေတာမှုစနစ် ဖွင့်မလား။"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ဖွင့်ပါ"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d မိနစ်တွင် (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>အထိ)</item>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 7858064..a398bca 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Forespurt av <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ja"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nei"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Slettegrense overskredet"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Det fins <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> slettede elementer for <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> for kontoen <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Hva ønsker du å gjøre?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Slett elementene"</string>
@@ -1558,7 +1564,7 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"Trådløs skjerm"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"Cast"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"Koble til enheten"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Cast skjermen til enheten"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Cast skjermen til enhet"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"Søker etter enheter …"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Innstillinger"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Koble fra"</string>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index 2ad119f..c42b4d5 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -428,7 +428,7 @@
     <string name="permlab_accessBackgroundLocation" msgid="1721164702777366138">"पृष्ठभूमिमा स्थानसम्बन्धी पहुँच"</string>
     <string name="permdesc_accessBackgroundLocation" msgid="8264885066095638105">"यो अनुप्रयोगले जुनसुकै बेला (अनुप्रयोग नचलाएका बेलामा पनि) स्थानमाथि पहुँच राख्न सक्छ।"</string>
     <string name="permlab_modifyAudioSettings" msgid="6129039778010031815">"तपाईँका अडियो सेटिङहरू परिवर्तन गर्नुहोस्"</string>
-    <string name="permdesc_modifyAudioSettings" msgid="8687227609663124921">"अनुप्रयोगलाई ग्लोबल अडियो सेटिङहरू परिमार्जन गर्न अनुमति दिन्छ, जस्तै आवाजको मात्रा र आउटपुटको लागि कुन स्पिकर प्रयोग गर्ने।"</string>
+    <string name="permdesc_modifyAudioSettings" msgid="8687227609663124921">"अनुप्रयोगलाई ग्लोबल अडियो सेटिङहरू परिमार्जन गर्न अनुमति दिन्छ, जस्तै भोल्युम र आउटपुटको लागि कुन स्पिकर प्रयोग गर्ने।"</string>
     <string name="permlab_recordAudio" msgid="1208457423054219147">"अडियो रेकर्ड गर्नुहोस्"</string>
     <string name="permdesc_recordAudio" msgid="3976213377904701093">"यस अनुप्रयोगले जुनसुकै समय माइक्रोफोनको प्रयोग गरी अडियो रेकर्ड गर्न सक्छ।"</string>
     <string name="permlab_sim_communication" msgid="176788115994050692">"SIM मा आदेशहरू पठाउन दिनुहोस्"</string>
@@ -683,9 +683,9 @@
     <string name="policylab_forceLock" msgid="7360335502968476434">"स्क्रिन लक गर्ने"</string>
     <string name="policydesc_forceLock" msgid="1008844760853899693">"कसरी र कहिले स्क्रिन लक गर्ने नियन्त्रण गर्नुहोस्।"</string>
     <string name="policylab_wipeData" msgid="1359485247727537311">"सबै डेटा मेट्नुहोस्"</string>
-    <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"एउटा फ्याक्ट्रि डेटा पुनःसेट गरेर चेतावनी नआउँदै ट्याबल्टको डेटा मेट्नुहोस्।"</string>
+    <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"एउटा फ्याक्ट्रि डेटा रिसेट गरेर चेतावनी नआउँदै ट्याबल्टको डेटा मेट्नुहोस्।"</string>
     <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"फ्याक्ट्री डेटा रिसेट गरेर चेतावनी नदिइकन आफ्नो Android TV यन्त्रको डेटा मेटाउनुहोस्।"</string>
-    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"एउटा फ्याक्ट्रि डेटा पुनःसेट गरेर चेतावनी नदिइकन फोनको डेटा मेट्न।"</string>
+    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"एउटा फ्याक्ट्रि डेटा रिसेट गरेर चेतावनी नदिइकन फोनको डेटा मेट्न।"</string>
     <string name="policylab_wipeData_secondaryUser" msgid="413813645323433166">"प्रयोगकर्ता डेटा मेट्नुहोस्"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="2336676480090926470">"चेतावनी बिना यो ट्याब्लेटमा यस प्रयोगकर्ताको डेटा मेट्नुहोस्।"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2293713284515865200">"यो Android TV यन्त्रमा भएको यस प्रयोगकर्ताको डेटा चेतावनी नदिइकन मेटाउनुहोस्।"</string>
@@ -863,12 +863,12 @@
     <string name="lockscreen_failed_attempts_almost_glogin" product="tablet" msgid="3069635524964070596">"तपाईँले तपाईँको अनलक ढाँचा गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक खिच्नु भएको छ। पछि <xliff:g id="NUMBER_1">%2$d</xliff:g> थप असफल कोसिसहरू, तपाईँको Google साइन इन प्रयोग गरी तपाईँको ट्याब्लेट अनलक गर्न भनिने छ।\n\n  <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा फरि प्रयास गर्नुहोस्।"</string>
     <string name="lockscreen_failed_attempts_almost_glogin" product="tv" msgid="6399092175942158529">"तपाईंले आफ्नो अनलक शैली <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत तरिकाले कोर्नुभएको छ। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> प्रयासहरू असफल भएपछि तपाईंलाई आफ्नो Google खाता मार्फत साइन इन गरेर आफ्नो Android TV यन्त्र अनलक गर्न अनुरोध गरिनेछ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डपछि फेरि प्रयास गर्नुहोस्।"</string>
     <string name="lockscreen_failed_attempts_almost_glogin" product="default" msgid="5691623136957148335">"तपाईँले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत तरिकाले तपाईँको अनलक ढाँचालाई कोर्नु भएको छ। पछि <xliff:g id="NUMBER_1">%2$d</xliff:g> अरू धेरै असफल कोसिसहरूपछि, तपाईँलाई तपाईँको फोन Google साइन इन प्रयोग गरेर अनलक गर्नको लागि सोधिने छ। \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा पुनः प्रयास गर्नुहोस्।"</string>
-    <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="7914445759242151426">"तपाईँले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक ट्याब्लेटलाई अनलक गर्नको लागि गलत तरिकाले कोशिस गर्नुभएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> अरू धेरै असफल कोसिसहरूपछि, ट्याब्लेट फ्याट्रि पूर्वनिर्धारितमा पुनःसेट हुने छ र सबै प्रयोगकर्ता डेटा हराउने छन्।"</string>
+    <string name="lockscreen_failed_attempts_almost_at_wipe" product="tablet" msgid="7914445759242151426">"तपाईँले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक ट्याब्लेटलाई अनलक गर्नको लागि गलत तरिकाले कोशिस गर्नुभएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> अरू धेरै असफल कोसिसहरूपछि, ट्याब्लेट फ्याट्रि पूर्वनिर्धारितमा रिसेट हुने छ र सबै प्रयोगकर्ता डेटा हराउने छन्।"</string>
     <string name="lockscreen_failed_attempts_almost_at_wipe" product="tv" msgid="4275591249631864248">"तपाईंले आफ्नो Android TV यन्त्र <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत तरिकाले अनलक गर्ने प्रयास गर्नुभएको छ। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> प्रयासहरू असफल भएपछि तपाईंको Android TV यन्त्रलाई रिसेट गरेर पूर्वनिर्धारित फ्याक्ट्री सेटिङ लागू गरिने छ र प्रयोगकर्ताको सम्पूर्ण डेटा गुम्ने छ।"</string>
-    <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="1166532464798446579">"तपाईंले गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक फोन अनलक गर्ने प्रयत्न गर्नुभयो। <xliff:g id="NUMBER_1">%2$d</xliff:g> बढी असफल प्रयत्नहरू पछि, फोन फ्याक्ट्रि पूर्वनिर्धारितमा पुनःसेट हुने छ र सबै प्रयोगकर्ता डेटा हराउने छन्।"</string>
-    <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="8682445539263683414">"तपाईँले ट्यब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER">%d</xliff:g> पटक प्रयास गर्नु भएको छ। अब ट्याब्लेटलाई पूर्वनिर्धारित कार्यशालामा पुनःसेट गरिने छ।"</string>
+    <string name="lockscreen_failed_attempts_almost_at_wipe" product="default" msgid="1166532464798446579">"तपाईंले गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक फोन अनलक गर्ने प्रयत्न गर्नुभयो। <xliff:g id="NUMBER_1">%2$d</xliff:g> बढी असफल प्रयत्नहरू पछि, फोन फ्याक्ट्रि पूर्वनिर्धारितमा रिसेट हुने छ र सबै प्रयोगकर्ता डेटा हराउने छन्।"</string>
+    <string name="lockscreen_failed_attempts_now_wiping" product="tablet" msgid="8682445539263683414">"तपाईँले ट्यब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER">%d</xliff:g> पटक प्रयास गर्नु भएको छ। अब ट्याब्लेटलाई पूर्वनिर्धारित कार्यशालामा रिसेट गरिने छ।"</string>
     <string name="lockscreen_failed_attempts_now_wiping" product="tv" msgid="2205435033340091883">"तपाईंले आफ्नो Android TV यन्त्र <xliff:g id="NUMBER">%d</xliff:g> पटक गलत तरिकाले अनलक गर्ने प्रयास गर्नुभएको छ। अब तपाईंको Android TV यन्त्रलाई रिसेट गरेर पूर्वनिर्धारित फ्याक्ट्री सेटिङ लागू गरिनेछ।"</string>
-    <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="2203704707679895487">"तपाईंले गलत तरिकाले फोन <xliff:g id="NUMBER">%d</xliff:g> पटक अनलक गर्ने प्रयत्न गर्नुभयो। अब फोन फ्याक्ट्रि पूर्वनिर्धारितमा पुनःसेट हुने छ।"</string>
+    <string name="lockscreen_failed_attempts_now_wiping" product="default" msgid="2203704707679895487">"तपाईंले गलत तरिकाले फोन <xliff:g id="NUMBER">%d</xliff:g> पटक अनलक गर्ने प्रयत्न गर्नुभयो। अब फोन फ्याक्ट्रि पूर्वनिर्धारितमा रिसेट हुने छ।"</string>
     <string name="lockscreen_too_many_failed_attempts_countdown" msgid="6807200118164539589">"<xliff:g id="NUMBER">%d</xliff:g> सेकेन्डमा फेरि प्रयास गर्नुहोस्।"</string>
     <string name="lockscreen_forgot_pattern_button_text" msgid="8362442730606839031">"ढाँचा बिर्सनु भयो?"</string>
     <string name="lockscreen_glogin_forgot_pattern" msgid="9218940117797602518">"खाता अनलक"</string>
@@ -1127,7 +1127,7 @@
     <!-- no translation found for whichApplicationNamed (6969946041713975681) -->
     <skip />
     <string name="whichApplicationLabel" msgid="7852182961472531728">"पूर्ण कारबाही"</string>
-    <string name="whichViewApplication" msgid="5733194231473132945">"निम्नमार्फत खोल्नुहोस्"</string>
+    <string name="whichViewApplication" msgid="5733194231473132945">"निम्नबाट खोल्नुहोस्"</string>
     <!-- String.format failed for translation -->
     <!-- no translation found for whichViewApplicationNamed (415164730629690105) -->
     <skip />
@@ -1222,18 +1222,18 @@
     <string name="dump_heap_ready_text" msgid="5849618132123045516">"तपाईंसँग आदान प्रदान गर्नका लागि <xliff:g id="PROC">%1$s</xliff:g> को प्रक्रियासम्बन्धी हिप डम्प उपलब्ध छ। सावधान हुनुहोस्: यस हिप डम्पमा उक्त प्रक्रियाको पहुँच भएको जुनसुकै संवेदनशील व्यक्तिगत जानकारी समावेश हुन सक्छ जसमा तपाईंले टाइप गर्नुभएका कुराहरू पर्न सक्छन्।"</string>
     <string name="sendText" msgid="493003724401350724">"पाठको लागि एउटा प्रकार्य छान्नुहोस्"</string>
     <string name="volume_ringtone" msgid="134784084629229029">"बजाउने मात्रा"</string>
-    <string name="volume_music" msgid="7727274216734955095">"मिडियाको आवाजको मात्रा"</string>
+    <string name="volume_music" msgid="7727274216734955095">"मिडियाको भोल्युम"</string>
     <string name="volume_music_hint_playing_through_bluetooth" msgid="2614142915948898228">"ब्लुटुथको माध्यमद्वारा बजाइदै छ।"</string>
     <string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"शान्त रिङ्गटोन सेट"</string>
     <string name="volume_call" msgid="7625321655265747433">"इन-कल भोल्युम"</string>
     <string name="volume_bluetooth_call" msgid="2930204618610115061">"ब्लुटुथ भित्री-कल मात्रा"</string>
-    <string name="volume_alarm" msgid="4486241060751798448">"आलर्मको आवाजको मात्रा"</string>
+    <string name="volume_alarm" msgid="4486241060751798448">"आलर्मको भोल्युम"</string>
     <string name="volume_notification" msgid="6864412249031660057">"सूचना मात्रा"</string>
     <string name="volume_unknown" msgid="4041914008166576293">"मात्रा"</string>
     <string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"ब्लुटुथ भोल्युम"</string>
     <string name="volume_icon_description_ringer" msgid="2187800636867423459">"घन्टिको आवाज मात्रा"</string>
     <string name="volume_icon_description_incall" msgid="4491255105381227919">"कला मात्रा"</string>
-    <string name="volume_icon_description_media" msgid="4997633254078171233">"मिडियाको आवाजको मात्रा"</string>
+    <string name="volume_icon_description_media" msgid="4997633254078171233">"मिडियाको भोल्युम"</string>
     <string name="volume_icon_description_notification" msgid="579091344110747279">"सूचना भोल्युम"</string>
     <string name="ringtone_default" msgid="9118299121288174597">"पूर्वनिर्धारित रिङटोन"</string>
     <string name="ringtone_default_with_actual" msgid="2709686194556159773">"पूर्वनिर्धारित (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
@@ -1463,6 +1463,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) द्वारा अनुरोध गरिएको"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"हो"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"होइन"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"सीमा नाघेकाहरू मेट्नुहोस्"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"त्यहाँ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> मेटाइएका आइटमहरू छन् <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>को लागि, खाता <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>। तपाईं के गर्न चाहनु हुन्छ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"वस्तुहरू मेट्नुहोस्"</string>
@@ -1564,7 +1570,7 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"ताररहित प्रदर्शन"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"कास्ट"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"उपकरणमा जडान गर्नुहोस्"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"उपकरणलाई स्क्रिनमा कास्ट गर्नुहोस्"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"स्क्रिन उपकरणमा कास्ट गर्नुहोस्"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"उपकरणको खोजी गरिँदै..."</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"सेटिंङहरू"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"विच्छेदन गर्नुहोस्"</string>
@@ -1610,12 +1616,12 @@
     <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="23741434207544038">"तपाईँले गलत तरिकाले तपाईँको PIN <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक टाइप गर्नु भएको छ। \n\n<xliff:g id="NUMBER_1">%2$d</xliff:g> सेकेन्डमा फेरि प्रयास गर्नुहोस्।"</string>
     <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="3328686432962224215">"तपाईँले तपाईँक पासवर्ड <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत टाइप गर्नुभएको छ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकेन्डमा फेरि प्रयास गर्नुहोस्।"</string>
     <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="7357404233979139075">"तपाईँले तपाईँको अनलक ढाँचा गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक खिच्नु भएको छ। \n\n <xliff:g id="NUMBER_1">%2$d</xliff:g> सेकेन्डमा फेरि कोसिस गर्नुहोस्।"</string>
-    <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="3479940221343361587">"तपाईँले ट्याब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक कोसिस गर्नु भएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> पछि थप असफल प्रयासहरू, ट्याब्लेट पूर्वनिर्धारित कार्यशालामा पुनःसेट गरिने छ र सबै प्रयोग डेटा हराउने छ।"</string>
+    <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="3479940221343361587">"तपाईँले ट्याब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक कोसिस गर्नु भएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> पछि थप असफल प्रयासहरू, ट्याब्लेट पूर्वनिर्धारित कार्यशालामा रिसेट गरिने छ र सबै प्रयोग डेटा हराउने छ।"</string>
     <string name="kg_failed_attempts_almost_at_wipe" product="tv" msgid="9064457748587850217">"तपाईंले आफ्नो Android TV यन्त्र <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत तरिकाले अनलक गर्ने प्रयास गर्नुभएको छ। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> प्रयासहरू असफल भएपछि तपाईंको Android TV यन्त्रलाई रिसेट गरेर पूर्वनिर्धारित फ्याक्ट्री सेटिङ लागू गरिने छ र प्रयोगकर्ताको सम्पूर्ण डेटा गुम्ने छ।"</string>
-    <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="5955398963754432548">"तपाईँले गलतसँग फोनलाई अनलक गर्न <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक कोसिस गर्नु भयो। <xliff:g id="NUMBER_1">%2$d</xliff:g> पछि थप असफल कोसिसहरू, फोनलाई पूर्वनिर्धारित कार्यशालामा पुनःसेट गरिने छ र सबै प्रयोग डेटा हराउने छ।"</string>
-    <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2299099385175083308">"तपाईँले ट्यब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER">%d</xliff:g> पटक प्रयास गर्नु भएको छ। अब ट्याब्लेटलाई पूर्वनिर्धारित कार्यशालामा पुनःसेट गरिने छ।"</string>
+    <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="5955398963754432548">"तपाईँले गलतसँग फोनलाई अनलक गर्न <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक कोसिस गर्नु भयो। <xliff:g id="NUMBER_1">%2$d</xliff:g> पछि थप असफल कोसिसहरू, फोनलाई पूर्वनिर्धारित कार्यशालामा रिसेट गरिने छ र सबै प्रयोग डेटा हराउने छ।"</string>
+    <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2299099385175083308">"तपाईँले ट्यब्लेटलाई अनलक गर्न गलत तरिकाले <xliff:g id="NUMBER">%d</xliff:g> पटक प्रयास गर्नु भएको छ। अब ट्याब्लेटलाई पूर्वनिर्धारित कार्यशालामा रिसेट गरिने छ।"</string>
     <string name="kg_failed_attempts_now_wiping" product="tv" msgid="5045460916106267585">"तपाईंले आफ्नो Android TV यन्त्र <xliff:g id="NUMBER">%d</xliff:g> पटक गलत तरिकाले अनलक गर्ने प्रयास गर्नुभएको छ। अब तपाईंको Android TV यन्त्रलाई रिसेट गरेर पूर्वनिर्धारित फ्याक्ट्री सेटिङ लागू गरिनेछ।"</string>
-    <string name="kg_failed_attempts_now_wiping" product="default" msgid="5043730590446071189">"तपाईंले गलत तरिकाले फोन <xliff:g id="NUMBER">%d</xliff:g> पटक अनलक गर्ने प्रयत्न गर्नुभयो। अब फोन फ्याक्ट्रि पूर्वनिर्धारितमा पुनःसेट हुने छ।"</string>
+    <string name="kg_failed_attempts_now_wiping" product="default" msgid="5043730590446071189">"तपाईंले गलत तरिकाले फोन <xliff:g id="NUMBER">%d</xliff:g> पटक अनलक गर्ने प्रयत्न गर्नुभयो। अब फोन फ्याक्ट्रि पूर्वनिर्धारितमा रिसेट हुने छ।"</string>
     <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="7086799295109717623">"तपाईंले गलत तरिकाले आफ्नो अनलक ढाँचा <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक कोर्नुभयो। <xliff:g id="NUMBER_1">%2$d</xliff:g> विफल प्रयत्नहरू पछि, तपाईंलाई आफ्नो ट्याब्लेट इमेल खाता प्रयोग गरेर अनलक गर्न सोधिने छ।\n\n फेरि प्रयास गर्नुहोस् <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डहरूमा।"</string>
     <string name="kg_failed_attempts_almost_at_login" product="tv" msgid="4670840383567106114">"तपाईंले आफ्नो अनलक शैली <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक गलत तरिकाले कोर्नुभएको छ। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> प्रयासहरू असफल भएपछि तपाईंलाई आफ्नो इमेल खाता प्रयोग गरेर आफ्नो Android TV यन्त्र अनलक गर्न अनुरोध गरिनेछ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डपछि फेरि प्रयास गर्नुहोस्।"</string>
     <string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"तपाईँले आफ्नो अनलक ढाँचा गलत रूपमा <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक तान्नु भएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> धेरै असफल प्रयासहरूपछि, तपाईँलाई एउटा इमेल खाताको प्रयोग गरेर तपाईँको फोन अनलक गर्न सोधिने छ।\n\n फेरि <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा प्रयास गर्नुहोस्।"</string>
@@ -1652,7 +1658,7 @@
     <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"सर्टकटलाई निष्क्रिय पार्नुहोस्"</string>
     <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"सर्टकट प्रयोग गर्नुहोस्"</string>
     <string name="color_inversion_feature_name" msgid="326050048927789012">"रङ्ग उल्टाउने सुविधा"</string>
-    <string name="color_correction_feature_name" msgid="3655077237805422597">"रङ सच्याउने सुविधा"</string>
+    <string name="color_correction_feature_name" msgid="3655077237805422597">"रङ्ग सच्याउने सुविधा"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"तपाईंले भोल्युम बटनहरू थिचिराख्नुभयो। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> सक्रिय पारियो।"</string>
     <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"तपाईंले भोल्युम बटनहरू थिचिराख्नुभयो। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> निष्क्रिय पारियो।"</string>
     <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> प्रयोग गर्न दुवै भोल्युम कुञ्जीहरूलाई तीन सेकेन्डसम्म थिचिराख्नुहोस्"</string>
@@ -1795,10 +1801,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"तपाईंका प्रशासकले अद्यावधिक गर्नुभएको"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"तपाईंका प्रशासकले मेट्नुभएको"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ठिक छ"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ब्याट्रीको आयु लामो बनाउन ब्याट्री सेभरले:\n·अँध्यारो विषयवस्तु सक्रिय गर्छ\n·पृष्ठभूमिका गतिविधि, कतिपय भिजुअल प्रभाव तथा “Hey Google” जस्ता अन्य सुविधाहरू निष्क्रिय वा सीमित पार्छ।\n\n"<annotation id="url">"थप जान्नुहोस्"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ब्याट्रीको आयु लामो बनाउन ब्याट्री सेभरले:\n·अँध्यारो विषयवस्तु सक्रिय गर्छ\n·पृष्ठभूमिका गतिविधि, कतिपय भिजुअल प्रभाव तथा “Hey Google” जस्ता अन्य सुविधाहरू निष्क्रिय वा सीमित पार्छ।"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"डेटाको प्रयोगलाई कम गर्नमा मद्दतका लागि डेटा सर्भरले केही अनुप्रयोगहरूलाई पृष्ठभूमिमा डेटा पठाउन वा प्राप्त गर्नबाट रोक्दछ। तपाईँले हाल प्रयोग गरिरहनुभएको अनु्प्रयोगले डेटामाथि पहुँच राख्न सक्छ, तर त्यसले यो काम थोरै पटक गर्न सक्छ। उदाहरणका लागि यसको मतलब यो हुन सक्छ: तपाईँले छविहरूलाई ट्याप नगरेसम्म ती प्रदर्शन हुँदैनन्।"</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा सेभरलाई सक्रिय गर्ने हो?"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ब्याट्रीको आयु लामो बनाउन ब्याट्री सेभरले:\n·अँध्यारो थिम सक्रिय गर्छ\n·पृष्ठभूमिका गतिविधि, कतिपय भिजुअल प्रभाव तथा “Hey Google” जस्ता अन्य सुविधाहरू निष्क्रिय वा सीमित पार्छ।\n\n"<annotation id="url">"थप जान्नुहोस्"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ब्याट्रीको आयु बढाउन ब्याट्री सेभरले:\n·अँध्यारो थिम सक्रिय गर्छ\n·पृष्ठभूमिका गतिविधि, कतिपय भिजुअल प्रभाव तथा “Hey Google” जस्ता अन्य सुविधाहरू निष्क्रिय वा सीमित पार्छ।"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"डेटाको प्रयोगलाई कम गर्न डेटा सर्भरले केही अनुप्रयोगलाई पृष्ठभूमिमा डेटा पठाउन वा प्राप्त गर्न दिँदैन। तपाईंले हाल प्रयोग गरिरहनुभएको अनु्प्रयोगले डेटा चलाउन सक्छ, तर पहिला भन्दा कम अन्तरालमा मात्र। उदाहरणका लागि, तपाईले छविहरूमा ट्याप नगरेसम्म ती छविहरू देखिँदैनन्।"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा सेभर सक्रिय गर्ने हो?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"सक्रिय गर्नुहोस्"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other"> %1$d मिनेटको लागि (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> सम्म)</item>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 9017203..20461de 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Aangevraagd door <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ja"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nee"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Verwijderingslimiet overschreden"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Er zijn <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> verwijderde items voor <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> , account <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> . Wat wil je doen?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"De items verwijderen."</string>
@@ -1790,9 +1796,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Verwijderd door je beheerder"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Batterijbesparing doet het volgende om de batterijduur te verlengen:\n·Het donkere thema inschakelen\n·Achtergrondactiviteit, bepaalde visuele effecten en andere functies (zoals \'Hey Google\') uitschakelen of beperken\n\n"<annotation id="url">"Meer informatie"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Batterijbesparing doet het volgende om de batterijduur te verlengen:\n Het donkere thema inschakelen\n·Achtergrondactiviteit, bepaalde visuele effecten en andere functies (zoals \'Hey Google\') uitschakelen of beperken"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Batterijbesparing doet het volgende om de batterijduur te verlengen:\n Het donkere thema aanzetten\n·Achtergrondactiviteit, bepaalde visuele effecten en andere functies (zoals \'Hey Google\') uitzetten of beperken"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Databesparing beperkt het datagebruik door te voorkomen dat sommige apps gegevens verzenden of ontvangen op de achtergrond. De apps die je open hebt, kunnen nog steeds data verbruiken, maar doen dit minder vaak. Afbeeldingen worden dan bijvoorbeeld niet weergegeven totdat je erop tikt."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Databesparing inschakelen?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Databesparing aanzetten?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Inschakelen"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d minuten (tot <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index e28ed6f..40e9e12 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -230,7 +230,7 @@
     <string name="shutdown_confirm_question" msgid="796151167261608447">"ଆପଣ ବନ୍ଦ କରିବାକୁ ଚାହାନ୍ତି?"</string>
     <string name="reboot_safemode_title" msgid="5853949122655346734">"ନିରାପଦ ମୋଡ୍‍ରେ ରିବୁଟ୍‍ କରନ୍ତୁ"</string>
     <string name="reboot_safemode_confirm" msgid="1658357874737219624">"ଆପଣ ନିରାପଦ ମୋଡ୍‍ରେ ରିବୁଟ୍‍ କରିବେ କି? ଆପଣ ଇନଷ୍ଟଲ୍‍ କରିଥିବା ସମସ୍ତ ତୃତୀୟ ପକ୍ଷ ଆପ୍ଲିକେଶନ୍‌, ଏହାଦ୍ୱାରା ଅକ୍ଷମ ହୋଇଯିବ। ଆପଣ ପୁଣି ରିବୁଟ୍‍ କରିବା ପରେ ସେଗୁଡ଼ିକ ରିଷ୍ଟୋର୍‍ ହେବ।"</string>
-    <string name="recent_tasks_title" msgid="8183172372995396653">"କିଛି ସମୟ ପୂର୍ବରୁ"</string>
+    <string name="recent_tasks_title" msgid="8183172372995396653">"ବର୍ତ୍ତମାନର"</string>
     <string name="no_recent_tasks" msgid="9063946524312275906">"କୌଣସି ସମ୍ପ୍ରତି ଆପ୍‌ ନାହିଁ।"</string>
     <string name="global_actions" product="tablet" msgid="4412132498517933867">"ଟାବଲେଟ ବିକଳ୍ପ"</string>
     <string name="global_actions" product="tv" msgid="3871763739487450369">"Android ଟିଭିର ବିକଳ୍ପଗୁଡ଼ିକ"</string>
@@ -678,14 +678,14 @@
     <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="2049038943004297474">"ସ୍କ୍ରୀନ୍‍ ଅନଲକ୍‍ କରିବାବେଳେ ଟାଇପ୍‍ କରାଯାଇଥିବା ଭୁଲ ପାସ୍‌ୱର୍ଡର ସଂଖ୍ୟାକୁ ନୀରିକ୍ଷଣ କରେ ଏବଂ ଟାବଲେଟ୍‍କୁ ଲକ୍‍ କରିଦିଏ କିମ୍ବା ଯଦି ଅନେକ ଭୁଲ ପାସ୍‌ୱର୍ଡ ଟାଇପ୍‍ କରାଯାଇଥାଏ, ତେବେ ସମସ୍ତ ଡାଟା ଲିଭାଇଦିଏ।"</string>
     <string name="policydesc_watchLogin_secondaryUser" product="tv" msgid="8965224107449407052">"ସ୍କ୍ରିନ୍ ଅନ୍‌ଲକ୍ କରିବା ସମୟରେ ଟାଇପ୍ କରାଯାଇଥିବା ଭୁଲ ପାସ୍‌ୱାର୍ଡଗୁଡ଼ିକର ସଂଖ୍ୟାକୁ ନିରୀକ୍ଷଣ କରେ ଏବଂ ଆପଣଙ୍କର Android ଟିଭି ଡିଭାଇସ୍‌କୁ ଲକ୍ କରିଦିଏ କିମ୍ବା ଯଦି ଅନେକ ଭୁଲ ପାସ୍‌ୱାର୍ଡ ଟାଇପ୍ କରାଯାଇଥାଏ, ତେବେ ସମସ୍ତ ଡାଟା ଲିଭାଇ ଦିଏ।"</string>
     <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="9177645136475155924">"ସ୍କ୍ରୀନ୍‍ ଅନଲକ୍‍ କରିବାବେଳେ ଟାଇପ୍‍ କରାଯାଇଥିବା ଭୁଲ ପାସ୍‌ୱର୍ଡର ସଂଖ୍ୟାକୁ ନୀରିକ୍ଷଣ କରେ ଏବଂ ଫୋନ୍‍କୁ ଲକ୍‍ କରିଦିଏ କିମ୍ବା ଯଦି ଅନେକ ଭୁଲ ପାସ୍‌ୱର୍ଡ ଟାଇପ୍‍ କରାଯାଇଥାଏ, ତେବେ ସମସ୍ତ ଡାଟା ଲିଭାଇଦିଏ।"</string>
-    <string name="policylab_resetPassword" msgid="214556238645096520">"ସ୍କ୍ରୀନ୍‍ ଲକ୍‍ ବଦଳାଇବା"</string>
-    <string name="policydesc_resetPassword" msgid="4626419138439341851">"ସ୍କ୍ରୀନ୍‍ ଲକ୍‍ ବଦଳାଏ।"</string>
-    <string name="policylab_forceLock" msgid="7360335502968476434">"ସ୍କ୍ରୀନ୍‌କୁ ଲକ୍‌ କରିବା"</string>
-    <string name="policydesc_forceLock" msgid="1008844760853899693">"ସ୍କ୍ରୀନ୍‍ କିପରି ଓ କେତେବେଳେ ଲକ୍‍ କରାଯିବ, ତାହା ନିୟନ୍ତ୍ରଣ କରେ।"</string>
+    <string name="policylab_resetPassword" msgid="214556238645096520">"ସ୍କ୍ରିନ୍ ଲକ୍ ବଦଳାଏ"</string>
+    <string name="policydesc_resetPassword" msgid="4626419138439341851">"ସ୍କ୍ରିନ୍ ଲକ୍‍ ବଦଳାଏ।"</string>
+    <string name="policylab_forceLock" msgid="7360335502968476434">"ସ୍କ୍ରିନ୍ ଲକ୍‌ କରିବା"</string>
+    <string name="policydesc_forceLock" msgid="1008844760853899693">"ସ୍କ୍ରିନ୍ କିପରି ଓ କେତେବେଳେ ଲକ୍‍ କରାଯିବ, ତାହା ନିୟନ୍ତ୍ରଣ କରେ।"</string>
     <string name="policylab_wipeData" msgid="1359485247727537311">"ସମସ୍ତ ଡାଟା ଖାଲି କରିବା"</string>
     <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"ବିନା ଚେତାବନୀରେ ଫ୍ୟାକ୍ଟୋରୀ ସେଟିଙ୍ଗ କରାଇ ଟାବ୍‍ଲେଟ୍‍ର ଡାଟା ଲିଭାଇଥାଏ।"</string>
     <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"ଏକ ଫ୍ୟାକ୍ଟୋରୀ ଡାଟା ରିସେଟ୍ କରି ବିନା ଆଲର୍ଟରେ ଆପଣଙ୍କର Android ଟିଭି ଡିଭାଇସ୍‌ର ଡାଟା ଲିଭାନ୍ତୁ।"</string>
-    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"ବିନା ଚେତାବନୀରେ ଫ୍ୟାକ୍ଟୋରୀ ସେଟିଙ୍ଗ କରାଇ ଫୋନ୍‍ର ଡାଟା ଲିଭାଇଥାଏ।"</string>
+    <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"ବିନା ଚେତାବନୀରେ ଫ୍ୟାକ୍ଟୋରୀ ଡାଟା ରିସେଟ୍ କରି ଫୋନ୍‍ର ଡାଟା ଲିଭାଇଥାଏ।"</string>
     <string name="policylab_wipeData_secondaryUser" msgid="413813645323433166">"ୟୁଜର୍‍ ଡାଟା ଲିଭାନ୍ତୁ"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="2336676480090926470">"ବିନା ଚେତାବନୀରେ ଏହି ଟାବଲେଟରେ ଥିବା ଏହି ୟୁଜରଙ୍କ ଡାଟା ଲିଭାଇ ଦିଅନ୍ତୁ।"</string>
     <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2293713284515865200">"ବିନା ଚେତାବନୀରେ ଏହି Android ଟିଭି ଡିଭାଇସ୍‌ରେ ଏହି ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ଡାଟା ଲିଭାଇ ଦିଅନ୍ତୁ।"</string>
@@ -698,8 +698,8 @@
     <string name="policydesc_encryptedStorage" msgid="1102516950740375617">"ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଡାଟା ଏନ୍‍କ୍ରେପ୍ଟ କରିବା ଆବଶ୍ୟକ।"</string>
     <string name="policylab_disableCamera" msgid="5749486347810162018">"କ୍ୟାମେରାଗୁଡ଼ିକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="policydesc_disableCamera" msgid="3204405908799676104">"ସମସ୍ତ ଡିଭାଇସ୍‍ର କ୍ୟାମେରା ବ୍ୟବହାର କରିବା ପ୍ରତିରୋଧ କରନ୍ତୁ।"</string>
-    <string name="policylab_disableKeyguardFeatures" msgid="5071855750149949741">"କିଛି ସ୍କ୍ରୀନ୍‍ ଲକ୍‍ ସୁବିଧାକୁ ଅକ୍ଷମ କରିବା"</string>
-    <string name="policydesc_disableKeyguardFeatures" msgid="6641673177041195957">"କିଛି ସ୍କ୍ରୀନ୍‍ ଲକ୍‍ ସୁବିଧା ବ୍ୟବହାର କରିବାରେ ପ୍ରତିରୋଧ କରେ।"</string>
+    <string name="policylab_disableKeyguardFeatures" msgid="5071855750149949741">"କିଛି ସ୍କ୍ରିନ ଲକ୍‍ ଫିଚରକୁ ଅକ୍ଷମ କରିବା"</string>
+    <string name="policydesc_disableKeyguardFeatures" msgid="6641673177041195957">"କିଛି ସ୍କ୍ରିନ ଲକ୍‍ ଫିଚର ବ୍ୟବହାର କରିବାକୁ ପ୍ରତିରୋଧ କରେ।"</string>
   <string-array name="phoneTypes">
     <item msgid="8996339953292723951">"ହୋମ୍"</item>
     <item msgid="7740243458912727194">"ମୋବାଇଲ୍‍"</item>
@@ -717,7 +717,7 @@
     <item msgid="3233938986670468328">"କଷ୍ଟମ୍‌"</item>
   </string-array>
   <string-array name="postalAddressTypes">
-    <item msgid="3861463339764243038">"ହୋମ୍"</item>
+    <item msgid="3861463339764243038">"ମୂଳପୃଷ୍ଠା"</item>
     <item msgid="5472578890164979109">"ୱାର୍କ"</item>
     <item msgid="5718921296646594739">"ଅନ୍ୟାନ୍ୟ"</item>
     <item msgid="5523122236731783179">"କଷ୍ଟମ୍‌"</item>
@@ -744,7 +744,7 @@
     <item msgid="8293711853624033835">"Jabber"</item>
   </string-array>
     <string name="phoneTypeCustom" msgid="5120365721260686814">"କଷ୍ଟମ୍‌"</string>
-    <string name="phoneTypeHome" msgid="3880132427643623588">"ହୋମ୍"</string>
+    <string name="phoneTypeHome" msgid="3880132427643623588">"ମୂଳପୃଷ୍ଠା"</string>
     <string name="phoneTypeMobile" msgid="1178852541462086735">"ମୋବାଇଲ୍‍"</string>
     <string name="phoneTypeWork" msgid="6604967163358864607">"ୱାର୍କ"</string>
     <string name="phoneTypeFaxWork" msgid="6757519896109439123">"ୱାର୍କ ଫାକ୍ସ"</string>
@@ -875,7 +875,7 @@
     <string name="lockscreen_glogin_too_many_attempts" msgid="3775904917743034195">"ଅତ୍ୟଧିକ ପାଟର୍ନ ଉଦ୍ୟମ"</string>
     <string name="lockscreen_glogin_instructions" msgid="4695162942525531700">"ଅନଲକ୍‌ କରିବା ପାଇଁ, ନିଜ Google ଆକାଉଣ୍ଟରେ ସାଇନ୍-ଇନ୍ କରନ୍ତୁ।"</string>
     <string name="lockscreen_glogin_username_hint" msgid="6916101478673157045">"ୟୁଜରନେମ୍‌ (ଇମେଲ୍)"</string>
-    <string name="lockscreen_glogin_password_hint" msgid="3031027901286812848">"ପାସ୍‌ୱର୍ଡ:"</string>
+    <string name="lockscreen_glogin_password_hint" msgid="3031027901286812848">"ପାସୱାର୍ଡ"</string>
     <string name="lockscreen_glogin_submit_button" msgid="3590556636347843733">"ସାଇନ୍‍-ଇନ୍"</string>
     <string name="lockscreen_glogin_invalid_input" msgid="4369219936865697679">"ୟୁଜର୍‍ନେମ୍‌ କିମ୍ୱା ପାସ୍‌ୱର୍ଡ ଭୁଲ୍‍ ଅଛି।"</string>
     <string name="lockscreen_glogin_account_recovery_hint" msgid="1683405808525090649">"ଆପଣଙ୍କର ଯୁଜରନେମ୍‌ କିମ୍ୱା ପାସୱାର୍ଡ ଭୁଲି ଯାଇଛନ୍ତି କି?\n"<b>"google.com/accounts/recovery"</b>" ଭିଜିଟ୍‍ କରନ୍ତୁ।"</string>
@@ -1306,8 +1306,8 @@
     <string name="usb_power_notification_message" msgid="7284765627437897702">"ଯୋଡ଼ାଯାଇଥିବା ଡିଭାଇସ୍ ଚାର୍ଜ ହେଉଛି। ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଟାପ୍ କରନ୍ତୁ।"</string>
     <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"ଆନାଲଗ୍‍ ଅଡିଓ ଆକ୍ସେସରୀ ଚିହ୍ନଟ ହେଲା"</string>
     <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"ଏହି ଫୋନ୍‌ରେ କନେକ୍ଟ ଥିବା ଡିଭାଇସ୍‍ କମ୍ପାଟିବଲ୍‍ ନୁହେଁ। ଅଧିକ ଜାଣିବା ପାଇଁ ଟାପ୍‌ କରନ୍ତୁ।"</string>
-    <string name="adb_active_notification_title" msgid="408390247354560331">"USB ଡିବଗିଙ୍ଗ ସଂଯୁକ୍ତ ହୋଇଛି"</string>
-    <string name="adb_active_notification_message" msgid="5617264033476778211">"USBର ଡିବଗିଙ୍ଗ ସୁବିଧାକୁ ବନ୍ଦ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
+    <string name="adb_active_notification_title" msgid="408390247354560331">"USB ଡିବଗିଂ ସଂଯୁକ୍ତ ହୋଇଛି"</string>
+    <string name="adb_active_notification_message" msgid="5617264033476778211">"USB ଡିବଗିଂ ସୁବିଧାକୁ ବନ୍ଦ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
     <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"USB ଡିବଗିଙ୍ଗକୁ ଅକ୍ଷମ କରିବା ପାଇଁ ଚୟନ କରନ୍ତୁ।"</string>
     <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"ୱାୟାରଲେସ୍ ଡିବଗିଂ ସଂଯୋଗ କରାଯାଇଛି"</string>
     <string name="adbwifi_active_notification_message" msgid="930987922852867972">"ୱାୟାରଲେସ୍ ଡିବଗିଂକୁ ବନ୍ଦ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
@@ -1457,14 +1457,20 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)ଙ୍କ ଦ୍ୱାରା ଅନୁରୋଧ କରାଯାଇଛି"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ହଁ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ନା"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ଡିଲିଟ୍‌ କରିବାର ସୀମା ଅତିକ୍ରମ ହୋଇଯାଇଛି"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ଆକାଉଣ୍ଟର <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> ପାଇଁ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ଟି ଡିଲିଟ୍‍ କରାଯାଇଥିବା ଆଇଟମ୍‍ ରହିଛି। ଆପଣ କ’ଣ କରିବାକୁ ଚାହାଁନ୍ତି?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ଆଇଟମ୍‍ ଡିଲିଟ୍‍ କରନ୍ତୁ"</string>
     <string name="sync_undo_deletes" msgid="5786033331266418896">"ଡିଲିଟ୍‍ଗୁଡ଼ିକୁ ପୂର୍ବାବସ୍ଥାକୁ ଫେରାଇ ଆଣନ୍ତୁ"</string>
     <string name="sync_do_nothing" msgid="4528734662446469646">"ଏବେ କିଛି କରନ୍ତୁ ନାହିଁ"</string>
     <string name="choose_account_label" msgid="5557833752759831548">"ଗୋଟିଏ ଆକାଉଣ୍ଟର ଚୟନ କରନ୍ତୁ"</string>
-    <string name="add_account_label" msgid="4067610644298737417">"ଗୋଟିଏ ଆକାଉଣ୍ଟ ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="add_account_button_label" msgid="322390749416414097">"ଆକାଉଣ୍ଟ ଯୋଡ଼ନ୍ତୁ"</string>
+    <string name="add_account_label" msgid="4067610644298737417">"ଗୋଟିଏ ଆକାଉଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="add_account_button_label" msgid="322390749416414097">"ଆକାଉଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="number_picker_increment_button" msgid="7621013714795186298">"ବଢ଼ାନ୍ତୁ"</string>
     <string name="number_picker_decrement_button" msgid="5116948444762708204">"କମ୍‍ କରନ୍ତୁ"</string>
     <string name="number_picker_increment_scroll_mode" msgid="8403893549806805985">"<xliff:g id="VALUE">%s</xliff:g> ସ୍ପର୍ଶ କରନ୍ତୁ ଏବଂ ଧରିରଖନ୍ତୁ"</string>
@@ -1561,7 +1567,7 @@
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ଡିଭାଇସରେ ସ୍କ୍ରିନ୍‍ କାଷ୍ଟ କରନ୍ତୁ"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"ଡିଭାଇସ୍‍ ଖୋଜାଯାଉଛି…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"ସେଟିଙ୍ଗ"</string>
-    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ବିଛିନ୍ନ କରନ୍ତୁ"</string>
+    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"ସ୍କାନ୍‌ କରୁଛି…"</string>
     <string name="media_route_status_connecting" msgid="5845597961412010540">"ସଂଯୋଗ କରୁଛି..."</string>
     <string name="media_route_status_available" msgid="1477537663492007608">"ଉପଲବ୍ଧ"</string>
@@ -1596,7 +1602,7 @@
     <string name="kg_login_too_many_attempts" msgid="699292728290654121">"ଅନେକ ପାଟର୍ନ ପ୍ରୟାସ"</string>
     <string name="kg_login_instructions" msgid="3619844310339066827">"ଅନଲକ୍‌ କରିବା ପାଇଁ, ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ସହ ସାଇନ୍-ଇନ୍ କରନ୍ତୁ।"</string>
     <string name="kg_login_username_hint" msgid="1765453775467133251">"ୟୁଜରନେମ୍‍ (ଇମେଲ୍)"</string>
-    <string name="kg_login_password_hint" msgid="3330530727273164402">"ପାସ୍‌ୱର୍ଡ"</string>
+    <string name="kg_login_password_hint" msgid="3330530727273164402">"ପାସୱାର୍ଡ"</string>
     <string name="kg_login_submit_button" msgid="893611277617096870">"ସାଇନ୍-ଇନ୍"</string>
     <string name="kg_login_invalid_input" msgid="8292367491901220210">"ଅମାନ୍ୟ ୟୁଜରନେମ୍‍ କିମ୍ୱା ପାସ୍‌ୱର୍ଡ।"</string>
     <string name="kg_login_account_recovery_hint" msgid="4892466171043541248">"ଆପଣଙ୍କର ୟୁଜରନେମ୍‍ କିମ୍ୱା ପାସ୍‌ୱର୍ଡ ଭୁଲି ଯାଇଛନ୍ତି କି?\n"<b>"google.com/accounts/recovery"</b>" ଭିଜିଟ୍‍ କରନ୍ତୁ।"</string>
@@ -1789,10 +1795,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"ଆପଣଙ୍କ ଆଡମିନ୍‌‌ ଅପଡେଟ୍‍ କରିଛନ୍ତି"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"ଆପଣଙ୍କ ଆଡମିନ୍‌‌ ଡିଲିଟ୍‍ କରିଛନ୍ତି"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ଠିକ୍ ଅଛି"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ବ୍ୟାଟେରୀ ଜୀବନ ବଢ଼ାଇବାକୁ ବ୍ୟାଟେରୀ ସେଭର୍:\n·ଗାଢା ଥିମ୍‌ ଚାଲୁ କରେ\n·ପୃଷ୍ଟପଟ କାର୍ଯ୍ୟକଳାପକୁ, କିଛି ଭିଜୁଆଲ୍ ପ୍ରଭାବଗୁଡ଼ିକୁ ଏବଂ “ହେ Google” ପରି ଅନ୍ୟ ଫିଚର୍‌କୁ ବନ୍ଦ ରଖେ କିମ୍ବା ପ୍ରତିବନ୍ଧିତ କରିଥାଏ\n\n"<annotation id="url">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ବ୍ୟାଟେରୀ ଜୀବନ ବଢ଼ାଇବାକୁ ବ୍ୟାଟେରୀ ସେଭର୍:\n·ଗାଢା ଥିମ୍‌ ଚାଲୁ କରେ\n·ପୃଷ୍ଟପଟ କାର୍ଯ୍ୟକଳାପକୁ, କିଛି ଭିଜୁଆଲ୍ ପ୍ରଭାବଗୁଡ଼ିକୁ ଏବଂ “ହେ Google” ପରି ଅନ୍ୟ ଫିଚର୍‌କୁ ବନ୍ଦ ରଖେ କିମ୍ବା ପ୍ରତିବନ୍ଧିତ କରିଥାଏ"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"ଡାଟା ବ୍ୟବହାର କମ୍‍ କରିବାରେ ସାହାଯ୍ୟ କରିବାକୁ, ଡାଟା ସେଭର୍‍ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡରେ ଡାଟା ପଠାଇବା କିମ୍ବା ପ୍ରାପ୍ତ କରିବାକୁ କିଛି ଆପ୍‍କୁ ବାରଣ କରେ। ଆପଣ ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରୁଥିବା ଆପ୍‍, ଡାଟା ଆକ୍ସେସ୍‍ କରିପାରେ, କିନ୍ତୁ ଏହା କମ୍‍ ଥର କରିପାରେ। ଏହାର ଅର୍ଥ ହୋଇପାରେ, ଯେପରି, ଆପଣ ଟାପ୍‍ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଯେଉଁ ଇମେଜ୍‍ ଦେଖାଯାଏ ନାହିଁ।"</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"ଡାଟା ସେଭର୍‌ ଅନ୍ କରିବେ?"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ବ୍ୟାଟେରୀ ଜୀବନ ବଢ଼ାଇବାକୁ ବ୍ୟାଟେରୀ ସେଭର୍:\n·ଗାଢା ଥିମ୍‌ ଚାଲୁ କରେ\n·ପୃଷ୍ଠପଟ କାର୍ଯ୍ୟକଳାପକୁ, କିଛି ଭିଜୁଆଲ୍ ପ୍ରଭାବଗୁଡ଼ିକୁ ଏବଂ “ହେ Google” ପରି ଅନ୍ୟ ଫିଚର୍‌କୁ ବନ୍ଦ ରଖେ କିମ୍ବା ପ୍ରତିବନ୍ଧିତ କରିଥାଏ\n\n"<annotation id="url">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ବ୍ୟାଟେରୀ ଜୀବନ ବଢ଼ାଇବାକୁ ବ୍ୟାଟେରୀ ସେଭର୍:\n·ଗାଢା ଥିମ୍‌ ଚାଲୁ କରେ\n·ପୃଷ୍ଠପଟ କାର୍ଯ୍ୟକଳାପକୁ, କିଛି ଭିଜୁଆଲ୍ ପ୍ରଭାବଗୁଡ଼ିକୁ ଏବଂ “ହେ Google” ପରି ଅନ୍ୟ ଫିଚର୍‌କୁ ବନ୍ଦ ରଖେ କିମ୍ବା ପ୍ରତିବନ୍ଧିତ କରିଥାଏ"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"ଡାଟା ବ୍ୟବହାର କମ୍‍ କରିବାରେ ସାହାଯ୍ୟ କରିବାକୁ, ଡାଟା ସେଭର୍‍ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡରେ ଡାଟା ପଠାଇବା କିମ୍ବା ପ୍ରାପ୍ତ କରିବାକୁ କିଛି ଆପ୍‍କୁ ବାରଣ କରେ। ଆପଣ ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରୁଥିବା ଆପ୍‍, ଡାଟା ଆକ୍ସେସ୍‍ କରିପାରେ, କିନ୍ତୁ ଏହା କମ୍‍ ଥର କରିପାରେ। ଏହାର ଅର୍ଥ ହୋଇପାରେ ଯେମିତି ଆପଣ ଟାପ୍‍ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଇମେଜ୍‍ ଡିସପ୍ଲେ ହୁଏ ନାହିଁ।"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"ଡାଟା ସେଭର୍‌ ଚାଲୁ କରିବେ?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ଅନ୍ କରନ୍ତୁ"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">%1$d ମିନିଟ୍‍ ପାଇଁ (<xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ)</item>
@@ -1947,7 +1953,7 @@
     <string name="autofill_save_never" msgid="6821841919831402526">"କେବେ ବି ନୁହେଁ"</string>
     <string name="autofill_update_yes" msgid="4608662968996874445">"ଅପ୍‍ଡେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="autofill_continue_yes" msgid="7914985605534510385">"ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="autofill_save_type_password" msgid="5624528786144539944">"ପାସୱର୍ଡ୍"</string>
+    <string name="autofill_save_type_password" msgid="5624528786144539944">"ପାସୱାର୍ଡ"</string>
     <string name="autofill_save_type_address" msgid="3111006395818252885">"ଠିକଣା"</string>
     <string name="autofill_save_type_credit_card" msgid="3583795235862046693">"କ୍ରେଡିଟ୍ କାର୍ଡ"</string>
     <string name="autofill_save_type_debit_card" msgid="3169397504133097468">"ଡେବିଟ୍ କାର୍ଡ"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index 9a3ae250..e535311 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ਵੱਲੋਂ ਬੇਨਤੀ ਕੀਤੀ"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ਹਾਂ"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ਨਹੀਂ"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"ਵਧੀ ਸੀਮਾ ਮਿਟਾਓ"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, ਖਾਤੇ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ਲਈ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ਆਈਟਮਾਂ ਮਿਟਾਈਆਂ ਗਈਆਂ ਹਨ। ਤੁਸੀਂ ਕੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ਆਈਟਮਾਂ ਹਟਾਓ"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਮਿਟਾਇਆ ਗਿਆ"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ਠੀਕ ਹੈ"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"ਬੈਟਰੀ ਲਾਈਫ਼ ਵਧਾਉਣ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ:\n ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਲੂ ਕਰਦਾ ਹੈ\n ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ, ਕੁਝ ਦ੍ਰਿਸ਼ਟੀਗਤ ਪ੍ਰਭਾਵਾਂ, ਅਤੇ \"Ok Google\" ਵਰਗੀਆਂ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ ਜਾਂ ਉਹਨਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਂਦਾ ਹੈ\n\n"<annotation id="url">"ਹੋਰ ਜਾਣੋ"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"ਬੈਟਰੀ ਲਾਈਫ਼ ਵਧਾਉਣ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ:\n ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਲੂ ਕਰਦਾ ਹੈ\n ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ, ਕੁਝ ਦ੍ਰਿਸ਼ ਪ੍ਰਭਾਵਾਂ, ਅਤੇ \"Hey Google\" ਵਰਗੀਆਂ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ ਜਾਂ ਉਹਨਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਂਦਾ ਹੈ"</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"ਬੈਟਰੀ ਲਾਈਫ਼ ਵਧਾਉਣ ਲਈ, ਬੈਟਰੀ ਸੇਵਰ:\n ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਲੂ ਕਰਦਾ ਹੈ\n ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ, ਕੁਝ ਦ੍ਰਿਸ਼ ਪ੍ਰਭਾਵਾਂ, ਅਤੇ \"Ok Google\" ਵਰਗੀਆਂ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ ਜਾਂ ਉਹਨਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਂਦਾ ਹੈ"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"ਡਾਟਾ ਵਰਤੋਂ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ, ਡਾਟਾ ਸੇਵਰ ਕੁਝ ਐਪਾਂ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਡਾਟਾ ਭੇਜਣ ਜਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਵਰਤਮਾਨ ਤੌਰ \'ਤੇ ਵਰਤੀ ਜਾ ਰਹੀ ਐਪ ਡਾਟਾ \'ਤੇ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ, ਪਰ ਉਹ ਇੰਝ ਕਦੇ-ਕਦਾਈਂ ਕਰ ਸਕਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਇਸ ਦਾ ਮਤਲਬ ਇਹ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਚਿੱਤਰ ਤਦ ਤੱਕ ਨਹੀਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ, ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ \'ਤੇ ਟੈਪ ਨਹੀਂ ਕਰਦੇ।"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"ਕੀ ਡਾਟਾ ਸੇਵਰ ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ਚਾਲੂ ਕਰੋ"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index b2c7606..b052be4 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Żądane przez <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Tak"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nie"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Przekroczono limit usuwania"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Usuwasz <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> elementy(ów) przez: <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> (konto: <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>). Co chcesz zrobić?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Usuń elementy."</string>
@@ -1836,7 +1842,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Usunięty przez administratora"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Aby wydłużyć czas pracy na baterii, Oszczędzanie baterii:\n włącza tryb ciemny, \nwyłącza lub ogranicza aktywność w tle, niektóre efekty wizualne oraz inne funkcje, np. „OK Google”.\n\n"<annotation id="url">"Więcej informacji"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Aby wydłużyć czas pracy na baterii, Oszczędzanie baterii:\n włącza tryb ciemny,\n wyłącza lub ogranicza aktywność w tle, niektóre efekty wizualne oraz inne funkcje, np. „OK Google”."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Aby wydłużyć czas pracy na baterii, Oszczędzanie baterii:\n· włącza tryb ciemny,\n· wyłącza lub ogranicza aktywność w tle, niektóre efekty wizualne oraz inne funkcje, np. „OK Google”."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Oszczędzanie danych uniemożliwia niektórym aplikacjom wysyłanie i odbieranie danych w tle, zmniejszając w ten sposób ich użycie. Aplikacja, z której w tej chwili korzystasz, może uzyskiwać dostęp do danych, ale rzadziej. Może to powodować, że obrazy będą się wyświetlać dopiero po kliknięciu."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Włączyć Oszczędzanie danych?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Włącz"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 303a28f..a839a42 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitado por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sim"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Não"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limite de exclusão excedido"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Há <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> itens excluídos para <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, conta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. O que você quer fazer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Excluir os itens"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Excluído pelo seu administrador"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Para aumentar a duração da bateria, a \"Economia de bateria: \n ativa o tema escuro;\n·desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\".\n\n"<annotation id="url">"Saiba mais"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Para aumentar a duração da bateria, a \"Economia de bateria\": \n ativa o tema escuro;\n desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\"."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Para aumentar a duração da carga, a \"Economia de bateria\": \n·ativa o tema escuro;\n·desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\"."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Para ajudar a reduzir o uso de dados, a Economia de dados impede que alguns apps enviem ou recebam dados em segundo plano. Um app que você esteja usando no momento pode acessar dados, mas com menos frequência. Isso pode fazer com que imagens não sejam exibidas até que você toque nelas."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Ativar Economia de dados?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Ativar"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index f07f23511..fb7a14c 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -567,11 +567,11 @@
   <string-array name="fingerprint_error_vendor">
   </string-array>
     <string name="fingerprint_icon_content_description" msgid="4741068463175388817">"Ícone de impressão digital"</string>
-    <string name="permlab_manageFace" msgid="4569549381889283282">"gerir hardware de Desbloqueio Através do Rosto"</string>
+    <string name="permlab_manageFace" msgid="4569549381889283282">"gerir hardware de Desbloqueio facial"</string>
     <string name="permdesc_manageFace" msgid="6204569688492710471">"Permite à aplicação invocar métodos para adicionar e eliminar modelos faciais para uso."</string>
-    <string name="permlab_useFaceAuthentication" msgid="1011430526454859030">"utilizar hardware de Desbloqueio Através do Rosto"</string>
-    <string name="permdesc_useFaceAuthentication" msgid="3115697017684668012">"Permite que a aplicação utilize hardware de Desbloqueio Através do Rosto para autenticação"</string>
-    <string name="face_recalibrate_notification_name" msgid="6006095897989257026">"Desbloqueio Através do Rosto"</string>
+    <string name="permlab_useFaceAuthentication" msgid="1011430526454859030">"utilizar hardware de Desbloqueio facial"</string>
+    <string name="permdesc_useFaceAuthentication" msgid="3115697017684668012">"Permite que a aplicação utilize hardware de Desbloqueio facial para autenticação"</string>
+    <string name="face_recalibrate_notification_name" msgid="6006095897989257026">"Desbloqueio facial"</string>
     <string name="face_recalibrate_notification_title" msgid="5944930528030496897">"Volte a inscrever o seu rosto"</string>
     <string name="face_recalibrate_notification_content" msgid="892757485125249962">"Para melhorar o reconhecimento, volte a inscrever o seu rosto."</string>
     <string name="face_acquired_insufficient" msgid="2150805835949162453">"Imp. capt. dados rosto precisos. Tente novamente."</string>
@@ -597,15 +597,15 @@
   <string-array name="face_acquired_vendor">
   </string-array>
     <string name="face_error_hw_not_available" msgid="5085202213036026288">"Não pode validar o rosto. Hardware não disponível."</string>
-    <string name="face_error_timeout" msgid="522924647742024699">"Experimente de novo o Desbloqueio Através do Rosto"</string>
+    <string name="face_error_timeout" msgid="522924647742024699">"Experimente de novo o Desbloqueio facial"</string>
     <string name="face_error_no_space" msgid="5649264057026021723">"Não pode guardar novos dados de rostos. Elimine um antigo."</string>
     <string name="face_error_canceled" msgid="2164434737103802131">"Operação de rosto cancelada."</string>
-    <string name="face_error_user_canceled" msgid="8553045452825849843">"Desbloqueio Através do Rosto cancelado pelo utilizador"</string>
+    <string name="face_error_user_canceled" msgid="8553045452825849843">"Desbloqueio facial cancelado pelo utilizador"</string>
     <string name="face_error_lockout" msgid="7864408714994529437">"Demasiadas tentativas. Tente novamente mais tarde."</string>
-    <string name="face_error_lockout_permanent" msgid="8277853602168960343">"Demasiadas tentativas. O Desbloqueio Através do Rosto está desativado."</string>
+    <string name="face_error_lockout_permanent" msgid="8277853602168960343">"Demasiadas tentativas. O Desbloqueio facial está desativado."</string>
     <string name="face_error_unable_to_process" msgid="5723292697366130070">"Não é possível validar o rosto. Tente novamente."</string>
-    <string name="face_error_not_enrolled" msgid="7369928733504691611">"Não configurou o Desbloqueio Através do Rosto."</string>
-    <string name="face_error_hw_not_present" msgid="1070600921591729944">"Desbloqueio Através do Rosto não suportado neste dispositivo."</string>
+    <string name="face_error_not_enrolled" msgid="7369928733504691611">"Não configurou o Desbloqueio facial."</string>
+    <string name="face_error_hw_not_present" msgid="1070600921591729944">"Desbloqueio facial não suportado neste dispositivo."</string>
     <string name="face_error_security_update_required" msgid="5076017208528750161">"Sensor temporariamente desativado."</string>
     <string name="face_name_template" msgid="3877037340223318119">"Rosto <xliff:g id="FACEID">%d</xliff:g>"</string>
   <string-array name="face_error_vendor">
@@ -835,7 +835,7 @@
     <string name="lockscreen_pattern_wrong" msgid="2940138714468358458">"Tentar novamente"</string>
     <string name="lockscreen_password_wrong" msgid="8605355913868947490">"Tentar novamente"</string>
     <string name="lockscreen_storage_locked" msgid="634993789186443380">"Desbloqueio de todas as funcionalidades e dados"</string>
-    <string name="faceunlock_multiple_failures" msgid="681991538434031708">"Excedido o n.º máximo de tentativas de Desbloqueio Através do Rosto"</string>
+    <string name="faceunlock_multiple_failures" msgid="681991538434031708">"Excedido o n.º máximo de tentativas de Desbloqueio facial"</string>
     <string name="lockscreen_missing_sim_message_short" msgid="1248431165144893792">"Nenhum cartão SIM"</string>
     <string name="lockscreen_missing_sim_message" product="tablet" msgid="8596805728510570760">"Nenhum cartão SIM no tablet."</string>
     <string name="lockscreen_missing_sim_message" product="tv" msgid="2582768023352171073">"Nenhum cartão SIM no seu dispositivo Android TV."</string>
@@ -905,7 +905,7 @@
     <string name="keyguard_accessibility_expand_lock_area" msgid="4215280881346033434">"Expandir área de desbloqueio."</string>
     <string name="keyguard_accessibility_slide_unlock" msgid="2968195219692413046">"Desbloqueio através de deslize."</string>
     <string name="keyguard_accessibility_pattern_unlock" msgid="8669128146589233293">"Desbloqueio através de sequência."</string>
-    <string name="keyguard_accessibility_face_unlock" msgid="632407612842329815">"Desbloqueio através do rosto."</string>
+    <string name="keyguard_accessibility_face_unlock" msgid="632407612842329815">"Desbloqueio facial"</string>
     <string name="keyguard_accessibility_pin_unlock" msgid="4020864007967340068">"Desbloqueio através de PIN."</string>
     <string name="keyguard_accessibility_sim_pin_unlock" msgid="4895939120871890557">"Desbloqueio do SIM através de PIN."</string>
     <string name="keyguard_accessibility_sim_puk_unlock" msgid="3459003464041899101">"Desbloqueio do PUK do SIM."</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Pedido por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sim"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Não"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limite de eliminações excedido"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Há <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> itens eliminados de <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, conta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. O que pretende fazer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Eliminar os itens"</string>
@@ -1792,7 +1798,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Para prolongar a autonomia da bateria, a Poupança de bateria:\n·Ativa o tema escuro.\n·Desativa ou restringe a atividade em segundo plano, alguns efeitos visuais e outras funcionalidades como \"Ok Google\".\n\n"<annotation id="url">"Saber mais"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Para prolongar a autonomia da bateria, a Poupança de bateria:\n·Ativa o tema escuro.\n·Desativa ou restringe a atividade em segundo plano, alguns efeitos visuais e outras funcionalidades como \"Ok Google\"."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Para ajudar a reduzir a utilização de dados, a Poupança de dados impede que algumas aplicações enviem ou recebam dados em segundo plano. Uma determinada aplicação que esteja a utilizar atualmente pode aceder aos dados, mas é possível que o faça com menos frequência. Isto pode significar, por exemplo, que as imagens não são apresentadas até que toque nas mesmas."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Ativar a Poupança de dados?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Pretende ativar a Poupança de dados?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Ativar"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">Durante %1$d minutos (até à(s) <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 303a28f..a839a42 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitado por <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Sim"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Não"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limite de exclusão excedido"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Há <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> itens excluídos para <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, conta <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. O que você quer fazer?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Excluir os itens"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Excluído pelo seu administrador"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Para aumentar a duração da bateria, a \"Economia de bateria: \n ativa o tema escuro;\n·desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\".\n\n"<annotation id="url">"Saiba mais"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Para aumentar a duração da bateria, a \"Economia de bateria\": \n ativa o tema escuro;\n desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\"."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Para aumentar a duração da carga, a \"Economia de bateria\": \n·ativa o tema escuro;\n·desativa ou restringe atividades em segundo plano, alguns efeitos visuais e outros recursos, como o \"Ok Google\"."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Para ajudar a reduzir o uso de dados, a Economia de dados impede que alguns apps enviem ou recebam dados em segundo plano. Um app que você esteja usando no momento pode acessar dados, mas com menos frequência. Isso pode fazer com que imagens não sejam exibidas até que você toque nelas."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Ativar Economia de dados?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Ativar"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 1db0917..4867642 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -1478,6 +1478,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Solicitat de <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Da"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nu"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Limita pentru ștergere a fost depășită"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Există <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>   elemente șterse pentru <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, contul <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ce doriți să faceți?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Ștergeți elementele"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 3a96385..6ecf5811 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Запрашивает <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Да"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Нет"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Превышен предел удаления"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Удаленных объектов для <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>, аккаунт <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Что нужно сделать?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Удалить"</string>
@@ -1837,7 +1843,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ОК"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Чтобы продлить время работы от батареи, в режиме энергосбережения:\nвключается тёмная тема;\nотключаются или ограничиваются фоновые процессы, некоторые визуальные эффекты и другие функции (например, распознавание команды \"Окей, Google\").\n\n"<annotation id="url">"Подробнее…"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Чтобы продлить время работы от батареи, в режиме энергосбережения:\nвключается тёмная тема;\nотключаются или ограничиваются фоновые процессы, некоторые визуальные эффекты и другие функции (например, распознавание команды \"Окей, Google\")."</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"В режиме экономии трафика фоновая передача для некоторых приложений отключена. Приложение, которым вы пользуетесь, может получать и отправлять данные, но реже, чем обычно. Например, изображения могут не загружаться, пока вы не нажмете на них."</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"В режиме экономии трафика фоновая передача данных для некоторых приложений отключена. Приложение, которым вы пользуетесь, может получать и отправлять данные, но реже, чем обычно. Например, изображения могут не загружаться, пока вы не нажмете на них."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Включить экономию трафика?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Включить"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index a131b18..eaa93bf 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -1459,6 +1459,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) විසින් ඉල්ලන ලද"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ඔව්"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"නැත"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"මැකීමේ සීමාව ඉක්මවන ලදි"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> සඳහා <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> ගිණුමේ මකන ලද අයිතම <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ක් ඇත. ඔබට කුමක් කිරීමට අවශ්‍යද?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"අයිතම මකන්න"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index aec983c..e552358 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -242,11 +242,11 @@
     <string name="global_action_lock" msgid="6949357274257655383">"Zámka obrazovky"</string>
     <string name="global_action_power_off" msgid="4404936470711393203">"Vypnúť"</string>
     <string name="global_action_power_options" msgid="1185286119330160073">"Vypnutie"</string>
-    <string name="global_action_restart" msgid="4678451019561687074">"Reštart"</string>
-    <string name="global_action_emergency" msgid="1387617624177105088">"Tieseň"</string>
+    <string name="global_action_restart" msgid="4678451019561687074">"Reštartovať"</string>
+    <string name="global_action_emergency" msgid="1387617624177105088">"Tiesňový režim"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"Hlásenie o chybách"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"Ukončiť reláciu"</string>
-    <string name="global_action_screenshot" msgid="2610053466156478564">"Snímka"</string>
+    <string name="global_action_screenshot" msgid="2610053466156478564">"Snímka obrazovky"</string>
     <string name="bugreport_title" msgid="8549990811777373050">"Hlásenie chyby"</string>
     <string name="bugreport_message" msgid="5212529146119624326">"Týmto zhromaždíte informácie o aktuálnom stave zariadenia. Informácie je potom možné odoslať e-mailom, chvíľu však potrvá, kým bude hlásenie chyby pripravené na odoslanie. Prosíme vás preto o trpezlivosť."</string>
     <string name="bugreport_option_interactive_title" msgid="7968287837902871289">"Interaktívne nahlásenie"</string>
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Žiadosť od používateľa <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Áno"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nie"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Bol prekročený limit odstraňovania"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Počet odstránených položiek pre <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> účet <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> je: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Čo chcete robiť?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Odstrániť položky"</string>
@@ -1601,7 +1607,7 @@
     <string name="media_route_button_content_description" msgid="2299223698196869956">"Prenášať"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"Pripojenie k zariadeniu"</string>
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Prenos obrazovky do zariadenia"</string>
-    <string name="media_route_chooser_searching" msgid="6119673534251329535">"Prebieha vyhľadávanie zariadení…"</string>
+    <string name="media_route_chooser_searching" msgid="6119673534251329535">"Vyhľadávajú sa zariadenia…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Nastavenia"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Odpojiť"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"Prebieha vyhľadávanie..."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 5aa0e02..7d7b0e9 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -242,7 +242,7 @@
     <string name="global_action_lock" msgid="6949357274257655383">"Zaklep zaslona"</string>
     <string name="global_action_power_off" msgid="4404936470711393203">"Izklopi"</string>
     <string name="global_action_power_options" msgid="1185286119330160073">"Vklop/izklop"</string>
-    <string name="global_action_restart" msgid="4678451019561687074">"Vnovični zagon"</string>
+    <string name="global_action_restart" msgid="4678451019561687074">"Znova zaženi"</string>
     <string name="global_action_emergency" msgid="1387617624177105088">"Klic v sili"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"Poročilo o napakah"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"Končaj sejo"</string>
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Zahtevala oseba <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Da"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ne"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Omejitev brisanja je presežena"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Št. izbrisanih elementov za <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> v računu <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Kaj želite narediti?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Izbris elementov"</string>
@@ -1600,7 +1606,7 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"Brezžični prikaz"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"Predvajanje"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"Povezovanje z napravo"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Predvajanje zaslona v napravi"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Predvajanje zaslona v napravo"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"Iskanje naprav …"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Nastavitve"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Prekinitev povezave"</string>
@@ -1836,7 +1842,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Izbrisal skrbnik"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"V redu"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Funkcija varčevanja z energijo baterije tako podaljša čas delovanja baterije:\n·Vklopi temno temo,\n·izklopi ali omeji izvajanje dejavnosti v ozadju, nekaterih vizualnih učinkov in drugih funkcij, kot je »Hey Google«.\n\n"<annotation id="url">"Več o tem"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Funkcija varčevanja z energijo baterije tako podaljša čas delovanja baterije:\n·Vklopi temno temo,\n·izklopi ali omeji izvajanje dejavnosti v ozadju, nekaterih vizualnih učinkov in drugih funkcij, kot je »Hey Google«."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Funkcija varčevanja z energijo baterije podaljša čas delovanja baterije tako:\n·vklopi temno temo,\n·izklopi ali omeji izvajanje dejavnosti v ozadju, nekaterih vizualnih učinkov in drugih funkcij, kot je »Hey Google«."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Zaradi zmanjševanja prenesene količine podatkov funkcija varčevanja s podatki nekaterim aplikacijam preprečuje, da bi v ozadju pošiljale ali prejemale podatke. Aplikacija, ki jo trenutno uporabljate, lahko prenaša podatke, vendar to morda počne manj pogosto. To na primer pomeni, da se slike ne prikažejo, dokler se jih ne dotaknete."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Vklop varčevanja s podatki?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Vklop"</string>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index 5e7351a..085a0eb 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Kërkuar nga <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Po"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Jo"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Kufiri i fshirjes u tejkalua"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Ka <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> artikuj të fshirë për <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> nga llogaria <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Çfarë dëshiron të bësh?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Fshiji artikujt"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 995e949..55c1fef 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1478,6 +1478,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Захтева <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Да"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Не"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Премашено је ограничење за брисање"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Постоје избрисане ставке (<xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>) за <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, налог <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Шта желите да урадите?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Избриши ставке"</string>
@@ -1815,7 +1821,7 @@
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Ради дужег трајања батерије, уштеда батерије:\n·укључује тамну тему\n·искључује или ограничава активности у позадини, неке визуелне ефекте и друге функције, на пример, „Ок Google“\n\n"<annotation id="url">"Сазнајте више"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"Ради дужег трајања батерије, уштеда батерије:\n·укључује тамну тему\n·искључује или ограничава активности у позадини, неке визуелне ефекте и друге функције, на пример, „Ок Google“"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Да би се смањила потрошња података, Уштеда података спречава неке апликације да шаљу или примају податке у позадини. Апликација коју тренутно користите може да приступа подацима, али ће то чинити ређе. На пример, слике се неће приказивати док их не додирнете."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Укључити Уштеду података?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Желите да укључите Уштеду података?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Укључи"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">%1$d минут (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 54eec00..4e9c1fa 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Begärt av <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ja"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Nej"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Gränsen för borttagning har överskridits"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Det finns <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> borttagna objekt för <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, konto <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Vad vill du göra?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Ta bort objekten"</string>
@@ -1789,10 +1795,10 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Administratören uppdaterade paketet"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Administratören raderade paketet"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"I syfte att förlänga batteritiden sker följande i batterisparläget:\n·mörkt tema aktiveras\n·aktivitet i bakgrunden, vissa visuella effekter och andra funktioner, som ”Hey Google”, inaktiveras eller begränsas\n\n"<annotation id="url">"Läs mer"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"I syfte att förlänga batteritiden sker följande i batterisparläget:\n·mörkt tema aktiveras\n·aktivitet i bakgrunden, vissa visuella effekter och andra funktioner, som ”Hey Google”, inaktiveras eller begränsas"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Batterisparläget förlänger batteritiden genom att:\n·aktivera mörkt tema\n·inaktivera eller begränsa aktivitet i bakgrunden, vissa visuella effekter och andra funktioner, som ”Hey Google”\n\n"<annotation id="url">"Läs mer"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Batterisparläget förlänger batteritiden genom att:\n·aktivera mörkt tema\n·inaktivera eller begränsa aktivitet i bakgrunden, vissa visuella effekter och andra funktioner, som ”Hey Google”"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Med databesparing kan du minska dataanvändningen genom att hindra en del appar från att skicka eller ta emot data i bakgrunden. Appar som du använder kan komma åt data, men det sker kanske inte lika ofta. Detta innebär t.ex. att bilder inte visas förrän du trycker på dem."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Aktivera Databesparing?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Vill du aktivera Databesparing?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Aktivera"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="other">I %1$d minuter (till kl. <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 7e9a1ea..f26ce70 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -242,7 +242,7 @@
     <string name="global_action_emergency" msgid="1387617624177105088">"Dharura"</string>
     <string name="global_action_bug_report" msgid="5127867163044170003">"Ripoti ya hitilafu"</string>
     <string name="global_action_logout" msgid="6093581310002476511">"Maliza kipindi"</string>
-    <string name="global_action_screenshot" msgid="2610053466156478564">"Pichaskrini"</string>
+    <string name="global_action_screenshot" msgid="2610053466156478564">"Picha ya skrini"</string>
     <string name="bugreport_title" msgid="8549990811777373050">"Ripoti ya hitilafu"</string>
     <string name="bugreport_message" msgid="5212529146119624326">"Hii itakusanya maelezo kuhusu hali ya kifaa chako kwa sasa, na itume kama barua pepe. Itachukua muda mfupi tangu ripoti ya hitilafu ianze kuzalishwa hadi iwe tayari kutumwa; vumilia."</string>
     <string name="bugreport_option_interactive_title" msgid="7968287837902871289">"Ripoti ya kushirikiana"</string>
@@ -313,7 +313,7 @@
     <string name="permgroupdesc_calllog" msgid="2026996642917801803">"kusoma na kuandika rekodi ya nambari za simu"</string>
     <string name="permgrouplab_phone" msgid="570318944091926620">"Simu"</string>
     <string name="permgroupdesc_phone" msgid="270048070781478204">"piga na udhibiti simu"</string>
-    <string name="permgrouplab_sensors" msgid="9134046949784064495">"Vihisi vya mwili"</string>
+    <string name="permgrouplab_sensors" msgid="9134046949784064495">"Vitambua shughuli za mwili"</string>
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"fikia data ya kitambuzi kuhusu alama zako muhimu"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Kufikia maudhui ya dirisha"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Kuchunguza maudhui ya dirisha unalotumia."</string>
@@ -409,7 +409,7 @@
     <string name="permdesc_writeCallLog" product="tablet" msgid="2657525794731690397">"Huruhusu programu kurekebisha rajisi ya kompyuta kibao yako, ikiwa ni pamoja na simu zinazoingia na kutoka. Huenda programu hasidi zikatumia hii ili kufuta au kurekebisha rajisi ya simu yako."</string>
     <string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"Huruhusu programu irekebishe rekodi ya nambari za simu ya kifaa chako cha Android TV, ikiwa ni pamoja na data kuhusu simu zinazoingia na simu unazopiga. Huenda programu hasidi zikatumia ruhusa hii ili kufuta au kurekebisha rekodi yako ya nambari za simu."</string>
     <string name="permdesc_writeCallLog" product="default" msgid="5903033505665134802">"Huruhusu programu kurekebisha rajisi ya simu yako, ikiwa ni pamoja na simu zinazoingia na kutoka. Huenda programu hasidi zikatumia hii ili kufuta au kurekebisha rajisi ya simu yako."</string>
-    <string name="permlab_bodySensors" msgid="3411035315357380862">"fikia vihisi vya mwili (kama vifuatiliaji vya mapigo ya moyo)"</string>
+    <string name="permlab_bodySensors" msgid="3411035315357380862">"fikia vitambua shughuli za mwili (kama vifuatiliaji vya mapigo ya moyo)"</string>
     <string name="permdesc_bodySensors" product="default" msgid="2365357960407973997">"Huruhusu programu kufikia data kutoka vihisi vinavyofuatilia hali yako ya kimwili, kama vile mapigo ya moyo."</string>
     <string name="permlab_readCalendar" msgid="6408654259475396200">"Soma matukio na maelezo ya kalenda"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="515452384059803326">"Programu hii inaweza kusoma matukio yote ya kalenda yaliyohifadhiwa kwenye kompyuta yako kibao na kushiriki au kuhifadhi data yako ya kalenda."</string>
@@ -504,7 +504,7 @@
     <string name="permdesc_bluetoothAdmin" product="tablet" msgid="5370837055438574863">"Inaruhusu programu kusanidi kompyuta kibao ya karibu ya Bluetooth na kutambua na kuoanisha na vifaa vya kudhibiti."</string>
     <string name="permdesc_bluetoothAdmin" product="tv" msgid="1623992984547014588">"Huruhusu programu iweke mipangilio ya Bluetooth kwenye kifaa chako cha Android TV na kugundua na kuoanisha na vifaa vya mbali."</string>
     <string name="permdesc_bluetoothAdmin" product="default" msgid="7381341743021234863">"Inaruhusu programu kusanidi simu ya karibu ya Bluetooth, na kutambua na kuoanisha na vifaa vya mbali."</string>
-    <string name="permlab_accessWimaxState" msgid="7029563339012437434">"unganisha na uukate muunaganisho kutoka kwenye  WiMAX"</string>
+    <string name="permlab_accessWimaxState" msgid="7029563339012437434">"unganisha na utenganishe kutoka kwenye  WiMAX"</string>
     <string name="permdesc_accessWimaxState" msgid="5372734776802067708">"Inaruhusu programu kuthibitisha ikiwa WiMAX imewezeshwa na taarifa kuhusu mitandao yoyote ya WiMAX ambayo imeunganishwa."</string>
     <string name="permlab_changeWimaxState" msgid="6223305780806267462">"badilisha hali ya WiMAX"</string>
     <string name="permdesc_changeWimaxState" product="tablet" msgid="4011097664859480108">"Inaruhusu programu kuunganisha kompyuta kibao,  na kukata kompyuta kibao kutoka mitandao ya WiMAX."</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Imeombwa na <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ndiyo"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Hapana"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Upeo wa ufutaji umezidishwa"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Kuna vipengee <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> vilivyofutwa vya <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, akaunti <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Je, unataka kufanya nini?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Futa vipengee"</string>
@@ -1561,7 +1567,7 @@
     <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Tuma skrini kwenye kifaa"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"Inatafuta vifaa..."</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Mipangilio"</string>
-    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Ondoa"</string>
+    <string name="media_route_controller_disconnect" msgid="7362617572732576959">"Tenganisha"</string>
     <string name="media_route_status_scanning" msgid="8045156315309594482">"Inatambaza..."</string>
     <string name="media_route_status_connecting" msgid="5845597961412010540">"Inaunganisha..."</string>
     <string name="media_route_status_available" msgid="1477537663492007608">"Inapatikana"</string>
@@ -1790,7 +1796,7 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Imefutwa na msimamizi wako"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"Sawa"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Ili kuongeza muda wa matumizi ya betri, Kiokoa Betri:\n.Huwasha Mandhari meusi\n. Huzima au kuzuia shughuli za chinichini, baadhi ya madoido yanayoonekana na vipengele vingine kama vile \"Ok Google\"\n\n"<annotation id="url">"Pata maelezo zaidi"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Ili kuongeza muda wa matumizi ya betri, Kiokoa Betri:\n.Huwasha Mandhari meusi\n. Huzima au kuzuia shughuli za chinichini, baadhi ya madoido yanayoonekana na vipengele vingine kama vile \"Ok Google\""</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Ili kuongeza muda wa matumizi ya betri, Kiokoa Betri:\n·Huwasha Mandhari meusi\n·Huzima au kuzuia shughuli za chinichini, baadhi ya madoido yanayoonekana na vipengele vingine kama vile \"Ok Google\""</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Ili kusaidia kupunguza matumizi ya data, Kiokoa Data huzuia baadhi ya programu kupokea na kutuma data chinichini. Programu ambayo unatumia sasa inaweza kufikia data, lakini si kila wakati. Kwa mfano, haitaonyesha picha hadi utakapozifungua."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Ungependa Kuwasha Kiokoa Data?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Washa"</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index 7135240..71072f8 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ஆல் கோரப்பட்டுள்ளது"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ஆம்"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"இல்லை"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"நீக்கும் வரம்பு கடந்தது"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> கணக்கின் <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> க்கான <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> நீக்கப்பட்ட உருப்படிகள் உள்ளன. என்ன செய்ய விரும்புகிறீர்கள்?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"உருப்படிகளை நீக்கு"</string>
@@ -1645,7 +1651,7 @@
     <string name="done_accessibility_shortcut_menu_button" msgid="3668407723770815708">"முடிந்தது"</string>
     <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"ஷார்ட்கட்டை முடக்கு"</string>
     <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"ஷார்ட்கட்டைப் பயன்படுத்து"</string>
-    <string name="color_inversion_feature_name" msgid="326050048927789012">"வண்ணத்தை நேர் எதிராக மாற்றுதல்"</string>
+    <string name="color_inversion_feature_name" msgid="326050048927789012">"கலர் இன்வெர்ஷன்"</string>
     <string name="color_correction_feature_name" msgid="3655077237805422597">"வண்ணத் திருத்தம்"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ஒலியளவுக்கான விசைகளைப் பிடித்திருந்தீர்கள். <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ஆன் செய்யப்பட்டது."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ஒலியளவுக்கான விசைகளைப் பிடித்திருந்தீர்கள். <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ஆஃப் செய்யப்பட்டது."</string>
@@ -2044,8 +2050,7 @@
     <string name="conversation_single_line_name_display" msgid="8958948312915255999">"<xliff:g id="SENDER_NAME">%1$s</xliff:g>:"</string>
     <string name="conversation_title_fallback_one_to_one" msgid="1980753619726908614">"உரையாடல்"</string>
     <string name="conversation_title_fallback_group_chat" msgid="456073374993104303">"குழு உரையாடல்"</string>
-    <!-- no translation found for unread_convo_overflow (920517615597353833) -->
-    <skip />
+    <string name="unread_convo_overflow" msgid="920517615597353833">"<xliff:g id="MAX_UNREAD_COUNT">%1$d</xliff:g>+"</string>
     <string name="resolver_personal_tab" msgid="2051260504014442073">"தனிப்பட்ட சுயவிவரம்"</string>
     <string name="resolver_work_tab" msgid="2690019516263167035">"பணிச் சுயவிவரம்"</string>
     <string name="resolver_personal_tab_accessibility" msgid="5739524949153091224">"தனிப்பட்ட காட்சி"</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index e0990a2..01a60b0 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -295,7 +295,7 @@
     <string name="managed_profile_label" msgid="7316778766973512382">"కార్యాలయ ప్రొఫైల్‌కి మార్చు"</string>
     <string name="permgrouplab_contacts" msgid="4254143639307316920">"కాంటాక్ట్‌లు"</string>
     <string name="permgroupdesc_contacts" msgid="9163927941244182567">"మీ పరిచయాలను యాక్సెస్ చేయడానికి"</string>
-    <string name="permgrouplab_location" msgid="1858277002233964394">"స్థానం"</string>
+    <string name="permgrouplab_location" msgid="1858277002233964394">"లొకేషన్"</string>
     <string name="permgroupdesc_location" msgid="1995955142118450685">"ఈ పరికర స్థానాన్ని యాక్సెస్ చేయడానికి"</string>
     <string name="permgrouplab_calendar" msgid="6426860926123033230">"Calendar"</string>
     <string name="permgroupdesc_calendar" msgid="6762751063361489379">"మీ క్యాలెండర్‌ను యాక్సెస్ చేయడానికి"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) ద్వారా అభ్యర్థించబడింది"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"అవును"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"కాదు"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"తొలగింపు పరిమితి మించిపోయింది"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, ఖాతా <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>కి సంబంధించి <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> తొలగించబడే అంశాలు ఉన్నాయి. మీరు ఏమి చేయాలనుకుంటున్నారు?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"అంశాలను తొలగించు"</string>
@@ -1789,9 +1795,9 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"మీ నిర్వాహకులు నవీకరించారు"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"మీ నిర్వాహకులు తొలగించారు"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"సరే"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"బ్యాటరీ జీవితకాలాన్ని పెంచడానికి, బ్యాటరీ సేవర్:\n ముదురు రంగు·థీమ్‌ను ఆన్ చేస్తుంది\n·నేపథ్య కార్యకలాపం, కొన్ని విజువల్ ఎఫెక్ట్స్ మరియు “Hey Google” వంటి ఇతర ఫీచర్‌లను ఆపివేస్తుంది లేదా పరిమితం చేస్తుంది\n\n"<annotation id="url">"మరింత తెలుసుకోండి"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"బ్యాటరీ జీవితకాలాన్ని పెంచడానికి, బ్యాటరీ సేవర్:\n ముదురు రంగు·థీమ్‌ను ఆన్ చేస్తుంది\n·నేపథ్య కార్యకలాపం, కొన్ని విజువల్ ఎఫెక్ట్స్ మరియు “Hey Google” వంటి ఇతర ఫీచర్‌లను ఆపివేస్తుంది లేదా పరిమితం చేస్తుంది"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"డేటా వినియోగాన్ని తగ్గించడంలో డేటా సేవర్ సహాయకరంగా ఉంటుంది. బ్యాక్‌గ్రౌండ్‌లో కొన్ని యాప్‌లు డేటాను పంపకుండా లేదా స్వీకరించకుండా నిరోధిస్తుంది. మీరు ప్రస్తుతం ఉపయోగిస్తోన్న యాప్‌ డేటాను యాక్సెస్ చేయగలదు. కానీ అలా అరుదుగా చేయవచ్చు. ఉదాహరణకు, మీరు చిత్రాలను నొక్కే వరకు అవి ప్రదర్శించబడవు."</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"బ్యాటరీ జీవితకాలాన్ని పెంచడానికి, బ్యాటరీ సేవర్ వీటిని చేస్తుంది:\n·ముదురు రంగు థీమ్‌ను ఆన్ చేస్తుంది\n·బ్యాక్‌గ్రౌండ్ కార్యకలాపం, కొన్ని విజువల్ ఎఫెక్ట్స్‌లతో పాటు “Ok Google” వంటి ఇతర ఫీచర్‌లను ఆపివేస్తుంది లేదా పరిమితం చేస్తుంది\n\n"<annotation id="url">"మరింత తెలుసుకోండి"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"బ్యాటరీ జీవితకాలాన్ని పెంచడానికి, బ్యాటరీ సేవర్ వీటిని చేస్తుంది:\n·ముదురు రంగు థీమ్‌ను ఆన్ చేస్తుంది\n·బ్యాక్‌గ్రౌండ్ కార్యకలాపం, కొన్ని విజువల్ ఎఫెక్ట్స్‌లతో పాటు “Ok Google” వంటి ఇతర ఫీచర్‌లను ఆపివేస్తుంది లేదా పరిమితం చేస్తుంది"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"డేటా వినియోగాన్ని తగ్గించడంలో డేటా సేవర్ సహాయకరంగా ఉంటుంది. బ్యాక్‌గ్రౌండ్‌లో కొన్ని యాప్‌లు డేటాను పంపకుండా లేదా స్వీకరించకుండా నిరోధిస్తుంది. మీరు ప్రస్తుతం ఉపయోగిస్తోన్న యాప్‌, డేటాను యాక్సెస్ చేయగలదు. కానీ త‌క్కువ సార్లు మాత్ర‌మే అలా చేయవచ్చు. ఉదాహరణకు, మీరు నొక్కే వరకు ఫోటోలు ప్రదర్శించబడవు."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"డేటా సేవర్‌ను ఆన్ చేయాలా?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"ఆన్ చేయి"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 83f7a1b..ad11d6b 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -187,7 +187,7 @@
     <string name="work_profile_deleted" msgid="5891181538182009328">"ลบโปรไฟล์งานแล้ว"</string>
     <string name="work_profile_deleted_details" msgid="3773706828364418016">"แอปผู้ดูแลระบบโปรไฟล์งานไม่มีอยู่หรือเสียหาย ระบบจึงทำการลบโปรไฟล์งานและข้อมูลที่เกี่ยวข้องของคุณออก โปรดติดต่อผู้ดูแลระบบเพื่อรับความช่วยเหลือ"</string>
     <string name="work_profile_deleted_description_dpm_wipe" msgid="2477244968924647232">"โปรไฟล์งานของคุณไม่สามารถใช้ในอุปกรณ์นี้อีกต่อไป"</string>
-    <string name="work_profile_deleted_reason_maximum_password_failure" msgid="1080323158315663167">"ลองป้อนรหัสผ่านหลายครั้งเกินไป"</string>
+    <string name="work_profile_deleted_reason_maximum_password_failure" msgid="1080323158315663167">"พยายามป้อนรหัสผ่านหลายครั้งเกินไป"</string>
     <string name="device_ownership_relinquished" msgid="4080886992183195724">"ผู้ดูแลระบบปล่อยอุปกรณ์ให้คุณใช้งานส่วนตัว"</string>
     <string name="network_logging_notification_title" msgid="554983187553845004">"อุปกรณ์มีการจัดการ"</string>
     <string name="network_logging_notification_text" msgid="1327373071132562512">"องค์กรของคุณจัดการอุปกรณ์นี้และอาจตรวจสอบการจราจรของข้อมูลในเครือข่าย แตะเพื่อดูรายละเอียด"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"ร้องขอโดย <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ใช่"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"ไม่"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"เกินจำนวนการนำออกสูงสุด"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"มีรายการที่จะลบ <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> รายการสำหรับ <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> ในบัญชี <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> คุณต้องการทำสิ่งใด"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"ลบรายการ"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 773020b..fbcd155 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Hiniling ni <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Oo"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Hindi"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Nalagpasan na ang limitasyon sa pagtanggal"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Mayroong <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> (na) tinanggal na item para sa <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, account na <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ano ang nais mong gawin?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"I-delete ang mga item"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 69f41dd..91c48d5 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> tarafından istendi (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Evet"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Hayır"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Silme sınırı aşıldı"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> hesabında <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> için <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> adet silinmiş öğe var. Ne yapmak istiyorsunuz?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Öğeleri sil"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index c9d29a2..76dad91 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -20,7 +20,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="byteShort" msgid="202579285008794431">"б"</string>
+    <string name="byteShort" msgid="202579285008794431">"Б"</string>
     <string name="kilobyteShort" msgid="2214285521564195803">"КБ"</string>
     <string name="megabyteShort" msgid="6649361267635823443">"МБ"</string>
     <string name="gigabyteShort" msgid="7515809460261287991">"ГБ"</string>
@@ -1347,7 +1347,7 @@
     <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Виявлено аналоговий аксесуар для аудіо"</string>
     <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"Під’єднаний пристрій несумісний із цим телефоном. Торкніться, щоб дізнатися більше."</string>
     <string name="adb_active_notification_title" msgid="408390247354560331">"Налагодження USB підключено"</string>
-    <string name="adb_active_notification_message" msgid="5617264033476778211">"Торкніться, щоб вимкнути налагоджувач USB"</string>
+    <string name="adb_active_notification_message" msgid="5617264033476778211">"Торкніться, щоб вимкнути налагодження через USB"</string>
     <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Виберіть, щоб вимкнути налагодження за USB"</string>
     <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Налагодження через Wi-Fi активне"</string>
     <string name="adbwifi_active_notification_message" msgid="930987922852867972">"Натисніть, щоб вимкнути налагодження через Wi-Fi"</string>
@@ -1499,6 +1499,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Запит зроблено користувачем <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Так"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Ні"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Перевищено ліміт видалень"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Для <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, облікового запису <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>, знайдено стільки видалених елементів: <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>. Що робити?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Видалити елементи"</string>
@@ -1836,9 +1842,9 @@
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Видалено адміністратором"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ОК"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Щоб подовжити час роботи акумулятора, режим енергозбереження:\n·вмикає темну тему;\n·припиняє або обмежує фонову активність, вимикає деякі візуальні ефекти й інші енергозатратні функції, зокрема Ok Google.\n\n"<annotation id="url">"Докладніше"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Щоб подовжити час роботи акумулятора, режим енергозбереження:\n·вмикає темну тему;\n·припиняє або обмежує фонову активність, вимикає деякі візуальні ефекти й інші енергозатратні функції, зокрема Ok Google."</string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Щоб подовжити час роботи акумулятора, режим енергозбереження:\n·вмикає темну тему;\n·припиняє або обмежує фонову активність, вимикає деякі візуальні ефекти й інші енергозатратні функції, зокрема команду \"Ok Google\"."</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Щоб зменшити використання трафіку, функція \"Заощадження трафіку\" не дозволяє деяким додаткам надсилати чи отримувати дані у фоновому режимі. Поточний додаток зможе отримувати доступ до таких даних, але рідше. Наприклад, зображення не відображатиметься, доки ви не торкнетеся його."</string>
-    <string name="data_saver_enable_title" msgid="7080620065745260137">"Увімкнути Заощадження трафіку?"</string>
+    <string name="data_saver_enable_title" msgid="7080620065745260137">"Увімкнути заощадження трафіку?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Увімкнути"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
       <item quantity="one">%1$d хвилину (до <xliff:g id="FORMATTEDTIME_1">%2$s</xliff:g>)</item>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index 216f624..db56194 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"درخواست کردہ بذریعہ <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"ہاں"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"نہیں"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"حذف کرنے کی حد سے متجاوز ہو گیا"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>، اکاؤنٹ <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> کیلئے <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> حذف کردہ آئٹمز ہیں۔ آپ کیا کرنا چاہتے ہیں؟"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"آئٹمز حذف کریں"</string>
@@ -1791,7 +1797,7 @@
     <string name="confirm_battery_saver" msgid="5247976246208245754">"ٹھیک ہے"</string>
     <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"‏بیٹری لائف کو بڑھانے کے لیے، بیٹری سیور:\n گہری تھیم کو آن کرتی ہے\n پس منظر کی سرگرمی، کچھ بصری اثرات اور دیگر خصوصیات جیسے کہ \"Ok Google\" کو آف یا محدود کرتی ہے\n\n"<annotation id="url">"مزید جانیں"</annotation></string>
     <string name="battery_saver_description" msgid="7618492104632328184">"‏بیٹری لائف کو بڑھانے کے لیے، بیٹری سیور:\n گہری تھیم کو آن کرتی ہے\n پس منظر کی سرگرمی، کچھ بصری اثرات اور دیگر خصوصیات جیسے کہ \"Ok Google\" کو آف یا محدود کرتی ہے"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"ڈیٹا کے استعمال کو کم کرنے میں مدد کیلئے، ڈیٹا سیور پس منظر میں کچھ ایپس کو ڈیٹا بھیجنے یا موصول کرنے سے روکتا ہے۔ آپ جو ایپ فی الحال استعمال کر رہے ہیں وہ ڈیٹا پر رسائی کر سکتی ہے مگر ہو سکتا ہے ایسا زیادہ نہ ہو۔ اس کا مطلب مثال کے طور پر یہ ہو سکتا ہے کہ تصاویر تھپتھپانے تک ظاہر نہ ہوں۔"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"ڈیٹا کے استعمال کو کم کرنے میں مدد کیلئے، ڈیٹا سیور پس منظر میں کچھ ایپس کو ڈیٹا بھیجنے یا موصول کرنے سے روکتی ہے۔ آپ جو ایپ فی الحال استعمال کر رہے ہیں وہ ڈیٹا تک رسائی کر سکتی ہے مگر ہو سکتا ہے ایسا اکثر نہ ہو۔ اس کا مطلب مثال کے طور پر یہ ہو سکتا ہے کہ تصاویر تھپتھپانے تک ظاہر نہ ہوں۔"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"ڈیٹا سیور آن کریں؟"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"آن کریں"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index a1c9faa7..d066793 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>) tomonidan so‘raldi"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Ha"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Yo‘q"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Cheklovdan oshganlarini o‘chirish"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"<xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> hisobi <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> uchun  <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g>ta o‘chirilgan elementlar bor. Nima qilmoqchisiz?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Elementlarni o‘chirish"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 7e24e64..5d99692 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1216,7 +1216,7 @@
     <string name="dump_heap_ready_text" msgid="5849618132123045516">"Bạn hiện có thể chia sẻ tệp báo lỗi của quá trình <xliff:g id="PROC">%1$s</xliff:g>. Lưu ý: tệp báo lỗi này có thể chứa bất kỳ thông tin cá nhân nhạy cảm nào mà quá trình có quyền truy cập, có thể bao gồm cả thông tin bạn vừa nhập."</string>
     <string name="sendText" msgid="493003724401350724">"Chọn một tác vụ cho văn bản"</string>
     <string name="volume_ringtone" msgid="134784084629229029">"Âm lượng chuông"</string>
-    <string name="volume_music" msgid="7727274216734955095">"Âm lượng phương tiện"</string>
+    <string name="volume_music" msgid="7727274216734955095">"Âm lượng nội dung nghe nhìn"</string>
     <string name="volume_music_hint_playing_through_bluetooth" msgid="2614142915948898228">"Đang phát qua Bluetooth"</string>
     <string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"Đã đặt nhạc chuông im lặng"</string>
     <string name="volume_call" msgid="7625321655265747433">"Âm lượng cuộc gọi"</string>
@@ -1227,7 +1227,7 @@
     <string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"Âm lượng bluetooth"</string>
     <string name="volume_icon_description_ringer" msgid="2187800636867423459">"Âm lượng nhạc chuông"</string>
     <string name="volume_icon_description_incall" msgid="4491255105381227919">"Âm lượng cuộc gọi"</string>
-    <string name="volume_icon_description_media" msgid="4997633254078171233">"Âm lượng phương tiện"</string>
+    <string name="volume_icon_description_media" msgid="4997633254078171233">"Âm lượng nội dung nghe nhìn"</string>
     <string name="volume_icon_description_notification" msgid="579091344110747279">"Âm lượng thông báo"</string>
     <string name="ringtone_default" msgid="9118299121288174597">"Nhạc chuông mặc định"</string>
     <string name="ringtone_default_with_actual" msgid="2709686194556159773">"Mặc định (<xliff:g id="ACTUAL_RINGTONE">%1$s</xliff:g>)"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Được yêu cầu bởi <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Có"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Không"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Đã vượt quá giới hạn xóa"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Có <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> mục đã xóa cho <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, tài khoản <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Bạn muốn thực hiện tác vụ nào?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Xóa mục"</string>
@@ -1646,7 +1652,7 @@
     <string name="disable_accessibility_shortcut" msgid="5806091378745232383">"Tắt phím tắt"</string>
     <string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"Sử dụng phím tắt"</string>
     <string name="color_inversion_feature_name" msgid="326050048927789012">"Đảo màu"</string>
-    <string name="color_correction_feature_name" msgid="3655077237805422597">"Sửa màu"</string>
+    <string name="color_correction_feature_name" msgid="3655077237805422597">"Chỉnh màu"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Bạn đã giữ các phím âm lượng. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> đã bật."</string>
     <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Bạn đã giữ các phím âm lượng. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> đã tắt."</string>
     <string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Nhấn và giữ đồng thời cả hai phím âm lượng trong 3 giây để sử dụng <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
@@ -1789,8 +1795,8 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"Do quản trị viên của bạn cập nhật"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"Do quản trị viên của bạn xóa"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Để tăng thời lượng pin, Trình tiết kiệm pin:\n·Bật Giao diện tối\n·Tắt hoặc hạn chế hoạt động chạy trong nền, một số hiệu ứng hình ảnh và các tính năng khác như lệnh “Ok Google”\n\n"<annotation id="url">"Tìm hiểu thêm"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"Để tăng thời lượng pin, Trình tiết kiệm pin:\n·Bật Giao diện tối\n·Tắt hoặc hạn chế hoạt động chạy trong nền, một số hiệu ứng hình ảnh và các tính năng khác như lệnh “Ok Google”"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"Để tăng thời lượng pin, Trình tiết kiệm pin sẽ:\n·Bật Giao diện tối\n·Tắt hoặc hạn chế hoạt động chạy trong nền, một số hiệu ứng hình ảnh và các tính năng khác như lệnh “Ok Google”\n\n"<annotation id="url">"Tìm hiểu thêm"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"Để tăng thời lượng pin, Trình tiết kiệm pin sẽ:\n·Bật giao diện tối\n·Tắt hoặc hạn chế hoạt động chạy trong nền, một số hiệu ứng hình ảnh và các tính năng khác như lệnh “Ok Google”"</string>
     <string name="data_saver_description" msgid="4995164271550590517">"Để giúp giảm mức sử dụng dữ liệu, Trình tiết kiệm dữ liệu sẽ chặn một số ứng dụng gửi hoặc nhận dữ liệu trong nền. Ứng dụng mà bạn hiện sử dụng có thể dùng dữ liệu nhưng tần suất sẽ giảm. Ví dụ: hình ảnh sẽ không hiển thị cho đến khi bạn nhấn vào hình ảnh đó."</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"Bật Trình tiết kiệm dữ liệu?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"Bật"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 18eb7d9..dda38c3 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"请求人:<xliff:g id="NAME">%1$s</xliff:g>(<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"是"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"否"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"超出删除限制"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"帐号 <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> 在进行“<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>”同步时删除了 <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> 项内容。您要如何处理这些删除的内容?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"删除这些内容"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index e6d5395..002312c 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"要求者:<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"是"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"否"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"已超過刪除上限"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"帳戶 <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> 的 <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g> 操作會刪除 <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> 項。您要如何處理呢?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"刪除這些項目"</string>
@@ -1558,7 +1564,7 @@
     <string name="wireless_display_route_description" msgid="8297563323032966831">"無線螢幕分享"</string>
     <string name="media_route_button_content_description" msgid="2299223698196869956">"投放"</string>
     <string name="media_route_chooser_title" msgid="6646594924991269208">"連接裝置"</string>
-    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"螢幕投放到裝置"</string>
+    <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"投放螢幕到裝置"</string>
     <string name="media_route_chooser_searching" msgid="6119673534251329535">"正在搜尋裝置…"</string>
     <string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"設定"</string>
     <string name="media_route_controller_disconnect" msgid="7362617572732576959">"中斷連線"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 59b5cdc..fa59e3c 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -1142,7 +1142,7 @@
     <string name="whichSendToApplication" msgid="77101541959464018">"透過以下應用程式傳送:"</string>
     <string name="whichSendToApplicationNamed" msgid="3385686512014670003">"透過「%1$s」傳送"</string>
     <string name="whichSendToApplicationLabel" msgid="3543240188816513303">"傳送"</string>
-    <string name="whichHomeApplication" msgid="8276350727038396616">"選取主螢幕應用程式"</string>
+    <string name="whichHomeApplication" msgid="8276350727038396616">"選取主畫面應用程式"</string>
     <string name="whichHomeApplicationNamed" msgid="5855990024847433794">"使用「%1$s」做為主螢幕"</string>
     <string name="whichHomeApplicationLabel" msgid="8907334282202933959">"擷取圖片"</string>
     <string name="whichImageCaptureApplication" msgid="2737413019463215284">"使用以下應用程式擷取圖片:"</string>
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"要求者:<xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SERVICE">%2$s</xliff:g>)"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"是"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"否"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"已超過刪除上限"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"帳戶 <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g> 的<xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>會刪除 <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> 個項目。你要如何處理?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"刪除這些項目"</string>
@@ -1789,9 +1795,9 @@
     <string name="package_updated_device_owner" msgid="7560272363805506941">"已由你的管理員更新"</string>
     <string name="package_deleted_device_owner" msgid="2292335928930293023">"已由你的管理員刪除"</string>
     <string name="confirm_battery_saver" msgid="5247976246208245754">"確定"</string>
-    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"為了延長電池續航力,節約耗電量功能會執行以下動作:\n開啟深色主題\n關閉或限制背景活動、部分視覺效果和其他功能,例如「Hey Google」\n\n"<annotation id="url">"瞭解詳情"</annotation></string>
-    <string name="battery_saver_description" msgid="7618492104632328184">"為了延長電池續航力,節約耗電量功能會執行以下動作:\n開啟深色主題\n關閉或限制背景活動、部分視覺效果和其他功能,例如「Hey Google」"</string>
-    <string name="data_saver_description" msgid="4995164271550590517">"「數據節省模式」可防止部分應用程式在背景收發資料,以節省數據用量。你目前使用的某個應用程式可以存取資料,但存取頻率可能不如平時高。舉例來說,圖片可能不會自動顯示,在你輕觸後才會顯示。"</string>
+    <string name="battery_saver_description_with_learn_more" msgid="1817385558636532621">"為了延長電池續航力,節約耗電量功能會執行以下動作:\n開啟深色主題\n關閉或限制背景活動、部分視覺效果和其他功能,例如「Hey Google」啟動字詞\n\n"<annotation id="url">"瞭解詳情"</annotation></string>
+    <string name="battery_saver_description" msgid="7618492104632328184">"為了延長電池續航力,節約耗電量功能會執行以下動作:\n· 開啟深色主題\n· 關閉或限制背景活動、部分視覺效果和其他功能,例如「Hey Google」啟動字詞"</string>
+    <string name="data_saver_description" msgid="4995164271550590517">"「數據節省模式」可防止部分應用程式在背景收發資料,以節省數據用量。你目前使用的應用程式可以存取資料,但存取頻率可能不如平時高。舉例來說,圖片可能不會自動顯示,在你輕觸後才會顯示。"</string>
     <string name="data_saver_enable_title" msgid="7080620065745260137">"要開啟數據節省模式嗎?"</string>
     <string name="data_saver_enable_button" msgid="4399405762586419726">"開啟"</string>
     <plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="2877101784123058273">
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index cd5cca2..054f4b1 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1457,6 +1457,12 @@
     <string name="gpsNotifMessage" msgid="7346649122793758032">"Icelwe ngu-:<xliff:g id="NAME">%1$s</xliff:g><xliff:g id="SERVICE">%2$s</xliff:g>"</string>
     <string name="gpsVerifYes" msgid="3719843080744112940">"Yebo"</string>
     <string name="gpsVerifNo" msgid="1671201856091564741">"Cha"</string>
+    <!-- no translation found for gnss_nfw_notification_title (5004493772059563423) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_oem (3683958907027107969) -->
+    <skip />
+    <!-- no translation found for gnss_nfw_notification_message_carrier (815888995791562151) -->
+    <skip />
     <string name="sync_too_many_deletes" msgid="6999440774578705300">"Umkhawulo wokususa ufinyelelwe"</string>
     <string name="sync_too_many_deletes_desc" msgid="7409327940303504440">"Kunezinto ezingu <xliff:g id="NUMBER_OF_DELETED_ITEMS">%1$d</xliff:g> ezisusiwe <xliff:g id="TYPE_OF_SYNC">%2$s</xliff:g>, e-akhawuntini <xliff:g id="ACCOUNT_NAME">%3$s</xliff:g>. Ingabe ufuna ukwenzani?"</string>
     <string name="sync_really_delete" msgid="5657871730315579051">"Susa izintwana."</string>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index fba2379..1a98553 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -246,7 +246,7 @@
          correctly use them when installed on your device.  Otherwise, keep this disabled
          so that applications can still use their own mechanisms. -->
     <bool name="config_enableAutoPowerModes">false</bool>
- 
+
     <!-- Whether (if true) this is a kind of device that can be moved around (eg. phone/laptop),
          or (if false) something for which movement is either not measurable or should not count
          toward power states (eg. tv/soundbar). -->
@@ -3447,8 +3447,9 @@
          TODO: move to input HAL once ready. -->
     <string name="config_doubleTouchGestureEnableFile"></string>
 
-    <!-- Package of the unbundled tv remote service which can connect to tv
-         remote provider -->
+    <!-- Comma-separated list of unbundled packages which can connect to the
+         tv remote provider. The tv remote service is an example of such a
+         service. -->
     <string name="config_tvRemoteServicePackage" translatable="false"></string>
 
     <!-- True if the device supports persisting security logs across reboots.
@@ -3574,11 +3575,6 @@
     <!-- Flag indicates that whether non-system apps can be installed on internal storage. -->
     <bool name="config_allow3rdPartyAppOnInternal">true</bool>
 
-    <!-- Package names of the default cell broadcast receivers -->
-    <string-array name="config_defaultCellBroadcastReceiverPkgs" translatable="false">
-        <item>com.android.cellbroadcastreceiver</item>
-    </string-array>
-
     <!-- Specifies the path that is used by AdaptiveIconDrawable class to crop launcher icons. -->
     <string name="config_icon_mask" translatable="false">"M50,0L92,0C96.42,0 100,4.58 100 8L100,92C100, 96.42 96.42 100 92 100L8 100C4.58, 100 0 96.42 0 92L0 8 C 0 4.42 4.42 0 8 0L50 0Z"</string>
 
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 7edb86b..e4aef86 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -820,7 +820,9 @@
     <dimen name="resolver_empty_state_height">212dp</dimen>
     <dimen name="resolver_empty_state_height_with_tabs">268dp</dimen>
     <dimen name="resolver_max_collapsed_height">192dp</dimen>
-    <dimen name="resolver_max_collapsed_height_with_tabs">248dp</dimen>
+    <dimen name="resolver_max_collapsed_height_with_tabs">268dp</dimen>
+    <dimen name="resolver_max_collapsed_height_with_default">144dp</dimen>
+    <dimen name="resolver_max_collapsed_height_with_default_with_tabs">300dp</dimen>
     <dimen name="resolver_tab_text_size">14sp</dimen>
 
     <dimen name="chooser_action_button_icon_size">18dp</dimen>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index c9c498e..0e40c98 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3897,6 +3897,19 @@
          information. -->
     <string name="gpsVerifNo">No</string>
 
+    <!-- Notification title shown to user to inform them their device location was accessed by
+         an external entity during an emergency (usually an emergency phone call).
+         [CHAR LIMIT=40] -->
+    <string name="gnss_nfw_notification_title">Emergency location accessed</string>
+    <!-- Notification message shown to user to inform them their device location was accessed by
+         something OEM related during an emergency (usually an emergency phone call).
+         [CHAR LIMIT=NONE] -->
+    <string name="gnss_nfw_notification_message_oem">Your device manufacturer accessed your location during a recent emergency session</string>
+    <!-- Notification message shown to user to inform them their device location was accessed by
+         something carrier related during an emergency (usually an emergency phone call).
+         [CHAR LIMIT=NONE] -->
+    <string name="gnss_nfw_notification_message_carrier">Your carrier accessed your location during a recent emergency session</string>
+
     <!-- Error message when the sync tried to delete too many things -->
     <string name="sync_too_many_deletes">Delete limit exceeded</string>
     <!-- Dialog message for when there are too many deletes that would take place and we want user confirmation -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index ef1e8b7..05c00ce 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -740,6 +740,9 @@
   <java-symbol type="string" name="gpsNotifTitle" />
   <java-symbol type="string" name="gpsVerifNo" />
   <java-symbol type="string" name="gpsVerifYes" />
+  <java-symbol type="string" name="gnss_nfw_notification_title" />
+  <java-symbol type="string" name="gnss_nfw_notification_message_carrier" />
+  <java-symbol type="string" name="gnss_nfw_notification_message_oem" />
   <java-symbol type="string" name="gsm_alphabet_default_charset" />
   <java-symbol type="string" name="httpError" />
   <java-symbol type="string" name="httpErrorAuth" />
@@ -1468,6 +1471,7 @@
   <java-symbol type="layout" name="select_dialog" />
   <java-symbol type="layout" name="simple_dropdown_hint" />
   <java-symbol type="layout" name="status_bar_latest_event_content" />
+  <java-symbol type="layout" name="system_user_home" />
   <java-symbol type="layout" name="text_edit_action_popup_text" />
   <java-symbol type="layout" name="text_drag_thumbnail" />
   <java-symbol type="layout" name="typing_filter" />
@@ -3171,7 +3175,6 @@
   <java-symbol type="drawable" name="lockscreen_selected" />
 
   <java-symbol type="string" name="notification_header_divider_symbol_with_spaces" />
-  <java-symbol type="array" name="config_defaultCellBroadcastReceiverPkgs" />
 
   <java-symbol type="color" name="notification_primary_text_color_light" />
   <java-symbol type="color" name="notification_primary_text_color_dark" />
@@ -3232,12 +3235,13 @@
   <java-symbol type="string" name="accessibility_enable_service_title" />
   <java-symbol type="string" name="accessibility_enable_service_encryption_warning" />
 
+  <java-symbol type="layout" name="accessibility_shortcut_chooser_item" />
+  <java-symbol type="id" name="accessibility_shortcut_target_checkbox" />
+  <java-symbol type="id" name="accessibility_shortcut_target_icon" />
+  <java-symbol type="id" name="accessibility_shortcut_target_label" />
+  <java-symbol type="id" name="accessibility_shortcut_target_switch_item" />
+
   <!-- Accessibility Button -->
-  <java-symbol type="layout" name="accessibility_button_chooser_item" />
-  <java-symbol type="id" name="accessibility_button_target_checkbox" />
-  <java-symbol type="id" name="accessibility_button_target_icon" />
-  <java-symbol type="id" name="accessibility_button_target_label" />
-  <java-symbol type="id" name="accessibility_button_target_switch_item" />
   <java-symbol type="string" name="accessibility_magnification_chooser_text" />
   <java-symbol type="string" name="edit_accessibility_shortcut_menu_button" />
   <java-symbol type="string" name="done_accessibility_shortcut_menu_button" />
@@ -3495,6 +3499,7 @@
   <java-symbol type="id" name="clip_children_set_tag" />
   <java-symbol type="id" name="clip_to_padding_tag" />
   <java-symbol type="id" name="clip_children_tag" />
+  <java-symbol type="id" name="bubble_button" />
   <java-symbol type="dimen" name="messaging_avatar_size" />
   <java-symbol type="dimen" name="messaging_group_sending_progress_size" />
   <java-symbol type="dimen" name="messaging_image_rounding" />
@@ -3936,6 +3941,7 @@
   <java-symbol type="dimen" name="resolver_empty_state_height" />
   <java-symbol type="dimen" name="resolver_empty_state_height_with_tabs" />
   <java-symbol type="dimen" name="resolver_max_collapsed_height_with_tabs" />
+  <java-symbol type="dimen" name="resolver_max_collapsed_height_with_default_with_tabs" />
   <java-symbol type="bool" name="resolver_landscape_phone" />
   <java-symbol type="dimen" name="resolver_tab_text_size" />
 
diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml
index 45490ae..cc9c914 100644
--- a/core/tests/coretests/AndroidManifest.xml
+++ b/core/tests/coretests/AndroidManifest.xml
@@ -142,6 +142,9 @@
     <!-- WindowMetricsTest permissions -->
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
 
+    <!-- Allow use of PendingIntent.getIntent() -->
+    <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
+
     <application android:theme="@style/Theme" android:supportsRtl="true">
         <uses-library android:name="android.test.runner" />
         <uses-library android:name="org.apache.http.legacy" android:required="false" />
diff --git a/core/tests/coretests/res/raw/install_app1_cert5 b/core/tests/coretests/res/raw/install_app1_cert5
new file mode 100644
index 0000000..138b611
--- /dev/null
+++ b/core/tests/coretests/res/raw/install_app1_cert5
Binary files differ
diff --git a/core/tests/coretests/res/raw/install_app1_cert5_rotated_cert6 b/core/tests/coretests/res/raw/install_app1_cert5_rotated_cert6
new file mode 100644
index 0000000..2da2436
--- /dev/null
+++ b/core/tests/coretests/res/raw/install_app1_cert5_rotated_cert6
Binary files differ
diff --git a/core/tests/coretests/res/raw/install_app1_cert6 b/core/tests/coretests/res/raw/install_app1_cert6
new file mode 100644
index 0000000..256e03a
--- /dev/null
+++ b/core/tests/coretests/res/raw/install_app1_cert6
Binary files differ
diff --git a/core/tests/coretests/res/raw/install_app2_cert5_rotated_cert6 b/core/tests/coretests/res/raw/install_app2_cert5_rotated_cert6
new file mode 100644
index 0000000..30bb647
--- /dev/null
+++ b/core/tests/coretests/res/raw/install_app2_cert5_rotated_cert6
Binary files differ
diff --git a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java
index c328d72..ddb39e7 100644
--- a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java
+++ b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java
@@ -40,7 +40,10 @@
 import android.app.servertransaction.StopActivityItem;
 import android.content.Intent;
 import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.graphics.Rect;
 import android.os.IBinder;
+import android.util.DisplayMetrics;
 import android.util.MergedConfiguration;
 import android.view.Display;
 import android.view.View;
@@ -307,6 +310,58 @@
     }
 
     @Test
+    public void testHandleConfigurationChangedDoesntOverrideActivityConfig() {
+        final TestActivity activity = mActivityTestRule.launchActivity(new Intent());
+
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+            final Configuration oldActivityConfig =
+                    new Configuration(activity.getResources().getConfiguration());
+            final DisplayMetrics oldActivityMetrics = new DisplayMetrics();
+            activity.getDisplay().getMetrics(oldActivityMetrics);
+            final Resources oldAppResources = activity.getApplication().getResources();
+            final Configuration oldAppConfig =
+                    new Configuration(oldAppResources.getConfiguration());
+            final DisplayMetrics oldApplicationMetrics = new DisplayMetrics();
+            oldApplicationMetrics.setTo(oldAppResources.getDisplayMetrics());
+            assertEquals("Process config must match the top activity config by default",
+                    0, oldActivityConfig.diffPublicOnly(oldAppConfig));
+            assertEquals("Process config must match the top activity config by default",
+                    oldActivityMetrics, oldApplicationMetrics);
+
+            // Update the application configuration separately from activity config
+            final Configuration newAppConfig = new Configuration(oldAppConfig);
+            newAppConfig.densityDpi += 100;
+            newAppConfig.screenHeightDp += 100;
+            final Rect newBounds = new Rect(newAppConfig.windowConfiguration.getAppBounds());
+            newBounds.bottom += 100;
+            newAppConfig.windowConfiguration.setAppBounds(newBounds);
+            newAppConfig.windowConfiguration.setBounds(newBounds);
+            newAppConfig.seq++;
+
+            final ActivityThread activityThread = activity.getActivityThread();
+            activityThread.handleConfigurationChanged(newAppConfig);
+
+            // Verify that application config update was applied, but didn't change activity config.
+            assertEquals("Activity config must not change if the process config changes",
+                    oldActivityConfig, activity.getResources().getConfiguration());
+
+            final DisplayMetrics newActivityMetrics = new DisplayMetrics();
+            activity.getDisplay().getMetrics(newActivityMetrics);
+            assertEquals("Activity display size must not change if the process config changes",
+                    oldActivityMetrics, newActivityMetrics);
+            final Resources newAppResources = activity.getApplication().getResources();
+            assertEquals("Application config must be updated",
+                    newAppConfig, newAppResources.getConfiguration());
+            final DisplayMetrics newApplicationMetrics = new DisplayMetrics();
+            newApplicationMetrics.setTo(newAppResources.getDisplayMetrics());
+            assertNotEquals("Application display size must be updated after config update",
+                    oldApplicationMetrics, newApplicationMetrics);
+            assertNotEquals("Application display size must be updated after config update",
+                    newActivityMetrics, newApplicationMetrics);
+        });
+    }
+
+    @Test
     public void testResumeAfterNewIntent() {
         final Activity activity = mActivityTestRule.launchActivity(new Intent());
         final ActivityThread activityThread = activity.getActivityThread();
@@ -406,7 +461,10 @@
 
     private static ClientTransaction newRelaunchResumeTransaction(Activity activity) {
         final ClientTransactionItem callbackItem = ActivityRelaunchItem.obtain(null,
-                null, 0, new MergedConfiguration(), false /* preserveWindow */);
+                null, 0, new MergedConfiguration(
+                        activity.getApplication().getResources().getConfiguration(),
+                        new Configuration()),
+                false /* preserveWindow */);
         final ResumeActivityItem resumeStateRequest =
                 ResumeActivityItem.obtain(true /* isForward */);
 
diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
index ed2436a..79cb1f9 100644
--- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
+++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
@@ -1830,27 +1830,35 @@
      * The following series of tests are related to upgrading apps with
      * different certificates.
      */
-    private int APP1_UNSIGNED = R.raw.install_app1_unsigned;
+    private static final int APP1_UNSIGNED = R.raw.install_app1_unsigned;
 
-    private int APP1_CERT1 = R.raw.install_app1_cert1;
+    private static final int APP1_CERT1 = R.raw.install_app1_cert1;
 
-    private int APP1_CERT2 = R.raw.install_app1_cert2;
+    private static final int APP1_CERT2 = R.raw.install_app1_cert2;
 
-    private int APP1_CERT1_CERT2 = R.raw.install_app1_cert1_cert2;
+    private static final int APP1_CERT1_CERT2 = R.raw.install_app1_cert1_cert2;
 
-    private int APP1_CERT3_CERT4 = R.raw.install_app1_cert3_cert4;
+    private static final int APP1_CERT3_CERT4 = R.raw.install_app1_cert3_cert4;
 
-    private int APP1_CERT3 = R.raw.install_app1_cert3;
+    private static final int APP1_CERT3 = R.raw.install_app1_cert3;
 
-    private int APP2_UNSIGNED = R.raw.install_app2_unsigned;
+    private static final int APP1_CERT5 = R.raw.install_app1_cert5;
 
-    private int APP2_CERT1 = R.raw.install_app2_cert1;
+    private static final int APP1_CERT5_ROTATED_CERT6 = R.raw.install_app1_cert5_rotated_cert6;
 
-    private int APP2_CERT2 = R.raw.install_app2_cert2;
+    private static final int APP1_CERT6 = R.raw.install_app1_cert6;
 
-    private int APP2_CERT1_CERT2 = R.raw.install_app2_cert1_cert2;
+    private static final int APP2_UNSIGNED = R.raw.install_app2_unsigned;
 
-    private int APP2_CERT3 = R.raw.install_app2_cert3;
+    private static final int APP2_CERT1 = R.raw.install_app2_cert1;
+
+    private static final int APP2_CERT2 = R.raw.install_app2_cert2;
+
+    private static final int APP2_CERT1_CERT2 = R.raw.install_app2_cert1_cert2;
+
+    private static final int APP2_CERT3 = R.raw.install_app2_cert3;
+
+    private static final int APP2_CERT5_ROTATED_CERT6 = R.raw.install_app2_cert5_rotated_cert6;
 
     private InstallParams replaceCerts(int apk1, int apk2, boolean cleanUp, boolean fail,
             int retCode) throws Exception {
@@ -2473,6 +2481,26 @@
     }
 
     @LargeTest
+    public void testCheckSignaturesRotatedAgainstOriginal() throws Exception {
+        // checkSignatures should be backwards compatible with pre-rotation behavior; this test
+        // verifies that an app signed with a rotated key results in a signature match with an app
+        // signed with the original key in the lineage.
+        int apk1 = APP1_CERT5;
+        int apk2 = APP2_CERT5_ROTATED_CERT6;
+        checkSignatures(apk1, apk2, PackageManager.SIGNATURE_MATCH);
+    }
+
+    @LargeTest
+    public void testCheckSignaturesRotatedAgainstRotated() throws Exception {
+        // checkSignatures should be successful when both apps have been signed with the same
+        // rotated key since the initial signature comparison between the two apps should
+        // return a match.
+        int apk1 = APP1_CERT5_ROTATED_CERT6;
+        int apk2 = APP2_CERT5_ROTATED_CERT6;
+        checkSignatures(apk1, apk2, PackageManager.SIGNATURE_MATCH);
+    }
+
+    @LargeTest
     public void testInstallNoCertificates() throws Exception {
         int apk1 = APP1_UNSIGNED;
         String apk1Name = "install1.apk";
diff --git a/core/tests/coretests/src/android/debug/AdbNotificationsTest.java b/core/tests/coretests/src/android/debug/AdbNotificationsTest.java
new file mode 100644
index 0000000..6c187ea
--- /dev/null
+++ b/core/tests/coretests/src/android/debug/AdbNotificationsTest.java
@@ -0,0 +1,79 @@
+/*
+ * 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 android.debug;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+import android.app.Notification;
+import android.content.Context;
+import android.platform.test.annotations.Presubmit;
+import android.text.TextUtils;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+@Presubmit
+public final class AdbNotificationsTest {
+    private Context mContext;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = InstrumentationRegistry.getContext();
+    }
+
+    @Test
+    public void testCreateNotification_UsbTransportType() throws Exception {
+        CharSequence title = mContext.getResources().getText(
+                com.android.internal.R.string.adb_active_notification_title);
+        CharSequence message = mContext.getResources().getText(
+                com.android.internal.R.string.adb_active_notification_message);
+
+        Notification notification = AdbNotifications.createNotification(mContext,
+                AdbTransportType.USB);
+
+        // Verify that the adb notification for usb connections has the correct text.
+        assertEquals(title, notification.extras.getCharSequence(Notification.EXTRA_TITLE, ""));
+        assertEquals(message, notification.extras.getCharSequence(Notification.EXTRA_TEXT, ""));
+        // Verify the PendingIntent has an explicit intent (b/153356209).
+        assertFalse(TextUtils.isEmpty(notification.contentIntent.getIntent().getPackage()));
+    }
+
+    @Test
+    public void testCreateNotification_WifiTransportType() throws Exception {
+        CharSequence title = mContext.getResources().getText(
+                com.android.internal.R.string.adbwifi_active_notification_title);
+        CharSequence message = mContext.getResources().getText(
+                com.android.internal.R.string.adbwifi_active_notification_message);
+
+        Notification notification = AdbNotifications.createNotification(mContext,
+                AdbTransportType.WIFI);
+
+        // Verify that the adb notification for usb connections has the correct text.
+        assertEquals(title, notification.extras.getCharSequence(Notification.EXTRA_TITLE, ""));
+        assertEquals(message, notification.extras.getCharSequence(Notification.EXTRA_TEXT, ""));
+        // Verify the PendingIntent has an explicit intent (b/153356209).
+        assertFalse(TextUtils.isEmpty(notification.contentIntent.getIntent().getPackage()));
+    }
+}
diff --git a/core/tests/coretests/src/android/os/VibrationEffectTest.java b/core/tests/coretests/src/android/os/VibrationEffectTest.java
index ea778fd..a354f1d 100644
--- a/core/tests/coretests/src/android/os/VibrationEffectTest.java
+++ b/core/tests/coretests/src/android/os/VibrationEffectTest.java
@@ -22,9 +22,12 @@
 import static junit.framework.Assert.assertTrue;
 import static junit.framework.Assert.fail;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.content.ContentInterface;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
 import android.net.Uri;
@@ -37,6 +40,8 @@
 
 @RunWith(MockitoJUnitRunner.class)
 public class VibrationEffectTest {
+    private static final float SCALE_TOLERANCE = 1e-2f;
+
     private static final String RINGTONE_URI_1 = "content://test/system/ringtone_1";
     private static final String RINGTONE_URI_2 = "content://test/system/ringtone_2";
     private static final String RINGTONE_URI_3 = "content://test/system/ringtone_3";
@@ -54,6 +59,12 @@
             VibrationEffect.createOneShot(TEST_TIMING, VibrationEffect.DEFAULT_AMPLITUDE);
     private static final VibrationEffect TEST_WAVEFORM =
             VibrationEffect.createWaveform(TEST_TIMINGS, TEST_AMPLITUDES, -1);
+    private static final VibrationEffect TEST_COMPOSED =
+            VibrationEffect.startComposition()
+                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_CLICK)
+                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_CLICK, 0.5f, 10)
+                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_CLICK, 0, 100)
+                    .compose();
 
     @Test
     public void getRingtones_noPrebakedRingtones() {
@@ -123,8 +134,14 @@
 
     @Test
     public void testScaleWaveform() {
-        VibrationEffect.Waveform scaled =
-                ((VibrationEffect.Waveform) TEST_WAVEFORM).scale(1.1f, 200);
+        VibrationEffect.Waveform initial = (VibrationEffect.Waveform) TEST_WAVEFORM;
+
+        VibrationEffect.Waveform copied = initial.scale(1f, 255);
+        assertEquals(255, copied.getAmplitudes()[0]);
+        assertEquals(0, copied.getAmplitudes()[1]);
+        assertEquals(-1, copied.getAmplitudes()[2]);
+
+        VibrationEffect.Waveform scaled = initial.scale(1.1f, 200);
         assertEquals(200, scaled.getAmplitudes()[0]);
         assertEquals(0, scaled.getAmplitudes()[1]);
     }
@@ -156,6 +173,66 @@
         }
     }
 
+    @Test
+    public void testScaleComposed() {
+        VibrationEffect.Composed initial = (VibrationEffect.Composed) TEST_COMPOSED;
+
+        VibrationEffect.Composed copied = initial.scale(1, 255);
+        assertEquals(1f, copied.getPrimitiveEffects().get(0).scale);
+        assertEquals(0.5f, copied.getPrimitiveEffects().get(1).scale);
+        assertEquals(0f, copied.getPrimitiveEffects().get(2).scale);
+
+        VibrationEffect.Composed halved = initial.scale(1, 128);
+        assertEquals(0.5f, halved.getPrimitiveEffects().get(0).scale, SCALE_TOLERANCE);
+        assertEquals(0.25f, halved.getPrimitiveEffects().get(1).scale, SCALE_TOLERANCE);
+        assertEquals(0f, halved.getPrimitiveEffects().get(2).scale);
+
+        VibrationEffect.Composed scaledUp = initial.scale(0.5f, 255);
+        assertEquals(1f, scaledUp.getPrimitiveEffects().get(0).scale); // does not scale up from 1
+        assertTrue(0.5f < scaledUp.getPrimitiveEffects().get(1).scale);
+        assertEquals(0f, scaledUp.getPrimitiveEffects().get(2).scale);
+
+        VibrationEffect.Composed restored = scaledUp.scale(2, 255);
+        assertEquals(1f, restored.getPrimitiveEffects().get(0).scale, SCALE_TOLERANCE);
+        assertEquals(0.5f, restored.getPrimitiveEffects().get(1).scale, SCALE_TOLERANCE);
+        assertEquals(0f, restored.getPrimitiveEffects().get(2).scale);
+
+        VibrationEffect.Composed scaledDown = initial.scale(2, 255);
+        assertEquals(1f, scaledDown.getPrimitiveEffects().get(0).scale, SCALE_TOLERANCE);
+        assertTrue(0.5f > scaledDown.getPrimitiveEffects().get(1).scale);
+        assertEquals(0f, scaledDown.getPrimitiveEffects().get(2).scale, SCALE_TOLERANCE);
+
+        VibrationEffect.Composed changeMax = initial.scale(1f, 51);
+        assertEquals(0.2f, changeMax.getPrimitiveEffects().get(0).scale, SCALE_TOLERANCE);
+        assertEquals(0.1f, changeMax.getPrimitiveEffects().get(1).scale, SCALE_TOLERANCE);
+        assertEquals(0f, changeMax.getPrimitiveEffects().get(2).scale);
+    }
+
+    @Test
+    public void testScaleComposedFailsWhenMaxAmplitudeAboveThreshold() {
+        try {
+            ((VibrationEffect.Composed) TEST_COMPOSED).scale(1.1f, 1000);
+            fail("Max amplitude above threshold, should throw IllegalArgumentException");
+        } catch (IllegalArgumentException expected) {
+        }
+    }
+
+    @Test
+    public void testScaleAppliesSameAdjustmentsOnAllEffects() {
+        VibrationEffect.OneShot oneShot = new VibrationEffect.OneShot(TEST_TIMING, TEST_AMPLITUDE);
+        VibrationEffect.Waveform waveform = new VibrationEffect.Waveform(
+                new long[] { TEST_TIMING }, new int[]{ TEST_AMPLITUDE }, -1);
+        VibrationEffect.Composed composed =
+                (VibrationEffect.Composed) VibrationEffect.startComposition()
+                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, TEST_AMPLITUDE / 255f)
+                    .compose();
+
+        assertEquals(oneShot.scale(2f, 128).getAmplitude(),
+                waveform.scale(2f, 128).getAmplitudes()[0]);
+        assertEquals(oneShot.scale(2f, 128).getAmplitude() / 255f, // convert amplitude to scale
+                composed.scale(2f, 128).getPrimitiveEffects().get(0).scale,
+                SCALE_TOLERANCE);
+    }
 
     private Resources mockRingtoneResources() {
         return mockRingtoneResources(new String[] {
@@ -172,9 +249,22 @@
         return mockResources;
     }
 
-    private Context mockContext(Resources r) {
-        Context ctx = mock(Context.class);
-        when(ctx.getResources()).thenReturn(r);
-        return ctx;
+    private Context mockContext(Resources resources) {
+        Context context = mock(Context.class);
+        ContentInterface contentInterface = mock(ContentInterface.class);
+        ContentResolver contentResolver = ContentResolver.wrap(contentInterface);
+
+        try {
+            // ContentResolver#uncanonicalize is final, so we need to mock the ContentInterface it
+            // delegates the call to for the tests that require matching with the mocked URIs.
+            when(contentInterface.uncanonicalize(any())).then(
+                    invocation -> invocation.getArgument(0));
+            when(context.getContentResolver()).thenReturn(contentResolver);
+            when(context.getResources()).thenReturn(resources);
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
+        return context;
     }
 }
diff --git a/core/tests/coretests/src/android/widget/EditorCursorDragTest.java b/core/tests/coretests/src/android/widget/EditorCursorDragTest.java
index a9f251e..89cc6e7 100644
--- a/core/tests/coretests/src/android/widget/EditorCursorDragTest.java
+++ b/core/tests/coretests/src/android/widget/EditorCursorDragTest.java
@@ -528,6 +528,47 @@
     }
 
     @Test
+    public void testCursorDrag_multiTouch() throws Throwable {
+        String text = "line1: This is the 1st line: A";
+        onView(withId(R.id.textview)).perform(replaceText(text));
+        TextView tv = mActivity.findViewById(R.id.textview);
+        Editor editor = tv.getEditorForTesting();
+        final int startIndex = text.indexOf("1st line");
+        Layout layout = tv.getLayout();
+        final float cursorStartX =
+                layout.getPrimaryHorizontal(startIndex) + tv.getTotalPaddingLeft();
+        final float cursorStartY = layout.getLineTop(1) + tv.getTotalPaddingTop();
+
+        // Taps to show the insertion handle.
+        tapAtPoint(tv, cursorStartX, cursorStartY);
+        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(startIndex));
+        View handleView = editor.getInsertionController().getHandle();
+
+        // Taps & holds the insertion handle.
+        long handleDownTime = sTicker.addAndGet(10_000);
+        long eventTime = handleDownTime;
+        dispatchTouchEvent(handleView, downEvent(handleView, handleDownTime, eventTime++, 0, 0));
+
+        // Tries to Drag the cursor, with the pointer id > 0 (meaning the 2nd finger).
+        long cursorDownTime = eventTime++;
+        dispatchTouchEvent(tv, obtainTouchEventWithPointerId(
+                tv, MotionEvent.ACTION_DOWN, cursorDownTime, eventTime++, 1,
+                cursorStartX - 50, cursorStartY));
+        dispatchTouchEvent(tv, obtainTouchEventWithPointerId(
+                tv, MotionEvent.ACTION_MOVE, cursorDownTime, eventTime++, 1,
+                cursorStartX - 100, cursorStartY));
+        dispatchTouchEvent(tv, obtainTouchEventWithPointerId(
+                tv, MotionEvent.ACTION_UP, cursorDownTime, eventTime++, 1,
+                cursorStartX - 100, cursorStartY));
+
+        // Checks the cursor drag doesn't work while the handle is being hold.
+        onView(withId(R.id.textview)).check(hasInsertionPointerAtIndex(startIndex));
+
+        // Finger up on the  insertion handle.
+        dispatchTouchEvent(handleView, upEvent(handleView, handleDownTime, eventTime, 0, 0));
+    }
+
+    @Test
     public void testCursorDrag_snapDistance() throws Throwable {
         String text = "line1: This is the 1st line: A\n"
                 + "line2: This is the 2nd line: B\n"
@@ -626,6 +667,24 @@
         return event;
     }
 
+    private MotionEvent obtainTouchEventWithPointerId(
+            View view, int action, long downTime, long eventTime, int pointerId, float x, float y) {
+        Rect r = new Rect();
+        view.getBoundsOnScreen(r);
+        float rawX = x + r.left;
+        float rawY = y + r.top;
+        MotionEvent.PointerCoords coordinates = new MotionEvent.PointerCoords();
+        coordinates.x = rawX;
+        coordinates.y = rawY;
+        MotionEvent event = MotionEvent.obtain(
+                downTime, eventTime, action, 1, new int[] {pointerId},
+                new MotionEvent.PointerCoords[] {coordinates},
+                0, 1f, 1f, 0, 0, 0, 0);
+        view.toLocalMotionEvent(event);
+        mMotionEvents.add(event);
+        return event;
+    }
+
     private MotionEvent obtainMouseEvent(
             View view, int action, long downTime, long eventTime, float x, float y) {
         MotionEvent event = obtainTouchEvent(view, action, downTime, eventTime, x, y);
diff --git a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
index 4a33da6..b21504c 100644
--- a/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
+++ b/core/tests/coretests/src/com/android/internal/accessibility/AccessibilityShortcutControllerTest.java
@@ -462,6 +462,7 @@
         configureValidShortcutService();
         configureApplicationTargetSdkVersion(Build.VERSION_CODES.R);
         configureRequestAccessibilityButton();
+        configureEnabledService();
         Settings.Secure.putInt(mContentResolver, ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 1);
         getController().performAccessibilityShortcut();
 
@@ -610,6 +611,11 @@
         }).when(mHandler).sendMessageAtTime(any(), anyLong());
     }
 
+    private void configureEnabledService() throws Exception {
+        when(mAccessibilityManagerService.getEnabledAccessibilityServiceList(anyInt(), anyInt()))
+                .thenReturn(Collections.singletonList(mServiceInfo));
+    }
+
     private AccessibilityShortcutController getController() {
         AccessibilityShortcutController accessibilityShortcutController =
                 new AccessibilityShortcutController(mContext, mHandler, 0);
diff --git a/core/tests/coretests/src/com/android/internal/app/IntentForwarderActivityTest.java b/core/tests/coretests/src/com/android/internal/app/IntentForwarderActivityTest.java
index 8cf146e..5424b6f 100644
--- a/core/tests/coretests/src/com/android/internal/app/IntentForwarderActivityTest.java
+++ b/core/tests/coretests/src/com/android/internal/app/IntentForwarderActivityTest.java
@@ -213,13 +213,9 @@
     }
 
     @Test
-    public void forwardToManagedProfile_canForward_chooserIntent() throws Exception {
+    public void launchInSameProfile_chooserIntent() {
         sComponentName = FORWARD_TO_MANAGED_PROFILE_COMPONENT_NAME;
 
-        // Intent can be forwarded.
-        when(mIPm.canForwardTo(
-                any(Intent.class), nullable(String.class), anyInt(), anyInt())).thenReturn(true);
-
         // Manage profile exists.
         List<UserInfo> profiles = new ArrayList<>();
         profiles.add(CURRENT_USER_INFO);
@@ -235,10 +231,6 @@
         intent.putExtra(Intent.EXTRA_INTENT, sendIntent);
         IntentForwarderWrapperActivity activity = mActivityRule.launchActivity(intent);
 
-        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mIPm).canForwardTo(intentCaptor.capture(), eq(TYPE_PLAIN_TEXT), anyInt(), anyInt());
-        assertEquals(Intent.ACTION_SEND, intentCaptor.getValue().getAction());
-
         assertNotNull(activity.mStartActivityIntent);
         assertEquals(Intent.ACTION_CHOOSER, activity.mStartActivityIntent.getAction());
         assertNull(activity.mStartActivityIntent.getPackage());
@@ -249,9 +241,9 @@
         assertEquals(Intent.ACTION_SEND, innerIntent.getAction());
         assertNull(innerIntent.getComponent());
         assertNull(innerIntent.getPackage());
-        assertEquals(CURRENT_USER_INFO.id, innerIntent.getContentUserHint());
+        assertEquals(UserHandle.USER_CURRENT, innerIntent.getContentUserHint());
 
-        assertEquals(MANAGED_PROFILE_INFO.id, activity.mUserIdActivityLaunchedIn);
+        assertEquals(CURRENT_USER_INFO.id, activity.mUserIdActivityLaunchedIn);
     }
 
     @Test
diff --git a/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java b/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
index eb39d58..07aa654 100644
--- a/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
+++ b/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
@@ -38,13 +38,16 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertFalse;
 
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
+import android.net.Uri;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.RelativeLayout;
+import android.widget.TextView;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.espresso.Espresso;
@@ -543,6 +546,51 @@
         assertThat(activity.getWorkListAdapter().getCount(), is(4));
     }
 
+    @Test
+    public void testWorkTab_headerIsVisibleInPersonalTab() {
+        // enable the work tab feature flag
+        ResolverActivity.ENABLE_TABBED_VIEW = true;
+        markWorkProfileUserAvailable();
+        List<ResolvedComponentInfo> personalResolvedComponentInfos =
+                createResolvedComponentsForTestWithOtherProfile(1);
+        List<ResolvedComponentInfo> workResolvedComponentInfos = createResolvedComponentsForTest(4);
+        setupResolverControllers(personalResolvedComponentInfos, workResolvedComponentInfos);
+        Intent sendIntent = createOpenWebsiteIntent();
+
+        final ResolverWrapperActivity activity = mActivityRule.launchActivity(sendIntent);
+        waitForIdle();
+        TextView headerText = activity.findViewById(R.id.title);
+        String initialText = headerText.getText().toString();
+        assertFalse(initialText.isEmpty(), "Header text is empty.");
+        assertThat(headerText.getVisibility(), is(View.VISIBLE));
+    }
+
+    @Test
+    public void testWorkTab_switchTabs_headerStaysSame() {
+        // enable the work tab feature flag
+        ResolverActivity.ENABLE_TABBED_VIEW = true;
+        markWorkProfileUserAvailable();
+        List<ResolvedComponentInfo> personalResolvedComponentInfos =
+                createResolvedComponentsForTestWithOtherProfile(1);
+        List<ResolvedComponentInfo> workResolvedComponentInfos = createResolvedComponentsForTest(4);
+        setupResolverControllers(personalResolvedComponentInfos, workResolvedComponentInfos);
+        Intent sendIntent = createOpenWebsiteIntent();
+
+        final ResolverWrapperActivity activity = mActivityRule.launchActivity(sendIntent);
+        waitForIdle();
+        TextView headerText = activity.findViewById(R.id.title);
+        String initialText = headerText.getText().toString();
+        onView(withText(R.string.resolver_work_tab))
+                .perform(click());
+
+        waitForIdle();
+        String currentText = headerText.getText().toString();
+        assertThat(headerText.getVisibility(), is(View.VISIBLE));
+        assertThat(String.format("Header text is not the same when switching tabs, personal profile"
+                        + " header was %s but work profile header is %s", initialText, currentText),
+                TextUtils.equals(initialText, currentText));
+    }
+
     @Ignore // b/148156663
     @Test
     public void testWorkTab_noPersonalApps_canStartWorkApps()
@@ -761,6 +809,13 @@
         return sendIntent;
     }
 
+    private Intent createOpenWebsiteIntent() {
+        Intent sendIntent = new Intent();
+        sendIntent.setAction(Intent.ACTION_VIEW);
+        sendIntent.setData(Uri.parse("https://google.com"));
+        return sendIntent;
+    }
+
     private List<ResolvedComponentInfo> createResolvedComponentsForTest(int numberOfResults) {
         List<ResolvedComponentInfo> infoList = new ArrayList<>(numberOfResults);
         for (int i = 0; i < numberOfResults; i++) {
diff --git a/core/tests/overlaytests/host/TEST_MAPPING b/core/tests/overlaytests/host/TEST_MAPPING
new file mode 100644
index 0000000..e0c03e0
--- /dev/null
+++ b/core/tests/overlaytests/host/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name" : "OverlayHostTests"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/data/keyboards/Vendor_18d1_Product_0200.kcm b/data/keyboards/Vendor_18d1_Product_0200.kcm
new file mode 100644
index 0000000..231fac6
--- /dev/null
+++ b/data/keyboards/Vendor_18d1_Product_0200.kcm
@@ -0,0 +1,48 @@
+# 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.
+
+type FULL
+
+key BUTTON_A {
+    base:                               fallback DPAD_CENTER
+}
+
+key BUTTON_B {
+    base:                               fallback BACK
+}
+
+key BUTTON_X {
+    base:                               fallback DPAD_CENTER
+}
+
+key BUTTON_Y {
+    base:                               fallback BACK
+}
+
+key BUTTON_THUMBL {
+    base:                               fallback DPAD_CENTER
+}
+
+key BUTTON_THUMBR {
+    base:                               fallback DPAD_CENTER
+}
+
+key BUTTON_SELECT {
+    base:                               fallback MENU
+}
+
+key BUTTON_MODE {
+    base:                               fallback MENU
+}
+
diff --git a/data/keyboards/Vendor_18d1_Product_0200.kl b/data/keyboards/Vendor_18d1_Product_0200.kl
new file mode 100644
index 0000000..d30bcc6
--- /dev/null
+++ b/data/keyboards/Vendor_18d1_Product_0200.kl
@@ -0,0 +1,71 @@
+# 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.
+
+#
+# Keyboard map for the android virtual remote running as a gamepad
+#
+
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+
+key 0x136 BUTTON_L2
+key 0x137 BUTTON_R2
+key 0x138 BUTTON_L1
+key 0x139 BUTTON_R1
+
+key 0x13a BUTTON_SELECT
+key 0x13b BUTTON_START
+key 0x13c BUTTON_MODE
+
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
+
+key 103 DPAD_UP
+key 108 DPAD_DOWN
+key 105 DPAD_LEFT
+key 106 DPAD_RIGHT
+
+# Generic usage buttons
+key 0x2c0 BUTTON_1
+key 0x2c1 BUTTON_2
+key 0x2c2 BUTTON_3
+key 0x2c3 BUTTON_4
+key 0x2c4 BUTTON_5
+key 0x2c5 BUTTON_6
+key 0x2c6 BUTTON_7
+key 0x2c7 BUTTON_8
+key 0x2c8 BUTTON_9
+key 0x2c9 BUTTON_10
+key 0x2ca BUTTON_11
+key 0x2cb BUTTON_12
+key 0x2cc BUTTON_13
+key 0x2cd BUTTON_14
+key 0x2ce BUTTON_15
+key 0x2cf BUTTON_16
+
+# assistant buttons
+key 0x246 VOICE_ASSIST
+key 0x247 ASSIST
+
+axis 0x00 X
+axis 0x01 Y
+axis 0x02 Z
+axis 0x05 RZ
+axis 0x09 RTRIGGER
+axis 0x0a LTRIGGER
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
diff --git a/graphics/java/android/graphics/ColorSpace.java b/graphics/java/android/graphics/ColorSpace.java
index ce8ff7d..1aeafa3 100644
--- a/graphics/java/android/graphics/ColorSpace.java
+++ b/graphics/java/android/graphics/ColorSpace.java
@@ -199,6 +199,11 @@
 
     private static final float[] SRGB_PRIMARIES = { 0.640f, 0.330f, 0.300f, 0.600f, 0.150f, 0.060f };
     private static final float[] NTSC_1953_PRIMARIES = { 0.67f, 0.33f, 0.21f, 0.71f, 0.14f, 0.08f };
+    /**
+     * A gray color space does not have meaningful primaries, so we use this arbitrary set.
+     */
+    private static final float[] GRAY_PRIMARIES = { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f };
+
     private static final float[] ILLUMINANT_D50_XYZ = { 0.964212f, 1.0f, 0.825188f };
 
     private static final Rgb.TransferParameters SRGB_TRANSFER_PARAMETERS =
@@ -1457,6 +1462,7 @@
                 "sRGB IEC61966-2.1",
                 SRGB_PRIMARIES,
                 ILLUMINANT_D65,
+                null,
                 SRGB_TRANSFER_PARAMETERS,
                 Named.SRGB.ordinal()
         );
@@ -1491,6 +1497,7 @@
                 "Rec. ITU-R BT.709-5",
                 new float[] { 0.640f, 0.330f, 0.300f, 0.600f, 0.150f, 0.060f },
                 ILLUMINANT_D65,
+                null,
                 new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
                 Named.BT709.ordinal()
         );
@@ -1498,6 +1505,7 @@
                 "Rec. ITU-R BT.2020-1",
                 new float[] { 0.708f, 0.292f, 0.170f, 0.797f, 0.131f, 0.046f },
                 ILLUMINANT_D65,
+                null,
                 new Rgb.TransferParameters(1 / 1.0993, 0.0993 / 1.0993, 1 / 4.5, 0.08145, 1 / 0.45),
                 Named.BT2020.ordinal()
         );
@@ -1513,6 +1521,7 @@
                 "Display P3",
                 new float[] { 0.680f, 0.320f, 0.265f, 0.690f, 0.150f, 0.060f },
                 ILLUMINANT_D65,
+                null,
                 SRGB_TRANSFER_PARAMETERS,
                 Named.DISPLAY_P3.ordinal()
         );
@@ -1520,6 +1529,7 @@
                 "NTSC (1953)",
                 NTSC_1953_PRIMARIES,
                 ILLUMINANT_C,
+                null,
                 new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
                 Named.NTSC_1953.ordinal()
         );
@@ -1527,6 +1537,7 @@
                 "SMPTE-C RGB",
                 new float[] { 0.630f, 0.340f, 0.310f, 0.595f, 0.155f, 0.070f },
                 ILLUMINANT_D65,
+                null,
                 new Rgb.TransferParameters(1 / 1.099, 0.099 / 1.099, 1 / 4.5, 0.081, 1 / 0.45),
                 Named.SMPTE_C.ordinal()
         );
@@ -1542,6 +1553,7 @@
                 "ROMM RGB ISO 22028-2:2013",
                 new float[] { 0.7347f, 0.2653f, 0.1596f, 0.8404f, 0.0366f, 0.0001f },
                 ILLUMINANT_D50,
+                null,
                 new Rgb.TransferParameters(1.0, 0.0, 1 / 16.0, 0.031248, 1.8),
                 Named.PRO_PHOTO_RGB.ordinal()
         );
@@ -2471,7 +2483,11 @@
                 @NonNull @Size(min = 1) String name,
                 @NonNull @Size(9) float[] toXYZ,
                 @NonNull TransferParameters function) {
-            this(name, computePrimaries(toXYZ), computeWhitePoint(toXYZ), function, MIN_ID);
+            // Note: when isGray() returns false, this passes null for the transform for
+            // consistency with other constructors, which compute the transform from the primaries
+            // and white point.
+            this(name, isGray(toXYZ) ? GRAY_PRIMARIES : computePrimaries(toXYZ),
+                    computeWhitePoint(toXYZ), isGray(toXYZ) ? toXYZ : null, function, MIN_ID);
         }
 
         /**
@@ -2511,7 +2527,7 @@
                 @NonNull @Size(min = 6, max = 9) float[] primaries,
                 @NonNull @Size(min = 2, max = 3) float[] whitePoint,
                 @NonNull TransferParameters function) {
-            this(name, primaries, whitePoint, function, MIN_ID);
+            this(name, primaries, whitePoint, null, function, MIN_ID);
         }
 
         /**
@@ -2534,6 +2550,8 @@
          * @param name Name of the color space, cannot be null, its length must be >= 1
          * @param primaries RGB primaries as an array of 6 (xy) or 9 (XYZ) floats
          * @param whitePoint Reference white as an array of 2 (xy) or 3 (XYZ) floats
+         * @param transform Computed transform matrix that converts from RGB to XYZ, or
+         *      {@code null} to compute it from {@code primaries} and {@code whitePoint}.
          * @param function Parameters for the transfer functions
          * @param id ID of this color space as an integer between {@link #MIN_ID} and {@link #MAX_ID}
          *
@@ -2552,9 +2570,10 @@
                 @NonNull @Size(min = 1) String name,
                 @NonNull @Size(min = 6, max = 9) float[] primaries,
                 @NonNull @Size(min = 2, max = 3) float[] whitePoint,
+                @Nullable @Size(9) float[] transform,
                 @NonNull TransferParameters function,
                 @IntRange(from = MIN_ID, to = MAX_ID) int id) {
-            this(name, primaries, whitePoint, null,
+            this(name, primaries, whitePoint, transform,
                     function.e == 0.0 && function.f == 0.0 ?
                             x -> rcpResponse(x, function.a, function.b,
                                     function.c, function.d, function.g) :
@@ -2846,7 +2865,7 @@
          *
          * @return The destination array passed as a parameter
          *
-         * @see #getWhitePoint(float[])
+         * @see #getWhitePoint()
          */
         @NonNull
         @Size(min = 2)
@@ -2864,7 +2883,7 @@
          *
          * @return A new non-null array of 2 floats
          *
-         * @see #getWhitePoint()
+         * @see #getWhitePoint(float[])
          */
         @NonNull
         @Size(2)
@@ -2878,12 +2897,16 @@
          * destination. The x and y components of the first primary are written
          * in the array at positions 0 and 1 respectively.
          *
+         * <p>Note: Some ColorSpaces represent gray profiles. The concept of
+         * primaries for such a ColorSpace does not make sense, so we use a special
+         * set of primaries that are all 1s.</p>
+         *
          * @param primaries The destination array, cannot be null, its length
          *                  must be >= 6
          *
          * @return The destination array passed as a parameter
          *
-         * @see #getPrimaries(float[])
+         * @see #getPrimaries()
          */
         @NonNull
         @Size(min = 6)
@@ -2898,9 +2921,13 @@
          * the destination. The x and y components of the first primary are
          * written in the array at positions 0 and 1 respectively.
          *
+         * <p>Note: Some ColorSpaces represent gray profiles. The concept of
+         * primaries for such a ColorSpace does not make sense, so we use a special
+         * set of primaries that are all 1s.</p>
+         *
          * @return A new non-null array of 2 floats
          *
-         * @see #getWhitePoint()
+         * @see #getPrimaries(float[])
          */
         @NonNull
         @Size(6)
@@ -2922,7 +2949,7 @@
          *
          * @return The destination array passed as a parameter
          *
-         * @see #getInverseTransform()
+         * @see #getTransform()
          */
         @NonNull
         @Size(min = 9)
@@ -2942,7 +2969,7 @@
          *
          * @return A new array of 9 floats
          *
-         * @see #getInverseTransform(float[])
+         * @see #getTransform(float[])
          */
         @NonNull
         @Size(9)
@@ -2964,7 +2991,7 @@
          *
          * @return The destination array passed as a parameter
          *
-         * @see #getTransform()
+         * @see #getInverseTransform()
          */
         @NonNull
         @Size(min = 9)
@@ -2984,7 +3011,7 @@
          *
          * @return A new array of 9 floats
          *
-         * @see #getTransform(float[])
+         * @see #getInverseTransform(float[])
          */
         @NonNull
         @Size(9)
@@ -3287,6 +3314,16 @@
             return true;
         }
 
+        /**
+         * Report whether this matrix is a special gray matrix.
+         * @param toXYZ A XYZD50 matrix. Skia uses a special form for a gray profile.
+         * @return true if this is a special gray matrix.
+         */
+        private static boolean isGray(@NonNull @Size(9) float[] toXYZ) {
+            return toXYZ.length == 9 && toXYZ[1] == 0 && toXYZ[2] == 0 && toXYZ[3] == 0
+                    && toXYZ[5] == 0 && toXYZ[6] == 0 && toXYZ[7] == 0;
+        }
+
         private static boolean compare(double point, @NonNull DoubleUnaryOperator a,
                 @NonNull DoubleUnaryOperator b) {
             double rA = a.applyAsDouble(point);
diff --git a/graphics/java/android/graphics/SurfaceTexture.java b/graphics/java/android/graphics/SurfaceTexture.java
index 697daa8..cd878c5 100644
--- a/graphics/java/android/graphics/SurfaceTexture.java
+++ b/graphics/java/android/graphics/SurfaceTexture.java
@@ -307,6 +307,11 @@
      * The matrix is stored in column-major order so that it may be passed directly to OpenGL ES via
      * the glLoadMatrixf or glUniformMatrix4fv functions.
      *
+     * If the underlying buffer has a crop associated with it, the transformation will also include
+     * a slight scale to cut off a 1-texel border around the edge of the crop. This ensures that
+     * when the texture is bilinear sampled that no texels outside of the buffer's valid region
+     * are accessed by the GPU, avoiding any sampling artifacts when scaling.
+     *
      * @param mtx the array into which the 4x4 matrix will be stored.  The array must have exactly
      *     16 elements.
      */
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index 5e3b8aa..cd2af1b 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -1373,6 +1373,8 @@
      * <p>Returns "C" for GPS L1 C/A,  GPS L2 C/A, GLONASS G1 C/A, GLONASS G2 C/A, GALILEO E1C,
      * GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, IRNSS L5C.
      *
+     * <p>Returns "D" for BDS B1C D.
+     *
      * <p>Returns "I" for GPS L5 I, GLONASS G3 I, GALILEO E5a I, GALILEO E5b I, GALILEO E5a+b I,
      * SBAS L5 I, QZSS L5 I, BDS B1 I, BDS B2 I, BDS B3 I.
      *
@@ -1382,7 +1384,7 @@
      *
      * <p>Returns "N" for GPS L1 codeless, GPS L2 codeless.
      *
-     * <p>Returns "P" for GPS L1P, GPS L2P, GLONASS G1P, GLONASS G2P.
+     * <p>Returns "P" for GPS L1P, GPS L2P, GLONASS G1P, GLONASS G2P, BDS B1C P.
      *
      * <p>Returns "Q" for GPS L5 Q, GLONASS G3 Q, GALILEO E5a Q, GALILEO E5b Q, GALILEO E5a+b Q,
      * SBAS L5 Q, QZSS L5 Q, BDS B1 Q, BDS B2 Q, BDS B3 Q.
@@ -1394,7 +1396,7 @@
      * <p>Returns "X" for GPS L1C (D+P), GPS L2C (M+L), GPS L5 (I+Q), GLONASS G3 (I+Q), GALILEO
      * E1 (B+C), GALILEO E5a (I+Q), GALILEO E5b (I+Q), GALILEO E5a+b(I+Q), GALILEO E6 (B+C), SBAS
      * L5 (I+Q), QZSS L1C (D+P), QZSS L2C (M+L), QZSS L5 (I+Q), LEX(6) (S+L), BDS B1 (I+Q), BDS
-     * B2 (I+Q), BDS B3 (I+Q), IRNSS L5 (B+C).
+     * B1C (D+P), BDS B2 (I+Q), BDS B3 (I+Q), IRNSS L5 (B+C).
      *
      * <p>Returns "Y" for GPS L1Y, GPS L2Y.
      *
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index d1b41df..9b4aebc 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -34,6 +34,7 @@
 import android.annotation.SystemService;
 import android.annotation.TestApi;
 import android.app.AlarmManager;
+import android.app.AppOpsManager;
 import android.app.PendingIntent;
 import android.app.PropertyInvalidatedCache;
 import android.compat.Compatibility;
@@ -2561,7 +2562,7 @@
         }
 
         public String getListenerId() {
-            return mConsumer.getClass().getName() + "@" + System.identityHashCode(mConsumer);
+            return AppOpsManager.toReceiverId(mConsumer);
         }
 
         public synchronized void register(AlarmManager alarmManager,
@@ -2690,7 +2691,7 @@
         }
 
         public String getListenerId() {
-            return mListener.getClass().getName() + "@" + System.identityHashCode(mListener);
+            return AppOpsManager.toReceiverId(mListener);
         }
 
         public void register(@NonNull Executor executor) {
diff --git a/media/Android.bp b/media/Android.bp
index 499d0da..0ed1047 100644
--- a/media/Android.bp
+++ b/media/Android.bp
@@ -1,5 +1,6 @@
 aidl_interface {
     name: "audio_common-aidl",
+    unstable: true,
     local_include_dir: "java",
     srcs: [
         "java/android/media/audio/common/AudioChannelMask.aidl",
@@ -23,6 +24,7 @@
 
 aidl_interface {
     name: "soundtrigger_middleware-aidl",
+    unstable: true,
     local_include_dir: "java",
     srcs: [
         "java/android/media/soundtrigger_middleware/ConfidenceLevel.aidl",
diff --git a/media/OWNERS b/media/OWNERS
index be60583..a16373e 100644
--- a/media/OWNERS
+++ b/media/OWNERS
@@ -1,7 +1,7 @@
 andrewlewis@google.com
 chz@google.com
-dwkang@google.com
 elaurent@google.com
+essick@google.com
 etalvala@google.com
 gkasten@google.com
 hdmoon@google.com
@@ -15,7 +15,7 @@
 lajos@google.com
 marcone@google.com
 sungsoo@google.com
-wjia@google.com
+wonsik@google.com
 
 # For maintaining sync with AndroidX code
 per-file ExifInterface.java = jinpark@google.com, sungsoo@google.com
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
old mode 100644
new mode 100755
index 8477aa3..3e1f72d
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -6145,6 +6145,17 @@
         }
     }
 
+    /** @hide
+     * TODO: make this a @SystemApi */
+    @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
+    public void setMultiAudioFocusEnabled(boolean enabled) {
+        try {
+            getService().setMultiAudioFocusEnabled(enabled);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
     //---------------------------------------------------------
     // Inner classes
     //--------------------
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java
index d237975..ed566a5 100644
--- a/media/java/android/media/ExifInterface.java
+++ b/media/java/android/media/ExifInterface.java
@@ -31,6 +31,7 @@
 import android.util.Log;
 import android.util.Pair;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.ArrayUtils;
 
 import libcore.io.IoUtils;
@@ -586,7 +587,9 @@
     private static final int WEBP_CHUNK_SIZE_BYTE_LENGTH = 4;
 
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
+    @GuardedBy("sFormatter")
     private static SimpleDateFormat sFormatter;
+    @GuardedBy("sFormatterTz")
     private static SimpleDateFormat sFormatterTz;
 
     // See Exchangeable image file format for digital still cameras: Exif version 2.2.
@@ -2426,12 +2429,17 @@
         try {
             // The exif field is in local time. Parsing it as if it is UTC will yield time
             // since 1/1/1970 local time
-            Date datetime = sFormatter.parse(dateTimeString, pos);
+            Date datetime;
+            synchronized (sFormatter) {
+                datetime = sFormatter.parse(dateTimeString, pos);
+            }
 
             if (offsetString != null) {
                 dateTimeString = dateTimeString + " " + offsetString;
                 ParsePosition position = new ParsePosition(0);
-                datetime = sFormatterTz.parse(dateTimeString, position);
+                synchronized (sFormatterTz) {
+                    datetime = sFormatterTz.parse(dateTimeString, position);
+                }
             }
 
             if (datetime == null) return -1;
@@ -2473,7 +2481,10 @@
 
         ParsePosition pos = new ParsePosition(0);
         try {
-            Date datetime = sFormatter.parse(dateTimeString, pos);
+            final Date datetime;
+            synchronized (sFormatter) {
+                datetime = sFormatter.parse(dateTimeString, pos);
+            }
             if (datetime == null) return -1;
             return datetime.getTime();
         } catch (IllegalArgumentException e) {
diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl
old mode 100644
new mode 100755
index bb10e1f..e3b67f8
--- a/media/java/android/media/IAudioService.aidl
+++ b/media/java/android/media/IAudioService.aidl
@@ -301,4 +301,6 @@
 
     // WARNING: read warning at top of file, new methods that need to be used by native
     // code via IAudioManager.h need to be added to the top section.
+
+    oneway void setMultiAudioFocusEnabled(in boolean enabled);
 }
diff --git a/media/java/android/media/MediaCas.java b/media/java/android/media/MediaCas.java
index 405410a..97d32d8 100644
--- a/media/java/android/media/MediaCas.java
+++ b/media/java/android/media/MediaCas.java
@@ -897,7 +897,7 @@
 
         synchronized (mSessionMap) {
             if (mSessionMap.get(session) != null) {
-                mTunerResourceManager.releaseCasSession(mSessionMap.get(session));
+                mTunerResourceManager.releaseCasSession(mSessionMap.get(session), mClientId);
                 mSessionMap.remove(session);
             }
         }
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index 25f6059..bd8fb96 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -409,7 +409,7 @@
 
         // TODO: Check thread-safety
         if (!mRoutes.containsKey(route.getId())) {
-            notifyTransferFailed(route);
+            notifyTransferFailure(route);
             return;
         }
         if (controller.getRoutingSessionInfo().getTransferableRoutes().contains(route.getId())) {
@@ -588,14 +588,14 @@
             if (sessionInfo == null) {
                 // TODO: We may need to distinguish between failure and rejection.
                 //       One way can be introducing 'reason'.
-                notifyTransferFailed(requestedRoute);
+                notifyTransferFailure(requestedRoute);
                 return;
             } else if (!sessionInfo.getSelectedRoutes().contains(requestedRoute.getId())) {
                 Log.w(TAG, "The session does not contain the requested route. "
                         + "(requestedRouteId=" + requestedRoute.getId()
                         + ", actualRoutes=" + sessionInfo.getSelectedRoutes()
                         + ")");
-                notifyTransferFailed(requestedRoute);
+                notifyTransferFailure(requestedRoute);
                 return;
             } else if (!TextUtils.equals(requestedRoute.getProviderId(),
                     sessionInfo.getProviderId())) {
@@ -603,7 +603,7 @@
                         + "(requested route's providerId=" + requestedRoute.getProviderId()
                         + ", actual providerId=" + sessionInfo.getProviderId()
                         + ")");
-                notifyTransferFailed(requestedRoute);
+                notifyTransferFailure(requestedRoute);
                 return;
             }
         }
@@ -619,7 +619,7 @@
                 }
             }
             //TODO: Determine oldController properly when transfer is launched by Output Switcher.
-            notifyTransferred(matchingRequest != null ? matchingRequest.mController :
+            notifyTransfer(matchingRequest != null ? matchingRequest.mController :
                     getSystemController(), newController);
         }
     }
@@ -687,15 +687,7 @@
             return;
         }
 
-        boolean removed;
-        synchronized (sRouterLock) {
-            removed = mRoutingControllers.remove(uniqueSessionId, matchingController);
-        }
-
-        if (removed) {
-            matchingController.release();
-            notifyStopped(matchingController);
-        }
+        matchingController.releaseInternal(/* shouldReleaseSession= */ false);
     }
 
     private List<MediaRoute2Info> filterRoutes(List<MediaRoute2Info> routes,
@@ -736,22 +728,21 @@
         }
     }
 
-    private void notifyTransferred(RoutingController oldController,
-            RoutingController newController) {
+    private void notifyTransfer(RoutingController oldController, RoutingController newController) {
         for (TransferCallbackRecord record: mTransferCallbackRecords) {
             record.mExecutor.execute(
                     () -> record.mTransferCallback.onTransfer(oldController, newController));
         }
     }
 
-    private void notifyTransferFailed(MediaRoute2Info route) {
+    private void notifyTransferFailure(MediaRoute2Info route) {
         for (TransferCallbackRecord record: mTransferCallbackRecords) {
             record.mExecutor.execute(
                     () -> record.mTransferCallback.onTransferFailure(route));
         }
     }
 
-    private void notifyStopped(RoutingController controller) {
+    private void notifyStop(RoutingController controller) {
         for (TransferCallbackRecord record: mTransferCallbackRecords) {
             record.mExecutor.execute(
                     () -> record.mTransferCallback.onStop(controller));
@@ -1189,32 +1180,38 @@
          */
         // TODO: Add tests using {@link MediaRouter2Manager#getActiveSessions()}.
         public void release() {
+            releaseInternal(/* shouldReleaseSession= */ true);
+        }
+
+        void releaseInternal(boolean shouldReleaseSession) {
             synchronized (mControllerLock) {
                 if (mIsReleased) {
-                    Log.w(TAG, "release() called on released controller. Ignoring.");
+                    Log.w(TAG, "releaseInternal() called on released controller. Ignoring.");
                     return;
                 }
                 mIsReleased = true;
             }
 
             MediaRouter2Stub stub;
-            boolean removed;
             synchronized (sRouterLock) {
-                removed = mRoutingControllers.remove(getId(), this);
+                mRoutingControllers.remove(getId(), this);
                 stub = mStub;
             }
 
-            if (removed) {
-                mHandler.post(() -> notifyStopped(RoutingController.this));
-            }
-
-            if (stub != null) {
+            if (shouldReleaseSession && stub != null) {
                 try {
                     mMediaRouterService.releaseSessionWithRouter2(stub, getId());
                 } catch (RemoteException ex) {
-                    Log.e(TAG, "Unable to notify of controller release", ex);
+                    Log.e(TAG, "Unable to release session", ex);
                 }
             }
+
+            if (Thread.currentThread() == mHandler.getLooper().getThread()) {
+                notifyStop(this);
+            } else {
+                mHandler.sendMessage(obtainMessage(MediaRouter2::notifyStop, MediaRouter2.this,
+                        RoutingController.this));
+            }
         }
 
         @Override
diff --git a/media/java/android/media/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java
index c222985..dd3b6db 100644
--- a/media/java/android/media/midi/MidiDeviceInfo.java
+++ b/media/java/android/media/midi/MidiDeviceInfo.java
@@ -19,7 +19,6 @@
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
-
 import android.util.Log;
 
 /**
@@ -205,6 +204,20 @@
     public MidiDeviceInfo(int type, int id, int numInputPorts, int numOutputPorts,
             String[] inputPortNames, String[] outputPortNames, Bundle properties,
             boolean isPrivate) {
+        // Check num ports for out-of-range values. Typical values will be
+        // between zero and three. More than 16 would be very unlikely
+        // because the port index field in the USB packet is only 4 bits.
+        // This check is mainly just to prevent OutOfMemoryErrors when
+        // fuzz testing.
+        final int maxPorts = 256; // arbitrary and very high
+        if (numInputPorts < 0 || numInputPorts > maxPorts) {
+            throw new IllegalArgumentException("numInputPorts out of range = "
+                    + numInputPorts);
+        }
+        if (numOutputPorts < 0 || numOutputPorts > maxPorts) {
+            throw new IllegalArgumentException("numOutputPorts out of range = "
+                    + numOutputPorts);
+        }
         mType = type;
         mId = id;
         mInputPortCount = numInputPorts;
diff --git a/media/java/android/media/tv/ITvRemoteServiceInput.aidl b/media/java/android/media/tv/ITvRemoteServiceInput.aidl
index a0b6c9b..0e6563a 100644
--- a/media/java/android/media/tv/ITvRemoteServiceInput.aidl
+++ b/media/java/android/media/tv/ITvRemoteServiceInput.aidl
@@ -39,4 +39,10 @@
     void sendPointerUp(IBinder token, int pointerId);
     @UnsupportedAppUsage
     void sendPointerSync(IBinder token);
-}
\ No newline at end of file
+
+    // API specific to gamepads. Close gamepads with closeInputBridge
+    void openGamepadBridge(IBinder token, String name);
+    void sendGamepadKeyDown(IBinder token, int keyCode);
+    void sendGamepadKeyUp(IBinder token, int keyCode);
+    void sendGamepadAxisValue(IBinder token, int axis, float value);
+}
diff --git a/media/java/android/media/tv/tuner/Descrambler.java b/media/java/android/media/tv/tuner/Descrambler.java
index 975604c..7b58bfc3 100644
--- a/media/java/android/media/tv/tuner/Descrambler.java
+++ b/media/java/android/media/tv/tuner/Descrambler.java
@@ -52,8 +52,12 @@
      */
     public static final int PID_TYPE_MMTP = 2;
 
+    private static final String TAG = "Descrambler";
+
 
     private long mNativeContext;
+    private boolean mIsClosed = false;
+    private final Object mLock = new Object();
 
     private native int nativeAddPid(int pidType, int pid, Filter filter);
     private native int nativeRemovePid(int pidType, int pid, Filter filter);
@@ -80,7 +84,10 @@
      */
     @Result
     public int addPid(@PidType int pidType, int pid, @Nullable Filter filter) {
-        return nativeAddPid(pidType, pid, filter);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeAddPid(pidType, pid, filter);
+        }
     }
 
     /**
@@ -95,7 +102,10 @@
      */
     @Result
     public int removePid(@PidType int pidType, int pid, @Nullable Filter filter) {
-        return nativeRemovePid(pidType, pid, filter);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeRemovePid(pidType, pid, filter);
+        }
     }
 
     /**
@@ -109,8 +119,11 @@
      */
     @Result
     public int setKeyToken(@NonNull byte[] keyToken) {
-        Objects.requireNonNull(keyToken, "key token must not be null");
-        return nativeSetKeyToken(keyToken);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            Objects.requireNonNull(keyToken, "key token must not be null");
+            return nativeSetKeyToken(keyToken);
+        }
     }
 
     /**
@@ -118,7 +131,17 @@
      */
     @Override
     public void close() {
-        nativeClose();
+        synchronized (mLock) {
+            if (mIsClosed) {
+                return;
+            }
+            int res = nativeClose();
+            if (res != Tuner.RESULT_SUCCESS) {
+                TunerUtils.throwExceptionForResult(res, "Failed to close descrambler");
+            } else {
+                mIsClosed = true;
+            }
+        }
     }
 
 }
diff --git a/media/java/android/media/tv/tuner/Lnb.java b/media/java/android/media/tv/tuner/Lnb.java
index 9913d23..5e95794 100644
--- a/media/java/android/media/tv/tuner/Lnb.java
+++ b/media/java/android/media/tv/tuner/Lnb.java
@@ -143,9 +143,12 @@
      */
     public static final int EVENT_TYPE_LNB_OVERLOAD = Constants.LnbEventType.LNB_OVERLOAD;
 
+    private static final String TAG = "Lnb";
+
     int mId;
     LnbCallback mCallback;
     Executor mExecutor;
+    Tuner mTuner;
 
 
     private native int nativeSetVoltage(int voltage);
@@ -156,13 +159,17 @@
 
     private long mNativeContext;
 
+    private Boolean mIsClosed = false;
+    private final Object mLock = new Object();
+
     private Lnb(int id) {
         mId = id;
     }
 
-    void setCallback(Executor executor, @Nullable LnbCallback callback) {
+    void setCallback(Executor executor, @Nullable LnbCallback callback, Tuner tuner) {
         mCallback = callback;
         mExecutor = executor;
+        mTuner = tuner;
     }
 
     private void onEvent(int eventType) {
@@ -177,6 +184,12 @@
         }
     }
 
+    /* package */ boolean isClosed() {
+        synchronized (mLock) {
+            return mIsClosed;
+        }
+    }
+
     /**
      * Sets the LNB's power voltage.
      *
@@ -185,7 +198,10 @@
      */
     @Result
     public int setVoltage(@Voltage int voltage) {
-        return nativeSetVoltage(voltage);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeSetVoltage(voltage);
+        }
     }
 
     /**
@@ -196,7 +212,10 @@
      */
     @Result
     public int setTone(@Tone int tone) {
-        return nativeSetTone(tone);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeSetTone(tone);
+        }
     }
 
     /**
@@ -207,7 +226,10 @@
      */
     @Result
     public int setSatellitePosition(@Position int position) {
-        return nativeSetSatellitePosition(position);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeSetSatellitePosition(position);
+        }
     }
 
     /**
@@ -222,16 +244,27 @@
      */
     @Result
     public int sendDiseqcMessage(@NonNull byte[] message) {
-        return nativeSendDiseqcMessage(message);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeSendDiseqcMessage(message);
+        }
     }
 
     /**
      * Releases the LNB instance.
      */
     public void close() {
-        int res = nativeClose();
-        if (res != Tuner.RESULT_SUCCESS) {
-            TunerUtils.throwExceptionForResult(res, "Failed to close LNB");
+        synchronized (mLock) {
+            if (mIsClosed) {
+                return;
+            }
+            int res = nativeClose();
+            if (res != Tuner.RESULT_SUCCESS) {
+                TunerUtils.throwExceptionForResult(res, "Failed to close LNB");
+            } else {
+                mIsClosed = true;
+                mTuner.releaseLnb();
+            }
         }
     }
 }
diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java
index 861eeea..d331126 100644
--- a/media/java/android/media/tv/tuner/Tuner.java
+++ b/media/java/android/media/tv/tuner/Tuner.java
@@ -57,7 +57,10 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.Executor;
 
@@ -222,8 +225,8 @@
     private Executor mOnResourceLostListenerExecutor;
 
     private Integer mDemuxHandle;
-    private Integer mDescramblerHandle;
-    private Descrambler mDescrambler;
+    private Map<Integer, Descrambler> mDescramblers = new HashMap<>();
+    private List<Filter> mFilters = new ArrayList<>();
 
     private final TunerResourceManager.ResourcesReclaimListener mResourceListener =
             new TunerResourceManager.ResourcesReclaimListener() {
@@ -263,14 +266,14 @@
     }
 
     private void setFrontendInfoList() {
-        List<Integer> ids = nativeGetFrontendIds();
+        List<Integer> ids = getFrontendIds();
         if (ids == null) {
             return;
         }
         TunerFrontendInfo[] infos = new TunerFrontendInfo[ids.size()];
         for (int i = 0; i < ids.size(); i++) {
             int id = ids.get(i);
-            FrontendInfo frontendInfo = nativeGetFrontendInfo(id);
+            FrontendInfo frontendInfo = getFrontendInfoById(id);
             if (frontendInfo == null) {
                 continue;
             }
@@ -281,6 +284,11 @@
         mTunerResourceManager.setFrontendInfoList(infos);
     }
 
+    /** @hide */
+    public List<Integer> getFrontendIds() {
+        return nativeGetFrontendIds();
+    }
+
     private void setLnbIds() {
         int[] ids = nativeGetLnbIds();
         if (ids == null) {
@@ -345,14 +353,28 @@
     @Override
     public void close() {
         if (mFrontendHandle != null) {
-            mTunerResourceManager.releaseFrontend(mFrontendHandle);
+            nativeCloseFrontendByHandle(mFrontendHandle);
+            mTunerResourceManager.releaseFrontend(mFrontendHandle, mClientId);
             mFrontendHandle = null;
+            mFrontend = null;
         }
         if (mLnb != null) {
-            mTunerResourceManager.releaseLnb(mLnbHandle);
-            mLnb = null;
+            releaseLnb();
         }
-        nativeClose();
+        if (!mDescramblers.isEmpty()) {
+            for (Map.Entry<Integer, Descrambler> d : mDescramblers.entrySet()) {
+                d.getValue().close();
+                mTunerResourceManager.releaseDescrambler(d.getKey(), mClientId);
+            }
+            mDescramblers.clear();
+        }
+        if (!mFilters.isEmpty()) {
+            for (Filter f : mFilters) {
+                f.close();
+            }
+            mFilters.clear();
+        }
+        TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
     }
 
     /**
@@ -374,6 +396,8 @@
      * Native method to open frontend of the given ID.
      */
     private native Frontend nativeOpenFrontendByHandle(int handle);
+    @Result
+    private native int nativeCloseFrontendByHandle(int handle);
     private native int nativeTune(int type, FrontendSettings settings);
     private native int nativeStopTune();
     private native int nativeScan(int settingsType, FrontendSettings settings, int scanType);
@@ -522,6 +546,7 @@
     public int tune(@NonNull FrontendSettings settings) {
         mFrontendType = settings.getType();
         checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND);
+
         mFrontendInfo = null;
         return nativeTune(settings.getType(), settings);
     }
@@ -706,11 +731,16 @@
             throw new IllegalStateException("frontend is not initialized");
         }
         if (mFrontendInfo == null) {
-            mFrontendInfo = nativeGetFrontendInfo(mFrontend.mId);
+            mFrontendInfo = getFrontendInfoById(mFrontend.mId);
         }
         return mFrontendInfo;
     }
 
+    /** @hide */
+    public FrontendInfo getFrontendInfoById(int id) {
+        return nativeGetFrontendInfo(id);
+    }
+
     /**
      * Gets Demux capabilities.
      *
@@ -841,6 +871,7 @@
             if (mHandler == null) {
                 mHandler = createEventHandler();
             }
+            mFilters.add(filter);
         }
         return filter;
     }
@@ -859,9 +890,11 @@
     public Lnb openLnb(@CallbackExecutor @NonNull Executor executor, @NonNull LnbCallback cb) {
         Objects.requireNonNull(executor, "executor must not be null");
         Objects.requireNonNull(cb, "LnbCallback must not be null");
-        checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_LNB);
         if (mLnb != null) {
-            mLnb.setCallback(executor, cb);
+            return mLnb;
+        }
+        if (checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_LNB) && mLnb != null) {
+            mLnb.setCallback(executor, cb, this);
         }
         return mLnb;
     }
@@ -881,9 +914,14 @@
         Objects.requireNonNull(name, "LNB name must not be null");
         Objects.requireNonNull(executor, "executor must not be null");
         Objects.requireNonNull(cb, "LnbCallback must not be null");
-        mLnb = nativeOpenLnbByName(name);
-        if (mLnb != null) {
-            mLnb.setCallback(executor, cb);
+        Lnb newLnb = nativeOpenLnbByName(name);
+        if (newLnb != null) {
+            if (mLnb != null) {
+                mLnb.close();
+                mLnbHandle = null;
+            }
+            mLnb = newLnb;
+            mLnb.setCallback(executor, cb, this);
         }
         return mLnb;
     }
@@ -918,8 +956,7 @@
     @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER)
     @Nullable
     public Descrambler openDescrambler() {
-        checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_DESCRAMBLER);
-        return mDescrambler;
+        return requestDescrambler();
     }
 
     /**
@@ -979,15 +1016,21 @@
         return granted;
     }
 
-    private boolean requestDescrambler() {
+    private Descrambler requestDescrambler() {
         int[] descramblerHandle = new int[1];
         TunerDescramblerRequest request = new TunerDescramblerRequest(mClientId);
         boolean granted = mTunerResourceManager.requestDescrambler(request, descramblerHandle);
-        if (granted) {
-            mDescramblerHandle = descramblerHandle[0];
-            mDescrambler = nativeOpenDescramblerByHandle(mDescramblerHandle);
+        if (!granted) {
+            return null;
         }
-        return granted;
+        int handle = descramblerHandle[0];
+        Descrambler descrambler = nativeOpenDescramblerByHandle(handle);
+        if (descrambler != null) {
+            mDescramblers.put(handle, descrambler);
+        } else {
+            mTunerResourceManager.releaseDescrambler(handle, mClientId);
+        }
+        return descrambler;
     }
 
     private boolean checkResource(int resourceType)  {
@@ -999,7 +1042,7 @@
                 break;
             }
             case TunerResourceManager.TUNER_RESOURCE_TYPE_LNB: {
-                if (mLnbHandle == null && !requestLnb()) {
+                if (mLnb == null && !requestLnb()) {
                     return false;
                 }
                 break;
@@ -1010,13 +1053,15 @@
                 }
                 break;
             }
-            case TunerResourceManager.TUNER_RESOURCE_TYPE_DESCRAMBLER: {
-                if (mDescramblerHandle == null && !requestDescrambler()) {
-                    return false;
-                }
-                break;
-            }
+            default:
+                return false;
         }
         return true;
     }
+
+    /* package */ void releaseLnb() {
+        mTunerResourceManager.releaseLnb(mLnbHandle, mClientId);
+        mLnbHandle = null;
+        mLnb = null;
+    }
 }
diff --git a/media/java/android/media/tv/tuner/TunerUtils.java b/media/java/android/media/tv/tuner/TunerUtils.java
index c1589cf..a13077c 100644
--- a/media/java/android/media/tv/tuner/TunerUtils.java
+++ b/media/java/android/media/tv/tuner/TunerUtils.java
@@ -157,5 +157,16 @@
         throw new RuntimeException("Unexpected result " + r + ".  " + msg);
     }
 
+    /**
+     * Checks the state of a resource instance.
+     *
+     * @throws IllegalStateException if the resource has already been closed.
+     */
+    public static void checkResourceState(String name, boolean closed) {
+        if (closed) {
+            throw new IllegalStateException(name + " has been closed");
+        }
+    }
+
     private TunerUtils() {}
 }
diff --git a/media/java/android/media/tv/tuner/filter/Filter.java b/media/java/android/media/tv/tuner/filter/Filter.java
index d654b45..cc932da 100644
--- a/media/java/android/media/tv/tuner/filter/Filter.java
+++ b/media/java/android/media/tv/tuner/filter/Filter.java
@@ -180,6 +180,8 @@
      */
     public static final int STATUS_OVERFLOW = Constants.DemuxFilterStatus.OVERFLOW;
 
+    private static final String TAG = "Filter";
+
     private long mNativeContext;
     private FilterCallback mCallback;
     private Executor mExecutor;
@@ -188,6 +190,8 @@
     private int mSubtype;
     private Filter mSource;
     private boolean mStarted;
+    private boolean mIsClosed = false;
+    private final Object mLock = new Object();
 
     private native int nativeConfigureFilter(
             int type, int subType, FilterConfiguration settings);
@@ -244,21 +248,27 @@
      */
     @Result
     public int configure(@NonNull FilterConfiguration config) {
-        Settings s = config.getSettings();
-        int subType = (s == null) ? mSubtype : s.getType();
-        if (mMainType != config.getType() || mSubtype != subType) {
-            throw new IllegalArgumentException("Invalid filter config. filter main type="
-                    + mMainType + ", filter subtype=" + mSubtype + ". config main type="
-                    + config.getType() + ", config subtype=" + subType);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            Settings s = config.getSettings();
+            int subType = (s == null) ? mSubtype : s.getType();
+            if (mMainType != config.getType() || mSubtype != subType) {
+                throw new IllegalArgumentException("Invalid filter config. filter main type="
+                        + mMainType + ", filter subtype=" + mSubtype + ". config main type="
+                        + config.getType() + ", config subtype=" + subType);
+            }
+            return nativeConfigureFilter(config.getType(), subType, config);
         }
-        return nativeConfigureFilter(config.getType(), subType, config);
     }
 
     /**
      * Gets the filter Id.
      */
     public int getId() {
-        return nativeGetId();
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeGetId();
+        }
     }
 
     /**
@@ -276,14 +286,17 @@
      */
     @Result
     public int setDataSource(@Nullable Filter source) {
-        if (mSource != null) {
-            throw new IllegalStateException("Data source is existing");
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            if (mSource != null) {
+                throw new IllegalStateException("Data source is existing");
+            }
+            int res = nativeSetDataSource(source);
+            if (res == Tuner.RESULT_SUCCESS) {
+                mSource = source;
+            }
+            return res;
         }
-        int res = nativeSetDataSource(source);
-        if (res == Tuner.RESULT_SUCCESS) {
-            mSource = source;
-        }
-        return res;
     }
 
     /**
@@ -295,7 +308,10 @@
      */
     @Result
     public int start() {
-        return nativeStartFilter();
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeStartFilter();
+        }
     }
 
 
@@ -308,7 +324,10 @@
      */
     @Result
     public int stop() {
-        return nativeStopFilter();
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeStopFilter();
+        }
     }
 
     /**
@@ -321,7 +340,10 @@
      */
     @Result
     public int flush() {
-        return nativeFlushFilter();
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            return nativeFlushFilter();
+        }
     }
 
     /**
@@ -333,8 +355,11 @@
      * @return the number of bytes read.
      */
     public int read(@NonNull byte[] buffer, @BytesLong long offset, @BytesLong long size) {
-        size = Math.min(size, buffer.length - offset);
-        return nativeRead(buffer, offset, size);
+        synchronized (mLock) {
+            TunerUtils.checkResourceState(TAG, mIsClosed);
+            size = Math.min(size, buffer.length - offset);
+            return nativeRead(buffer, offset, size);
+        }
     }
 
     /**
@@ -342,9 +367,16 @@
      */
     @Override
     public void close() {
-        int res = nativeClose();
-        if (res != Tuner.RESULT_SUCCESS) {
-            TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
+        synchronized (mLock) {
+            if (mIsClosed) {
+                return;
+            }
+            int res = nativeClose();
+            if (res != Tuner.RESULT_SUCCESS) {
+                TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
+            } else {
+                mIsClosed = true;
+            }
         }
     }
 }
diff --git a/media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl b/media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
index 77cac6e..7077cd1 100644
--- a/media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
+++ b/media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
@@ -85,7 +85,8 @@
      * Updates the available Frontend resources information on the current device.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestFrontend(TunerFrontendRequest,int[])} and {@link #releaseFrontend(int)} call.
+     * {@link #requestFrontend(TunerFrontendRequest,int[])} and {@link #releaseFrontend(int, int)}
+     * call.
      *
      * @param infos an array of the available {@link TunerFrontendInfo} information.
      */
@@ -95,7 +96,8 @@
      * Updates the available Cas resource information on the current device.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestCasSession(CasSessionRequest, int[])} and {@link #releaseCasSession(int)} call.
+     * {@link #requestCasSession(CasSessionRequest, int[])} and {@link #releaseCasSession(int, int)}
+     * call.
      *
      * @param casSystemId id of the updating CAS system.
      * @param maxSessionNum the max session number of the CAS system that is updated.
@@ -106,7 +108,7 @@
      * Updates the available Lnb resource information on the current device.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestLnb(TunerLnbRequest, int[])} and {@link #releaseLnb(int)} call.
+     * {@link #requestLnb(TunerLnbRequest, int[])} and {@link #releaseLnb(int, int)} call.
      *
      * @param lnbIds ids of the updating lnbs.
      */
@@ -132,11 +134,11 @@
      * before this request.
      *
      * @param request {@link TunerFrontendRequest} information of the current request.
-     * @param frontendId a one-element array to return the granted frontendId.
+     * @param frontendHandle a one-element array to return the granted frontendHandle.
      *
      * @return true if there is frontend granted.
      */
-    boolean requestFrontend(in TunerFrontendRequest request, out int[] frontendId);
+    boolean requestFrontend(in TunerFrontendRequest request, out int[] frontendHandle);
 
     /*
      * Requests to share frontend with an existing client.
@@ -240,11 +242,11 @@
      * <p><strong>Note:</strong> {@link #setLnbInfos(int[])} must be called before this request.
      *
      * @param request {@link TunerLnbRequest} information of the current request.
-     * @param lnbId a one-element array to return the granted Lnb id.
+     * @param lnbHandle a one-element array to return the granted Lnb handle.
      *
      * @return true if there is Lnb granted.
      */
-    boolean requestLnb(in TunerLnbRequest request, out int[] lnbId);
+    boolean requestLnb(in TunerLnbRequest request, out int[] lnbHandle);
 
     /*
      * Notifies the TRM that the given frontend has been released.
@@ -254,9 +256,10 @@
      * <p><strong>Note:</strong> {@link #setFrontendInfoList(TunerFrontendInfo[])} must be called
      * before this release.
      *
-     * @param frontendId the id of the released frontend.
+     * @param frontendHandle the handle of the released frontend.
+     * @param clientId the id of the client that is releasing the frontend.
      */
-    void releaseFrontend(in int frontendId);
+    void releaseFrontend(in int frontendHandle, int clientId);
 
     /*
      * Notifies the TRM that the Demux with the given handle was released.
@@ -264,8 +267,9 @@
      * <p>Client must call this whenever it releases a demux.
      *
      * @param demuxHandle the handle of the released Tuner Demux.
+     * @param clientId the id of the client that is releasing the demux.
      */
-    void releaseDemux(in int demuxHandle);
+    void releaseDemux(in int demuxHandle, int clientId);
 
     /*
      * Notifies the TRM that the Descrambler with the given handle was released.
@@ -273,8 +277,9 @@
      * <p>Client must call this whenever it releases a descrambler.
      *
      * @param demuxHandle the handle of the released Tuner Descrambler.
+     * @param clientId the id of the client that is releasing the descrambler.
      */
-    void releaseDescrambler(in int descramblerHandle);
+    void releaseDescrambler(in int descramblerHandle, int clientId);
 
     /*
      * Notifies the TRM that the given Cas session has been released.
@@ -284,19 +289,21 @@
      * <p><strong>Note:</strong> {@link #updateCasInfo(int, int)} must be called before this release.
      *
      * @param sessionResourceId the id of the released CAS session.
+     * @param clientId the id of the client that is releasing the cas session.
      */
-    void releaseCasSession(in int sessionResourceId);
+    void releaseCasSession(in int sessionResourceId, int clientId);
 
     /*
-     * Notifies the TRM that the Lnb with the given id was released.
+     * Notifies the TRM that the Lnb with the given handle was released.
      *
      * <p>Client must call this whenever it releases an Lnb.
      *
      * <p><strong>Note:</strong> {@link #setLnbInfos(int[])} must be called before this release.
      *
-     * @param lnbId the id of the released Tuner Lnb.
+     * @param lnbHandle the handle of the released Tuner Lnb.
+     * @param clientId the id of the client that is releasing the lnb.
      */
-    void releaseLnb(in int lnbId);
+    void releaseLnb(in int lnbHandle, int clientId);
 
     /*
      * Compare two clients' priority.
diff --git a/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java b/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
index 2c8899c..b4dcc5d 100644
--- a/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
+++ b/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
@@ -64,6 +64,7 @@
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     public static final int INVALID_RESOURCE_HANDLE = -1;
+    public static final int INVALID_OWNER_ID = -1;
     /**
      * Tuner resource type to help generate resource handle
      */
@@ -73,6 +74,7 @@
         TUNER_RESOURCE_TYPE_DESCRAMBLER,
         TUNER_RESOURCE_TYPE_LNB,
         TUNER_RESOURCE_TYPE_CAS_SESSION,
+        TUNER_RESOURCE_TYPE_MAX,
      })
     @Retention(RetentionPolicy.SOURCE)
     public @interface TunerResourceType {}
@@ -82,6 +84,7 @@
     public static final int TUNER_RESOURCE_TYPE_DESCRAMBLER = 2;
     public static final int TUNER_RESOURCE_TYPE_LNB = 3;
     public static final int TUNER_RESOURCE_TYPE_CAS_SESSION = 4;
+    public static final int TUNER_RESOURCE_TYPE_MAX = 5;
 
     private final ITunerResourceManager mService;
     private final int mUserId;
@@ -177,7 +180,8 @@
      * Updates the current TRM of the TunerHAL Frontend information.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestFrontend(TunerFrontendRequest, int[])} and {@link #releaseFrontend(int)} call.
+     * {@link #requestFrontend(TunerFrontendRequest, int[])} and
+     * {@link #releaseFrontend(int, int)} call.
      *
      * @param infos an array of the available {@link TunerFrontendInfo} information.
      */
@@ -193,7 +197,7 @@
      * Updates the TRM of the current CAS information.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestCasSession(CasSessionRequest, int[])} and {@link #releaseCasSession(int)}
+     * {@link #requestCasSession(CasSessionRequest, int[])} and {@link #releaseCasSession(int, int)}
      * call.
      *
      * @param casSystemId id of the updating CAS system.
@@ -211,7 +215,7 @@
      * Updates the TRM of the current Lnb information.
      *
      * <p><strong>Note:</strong> This update must happen before the first
-     * {@link #requestLnb(TunerLnbRequest, int[])} and {@link #releaseLnb(int)} call.
+     * {@link #requestLnb(TunerLnbRequest, int[])} and {@link #releaseLnb(int, int)} call.
      *
      * @param lnbIds ids of the updating lnbs.
      */
@@ -243,16 +247,16 @@
      * before this request.
      *
      * @param request {@link TunerFrontendRequest} information of the current request.
-     * @param frontendId a one-element array to return the granted frontendId. If
-     *                   no frontend granted, this will return {@link #INVALID_FRONTEND_ID}.
+     * @param frontendHandle a one-element array to return the granted frontendHandle. If
+     *                       no frontend granted, this will return {@link #INVALID_RESOURCE_HANDLE}.
      *
      * @return true if there is frontend granted.
      */
     public boolean requestFrontend(@NonNull TunerFrontendRequest request,
-                @Nullable int[] frontendId) {
+                @Nullable int[] frontendHandle) {
         boolean result = false;
         try {
-            result = mService.requestFrontend(request, frontendId);
+            result = mService.requestFrontend(request, frontendHandle);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -393,15 +397,15 @@
      * <p><strong>Note:</strong> {@link #setLnbInfoList(int[])} must be called before this request.
      *
      * @param request {@link TunerLnbRequest} information of the current request.
-     * @param lnbId a one-element array to return the granted Lnb id.
-     *              If no Lnb granted, this will return {@link #INVALID_LNB_ID}.
+     * @param lnbHandle a one-element array to return the granted Lnb handle.
+     *                  If no Lnb granted, this will return {@link #INVALID_RESOURCE_HANDLE}.
      *
      * @return true if there is Lnb granted.
      */
-    public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbId) {
+    public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbHandle) {
         boolean result = false;
         try {
-            result = mService.requestLnb(request, lnbId);
+            result = mService.requestLnb(request, lnbHandle);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -416,11 +420,12 @@
      * <p><strong>Note:</strong> {@link #setFrontendInfoList(TunerFrontendInfo[])} must be called
      * before this release.
      *
-     * @param frontendId the id of the released frontend.
+     * @param frontendHandle the handle of the released frontend.
+     * @param clientId the id of the client that is releasing the frontend.
      */
-    public void releaseFrontend(int frontendId) {
+    public void releaseFrontend(int frontendHandle, int clientId) {
         try {
-            mService.releaseFrontend(frontendId);
+            mService.releaseFrontend(frontendHandle, clientId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -432,10 +437,11 @@
      * <p>Client must call this whenever it releases an Demux.
      *
      * @param demuxHandle the handle of the released Tuner Demux.
+     * @param clientId the id of the client that is releasing the demux.
      */
-    public void releaseDemux(int demuxHandle) {
+    public void releaseDemux(int demuxHandle, int clientId) {
         try {
-            mService.releaseDemux(demuxHandle);
+            mService.releaseDemux(demuxHandle, clientId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -447,10 +453,11 @@
      * <p>Client must call this whenever it releases an Descrambler.
      *
      * @param descramblerHandle the handle of the released Tuner Descrambler.
+     * @param clientId the id of the client that is releasing the descrambler.
      */
-    public void releaseDescrambler(int descramblerHandle) {
+    public void releaseDescrambler(int descramblerHandle, int clientId) {
         try {
-            mService.releaseDescrambler(descramblerHandle);
+            mService.releaseDescrambler(descramblerHandle, clientId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -465,10 +472,11 @@
      * release.
      *
      * @param sessionResourceId the id of the released CAS session.
+     * @param clientId the id of the client that is releasing the cas session.
      */
-    public void releaseCasSession(int sessionResourceId) {
+    public void releaseCasSession(int sessionResourceId, int clientId) {
         try {
-            mService.releaseCasSession(sessionResourceId);
+            mService.releaseCasSession(sessionResourceId, clientId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -481,11 +489,12 @@
      *
      * <p><strong>Note:</strong> {@link #setLnbInfoList(int[])} must be called before this release.
      *
-     * @param lnbId the id of the released Tuner Lnb.
+     * @param lnbHandle the handle of the released Tuner Lnb.
+     * @param clientId the id of the client that is releasing the lnb.
      */
-    public void releaseLnb(int lnbId) {
+    public void releaseLnb(int lnbHandle, int clientId) {
         try {
-            mService.releaseLnb(lnbId);
+            mService.releaseLnb(lnbHandle, clientId);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index a31f177..947cfc0 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -132,6 +132,8 @@
     jmethodID asReadOnlyBufferId;
     jmethodID positionId;
     jmethodID limitId;
+    jmethodID getPositionId;
+    jmethodID getLimitId;
 } gByteBufferInfo;
 
 static struct {
@@ -733,14 +735,19 @@
         }
     }
 
-    jobject format;
-    err = getOutputFormat(env, index, &format);
+    jobject formatMap;
+    err = getOutputFormat(env, index, &formatMap);
     if (err != OK) {
         return err;
     }
-    env->SetObjectField(frame, gFields.outputFrameFormatID, format);
-    env->DeleteLocalRef(format);
-    format = nullptr;
+    ScopedLocalRef<jclass> mediaFormatClass{env, env->FindClass("android/media/MediaFormat")};
+    ScopedLocalRef<jobject> format{env, env->NewObject(
+            mediaFormatClass.get(),
+            env->GetMethodID(mediaFormatClass.get(), "<init>", "(Ljava/util/Map;)V"),
+            formatMap)};
+    env->SetObjectField(frame, gFields.outputFrameFormatID, format.get());
+    env->DeleteLocalRef(formatMap);
+    formatMap = nullptr;
 
     sp<RefBase> obj;
     if (buffer->meta()->findObject("changedKeys", &obj) && obj) {
@@ -2033,13 +2040,11 @@
         if (env->IsInstanceOf(jvalue.get(), sFields.mStringClass)) {
             const char *tmp = env->GetStringUTFChars((jstring)jvalue.get(), nullptr);
             AString value;
-            if (tmp) {
-                value.setTo(tmp);
-            }
-            env->ReleaseStringUTFChars((jstring)jvalue.get(), tmp);
-            if (value.empty()) {
+            if (!tmp) {
                 return NO_MEMORY;
             }
+            value.setTo(tmp);
+            env->ReleaseStringUTFChars((jstring)jvalue.get(), tmp);
             result->setString(key.c_str(), value);
         } else if (env->IsInstanceOf(jvalue.get(), sFields.mIntegerClass)) {
             jint value = env->CallIntMethod(jvalue.get(), sFields.mIntegerValueId);
@@ -2051,8 +2056,8 @@
             jfloat value = env->CallFloatMethod(jvalue.get(), sFields.mFloatValueId);
             result->setFloat(key.c_str(), value);
         } else if (env->IsInstanceOf(jvalue.get(), gByteBufferInfo.clazz)) {
-            jint position = env->CallIntMethod(jvalue.get(), gByteBufferInfo.positionId);
-            jint limit = env->CallIntMethod(jvalue.get(), gByteBufferInfo.limitId);
+            jint position = env->CallIntMethod(jvalue.get(), gByteBufferInfo.getPositionId);
+            jint limit = env->CallIntMethod(jvalue.get(), gByteBufferInfo.getLimitId);
             sp<ABuffer> buffer{new ABuffer(limit - position)};
             void *data = env->GetDirectBufferAddress(jvalue.get());
             if (data != nullptr) {
@@ -2773,6 +2778,14 @@
             clazz.get(), "limit", "(I)Ljava/nio/Buffer;");
     CHECK(gByteBufferInfo.limitId != NULL);
 
+    gByteBufferInfo.getPositionId = env->GetMethodID(
+            clazz.get(), "position", "()I");
+    CHECK(gByteBufferInfo.getPositionId != NULL);
+
+    gByteBufferInfo.getLimitId = env->GetMethodID(
+            clazz.get(), "limit", "()I");
+    CHECK(gByteBufferInfo.getLimitId != NULL);
+
     clazz.reset(env->FindClass("java/util/ArrayList"));
     CHECK(clazz.get() != NULL);
 
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp
index 7579ca5..614fe73 100644
--- a/media/jni/android_media_tv_Tuner.cpp
+++ b/media/jni/android_media_tv_Tuner.cpp
@@ -833,6 +833,12 @@
 }
 
 JTuner::~JTuner() {
+    if (mFe != NULL) {
+        mFe->close();
+    }
+    if (mDemux != NULL) {
+        mDemux->close();
+    }
     JNIEnv *env = AndroidRuntime::getJNIEnv();
 
     env->DeleteWeakGlobalRef(mObject);
@@ -908,6 +914,14 @@
             (jint) jId);
 }
 
+jint JTuner::closeFrontendById(int id) {
+    if (mFe != NULL && mFeId == id) {
+        Result r = mFe->close();
+        return (jint) r;
+    }
+    return (jint) Result::SUCCESS;
+}
+
 jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) {
     jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AnalogFrontendCapabilities");
     jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V");
@@ -1271,6 +1285,23 @@
     return res;
 }
 
+jint JTuner::close() {
+    Result res = Result::SUCCESS;
+    if (mFe != NULL) {
+        res = mFe->close();
+        if (res != Result::SUCCESS) {
+            return (jint) res;
+        }
+    }
+    if (mDemux != NULL) {
+        res = mDemux->close();
+        if (res != Result::SUCCESS) {
+            return (jint) res;
+        }
+    }
+    return (jint) res;
+}
+
 jobject JTuner::getAvSyncHwId(sp<Filter> filter) {
     if (mDemux == NULL) {
         return NULL;
@@ -1337,24 +1368,27 @@
 
 jobject JTuner::openDescrambler() {
     ALOGD("JTuner::openDescrambler");
-    if (mTuner == nullptr) {
+    if (mTuner == nullptr || mDemux == nullptr) {
         return NULL;
     }
     sp<IDescrambler> descramblerSp;
-    mTuner->openDescrambler([&](Result, const sp<IDescrambler>& descrambler) {
+    Result res;
+    mTuner->openDescrambler([&](Result r, const sp<IDescrambler>& descrambler) {
+        res = r;
         descramblerSp = descrambler;
     });
 
-    if (descramblerSp == NULL) {
+    if (res != Result::SUCCESS || descramblerSp == NULL) {
         return NULL;
     }
 
+    descramblerSp->setDemuxSource(mDemuxId);
+
     JNIEnv *env = AndroidRuntime::getJNIEnv();
     jobject descramblerObj =
             env->NewObject(
                     env->FindClass("android/media/tv/tuner/Descrambler"),
-                    gFields.descramblerInitID,
-                    mObject);
+                    gFields.descramblerInitID);
 
     descramblerSp->incStrong(descramblerObj);
     env->SetLongField(descramblerObj, gFields.descramblerContext, (jlong)descramblerSp.get());
@@ -1371,11 +1405,13 @@
 
     sp<IFilter> iFilterSp;
     sp<FilterCallback> callback = new FilterCallback();
+    Result res;
     mDemux->openFilter(type, bufferSize, callback,
-            [&](Result, const sp<IFilter>& filter) {
+            [&](Result r, const sp<IFilter>& filter) {
                 iFilterSp = filter;
+                res = r;
             });
-    if (iFilterSp == NULL) {
+    if (res != Result::SUCCESS || iFilterSp == NULL) {
         ALOGD("Failed to open filter, type = %d", type.mainType);
         return NULL;
     }
@@ -2324,8 +2360,7 @@
 
     jclass descramblerClazz = env->FindClass("android/media/tv/tuner/Descrambler");
     gFields.descramblerContext = env->GetFieldID(descramblerClazz, "mNativeContext", "J");
-    gFields.descramblerInitID =
-            env->GetMethodID(descramblerClazz, "<init>", "()V");
+    gFields.descramblerInitID = env->GetMethodID(descramblerClazz, "<init>", "()V");
 
     jclass dvrRecorderClazz = env->FindClass("android/media/tv/tuner/dvr/DvrRecorder");
     gFields.dvrRecorderContext = env->GetFieldID(dvrRecorderClazz, "mNativeContext", "J");
@@ -2362,6 +2397,13 @@
     return tuner->openFrontendById(id);
 }
 
+static jint android_media_tv_Tuner_close_frontend_by_handle(
+        JNIEnv *env, jobject thiz, jint handle) {
+    sp<JTuner> tuner = getTuner(env, thiz);
+    uint32_t id = getResourceIdFromHandle(handle);
+    return tuner->closeFrontendById(id);
+}
+
 static int android_media_tv_Tuner_tune(JNIEnv *env, jobject thiz, jint type, jobject settings) {
     sp<JTuner> tuner = getTuner(env, thiz);
     return tuner->tune(getFrontendSettings(env, type, settings));
@@ -2867,7 +2909,7 @@
     sp<IFilter> iFilterSp = filterSp->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to configure filter: filter not found");
-        return (int)Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     DemuxFilterSettings filterSettings = getFilterConfiguration(env, type, subtype, settings);
     Result res = iFilterSp->configure(filterSettings);
@@ -2898,7 +2940,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to get filter ID: filter not found");
-        return (int) Result::INVALID_STATE;
+        return (int) Result::NOT_INITIALIZED;
     }
     Result res;
     uint32_t id;
@@ -2918,7 +2960,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to set filter data source: filter not found");
-        return (jint) Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     Result r;
     if (srcFilter == NULL) {
@@ -2927,7 +2969,7 @@
         sp<IFilter> srcSp = getFilter(env, srcFilter)->getIFilter();
         if (iFilterSp == NULL) {
             ALOGD("Failed to set filter data source: src filter not found");
-            return (jint) Result::INVALID_STATE;
+            return (jint) Result::INVALID_ARGUMENT;
         }
         r = iFilterSp->setDataSource(srcSp);
     }
@@ -2938,7 +2980,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to start filter: filter not found");
-        return (jint) Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     Result r = iFilterSp->start();
     return (jint) r;
@@ -2948,7 +2990,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to stop filter: filter not found");
-        return (jint) Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     Result r = iFilterSp->stop();
     return (jint) r;
@@ -2958,7 +3000,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to flush filter: filter not found");
-        return (jint) Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     Result r = iFilterSp->flush();
     return (jint) r;
@@ -2978,7 +3020,7 @@
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     if (iFilterSp == NULL) {
         ALOGD("Failed to close filter: filter not found");
-        return (jint) Result::INVALID_STATE;
+        return (jint) Result::NOT_INITIALIZED;
     }
     Result r = iFilterSp->close();
     return (jint) r;
@@ -3083,34 +3125,51 @@
     return tuner->openDescrambler();
 }
 
-static int android_media_tv_Tuner_add_pid(
+static jint android_media_tv_Tuner_descrambler_add_pid(
         JNIEnv *env, jobject descrambler, jint pidType, jint pid, jobject filter) {
     sp<IDescrambler> descramblerSp = getDescrambler(env, descrambler);
     if (descramblerSp == NULL) {
-        return false;
+        return (jint) Result::NOT_INITIALIZED;
     }
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     Result result = descramblerSp->addPid(getDemuxPid((int)pidType, (int)pid), iFilterSp);
-    return (int)result;
+    return (jint) result;
 }
 
-static int android_media_tv_Tuner_remove_pid(
+static jint android_media_tv_Tuner_descrambler_remove_pid(
         JNIEnv *env, jobject descrambler, jint pidType, jint pid, jobject filter) {
     sp<IDescrambler> descramblerSp = getDescrambler(env, descrambler);
     if (descramblerSp == NULL) {
-        return false;
+        return (jint) Result::NOT_INITIALIZED;
     }
     sp<IFilter> iFilterSp = getFilter(env, filter)->getIFilter();
     Result result = descramblerSp->removePid(getDemuxPid((int)pidType, (int)pid), iFilterSp);
-    return (int)result;
+    return (jint) result;
 }
 
-static int android_media_tv_Tuner_set_key_token(JNIEnv, jobject, jbyteArray) {
-    return 0;
+static jint android_media_tv_Tuner_descrambler_set_key_token(
+        JNIEnv* env, jobject descrambler, jbyteArray keyToken) {
+    sp<IDescrambler> descramblerSp = getDescrambler(env, descrambler);
+    if (descramblerSp == NULL) {
+        return (jint) Result::NOT_INITIALIZED;
+    }
+    int size = env->GetArrayLength(keyToken);
+    std::vector<uint8_t> v(size);
+    env->GetByteArrayRegion(keyToken, 0, size, reinterpret_cast<jbyte*>(&v[0]));
+    Result result = descramblerSp->setKeyToken(v);
+    return (jint) result;
 }
 
-static int android_media_tv_Tuner_close_descrambler(JNIEnv, jobject) {
-    return 0;
+static jint android_media_tv_Tuner_close_descrambler(JNIEnv* env, jobject descrambler) {
+    sp<IDescrambler> descramblerSp = getDescrambler(env, descrambler);
+    if (descramblerSp == NULL) {
+        return (jint) Result::NOT_INITIALIZED;
+    }
+    Result r = descramblerSp->close();
+    if (r == Result::SUCCESS) {
+        descramblerSp->decStrong(descrambler);
+    }
+    return (jint) r;
 }
 
 static jobject android_media_tv_Tuner_open_dvr_recorder(
@@ -3135,6 +3194,11 @@
     return (jint) tuner->openDemux();
 }
 
+static jint android_media_tv_Tuner_close_tuner(JNIEnv* env, jobject thiz) {
+    sp<JTuner> tuner = getTuner(env, thiz);
+    return (jint) tuner->close();
+}
+
 static jint android_media_tv_Tuner_attach_filter(JNIEnv *env, jobject dvr, jobject filter) {
     sp<Dvr> dvrSp = getDvr(env, dvr);
     if (dvrSp == NULL) {
@@ -3424,6 +3488,8 @@
             (void *)android_media_tv_Tuner_get_frontend_ids },
     { "nativeOpenFrontendByHandle", "(I)Landroid/media/tv/tuner/Tuner$Frontend;",
             (void *)android_media_tv_Tuner_open_frontend_by_handle },
+    { "nativeCloseFrontendByHandle", "(I)I",
+            (void *)android_media_tv_Tuner_close_frontend_by_handle },
     { "nativeTune", "(ILandroid/media/tv/tuner/frontend/FrontendSettings;)I",
             (void *)android_media_tv_Tuner_tune },
     { "nativeStopTune", "()I", (void *)android_media_tv_Tuner_stop_tune },
@@ -3460,6 +3526,7 @@
     { "nativeGetDemuxCapabilities", "()Landroid/media/tv/tuner/DemuxCapabilities;",
             (void *)android_media_tv_Tuner_get_demux_caps },
     { "nativeOpenDemuxByhandle", "(I)I", (void *)android_media_tv_Tuner_open_demux },
+    {"nativeClose", "()I", (void *)android_media_tv_Tuner_close_tuner },
 };
 
 static const JNINativeMethod gFilterMethods[] = {
@@ -3487,10 +3554,10 @@
 
 static const JNINativeMethod gDescramblerMethods[] = {
     { "nativeAddPid", "(IILandroid/media/tv/tuner/filter/Filter;)I",
-            (void *)android_media_tv_Tuner_add_pid },
+            (void *)android_media_tv_Tuner_descrambler_add_pid },
     { "nativeRemovePid", "(IILandroid/media/tv/tuner/filter/Filter;)I",
-            (void *)android_media_tv_Tuner_remove_pid },
-    { "nativeSetKeyToken", "([B)I", (void *)android_media_tv_Tuner_set_key_token },
+            (void *)android_media_tv_Tuner_descrambler_remove_pid },
+    { "nativeSetKeyToken", "([B)I", (void *)android_media_tv_Tuner_descrambler_set_key_token },
     { "nativeClose", "()I", (void *)android_media_tv_Tuner_close_descrambler },
 };
 
diff --git a/media/jni/android_media_tv_Tuner.h b/media/jni/android_media_tv_Tuner.h
index 6749ba0..750b146 100644
--- a/media/jni/android_media_tv_Tuner.h
+++ b/media/jni/android_media_tv_Tuner.h
@@ -172,6 +172,7 @@
     int disconnectCiCam();
     jobject getFrontendIds();
     jobject openFrontendById(int id);
+    jint closeFrontendById(int id);
     jobject getFrontendInfo(int id);
     int tune(const FrontendSettings& settings);
     int stopTune();
@@ -189,6 +190,7 @@
     jobject getDemuxCaps();
     jobject getFrontendStatus(jintArray types);
     Result openDemux();
+    jint close();
 
 protected:
     virtual ~JTuner();
diff --git a/media/lib/tvremote/java/com/android/media/tv/remoteprovider/TvRemoteProvider.java b/media/lib/tvremote/java/com/android/media/tv/remoteprovider/TvRemoteProvider.java
index 0bf0f97..b97ac26 100644
--- a/media/lib/tvremote/java/com/android/media/tv/remoteprovider/TvRemoteProvider.java
+++ b/media/lib/tvremote/java/com/android/media/tv/remoteprovider/TvRemoteProvider.java
@@ -16,6 +16,8 @@
 
 package com.android.media.tv.remoteprovider;
 
+import android.annotation.FloatRange;
+import android.annotation.NonNull;
 import android.content.Context;
 import android.media.tv.ITvRemoteProvider;
 import android.media.tv.ITvRemoteServiceInput;
@@ -24,6 +26,7 @@
 import android.util.Log;
 
 import java.util.LinkedList;
+import java.util.Objects;
 
 /**
  * Base class for emote providers implemented in unbundled service.
@@ -124,27 +127,75 @@
      * @param maxPointers Maximum supported pointers
      * @throws RuntimeException
      */
-    public void openRemoteInputBridge(IBinder token, String name, int width, int height,
-                                      int maxPointers) throws RuntimeException {
+    public void openRemoteInputBridge(
+            IBinder token, String name, int width, int height, int maxPointers)
+            throws RuntimeException {
+        final IBinder finalToken = Objects.requireNonNull(token);
+        final String finalName = Objects.requireNonNull(name);
+
         synchronized (mOpenBridgeRunnables) {
             if (mRemoteServiceInput == null) {
-                Log.d(TAG, "Delaying openRemoteInputBridge() for " + name);
+                Log.d(TAG, "Delaying openRemoteInputBridge() for " + finalName);
 
                 mOpenBridgeRunnables.add(() -> {
                     try {
                         mRemoteServiceInput.openInputBridge(
-                                token, name, width, height, maxPointers);
-                        Log.d(TAG, "Delayed openRemoteInputBridge() for " + name + ": success");
+                                finalToken, finalName, width, height, maxPointers);
+                        Log.d(TAG, "Delayed openRemoteInputBridge() for " + finalName
+                                + ": success");
                     } catch (RemoteException re) {
-                        Log.e(TAG, "Delayed openRemoteInputBridge() for " + name + ": failure", re);
+                        Log.e(TAG, "Delayed openRemoteInputBridge() for " + finalName
+                                + ": failure", re);
                     }
                 });
                 return;
             }
         }
         try {
-            mRemoteServiceInput.openInputBridge(token, name, width, height, maxPointers);
-            Log.d(TAG, "openRemoteInputBridge() for " + name + ": success");
+            mRemoteServiceInput.openInputBridge(finalToken, finalName, width, height, maxPointers);
+            Log.d(TAG, "openRemoteInputBridge() for " + finalName + ": success");
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Opens an input bridge as a gamepad device.
+     * Clients should pass in a token that can be used to match this request with a token that
+     * will be returned by {@link TvRemoteProvider#onInputBridgeConnected(IBinder token)}
+     * <p>
+     * The token should be used for subsequent calls.
+     * </p>
+     *
+     * @param token       Identifier for this connection
+     * @param name        Device name
+     * @throws RuntimeException
+     *
+     * @hide
+     */
+    public void openGamepadBridge(@NonNull IBinder token, @NonNull  String name)
+            throws RuntimeException {
+        final IBinder finalToken = Objects.requireNonNull(token);
+        final String finalName = Objects.requireNonNull(name);
+        synchronized (mOpenBridgeRunnables) {
+            if (mRemoteServiceInput == null) {
+                Log.d(TAG, "Delaying openGamepadBridge() for " + finalName);
+
+                mOpenBridgeRunnables.add(() -> {
+                    try {
+                        mRemoteServiceInput.openGamepadBridge(finalToken, finalName);
+                        Log.d(TAG, "Delayed openGamepadBridge() for " + finalName + ": success");
+                    } catch (RemoteException re) {
+                        Log.e(TAG, "Delayed openGamepadBridge() for " + finalName + ": failure",
+                                re);
+                    }
+                });
+                return;
+            }
+        }
+        try {
+            mRemoteServiceInput.openGamepadBridge(token, finalName);
+            Log.d(TAG, "openGamepadBridge() for " + finalName + ": success");
         } catch (RemoteException re) {
             throw re.rethrowFromSystemServer();
         }
@@ -157,6 +208,7 @@
      * @throws RuntimeException
      */
     public void closeInputBridge(IBinder token) throws RuntimeException {
+        Objects.requireNonNull(token);
         try {
             mRemoteServiceInput.closeInputBridge(token);
         } catch (RemoteException re) {
@@ -173,6 +225,7 @@
      * @throws RuntimeException
      */
     public void clearInputBridge(IBinder token) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "clearInputBridge() token " + token);
         try {
             mRemoteServiceInput.clearInputBridge(token);
@@ -190,6 +243,7 @@
      * @throws RuntimeException
      */
     public void sendTimestamp(IBinder token, long timestamp) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendTimestamp() token: " + token +
                 ", timestamp: " + timestamp);
         try {
@@ -207,6 +261,7 @@
      * @throws RuntimeException
      */
     public void sendKeyUp(IBinder token, int keyCode) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendKeyUp() token: " + token + ", keyCode: " + keyCode);
         try {
             mRemoteServiceInput.sendKeyUp(token, keyCode);
@@ -223,6 +278,7 @@
      * @throws RuntimeException
      */
     public void sendKeyDown(IBinder token, int keyCode) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendKeyDown() token: " + token +
                 ", keyCode: " + keyCode);
         try {
@@ -241,6 +297,7 @@
      * @throws RuntimeException
      */
     public void sendPointerUp(IBinder token, int pointerId) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendPointerUp() token: " + token +
                 ", pointerId: " + pointerId);
         try {
@@ -262,6 +319,7 @@
      */
     public void sendPointerDown(IBinder token, int pointerId, int x, int y)
             throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendPointerDown() token: " + token +
                 ", pointerId: " + pointerId);
         try {
@@ -278,6 +336,7 @@
      * @throws RuntimeException
      */
     public void sendPointerSync(IBinder token) throws RuntimeException {
+        Objects.requireNonNull(token);
         if (DEBUG_KEYS) Log.d(TAG, "sendPointerSync() token: " + token);
         try {
             mRemoteServiceInput.sendPointerSync(token);
@@ -286,6 +345,94 @@
         }
     }
 
+    /**
+     * Send a notification that a gamepad key was pressed.
+     *
+     * Supported buttons are:
+     * <ul>
+     *   <li> Right-side buttons: BUTTON_A, BUTTON_B, BUTTON_X, BUTTON_Y
+     *   <li> Digital Triggers and bumpers: BUTTON_L1, BUTTON_R1, BUTTON_L2, BUTTON_R2
+     *   <li> Thumb buttons: BUTTON_THUMBL, BUTTON_THUMBR
+     *   <li> DPad buttons: DPAD_UP, DPAD_DOWN, DPAD_LEFT, DPAD_RIGHT
+     *   <li> Gamepad buttons: BUTTON_SELECT, BUTTON_START, BUTTON_MODE
+     *   <li> Generic buttons: BUTTON_1, BUTTON_2, ...., BUTTON16
+     *   <li> Assistant: ASSIST, VOICE_ASSIST
+     * </ul>
+     *
+     * @param token   identifier for the device
+     * @param keyCode the gamepad key that was pressed (like BUTTON_A)
+     *
+     * @hide
+     */
+    public void sendGamepadKeyDown(@NonNull IBinder token, int keyCode) throws RuntimeException {
+        Objects.requireNonNull(token);
+        if (DEBUG_KEYS) {
+            Log.d(TAG, "sendGamepadKeyDown() token: " + token);
+        }
+
+        try {
+            mRemoteServiceInput.sendGamepadKeyDown(token, keyCode);
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Send a notification that a gamepad key was released.
+     *
+     * @see sendGamepadKeyDown for supported key codes.
+     *
+     * @param token identifier for the device
+     * @param keyCode the gamepad key that was pressed
+     *
+     * @hide
+     */
+    public void sendGamepadKeyUp(@NonNull IBinder token, int keyCode) throws RuntimeException {
+        Objects.requireNonNull(token);
+        if (DEBUG_KEYS) {
+            Log.d(TAG, "sendGamepadKeyUp() token: " + token);
+        }
+
+        try {
+            mRemoteServiceInput.sendGamepadKeyUp(token, keyCode);
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Send a gamepad axis value.
+     *
+     * Supported axes:
+     *  <li> Left Joystick: AXIS_X, AXIS_Y
+     *  <li> Right Joystick: AXIS_Z, AXIS_RZ
+     *  <li> Triggers: AXIS_LTRIGGER, AXIS_RTRIGGER
+     *  <li> DPad: AXIS_HAT_X, AXIS_HAT_Y
+     *
+     * For non-trigger axes, the range of acceptable values is [-1, 1]. The trigger axes support
+     * values [0, 1].
+     *
+     * @param token identifier for the device
+     * @param axis  MotionEvent axis
+     * @param value the value to send
+     *
+     * @hide
+     */
+    public void sendGamepadAxisValue(
+            @NonNull IBinder token, int axis, @FloatRange(from = -1.0f, to = 1.0f) float value)
+            throws RuntimeException {
+        Objects.requireNonNull(token);
+        if (DEBUG_KEYS) {
+            Log.d(TAG, "sendGamepadAxisValue() token: " + token);
+        }
+
+        try {
+            mRemoteServiceInput.sendGamepadAxisValue(token, axis, value);
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
     private final class ProviderStub extends ITvRemoteProvider.Stub {
         @Override
         public void setRemoteServiceInputSink(ITvRemoteServiceInput tvServiceInput) {
diff --git a/media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java b/media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java
index c9ce5613..e6e3939 100644
--- a/media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java
+++ b/media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java
@@ -83,4 +83,52 @@
 
         assertTrue(tvProvider.verifyTokens());
     }
+
+    @SmallTest
+    public void testOpenGamepadRemoteInputBridge() throws Exception {
+        Binder tokenA = new Binder();
+        Binder tokenB = new Binder();
+        Binder tokenC = new Binder();
+
+        class LocalTvRemoteProvider extends TvRemoteProvider {
+            private final ArrayList<IBinder> mTokens = new ArrayList<IBinder>();
+
+            LocalTvRemoteProvider(Context context) {
+                super(context);
+            }
+
+            @Override
+            public void onInputBridgeConnected(IBinder token) {
+                mTokens.add(token);
+            }
+
+            public boolean verifyTokens() {
+                return mTokens.size() == 3 && mTokens.contains(tokenA) && mTokens.contains(tokenB)
+                        && mTokens.contains(tokenC);
+            }
+        }
+
+        LocalTvRemoteProvider tvProvider = new LocalTvRemoteProvider(getContext());
+        ITvRemoteProvider binder = (ITvRemoteProvider) tvProvider.getBinder();
+
+        ITvRemoteServiceInput tvServiceInput = mock(ITvRemoteServiceInput.class);
+        doAnswer((i) -> {
+            binder.onInputBridgeConnected(i.getArgument(0));
+            return null;
+        })
+                .when(tvServiceInput)
+                .openGamepadBridge(any(), any());
+
+        tvProvider.openGamepadBridge(tokenA, "A");
+        tvProvider.openGamepadBridge(tokenB, "B");
+        binder.setRemoteServiceInputSink(tvServiceInput);
+        tvProvider.openGamepadBridge(tokenC, "C");
+
+        verify(tvServiceInput).openGamepadBridge(tokenA, "A");
+        verify(tvServiceInput).openGamepadBridge(tokenB, "B");
+        verify(tvServiceInput).openGamepadBridge(tokenC, "C");
+        verifyNoMoreInteractions(tvServiceInput);
+
+        assertTrue(tvProvider.verifyTokens());
+    }
 }
diff --git a/media/tests/AudioPolicyTest/Android.bp b/media/tests/AudioPolicyTest/Android.bp
new file mode 100644
index 0000000..ed338375
--- /dev/null
+++ b/media/tests/AudioPolicyTest/Android.bp
@@ -0,0 +1,17 @@
+android_test {
+    name: "audiopolicytest",
+    srcs: ["**/*.java"],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: [
+        "mockito-target-minus-junit4",
+        "androidx.test.rules",
+        "android-ex-camera2",
+        "testng",
+    ],
+    platform_apis: true,
+    certificate: "platform",
+    resource_dirs: ["res"],
+}
diff --git a/media/tests/AudioPolicyTest/AndroidManifest.xml b/media/tests/AudioPolicyTest/AndroidManifest.xml
new file mode 100644
index 0000000..adb058c
--- /dev/null
+++ b/media/tests/AudioPolicyTest/AndroidManifest.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.audiopolicytest">
+
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
+    <uses-permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <activity android:label="@string/app_name" android:name="AudioPolicyTest"
+                  android:screenOrientation="landscape">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+        </activity>
+    </application>
+
+    <!--instrumentation android:name=".AudioPolicyTestRunner"
+            android:targetPackage="com.android.audiopolicytest"
+            android:label="AudioManager policy oriented integration tests InstrumentationRunner">
+    </instrumentation-->
+
+    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+            android:targetPackage="com.android.audiopolicytest"
+            android:label="AudioManager policy oriented integration tests InstrumentationRunner">
+    </instrumentation>
+</manifest>
diff --git a/media/tests/AudioPolicyTest/AndroidTest.xml b/media/tests/AudioPolicyTest/AndroidTest.xml
new file mode 100644
index 0000000..f3ca9a1
--- /dev/null
+++ b/media/tests/AudioPolicyTest/AndroidTest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Runs Media Framework Tests">
+    <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
+        <option name="test-file-name" value="audiopolicytest.apk" />
+    </target_preparer>
+
+    <option name="test-tag" value="AudioPolicyTest" />
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <option name="package" value="com.android.audiopolicytest" />
+        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="hidden-api-checks" value="false"/>
+    </test>
+</configuration>
diff --git a/media/tests/AudioPolicyTest/res/layout/audiopolicytest.xml b/media/tests/AudioPolicyTest/res/layout/audiopolicytest.xml
new file mode 100644
index 0000000..17fdba6
--- /dev/null
+++ b/media/tests/AudioPolicyTest/res/layout/audiopolicytest.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:orientation="vertical">
+</LinearLayout>
diff --git a/media/tests/AudioPolicyTest/res/values/strings.xml b/media/tests/AudioPolicyTest/res/values/strings.xml
new file mode 100644
index 0000000..0365927
--- /dev/null
+++ b/media/tests/AudioPolicyTest/res/values/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- name of the app [CHAR LIMIT=25]-->
+    <string name="app_name">Audio Policy APIs Tests</string>
+</resources>
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioManagerTest.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioManagerTest.java
new file mode 100644
index 0000000..1131c62
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioManagerTest.java
@@ -0,0 +1,328 @@
+/*
+ * 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.audiopolicytest;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.testng.Assert.assertThrows;
+
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.AudioSystem;
+import android.media.audiopolicy.AudioProductStrategy;
+import android.media.audiopolicy.AudioVolumeGroup;
+import android.util.Log;
+
+import com.google.common.primitives.Ints;
+
+import java.util.List;
+
+public class AudioManagerTest extends AudioVolumesTestBase {
+    private static final String TAG = "AudioManagerTest";
+
+    //-----------------------------------------------------------------
+    // Test getAudioProductStrategies and validate strategies
+    //-----------------------------------------------------------------
+    public void testGetAndValidateProductStrategies() throws Exception {
+        List<AudioProductStrategy> audioProductStrategies =
+                mAudioManager.getAudioProductStrategies();
+        assertTrue(audioProductStrategies.size() > 0);
+
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        assertTrue(audioVolumeGroups.size() > 0);
+
+        // Validate Audio Product Strategies
+        for (final AudioProductStrategy audioProductStrategy : audioProductStrategies) {
+            AudioAttributes attributes = audioProductStrategy.getAudioAttributes();
+            int strategyStreamType =
+                    audioProductStrategy.getLegacyStreamTypeForAudioAttributes(attributes);
+
+            assertTrue("Strategy shall support the attributes retrieved from its getter API",
+                    audioProductStrategy.supportsAudioAttributes(attributes));
+
+            int volumeGroupId =
+                    audioProductStrategy.getVolumeGroupIdForAudioAttributes(attributes);
+
+            // A strategy must be associated to a volume group
+            assertNotEquals("strategy not assigned to any volume group",
+                    volumeGroupId, AudioVolumeGroup.DEFAULT_VOLUME_GROUP);
+
+            // Valid Group ?
+            AudioVolumeGroup audioVolumeGroup = null;
+            for (final AudioVolumeGroup avg : audioVolumeGroups) {
+                if (avg.getId() == volumeGroupId) {
+                    audioVolumeGroup = avg;
+                    break;
+                }
+            }
+            assertNotNull("Volume Group not found", audioVolumeGroup);
+
+            // Cross check: the group shall have at least one aa / stream types following the
+            // considered strategy
+            boolean strategyAttributesSupported = false;
+            for (final AudioAttributes aa : audioVolumeGroup.getAudioAttributes()) {
+                if (audioProductStrategy.supportsAudioAttributes(aa)) {
+                    strategyAttributesSupported = true;
+                    break;
+                }
+            }
+            assertTrue("Volume Group and Strategy mismatching", strategyAttributesSupported);
+
+            // Some Product strategy may not have corresponding stream types as they intends
+            // to address volume setting per attributes to avoid adding new stream type
+            // and going on deprecating the stream type even for volume
+            if (strategyStreamType != AudioSystem.STREAM_DEFAULT) {
+                boolean strategStreamTypeSupported = false;
+                for (final int vgStreamType : audioVolumeGroup.getLegacyStreamTypes()) {
+                    if (vgStreamType == strategyStreamType) {
+                        strategStreamTypeSupported = true;
+                        break;
+                    }
+                }
+                assertTrue("Volume Group and Strategy mismatching", strategStreamTypeSupported);
+            }
+        }
+    }
+
+    //-----------------------------------------------------------------
+    // Test getAudioVolumeGroups and validate volume groups
+    //-----------------------------------------------------------------
+
+    public void testGetAndValidateVolumeGroups() throws Exception {
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        assertTrue(audioVolumeGroups.size() > 0);
+
+        List<AudioProductStrategy> audioProductStrategies =
+                mAudioManager.getAudioProductStrategies();
+        assertTrue(audioProductStrategies.size() > 0);
+
+        // Validate Audio Volume Groups, check all
+        for (final AudioVolumeGroup audioVolumeGroup : audioVolumeGroups) {
+            List<AudioAttributes> avgAttributes = audioVolumeGroup.getAudioAttributes();
+            int[] avgStreamTypes = audioVolumeGroup.getLegacyStreamTypes();
+
+            // for each volume group attributes, find the matching product strategy and ensure
+            // it is linked the considered volume group
+            for (final AudioAttributes aa : avgAttributes) {
+                if (aa.equals(sDefaultAttributes)) {
+                    // Some volume groups may not have valid attributes, used for internal
+                    // volume management like patch/rerouting
+                    // so bailing out strategy retrieval from attributes
+                    continue;
+                }
+                boolean isVolumeGroupAssociatedToStrategy = false;
+                for (final AudioProductStrategy strategy : audioProductStrategies) {
+                    int groupId = strategy.getVolumeGroupIdForAudioAttributes(aa);
+                    if (groupId != AudioVolumeGroup.DEFAULT_VOLUME_GROUP) {
+
+                        assertEquals("Volume Group ID (" + audioVolumeGroup.toString()
+                                + "), and Volume group ID associated to Strategy ("
+                                + strategy.toString() + ") both supporting attributes "
+                                + aa.toString() + " are mismatching",
+                                audioVolumeGroup.getId(), groupId);
+                        isVolumeGroupAssociatedToStrategy = true;
+                        break;
+                    }
+                }
+                assertTrue("Volume Group (" + audioVolumeGroup.toString()
+                        + ") has no associated strategy for attributes " + aa.toString(),
+                        isVolumeGroupAssociatedToStrategy);
+            }
+
+            // for each volume group stream type, find the matching product strategy and ensure
+            // it is linked the considered volume group
+            for (final int avgStreamType : avgStreamTypes) {
+                if (avgStreamType == AudioSystem.STREAM_DEFAULT) {
+                    // Some Volume Groups may not have corresponding stream types as they
+                    // intends to address volume setting per attributes to avoid adding new
+                    //  stream type and going on deprecating the stream type even for volume
+                    // so bailing out strategy retrieval from stream type
+                    continue;
+                }
+                boolean isVolumeGroupAssociatedToStrategy = false;
+                for (final AudioProductStrategy strategy : audioProductStrategies) {
+                    Log.i(TAG, "strategy:" + strategy.toString());
+                    int groupId = strategy.getVolumeGroupIdForLegacyStreamType(avgStreamType);
+                    if (groupId != AudioVolumeGroup.DEFAULT_VOLUME_GROUP) {
+
+                        assertEquals("Volume Group ID (" + audioVolumeGroup.toString()
+                                + "), and Volume group ID associated to Strategy ("
+                                + strategy.toString() + ") both supporting stream "
+                                + AudioSystem.streamToString(avgStreamType) + "("
+                                + avgStreamType + ") are mismatching",
+                                audioVolumeGroup.getId(), groupId);
+                        isVolumeGroupAssociatedToStrategy = true;
+                        break;
+                    }
+                }
+                assertTrue("Volume Group (" + audioVolumeGroup.toString()
+                        + ") has no associated strategy for stream "
+                        + AudioSystem.streamToString(avgStreamType) + "(" + avgStreamType + ")",
+                        isVolumeGroupAssociatedToStrategy);
+            }
+        }
+    }
+
+    //-----------------------------------------------------------------
+    // Test Volume per Attributes setter/getters
+    //-----------------------------------------------------------------
+    public void testSetGetVolumePerAttributesWithInvalidAttributes() throws Exception {
+        AudioAttributes nullAttributes = null;
+
+        assertThrows(NullPointerException.class,
+                () -> mAudioManager.getMaxVolumeIndexForAttributes(nullAttributes));
+
+        assertThrows(NullPointerException.class,
+                () -> mAudioManager.getMinVolumeIndexForAttributes(nullAttributes));
+
+        assertThrows(NullPointerException.class,
+                () -> mAudioManager.getVolumeIndexForAttributes(nullAttributes));
+
+        assertThrows(NullPointerException.class,
+                () -> mAudioManager.setVolumeIndexForAttributes(
+                        nullAttributes, 0 /*index*/, 0/*flags*/));
+    }
+
+    public void testSetGetVolumePerAttributes() throws Exception {
+        for (int usage : AudioAttributes.SDK_USAGES) {
+            if (usage == AudioAttributes.USAGE_UNKNOWN) {
+                continue;
+            }
+            AudioAttributes aaForUsage = new AudioAttributes.Builder().setUsage(usage).build();
+            int indexMin = 0;
+            int indexMax = 0;
+            int index = 0;
+            Exception ex = null;
+
+            try {
+                indexMax = mAudioManager.getMaxVolumeIndexForAttributes(aaForUsage);
+            } catch (Exception e) {
+                ex = e; // unexpected
+            }
+            assertNull("Exception was thrown for valid attributes", ex);
+            ex = null;
+            try {
+                indexMin = mAudioManager.getMinVolumeIndexForAttributes(aaForUsage);
+            } catch (Exception e) {
+                ex = e; // unexpected
+            }
+            assertNull("Exception was thrown for valid attributes", ex);
+            ex = null;
+            try {
+                index = mAudioManager.getVolumeIndexForAttributes(aaForUsage);
+            } catch (Exception e) {
+                ex = e; // unexpected
+            }
+            assertNull("Exception was thrown for valid attributes", ex);
+            ex = null;
+            try {
+                mAudioManager.setVolumeIndexForAttributes(aaForUsage, indexMin, 0/*flags*/);
+            } catch (Exception e) {
+                ex = e; // unexpected
+            }
+            assertNull("Exception was thrown for valid attributes", ex);
+
+            index = mAudioManager.getVolumeIndexForAttributes(aaForUsage);
+            assertEquals(index, indexMin);
+
+            mAudioManager.setVolumeIndexForAttributes(aaForUsage, indexMax, 0/*flags*/);
+            index = mAudioManager.getVolumeIndexForAttributes(aaForUsage);
+            assertEquals(index, indexMax);
+        }
+    }
+
+    //-----------------------------------------------------------------
+    // Test register/unregister VolumeGroupCallback
+    //-----------------------------------------------------------------
+    public void testVolumeGroupCallback() throws Exception {
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        assertTrue(audioVolumeGroups.size() > 0);
+
+        AudioVolumeGroupCallbackHelper vgCbReceiver = new AudioVolumeGroupCallbackHelper();
+        mAudioManager.registerVolumeGroupCallback(mContext.getMainExecutor(), vgCbReceiver);
+
+        final List<Integer> publicStreams = Ints.asList(PUBLIC_STREAM_TYPES);
+        try {
+            // Validate Audio Volume Groups callback reception
+            for (final AudioVolumeGroup audioVolumeGroup : audioVolumeGroups) {
+                int volumeGroupId = audioVolumeGroup.getId();
+
+                // Set the receiver to filter only the current group callback
+                vgCbReceiver.setExpectedVolumeGroup(volumeGroupId);
+
+                List<AudioAttributes> avgAttributes = audioVolumeGroup.getAudioAttributes();
+                int[] avgStreamTypes = audioVolumeGroup.getLegacyStreamTypes();
+
+                int index = 0;
+                int indexMax = 0;
+                int indexMin = 0;
+
+                // Set the volume per attributes (if valid) and wait the callback
+                for (final AudioAttributes aa : avgAttributes) {
+                    if (aa.equals(sDefaultAttributes)) {
+                        // Some volume groups may not have valid attributes, used for internal
+                        // volume management like patch/rerouting
+                        // so bailing out strategy retrieval from attributes
+                        continue;
+                    }
+                    index = mAudioManager.getVolumeIndexForAttributes(aa);
+                    indexMax = mAudioManager.getMaxVolumeIndexForAttributes(aa);
+                    indexMin = mAudioManager.getMinVolumeIndexForAttributes(aa);
+                    index = incrementVolumeIndex(index, indexMin, indexMax);
+
+                    vgCbReceiver.setExpectedVolumeGroup(volumeGroupId);
+                    mAudioManager.setVolumeIndexForAttributes(aa, index, 0/*flags*/);
+                    assertTrue(vgCbReceiver.waitForExpectedVolumeGroupChanged(
+                            AudioVolumeGroupCallbackHelper.ASYNC_TIMEOUT_MS));
+
+                    int readIndex = mAudioManager.getVolumeIndexForAttributes(aa);
+                    assertEquals(readIndex, index);
+                }
+                // Set the volume per stream type (if valid) and wait the callback
+                for (final int avgStreamType : avgStreamTypes) {
+                    if (avgStreamType == AudioSystem.STREAM_DEFAULT) {
+                        // Some Volume Groups may not have corresponding stream types as they
+                        // intends to address volume setting per attributes to avoid adding new
+                        // stream type and going on deprecating the stream type even for volume
+                        // so bailing out strategy retrieval from stream type
+                        continue;
+                    }
+                    if (!publicStreams.contains(avgStreamType)
+                            || avgStreamType == AudioManager.STREAM_ACCESSIBILITY) {
+                        // Limit scope of test to public stream that do not require any
+                        // permission (e.g. Changing ACCESSIBILITY is subject to permission).
+                        continue;
+                    }
+                    index = mAudioManager.getStreamVolume(avgStreamType);
+                    indexMax = mAudioManager.getStreamMaxVolume(avgStreamType);
+                    indexMin = mAudioManager.getStreamMinVolumeInt(avgStreamType);
+                    index = incrementVolumeIndex(index, indexMin, indexMax);
+
+                    vgCbReceiver.setExpectedVolumeGroup(volumeGroupId);
+                    mAudioManager.setStreamVolume(avgStreamType, index, 0/*flags*/);
+                    assertTrue(vgCbReceiver.waitForExpectedVolumeGroupChanged(
+                            AudioVolumeGroupCallbackHelper.ASYNC_TIMEOUT_MS));
+
+                    int readIndex = mAudioManager.getStreamVolume(avgStreamType);
+                    assertEquals(index, readIndex);
+                }
+            }
+        } finally {
+            mAudioManager.unregisterVolumeGroupCallback(vgCbReceiver);
+        }
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTest.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTest.java
new file mode 100644
index 0000000..e0c7b22
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioPolicyTest.java
@@ -0,0 +1,38 @@
+/*
+ * 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.audiopolicytest;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class AudioPolicyTest extends Activity  {
+
+    public AudioPolicyTest() {
+    }
+
+    /** Called when the activity is first created. */
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        setContentView(R.layout.audiopolicytest);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioProductStrategyTest.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioProductStrategyTest.java
new file mode 100644
index 0000000..c0f596b
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioProductStrategyTest.java
@@ -0,0 +1,213 @@
+/*
+ * 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.audiopolicytest;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+import android.media.AudioAttributes;
+import android.media.AudioSystem;
+import android.media.audiopolicy.AudioProductStrategy;
+import android.media.audiopolicy.AudioVolumeGroup;
+import android.util.Log;
+
+import java.util.List;
+
+public class AudioProductStrategyTest extends AudioVolumesTestBase {
+    private static final String TAG = "AudioProductStrategyTest";
+
+    //-----------------------------------------------------------------
+    // Test getAudioProductStrategies and validate strategies
+    //-----------------------------------------------------------------
+    public void testGetProductStrategies() throws Exception {
+        List<AudioProductStrategy> audioProductStrategies =
+                AudioProductStrategy.getAudioProductStrategies();
+
+        assertNotNull(audioProductStrategies);
+        assertTrue(audioProductStrategies.size() > 0);
+
+        for (final AudioProductStrategy aps : audioProductStrategies) {
+            assertTrue(aps.getId() >= 0);
+
+            AudioAttributes aa = aps.getAudioAttributes();
+            assertNotNull(aa);
+
+            // Ensure API consistency
+            assertTrue(aps.supportsAudioAttributes(aa));
+
+            int streamType = aps.getLegacyStreamTypeForAudioAttributes(aa);
+            if (streamType == AudioSystem.STREAM_DEFAULT) {
+                // bailing out test for volume group APIs consistency
+                continue;
+            }
+            final int volumeGroupFromStream = aps.getVolumeGroupIdForLegacyStreamType(streamType);
+            final int volumeGroupFromAttributes = aps.getVolumeGroupIdForAudioAttributes(aa);
+            assertNotEquals(volumeGroupFromStream, AudioVolumeGroup.DEFAULT_VOLUME_GROUP);
+            assertEquals(volumeGroupFromStream, volumeGroupFromAttributes);
+        }
+    }
+
+    //-----------------------------------------------------------------
+    // Test stream to/from attributes conversion
+    //-----------------------------------------------------------------
+    public void testAudioAttributesFromStreamTypes() throws Exception {
+        List<AudioProductStrategy> audioProductStrategies =
+                AudioProductStrategy.getAudioProductStrategies();
+
+        assertNotNull(audioProductStrategies);
+        assertTrue(audioProductStrategies.size() > 0);
+
+        for (final int streamType : PUBLIC_STREAM_TYPES) {
+            AudioAttributes aaFromStreamType =
+                    AudioProductStrategy.getAudioAttributesForStrategyWithLegacyStreamType(
+                            streamType);
+
+            // No strategy found for this stream type or no attributes defined for the strategy
+            // hosting this stream type; Bailing out the test, just ensure that any request
+            // for reciproque API with the unknown attributes would return default stream
+            // for volume control, aka STREAM_MUSIC.
+            if (aaFromStreamType.equals(sInvalidAttributes)) {
+                assertEquals(AudioSystem.STREAM_MUSIC,
+                        AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes(
+                            aaFromStreamType));
+            } else {
+                // Attributes are valid, i.e. a strategy was found supporting this stream type
+                // with valid attributes. Ensure reciproque works fine
+                int streamTypeFromAttributes =
+                        AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes(
+                                aaFromStreamType);
+                assertEquals("stream " + AudioSystem.streamToString(streamType) + "("
+                        + streamType + ") expected to match attributes "
+                        + aaFromStreamType.toString() + " got instead stream "
+                        + AudioSystem.streamToString(streamTypeFromAttributes) + "("
+                        + streamTypeFromAttributes + ") expected to match attributes ",
+                        streamType, streamTypeFromAttributes);
+            }
+
+            // Now identify the strategy supporting this stream type, ensure uniqueness
+            boolean strategyFound = false;
+            for (final AudioProductStrategy aps : audioProductStrategies) {
+                AudioAttributes aaFromAps =
+                        aps.getAudioAttributesForLegacyStreamType(streamType);
+
+                if (aaFromAps == null) {
+                    // not this one...
+                    continue;
+                }
+                // Got it!
+                assertFalse("Unique ProductStrategy shall match for a given stream type",
+                        strategyFound);
+                strategyFound = true;
+
+                // Ensure getters aligned
+                assertEquals(aaFromStreamType, aaFromAps);
+                assertTrue(aps.supportsAudioAttributes(aaFromStreamType));
+
+                // Ensure reciproque works fine
+                assertEquals(streamType,
+                        aps.getLegacyStreamTypeForAudioAttributes(aaFromStreamType));
+
+                // Ensure consistency of volume group getter API
+                final int volumeGroupFromStream =
+                        aps.getVolumeGroupIdForLegacyStreamType(streamType);
+                final int volumeGroupFromAttributes =
+                        aps.getVolumeGroupIdForAudioAttributes(aaFromStreamType);
+                assertNotEquals(volumeGroupFromStream, AudioVolumeGroup.DEFAULT_VOLUME_GROUP);
+                assertEquals(volumeGroupFromStream, volumeGroupFromAttributes);
+            }
+            if (!strategyFound) {
+                // No strategy found, ensure volume control is MUSIC
+                assertEquals(AudioSystem.STREAM_MUSIC,
+                        AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes(
+                            aaFromStreamType));
+            }
+        }
+    }
+
+    public void testAudioAttributesToStreamTypes() throws Exception {
+        List<AudioProductStrategy> audioProductStrategies =
+                AudioProductStrategy.getAudioProductStrategies();
+
+        assertNotNull(audioProductStrategies);
+        assertTrue(audioProductStrategies.size() > 0);
+
+        for (int usage : AudioAttributes.SDK_USAGES) {
+            AudioAttributes aaForUsage = new AudioAttributes.Builder().setUsage(usage).build();
+
+            int streamTypeFromUsage =
+                    AudioProductStrategy.getLegacyStreamTypeForStrategyWithAudioAttributes(
+                            aaForUsage);
+
+            // Cannot be undefined, always shall fall back on a valid stream type
+            // to be able to control the volume
+            assertNotEquals(streamTypeFromUsage, AudioSystem.STREAM_DEFAULT);
+
+            Log.w(TAG, "GUSTAVE aaForUsage=" + aaForUsage.toString());
+
+            // Now identify the strategy hosting these Audio Attributes and ensure informations
+            // matches.
+            // Now identify the strategy supporting this stream type, ensure uniqueness
+            boolean strategyFound = false;
+            for (final AudioProductStrategy aps : audioProductStrategies) {
+                if (!aps.supportsAudioAttributes(aaForUsage)) {
+                    // Not this one
+                    continue;
+                }
+                // Got it!
+                String msg = "Unique ProductStrategy shall match for a given audio attributes "
+                        + aaForUsage.toString() + " already associated also matches with"
+                        + aps.toString();
+                assertFalse(msg, strategyFound);
+                strategyFound = true;
+
+                // It may not return the expected stream type if the strategy does not have
+                // associated stream type.
+                // Behavior of member function getLegacyStreamTypeForAudioAttributes is
+                // different than getLegacyStreamTypeForStrategyWithAudioAttributes since it
+                // does not fallback on MUSIC stream type for volume operation
+                int streamTypeFromAps = aps.getLegacyStreamTypeForAudioAttributes(aaForUsage);
+                if (streamTypeFromAps == AudioSystem.STREAM_DEFAULT) {
+                    // No stream type assigned to this strategy
+                    // Expect static API to return default stream type for volume (aka MUSIC)
+                    assertEquals("Strategy (" + aps.toString() + ") has no associated stream "
+                            + ", must fallback on MUSIC stream as default",
+                            streamTypeFromUsage, AudioSystem.STREAM_MUSIC);
+                } else {
+                    assertEquals("Attributes " + aaForUsage.toString() + " associated to stream "
+                            + AudioSystem.streamToString(streamTypeFromUsage)
+                            + " are supported by strategy (" + aps.toString() + ") which reports "
+                            + " these attributes are associated to stream "
+                            + AudioSystem.streamToString(streamTypeFromAps),
+                            streamTypeFromUsage, streamTypeFromAps);
+
+                    // Ensure consistency of volume group getter API
+                    int volumeGroupFromStream =
+                            aps.getVolumeGroupIdForLegacyStreamType(streamTypeFromAps);
+                    int volumeGroupFromAttributes =
+                            aps.getVolumeGroupIdForAudioAttributes(aaForUsage);
+                    assertNotEquals(
+                            volumeGroupFromStream, AudioVolumeGroup.DEFAULT_VOLUME_GROUP);
+                    assertEquals(volumeGroupFromStream, volumeGroupFromAttributes);
+                }
+            }
+            if (!strategyFound) {
+                // No strategy found for the given attributes, the expected stream must be MUSIC
+                assertEquals(streamTypeFromUsage, AudioSystem.STREAM_MUSIC);
+            }
+        }
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupCallbackHelper.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupCallbackHelper.java
new file mode 100644
index 0000000..0c1d52c
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupCallbackHelper.java
@@ -0,0 +1,69 @@
+/*
+ * 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.audiopolicytest;
+
+import static org.junit.Assert.assertNotNull;
+
+import android.media.AudioManager;
+import android.util.Log;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+
+final class AudioVolumeGroupCallbackHelper extends AudioManager.VolumeGroupCallback {
+    private static final String TAG = "AudioVolumeGroupCallbackHelper";
+    public static final long ASYNC_TIMEOUT_MS = 800;
+
+    private int mExpectedVolumeGroupId;
+
+    private CountDownLatch mVolumeGroupChanged = null;
+
+    void setExpectedVolumeGroup(int group) {
+        mVolumeGroupChanged = new CountDownLatch(1);
+        mExpectedVolumeGroupId = group;
+    }
+
+    @Override
+    public void onAudioVolumeGroupChanged(int group, int flags) {
+        if (group != mExpectedVolumeGroupId) {
+            return;
+        }
+        if (mVolumeGroupChanged == null) {
+            Log.wtf(TAG, "Received callback but object not initialized");
+            return;
+        }
+        if (mVolumeGroupChanged.getCount() <= 0) {
+            Log.i(TAG, "callback for group: " + group + " already received");
+            return;
+        }
+        mVolumeGroupChanged.countDown();
+    }
+
+    public boolean waitForExpectedVolumeGroupChanged(long timeOutMs) {
+        assertNotNull("Call first setExpectedVolumeGroup before waiting...", mVolumeGroupChanged);
+        boolean timeoutReached = false;
+        if (mVolumeGroupChanged.getCount() == 0) {
+            // done already...
+            return true;
+        }
+        try {
+            timeoutReached = !mVolumeGroupChanged.await(ASYNC_TIMEOUT_MS, TimeUnit.MILLISECONDS);
+        } catch (InterruptedException e) { }
+        return !timeoutReached;
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupChangeHandlerTest.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupChangeHandlerTest.java
new file mode 100644
index 0000000..221f1f7
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupChangeHandlerTest.java
@@ -0,0 +1,180 @@
+/*
+ * 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.audiopolicytest;
+
+import static org.junit.Assert.assertEquals;
+import static org.testng.Assert.assertThrows;
+
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.audiopolicy.AudioVolumeGroup;
+import android.media.audiopolicy.AudioVolumeGroupChangeHandler;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AudioVolumeGroupChangeHandlerTest extends AudioVolumesTestBase {
+    private static final String TAG = "AudioVolumeGroupChangeHandlerTest";
+
+    public void testRegisterInvalidCallback() throws Exception {
+        final AudioVolumeGroupChangeHandler audioAudioVolumeGroupChangedHandler =
+                new AudioVolumeGroupChangeHandler();
+
+        audioAudioVolumeGroupChangedHandler.init();
+
+        assertThrows(NullPointerException.class, () -> {
+            AudioManager.VolumeGroupCallback nullCb = null;
+            audioAudioVolumeGroupChangedHandler.registerListener(nullCb);
+        });
+    }
+
+    public void testUnregisterInvalidCallback() throws Exception {
+        final AudioVolumeGroupChangeHandler audioAudioVolumeGroupChangedHandler =
+                new AudioVolumeGroupChangeHandler();
+
+        audioAudioVolumeGroupChangedHandler.init();
+
+        final AudioVolumeGroupCallbackHelper cb = new AudioVolumeGroupCallbackHelper();
+        audioAudioVolumeGroupChangedHandler.registerListener(cb);
+
+        assertThrows(NullPointerException.class, () -> {
+            AudioManager.VolumeGroupCallback nullCb = null;
+            audioAudioVolumeGroupChangedHandler.unregisterListener(nullCb);
+        });
+        audioAudioVolumeGroupChangedHandler.unregisterListener(cb);
+    }
+
+    public void testRegisterUnregisterCallback() throws Exception {
+        final AudioVolumeGroupChangeHandler audioAudioVolumeGroupChangedHandler =
+                new AudioVolumeGroupChangeHandler();
+
+        audioAudioVolumeGroupChangedHandler.init();
+        final AudioVolumeGroupCallbackHelper validCb = new AudioVolumeGroupCallbackHelper();
+
+        // Should not assert, otherwise test will fail
+        audioAudioVolumeGroupChangedHandler.registerListener(validCb);
+
+        // Should not assert, otherwise test will fail
+        audioAudioVolumeGroupChangedHandler.unregisterListener(validCb);
+    }
+
+    public void testCallbackReceived() throws Exception {
+        final AudioVolumeGroupChangeHandler audioAudioVolumeGroupChangedHandler =
+                new AudioVolumeGroupChangeHandler();
+
+        audioAudioVolumeGroupChangedHandler.init();
+
+        final AudioVolumeGroupCallbackHelper validCb = new AudioVolumeGroupCallbackHelper();
+        audioAudioVolumeGroupChangedHandler.registerListener(validCb);
+
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        assertTrue(audioVolumeGroups.size() > 0);
+
+        try {
+            for (final AudioVolumeGroup audioVolumeGroup : audioVolumeGroups) {
+                int volumeGroupId = audioVolumeGroup.getId();
+
+                List<AudioAttributes> avgAttributes = audioVolumeGroup.getAudioAttributes();
+                // Set the volume per attributes (if valid) and wait the callback
+                if (avgAttributes.size() == 0 || avgAttributes.get(0).equals(sDefaultAttributes)) {
+                    // Some volume groups may not have valid attributes, used for internal
+                    // volume management like patch/rerouting
+                    // so bailing out strategy retrieval from attributes
+                    continue;
+                }
+                final AudioAttributes aa = avgAttributes.get(0);
+
+                int index = mAudioManager.getVolumeIndexForAttributes(aa);
+                int indexMax = mAudioManager.getMaxVolumeIndexForAttributes(aa);
+                int indexMin = mAudioManager.getMinVolumeIndexForAttributes(aa);
+
+                final int indexForAa = incrementVolumeIndex(index, indexMin, indexMax);
+
+                // Set the receiver to filter only the current group callback
+                validCb.setExpectedVolumeGroup(volumeGroupId);
+                mAudioManager.setVolumeIndexForAttributes(aa, indexForAa, 0/*flags*/);
+                assertTrue(validCb.waitForExpectedVolumeGroupChanged(
+                        AudioVolumeGroupCallbackHelper.ASYNC_TIMEOUT_MS));
+
+                final int readIndex = mAudioManager.getVolumeIndexForAttributes(aa);
+                assertEquals(readIndex, indexForAa);
+            }
+        } finally {
+            audioAudioVolumeGroupChangedHandler.unregisterListener(validCb);
+        }
+    }
+
+    public void testMultipleCallbackReceived() throws Exception {
+
+        final AudioVolumeGroupChangeHandler audioAudioVolumeGroupChangedHandler =
+                new AudioVolumeGroupChangeHandler();
+
+        audioAudioVolumeGroupChangedHandler.init();
+
+        final int callbackCount = 10;
+        final List<AudioVolumeGroupCallbackHelper> validCbs =
+                new ArrayList<AudioVolumeGroupCallbackHelper>();
+        for (int i = 0; i < callbackCount; i++) {
+            validCbs.add(new AudioVolumeGroupCallbackHelper());
+        }
+        for (final AudioVolumeGroupCallbackHelper cb : validCbs) {
+            audioAudioVolumeGroupChangedHandler.registerListener(cb);
+        }
+
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        assertTrue(audioVolumeGroups.size() > 0);
+
+        try {
+            for (final AudioVolumeGroup audioVolumeGroup : audioVolumeGroups) {
+                int volumeGroupId = audioVolumeGroup.getId();
+
+                List<AudioAttributes> avgAttributes = audioVolumeGroup.getAudioAttributes();
+                // Set the volume per attributes (if valid) and wait the callback
+                if (avgAttributes.size() == 0 || avgAttributes.get(0).equals(sDefaultAttributes)) {
+                    // Some volume groups may not have valid attributes, used for internal
+                    // volume management like patch/rerouting
+                    // so bailing out strategy retrieval from attributes
+                    continue;
+                }
+                AudioAttributes aa = avgAttributes.get(0);
+
+                int index = mAudioManager.getVolumeIndexForAttributes(aa);
+                int indexMax = mAudioManager.getMaxVolumeIndexForAttributes(aa);
+                int indexMin = mAudioManager.getMinVolumeIndexForAttributes(aa);
+
+                final int indexForAa = incrementVolumeIndex(index, indexMin, indexMax);
+
+                // Set the receiver to filter only the current group callback
+                for (final AudioVolumeGroupCallbackHelper cb : validCbs) {
+                    cb.setExpectedVolumeGroup(volumeGroupId);
+                }
+                mAudioManager.setVolumeIndexForAttributes(aa, indexForAa, 0/*flags*/);
+
+                for (final AudioVolumeGroupCallbackHelper cb : validCbs) {
+                    assertTrue(cb.waitForExpectedVolumeGroupChanged(
+                            AudioVolumeGroupCallbackHelper.ASYNC_TIMEOUT_MS));
+                }
+                int readIndex = mAudioManager.getVolumeIndexForAttributes(aa);
+                assertEquals(readIndex, indexForAa);
+            }
+        } finally {
+            for (final AudioVolumeGroupCallbackHelper cb : validCbs) {
+                audioAudioVolumeGroupChangedHandler.unregisterListener(cb);
+            }
+        }
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupTest.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupTest.java
new file mode 100644
index 0000000..84b24b8
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumeGroupTest.java
@@ -0,0 +1,131 @@
+/*
+ * 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.audiopolicytest;
+
+import static org.junit.Assert.assertNotEquals;
+
+import android.media.AudioAttributes;
+import android.media.AudioSystem;
+import android.media.audiopolicy.AudioProductStrategy;
+import android.media.audiopolicy.AudioVolumeGroup;
+
+import java.util.List;
+
+public class AudioVolumeGroupTest extends AudioVolumesTestBase {
+    private static final String TAG = "AudioVolumeGroupTest";
+
+    //-----------------------------------------------------------------
+    // Test getAudioVolumeGroups and validate groud id
+    //-----------------------------------------------------------------
+    public void testGetVolumeGroupsFromNonServiceCaller() throws Exception {
+        // The transaction behind getAudioVolumeGroups will fail. Check is done at binder level
+        // with policy service. Error is not reported, the list is just empty.
+        // Request must come from service components
+        List<AudioVolumeGroup> audioVolumeGroup = AudioVolumeGroup.getAudioVolumeGroups();
+
+        assertNotNull(audioVolumeGroup);
+        assertEquals(audioVolumeGroup.size(), 0);
+    }
+
+    //-----------------------------------------------------------------
+    // Test getAudioVolumeGroups and validate groud id
+    //-----------------------------------------------------------------
+    public void testGetVolumeGroups() throws Exception {
+        // Through AudioManager, the transaction behind getAudioVolumeGroups will succeed
+        final List<AudioVolumeGroup> audioVolumeGroup = mAudioManager.getAudioVolumeGroups();
+        assertNotNull(audioVolumeGroup);
+        assertTrue(audioVolumeGroup.size() > 0);
+
+        final List<AudioProductStrategy> audioProductStrategies =
+                mAudioManager.getAudioProductStrategies();
+        assertTrue(audioProductStrategies.size() > 0);
+
+        for (final AudioVolumeGroup avg : audioVolumeGroup) {
+            int avgId = avg.getId();
+            assertNotEquals(avgId, AudioVolumeGroup.DEFAULT_VOLUME_GROUP);
+
+            List<AudioAttributes> avgAttributes = avg.getAudioAttributes();
+            assertNotNull(avgAttributes);
+
+            final int[] avgStreamTypes = avg.getLegacyStreamTypes();
+            assertNotNull(avgStreamTypes);
+
+            // for each volume group attributes, find the matching product strategy and ensure
+            // it is linked the considered volume group
+            for (final AudioAttributes aa : avgAttributes) {
+                if (aa.equals(sDefaultAttributes)) {
+                    // Some volume groups may not have valid attributes, used for internal
+                    // volume management like patch/rerouting
+                    // so bailing out strategy retrieval from attributes
+                    continue;
+                }
+                boolean isVolumeGroupAssociatedToStrategy = false;
+                for (final AudioProductStrategy aps : audioProductStrategies) {
+                    int groupId = aps.getVolumeGroupIdForAudioAttributes(aa);
+                    if (groupId != AudioVolumeGroup.DEFAULT_VOLUME_GROUP) {
+                        // Note that Audio Product Strategies are priority ordered, and the
+                        // the first one matching the AudioAttributes will be used to identify
+                        // the volume group associated to the request.
+                        assertTrue(aps.supportsAudioAttributes(aa));
+                        assertEquals("Volume Group ID (" + avg.toString()
+                                + "), and Volume group ID associated to Strategy ("
+                                + aps.toString() + ") both supporting attributes "
+                                + aa.toString() + " are mismatching",
+                                avgId, groupId);
+                        isVolumeGroupAssociatedToStrategy = true;
+                        break;
+                    }
+                }
+                assertTrue("Volume Group (" + avg.toString()
+                        + ") has no associated strategy for attributes " + aa.toString(),
+                        isVolumeGroupAssociatedToStrategy);
+            }
+
+            // for each volume group stream type, find the matching product strategy and ensure
+            // it is linked the considered volume group
+            for (final int avgStreamType : avgStreamTypes) {
+                if (avgStreamType == AudioSystem.STREAM_DEFAULT) {
+                    // Some Volume Groups may not have corresponding stream types as they
+                    // intends to address volume setting per attributes to avoid adding new
+                    // stream type and going on deprecating the stream type even for volume
+                    // so bailing out strategy retrieval from stream type
+                    continue;
+                }
+                boolean isVolumeGroupAssociatedToStrategy = false;
+                for (final AudioProductStrategy aps : audioProductStrategies) {
+                    int groupId = aps.getVolumeGroupIdForLegacyStreamType(avgStreamType);
+                    if (groupId != AudioVolumeGroup.DEFAULT_VOLUME_GROUP) {
+
+                        assertEquals("Volume Group ID (" + avg.toString()
+                                + "), and Volume group ID associated to Strategy ("
+                                + aps.toString() + ") both supporting stream "
+                                + AudioSystem.streamToString(avgStreamType) + "("
+                                + avgStreamType + ") are mismatching",
+                                avgId, groupId);
+
+                        isVolumeGroupAssociatedToStrategy = true;
+                        break;
+                    }
+                }
+                assertTrue("Volume Group (" + avg.toString()
+                        + ") has no associated strategy for stream "
+                        + AudioSystem.streamToString(avgStreamType) + "(" + avgStreamType + ")",
+                        isVolumeGroupAssociatedToStrategy);
+            }
+        }
+    }
+}
diff --git a/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestBase.java b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestBase.java
new file mode 100644
index 0000000..a17d65c
--- /dev/null
+++ b/media/tests/AudioPolicyTest/src/com/android/audiopolicytest/AudioVolumesTestBase.java
@@ -0,0 +1,146 @@
+/*
+ * 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.audiopolicytest;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.audiopolicy.AudioProductStrategy;
+import android.media.audiopolicy.AudioVolumeGroup;
+import android.test.ActivityInstrumentationTestCase2;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class AudioVolumesTestBase extends ActivityInstrumentationTestCase2<AudioPolicyTest> {
+    public AudioManager mAudioManager;
+    Context mContext;
+    private Map<Integer, Integer> mOriginalStreamVolumes = new HashMap<>();
+    private Map<Integer, Integer> mOriginalVolumeGroupVolumes = new HashMap<>();
+
+    // Default matches the invalid (empty) attributes from native.
+    // The difference is the input source default which is not aligned between native and java
+    public static final AudioAttributes sDefaultAttributes =
+            AudioProductStrategy.sDefaultAttributes;
+
+    public static final AudioAttributes sInvalidAttributes = new AudioAttributes.Builder().build();
+
+    public final int[] PUBLIC_STREAM_TYPES = { AudioManager.STREAM_VOICE_CALL,
+            AudioManager.STREAM_SYSTEM, AudioManager.STREAM_RING, AudioManager.STREAM_MUSIC,
+            AudioManager.STREAM_ALARM, AudioManager.STREAM_NOTIFICATION,
+            AudioManager.STREAM_DTMF,  AudioManager.STREAM_ACCESSIBILITY };
+
+    public AudioVolumesTestBase() {
+        super("com.android.audiopolicytest", AudioPolicyTest.class);
+    }
+
+    /**
+     * <p>Note: must be called with shell permission (MODIFY_AUDIO_ROUTING)
+     */
+    private void storeAllVolumes() {
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        for (final AudioVolumeGroup avg : audioVolumeGroups) {
+            if (avg.getAudioAttributes().isEmpty()) {
+                // some volume group may not supports volume control per attributes
+                // like rerouting/patch since these groups are internal to audio policy manager
+                continue;
+            }
+            AudioAttributes avgAttributes = sDefaultAttributes;
+            for (final AudioAttributes aa : avg.getAudioAttributes()) {
+                if (!aa.equals(AudioProductStrategy.sDefaultAttributes)) {
+                    avgAttributes = aa;
+                    break;
+                }
+            }
+            if (avgAttributes.equals(sDefaultAttributes)) {
+                // This shall not happen, however, not purpose of this base class.
+                // so bailing out.
+                continue;
+            }
+            mOriginalVolumeGroupVolumes.put(
+                    avg.getId(), mAudioManager.getVolumeIndexForAttributes(avgAttributes));
+        }
+    }
+
+    /**
+     * <p>Note: must be called with shell permission (MODIFY_AUDIO_ROUTING)
+     */
+    private void restoreAllVolumes() {
+        List<AudioVolumeGroup> audioVolumeGroups = mAudioManager.getAudioVolumeGroups();
+        for (Map.Entry<Integer, Integer> e : mOriginalVolumeGroupVolumes.entrySet()) {
+            for (final AudioVolumeGroup avg : audioVolumeGroups) {
+                if (avg.getId() == e.getKey()) {
+                    assertTrue(!avg.getAudioAttributes().isEmpty());
+                    AudioAttributes avgAttributes = sDefaultAttributes;
+                    for (final AudioAttributes aa : avg.getAudioAttributes()) {
+                        if (!aa.equals(AudioProductStrategy.sDefaultAttributes)) {
+                            avgAttributes = aa;
+                            break;
+                        }
+                    }
+                    assertTrue(!avgAttributes.equals(sDefaultAttributes));
+                    mAudioManager.setVolumeIndexForAttributes(
+                            avgAttributes, e.getValue(), AudioManager.FLAG_ALLOW_RINGER_MODES);
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        mContext = getActivity();
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+
+        assertEquals(PackageManager.PERMISSION_GRANTED,
+                mContext.checkSelfPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING));
+
+        // Store the original volumes that that they can be recovered in tearDown().
+        mOriginalStreamVolumes.clear();
+        for (int streamType : PUBLIC_STREAM_TYPES) {
+            mOriginalStreamVolumes.put(streamType, mAudioManager.getStreamVolume(streamType));
+        }
+        // Store the original volume per attributes so that they can be recovered in tearDown()
+        mOriginalVolumeGroupVolumes.clear();
+        storeAllVolumes();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+
+        // Recover the volume and the ringer mode that the test may have overwritten.
+        for (Map.Entry<Integer, Integer> e : mOriginalStreamVolumes.entrySet()) {
+            mAudioManager.setStreamVolume(e.getKey(), e.getValue(),
+                                          AudioManager.FLAG_ALLOW_RINGER_MODES);
+        }
+
+        // Recover the original volume per attributes
+        restoreAllVolumes();
+    }
+
+    public static int resetVolumeIndex(int indexMin, int indexMax) {
+        return (indexMax + indexMin) / 2;
+    }
+
+    public static int incrementVolumeIndex(int index, int indexMin, int indexMax) {
+        return (index + 1 > indexMax) ? resetVolumeIndex(indexMin, indexMax) : ++index;
+    }
+}
diff --git a/packages/CarSystemUI/res/drawable/unlock_dialog_background.xml b/packages/CarSystemUI/res/drawable/unlock_dialog_background.xml
deleted file mode 100644
index bec6ba7..0000000
--- a/packages/CarSystemUI/res/drawable/unlock_dialog_background.xml
+++ /dev/null
@@ -1,26 +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
-  -->
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-  <solid android:color="@color/unlock_dialog_background_color"/>
-  <padding
-      android:bottom="@*android:dimen/car_padding_2"
-      android:left="@*android:dimen/car_padding_2"
-      android:right="@*android:dimen/car_padding_2"
-      android:top="@*android:dimen/car_padding_2"/>
-  <corners
-      android:radius="@dimen/unlock_dialog_radius"/>
-</shape>
\ No newline at end of file
diff --git a/packages/CarSystemUI/res/layout/car_qs_footer.xml b/packages/CarSystemUI/res/layout/car_qs_footer.xml
deleted file mode 100644
index bf96c00..0000000
--- a/packages/CarSystemUI/res/layout/car_qs_footer.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<!-- extends RelativeLayout -->
-<com.android.systemui.qs.car.CarQSFooter
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/qs_footer"
-    android:layout_width="match_parent"
-    android:layout_height="@dimen/car_qs_footer_height"
-    android:baselineAligned="false"
-    android:clickable="false"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:paddingBottom="@dimen/car_qs_footer_padding_bottom"
-    android:paddingTop="@dimen/car_qs_footer_padding_top"
-    android:paddingEnd="@dimen/car_qs_footer_padding_end"
-    android:paddingStart="@dimen/car_qs_footer_padding_start"
-    android:gravity="center_vertical">
-
-    <com.android.systemui.statusbar.phone.MultiUserSwitch
-        android:id="@+id/multi_user_switch"
-        android:layout_alignParentStart="true"
-        android:layout_centerVertical="true"
-        android:layout_width="@dimen/car_qs_footer_icon_width"
-        android:layout_height="@dimen/car_qs_footer_icon_height"
-        android:background="?android:attr/selectableItemBackground"
-        android:focusable="true">
-
-        <ImageView
-            android:id="@+id/multi_user_avatar"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_gravity="center"
-            android:scaleType="fitCenter"/>
-    </com.android.systemui.statusbar.phone.MultiUserSwitch>
-
-    <ImageView
-        android:id="@+id/user_switch_expand_icon"
-        android:layout_height="match_parent"
-        android:layout_width="@dimen/car_qs_footer_user_switch_icon_width"
-        android:layout_centerVertical="true"
-        android:layout_toEndOf="@+id/multi_user_switch"
-        android:layout_marginLeft="@dimen/car_qs_footer_user_switch_icon_margin"
-        android:layout_marginRight="@dimen/car_qs_footer_user_switch_icon_margin"
-        android:src="@drawable/car_ic_arrow_drop_up"
-        android:scaleType="fitCenter">
-    </ImageView>
-
-    <TextView android:id="@+id/user_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textSize="@dimen/car_qs_footer_user_name_text_size"
-        android:textColor="@color/car_qs_footer_user_name_color"
-        android:gravity="start|center_vertical"
-        android:layout_centerVertical="true"
-        android:layout_toEndOf="@id/user_switch_expand_icon" />
-
-    <com.android.systemui.statusbar.phone.SettingsButton
-        android:id="@+id/settings_button"
-        android:layout_alignParentEnd="true"
-        android:layout_centerVertical="true"
-        android:layout_width="@dimen/car_qs_footer_icon_width"
-        android:layout_height="@dimen/car_qs_footer_icon_height"
-        android:background="@drawable/ripple_drawable"
-        android:contentDescription="@string/accessibility_quick_settings_settings"
-        android:scaleType="centerCrop"
-        android:src="@drawable/ic_settings_16dp"
-        android:tint="?android:attr/colorForeground"
-        style="@android:style/Widget.Material.Button.Borderless" />
-
-</com.android.systemui.qs.car.CarQSFooter>
diff --git a/packages/CarSystemUI/res/layout/car_qs_panel.xml b/packages/CarSystemUI/res/layout/car_qs_panel.xml
deleted file mode 100644
index 0c6f322..0000000
--- a/packages/CarSystemUI/res/layout/car_qs_panel.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/quick_settings_container"
-    android:clipChildren="false"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="@color/car_qs_background_primary"
-    android:orientation="vertical"
-    android:elevation="4dp">
-
-    <include layout="@layout/car_status_bar_header"/>
-    <include layout="@layout/car_qs_footer"/>
-
-    <RelativeLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/user_switcher_container"
-        android:clipChildren="false"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/car_user_switcher_container_height">
-
-        <com.android.systemui.car.userswitcher.UserGridRecyclerView
-            android:id="@+id/user_grid"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-
-    </RelativeLayout>
-
-</LinearLayout>
diff --git a/packages/CarSystemUI/res/layout/car_status_bar_header.xml b/packages/CarSystemUI/res/layout/car_status_bar_header.xml
index 81c7108..12c9f11 100644
--- a/packages/CarSystemUI/res/layout/car_status_bar_header.xml
+++ b/packages/CarSystemUI/res/layout/car_status_bar_header.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License
   -->
 <!-- Extends LinearLayout -->
-<com.android.systemui.qs.car.CarStatusBarHeader
+<com.android.systemui.car.userswitcher.CarStatusBarHeader
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/header"
     android:layout_width="match_parent"
@@ -27,4 +27,4 @@
         android:layout_height="match_parent"
         android:layout_weight="1"
     />
-</com.android.systemui.qs.car.CarStatusBarHeader>
+</com.android.systemui.car.userswitcher.CarStatusBarHeader>
diff --git a/packages/CarSystemUI/res/layout/trust_agent_unlock_dialog.xml b/packages/CarSystemUI/res/layout/trust_agent_unlock_dialog.xml
deleted file mode 100644
index 9df78f1..0000000
--- a/packages/CarSystemUI/res/layout/trust_agent_unlock_dialog.xml
+++ /dev/null
@@ -1,73 +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:id="@+id/unlock_dialog_parent"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:gravity="center">
-
-    <LinearLayout
-        android:id="@+id/unlock_dialog"
-        android:layout_width="@dimen/unlock_dialog_width"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:layout_gravity="center"
-        android:orientation="vertical"
-        android:background="@drawable/unlock_dialog_background"
-        android:padding="@*android:dimen/car_padding_2">
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content">
-            <ProgressBar
-                android:layout_gravity="center"
-                android:layout_width="@dimen/unlock_dialog_progress_bar_size"
-                android:layout_height="@dimen/unlock_dialog_progress_bar_size" />
-            <ImageView
-                android:id="@+id/avatar"
-                android:layout_gravity="center"
-                android:layout_width="@dimen/unlock_dialog_avatar_size"
-                android:layout_height="@dimen/unlock_dialog_avatar_size"
-                android:scaleType="fitCenter"/>
-        </FrameLayout>
-
-        <TextView
-            android:id="@+id/user_name"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
-            android:text="@string/unlock_dialog_default_user_name"
-            android:textSize="@*android:dimen/car_body1_size"
-            android:textColor="@android:color/white"/>
-
-        <TextView
-            android:id="@+id/unlocking_text"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
-            android:layout_marginTop="@*android:dimen/car_padding_1"
-            android:text="@string/unlock_dialog_message_default"
-            android:textSize="@*android:dimen/car_body4_size"
-            android:textColor="@color/unlock_dialog_message_text_default"/>
-
-        <Button
-            android:id="@+id/enter_pin_button"
-            android:layout_marginTop="@*android:dimen/car_padding_1"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
-            android:text="@string/unlock_dialog_button_text_pin"
-            style="@style/UnlockDialogButton"/>
-    </LinearLayout>
-</FrameLayout>
\ No newline at end of file
diff --git a/packages/CarSystemUI/res/values-af/strings.xml b/packages/CarSystemUI/res/values-af/strings.xml
new file mode 100644
index 0000000..8eba6dc
--- /dev/null
+++ b/packages/CarSystemUI/res/values-af/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Stemherkenning nou deur gekoppelde Bluetooth-toestel hanteer"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-af/strings_car.xml b/packages/CarSystemUI/res/values-af/strings_car.xml
new file mode 100644
index 0000000..a6b6093
--- /dev/null
+++ b/packages/CarSystemUI/res/values-af/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gas"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gas"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Voeg gebruiker by"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nuwe gebruiker"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Wanneer jy \'n nuwe gebruiker byvoeg, moet daardie persoon hul spasie opstel."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Enige gebruiker kan programme vir al die ander gebruikers opdateer."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-am/strings.xml b/packages/CarSystemUI/res/values-am/strings.xml
new file mode 100644
index 0000000..1e971b4
--- /dev/null
+++ b/packages/CarSystemUI/res/values-am/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"ዝቅተኛ"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"ከፍተኛ"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"የድምፅ ለይቶ ማወቅ አሁን በተገናኘ የብሉቱዝ መሣሪያ ይስተናገዳል"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-am/strings_car.xml b/packages/CarSystemUI/res/values-am/strings_car.xml
new file mode 100644
index 0000000..7f5895a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-am/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"እንግዳ"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"እንግዳ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ተጠቃሚ አክል"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"አዲስ ተጠቃሚ"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"አዲስ ተጠቃሚ ሲያክሉ ያ ሰው የራሳቸውን ቦታ ማቀናበር አለባቸው።"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ማንኛውም ተጠቃሚ መተግበሪያዎችን ለሌሎች ተጠቃሚዎች ሁሉ ማዘመን ይችላል።"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-as/strings.xml b/packages/CarSystemUI/res/values-as/strings.xml
new file mode 100644
index 0000000..abd090e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-as/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"সর্বনিম্ন"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"সৰ্বাধিক"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"কণ্ঠস্বৰৰ চিনাক্তকৰণ এতিয়া সংযুক্ত ব্লুটুথ ডিভাইচে নিয়ন্ত্ৰণ কৰে"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-as/strings_car.xml b/packages/CarSystemUI/res/values-as/strings_car.xml
new file mode 100644
index 0000000..6eabbd4
--- /dev/null
+++ b/packages/CarSystemUI/res/values-as/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"অতিথি"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"অতিথি"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ব্যৱহাৰকাৰী যোগ কৰক"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"নতুন ব্যৱহাৰকাৰী"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"আপুনি যেতিয়া এজন নতুন ব্যৱহাৰকাৰীক যোগ কৰে, তেতিয়া তেওঁ নিজৰ ঠাই ছেট আপ কৰাটো প্ৰয়োজন হয়।"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"অন্য সকলো ব্যৱহাৰকাৰীৰ বাবে যিকোনো এজন ব্যৱহাৰকাৰীয়ে এপ্‌সমূহ আপডে\'ট কৰিব পাৰে।"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-az/strings.xml b/packages/CarSystemUI/res/values-az/strings.xml
new file mode 100644
index 0000000..1caf65a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-az/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Səs tanınması qoşulmuş Bluetooth cihazı ilə icra edilir"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-az/strings_car.xml b/packages/CarSystemUI/res/values-az/strings_car.xml
new file mode 100644
index 0000000..aeee105
--- /dev/null
+++ b/packages/CarSystemUI/res/values-az/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Qonaq"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Qonaq"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"İstifadəçi əlavə edin"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Yeni istifadəçi"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Yeni istifadəçi əlavə etdiyinizdə həmin şəxs öz yerini təyin etməlidir."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"İstənilən istifadəçi digər bütün istifadəçilər üçün tətbiqləri güncəlləyə bilər."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-b+sr+Latn/strings.xml b/packages/CarSystemUI/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..e0a34fd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Prepoznavanjem glasa sada upravlja povezani Bluetooth uređaj"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-b+sr+Latn/strings_car.xml b/packages/CarSystemUI/res/values-b+sr+Latn/strings_car.xml
new file mode 100644
index 0000000..f3b53a5
--- /dev/null
+++ b/packages/CarSystemUI/res/values-b+sr+Latn/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gost"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gost"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Dodaj korisnika"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novi korisnik"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kada dodate novog korisnika, ta osoba treba da podesi svoj prostor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Svaki korisnik može da ažurira aplikacije za sve ostale korisnike."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-be/strings.xml b/packages/CarSystemUI/res/values-be/strings.xml
new file mode 100644
index 0000000..8c58c54
--- /dev/null
+++ b/packages/CarSystemUI/res/values-be/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мін"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Макс"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Распазнаванне голасу выконвае падключаная прылада Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-be/strings_car.xml b/packages/CarSystemUI/res/values-be/strings_car.xml
new file mode 100644
index 0000000..1215af2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-be/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Госць"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Госць"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Дадаць карыстальніка"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Новы карыстальнік"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Калі вы дадаяце новага карыстальніка, яму трэба наладзіць свой профіль."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Кожны карыстальнік прылады можа абнаўляць праграмы для ўсіх іншых карыстальнікаў."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bg/strings.xml b/packages/CarSystemUI/res/values-bg/strings.xml
new file mode 100644
index 0000000..c638304
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bg/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мин."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Макс."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Гл. разпознаване се обработва от свързаното у-во с Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bg/strings_car.xml b/packages/CarSystemUI/res/values-bg/strings_car.xml
new file mode 100644
index 0000000..d95b18e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bg/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Гост"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Гост"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Добавяне на потребител"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Нов потребител"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Когато добавите нов потребител, той трябва да настрои работното си пространство."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Всеки потребител може да актуализира приложенията за всички останали потребители."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bn/strings.xml b/packages/CarSystemUI/res/values-bn/strings.xml
new file mode 100644
index 0000000..db072df
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bn/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"সর্বনিম্ন"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"সর্বাধিক"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"কানেক্ট করা ব্লুটুথ ডিভাইস এখন ভয়েস শনাক্তকরণ ম্যানেজ করছে"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bn/strings_car.xml b/packages/CarSystemUI/res/values-bn/strings_car.xml
new file mode 100644
index 0000000..f44ba6e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bn/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"অতিথি"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"অতিথি সেশন শুরু করুন"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ব্যবহারকারী যোগ করুন"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"নতুন ব্যবহারকারী"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"নতুন ব্যবহারকারী যোগ করলে, তার স্পেস তাকে সেট-আপ করে নিতে হবে।"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"যেকোনও ব্যবহারকারী বাকি সব ব্যবহারকারীর জন্য অ্যাপ আপডেট করতে পারবেন।"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bs/strings.xml b/packages/CarSystemUI/res/values-bs/strings.xml
new file mode 100644
index 0000000..e0a34fd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bs/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Prepoznavanjem glasa sada upravlja povezani Bluetooth uređaj"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-bs/strings_car.xml b/packages/CarSystemUI/res/values-bs/strings_car.xml
new file mode 100644
index 0000000..e56f861
--- /dev/null
+++ b/packages/CarSystemUI/res/values-bs/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gost"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gost"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Dodaj korisnika"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novi korisnik"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kada dodate novog korisnika, ta osoba treba postaviti svoj prostor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Svaki korisnik može ažurirati aplikacije za sve druge korisnike."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ca/strings.xml b/packages/CarSystemUI/res/values-ca/strings.xml
new file mode 100644
index 0000000..1d743f9
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ca/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Màx."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Reconeixement de veu gestionat per disp. Bluetooth connectat"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ca/strings_car.xml b/packages/CarSystemUI/res/values-ca/strings_car.xml
new file mode 100644
index 0000000..89725a2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ca/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Convidat"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Convidat"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Afegeix un usuari"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Usuari nou"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Quan s\'afegeix un usuari nou, aquest usuari ha de configurar el seu espai."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Qualsevol usuari pot actualitzar les aplicacions de la resta d\'usuaris."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-cs/strings.xml b/packages/CarSystemUI/res/values-cs/strings.xml
new file mode 100644
index 0000000..5548252c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-cs/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Rozpoznávání hlasu teď provádí připojené zařízení Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-cs/strings_car.xml b/packages/CarSystemUI/res/values-cs/strings_car.xml
new file mode 100644
index 0000000..1043950
--- /dev/null
+++ b/packages/CarSystemUI/res/values-cs/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Host"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Host"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Přidat uživatele"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nový uživatel"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Každý nově přidaný uživatel si musí nastavit vlastní prostor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Každý uživatel může aktualizovat aplikace všech ostatních uživatelů."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-da/strings.xml b/packages/CarSystemUI/res/values-da/strings.xml
new file mode 100644
index 0000000..141a795
--- /dev/null
+++ b/packages/CarSystemUI/res/values-da/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Talegenkendelse sker nu med den forbundne Blutetooth-enhed"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-da/strings_car.xml b/packages/CarSystemUI/res/values-da/strings_car.xml
new file mode 100644
index 0000000..7a63ec1
--- /dev/null
+++ b/packages/CarSystemUI/res/values-da/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gæst"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gæst"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Tilføj bruger"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Ny bruger"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Når du tilføjer en ny bruger, skal vedkommende konfigurere sit område."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Alle brugere kan opdatere apps for alle andre brugere."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-de/strings.xml b/packages/CarSystemUI/res/values-de/strings.xml
new file mode 100644
index 0000000..bfb27c23c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-de/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Spracherkennung jetzt über das verbundene Bluetooth-Gerät"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-de/strings_car.xml b/packages/CarSystemUI/res/values-de/strings_car.xml
new file mode 100644
index 0000000..c1acc65
--- /dev/null
+++ b/packages/CarSystemUI/res/values-de/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gast"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gast"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Nutzer hinzufügen"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Neuer Nutzer"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Wenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Jeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-el/strings.xml b/packages/CarSystemUI/res/values-el/strings.xml
new file mode 100644
index 0000000..d851133
--- /dev/null
+++ b/packages/CarSystemUI/res/values-el/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Ελάχ."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Μεγ."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Φωνητική αναγνωση από συνδεδεμένη συσκευή Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-el/strings_car.xml b/packages/CarSystemUI/res/values-el/strings_car.xml
new file mode 100644
index 0000000..48c5c3e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-el/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Επισκέπτης"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Επισκέπτης"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Προσθήκη χρήστη"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Νέος χρήστης"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Κατά την προσθήκη ενός νέου χρήστη, αυτός θα πρέπει να ρυθμίσει τον χώρο του."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Οποιοσδήποτε χρήστης μπορεί να ενημερώσει τις εφαρμογές για όλους τους άλλους χρήστες."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rAU/strings.xml b/packages/CarSystemUI/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..617710a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rAU/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Voice recognition now handled by connected Bluetooth device"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rAU/strings_car.xml b/packages/CarSystemUI/res/values-en-rAU/strings_car.xml
new file mode 100644
index 0000000..55dc48c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rAU/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Guest"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Guest"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Add user"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"New user"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"When you add a new user, that person needs to set up their space."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Any user can update apps for all other users."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rCA/strings.xml b/packages/CarSystemUI/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..617710a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rCA/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Voice recognition now handled by connected Bluetooth device"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rCA/strings_car.xml b/packages/CarSystemUI/res/values-en-rCA/strings_car.xml
new file mode 100644
index 0000000..55dc48c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rCA/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Guest"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Guest"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Add user"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"New user"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"When you add a new user, that person needs to set up their space."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Any user can update apps for all other users."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rGB/strings.xml b/packages/CarSystemUI/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..617710a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rGB/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Voice recognition now handled by connected Bluetooth device"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rGB/strings_car.xml b/packages/CarSystemUI/res/values-en-rGB/strings_car.xml
new file mode 100644
index 0000000..55dc48c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rGB/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Guest"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Guest"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Add user"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"New user"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"When you add a new user, that person needs to set up their space."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Any user can update apps for all other users."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rIN/strings.xml b/packages/CarSystemUI/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..617710a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rIN/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Voice recognition now handled by connected Bluetooth device"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rIN/strings_car.xml b/packages/CarSystemUI/res/values-en-rIN/strings_car.xml
new file mode 100644
index 0000000..55dc48c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rIN/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Guest"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Guest"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Add user"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"New user"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"When you add a new user, that person needs to set up their space."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Any user can update apps for all other users."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rXC/strings.xml b/packages/CarSystemUI/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..fec49f2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rXC/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎Min‎‏‎‎‏‎"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎Max‎‏‎‎‏‎"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎Voice recognition now handled by connected Bluetooth device‎‏‎‎‏‎"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-en-rXC/strings_car.xml b/packages/CarSystemUI/res/values-en-rXC/strings_car.xml
new file mode 100644
index 0000000..17ad62c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-en-rXC/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎Guest‎‏‎‎‏‎"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‎Guest‎‏‎‎‏‎"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎Add User‎‏‎‎‏‎"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎New User‎‏‎‎‏‎"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎When you add a new user, that person needs to set up their space.‎‏‎‎‏‎"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎Any user can update apps for all other users.‎‏‎‎‏‎"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-es-rUS/strings.xml b/packages/CarSystemUI/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..e66891f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-es-rUS/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Máx."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"El dispositivo Bluetooth administra el reconocimiento de voz"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-es-rUS/strings_car.xml b/packages/CarSystemUI/res/values-es-rUS/strings_car.xml
new file mode 100644
index 0000000..cc31ae4
--- /dev/null
+++ b/packages/CarSystemUI/res/values-es-rUS/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Invitado"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Invitado"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Agregar usuario"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Usuario nuevo"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Cuando agregues un usuario nuevo, esa persona deberá configurar su espacio."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Cualquier usuario podrá actualizar las apps de otras personas."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-es/strings.xml b/packages/CarSystemUI/res/values-es/strings.xml
new file mode 100644
index 0000000..a9d1b5f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-es/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Máx."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"El dispositivo Bluetooth gestiona el reconocimiento de voz"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-es/strings_car.xml b/packages/CarSystemUI/res/values-es/strings_car.xml
new file mode 100644
index 0000000..26ce2f1
--- /dev/null
+++ b/packages/CarSystemUI/res/values-es/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Invitado"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Invitado"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Añadir usuario"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nuevo usuario"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Al añadir un usuario, esta persona debe configurar su espacio."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Cualquier usuario puede actualizar las aplicaciones del resto de los usuarios."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-et/strings.xml b/packages/CarSystemUI/res/values-et/strings.xml
new file mode 100644
index 0000000..e7f98c2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-et/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Häältuvastust haldab nüüd ühendatud Bluetoothi seade"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-et/strings_car.xml b/packages/CarSystemUI/res/values-et/strings_car.xml
new file mode 100644
index 0000000..ce475b1
--- /dev/null
+++ b/packages/CarSystemUI/res/values-et/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Külaline"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Külaline"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Lisa kasutaja"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Uus kasutaja"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kui lisate uue kasutaja, siis peab ta seadistama oma ruumi."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Iga kasutaja saab rakendusi värskendada kõigi teiste kasutajate jaoks."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-eu/strings.xml b/packages/CarSystemUI/res/values-eu/strings.xml
new file mode 100644
index 0000000..b8dd6fd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-eu/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Konektatutako Bluetooth bidezko gailuak kudeatzen du ahotsa ezagutzeko eginbidea"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-eu/strings_car.xml b/packages/CarSystemUI/res/values-eu/strings_car.xml
new file mode 100644
index 0000000..be7c6dc
--- /dev/null
+++ b/packages/CarSystemUI/res/values-eu/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gonbidatua"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gonbidatua"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Gehitu erabiltzaile bat"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Erabiltzaile berria"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Erabiltzaile bat gehitzen duzunean, bere eremua konfiguratu beharko du."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Edozein erabiltzailek egunera ditzake beste erabiltzaile guztien aplikazioak."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fa/strings.xml b/packages/CarSystemUI/res/values-fa/strings.xml
new file mode 100644
index 0000000..06e401b
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fa/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"حداقل"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"حداکثر"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"اکنون تشخیص صدا را دستگاه بلوتوث متصل کنترل می‌کند"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fa/strings_car.xml b/packages/CarSystemUI/res/values-fa/strings_car.xml
new file mode 100644
index 0000000..5138d5f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fa/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"مهمان"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"مهمان"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"افزودن کاربر"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"کاربر جدید"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"وقتی کاربری جدید اضافه می‌کنید، آن فرد باید فضای خود را تنظیم کند."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"هر کاربری می‌تواند برنامه‌ها را برای همه کاربران دیگر به‌روزرسانی کند."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fi/strings.xml b/packages/CarSystemUI/res/values-fi/strings.xml
new file mode 100644
index 0000000..3476db7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fi/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Alin"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Ylin"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Äänentunnistus tehdään nyt yhdistetyllä Bluetooth-laitteella"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fi/strings_car.xml b/packages/CarSystemUI/res/values-fi/strings_car.xml
new file mode 100644
index 0000000..5963b52
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fi/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Vieras"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Vieras"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Lisää käyttäjä"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Uusi käyttäjä"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kun lisäät uuden käyttäjän, hänen on valittava oman tilansa asetukset."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Kaikki käyttäjät voivat päivittää muiden käyttäjien sovelluksia."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fr-rCA/strings.xml b/packages/CarSystemUI/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..c1ee701
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fr-rCA/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"La reconn. voc. est gérée par l\'appareil Bluetooth connecté"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fr-rCA/strings_car.xml b/packages/CarSystemUI/res/values-fr-rCA/strings_car.xml
new file mode 100644
index 0000000..ab0a302
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fr-rCA/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Invité"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Invité"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Ajouter un utilisateur"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nouvel utilisateur"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Lorsque vous ajoutez un utilisateur, celui-ci doit configurer son espace."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Tout utilisateur peut mettre à jour les applications pour tous les autres utilisateurs."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fr/strings.xml b/packages/CarSystemUI/res/values-fr/strings.xml
new file mode 100644
index 0000000..3bfdef1
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"L\'appareil Bluetooth connecté gère la reconnaissance vocale"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-fr/strings_car.xml b/packages/CarSystemUI/res/values-fr/strings_car.xml
new file mode 100644
index 0000000..b072ecc
--- /dev/null
+++ b/packages/CarSystemUI/res/values-fr/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Invité"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Invité"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Ajouter un utilisateur"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nouvel utilisateur"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Lorsque vous ajoutez un utilisateur, celui-ci doit configurer son espace."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"N\'importe quel utilisateur peut mettre à jour les applications pour tous les autres utilisateurs."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-gl/strings.xml b/packages/CarSystemUI/res/values-gl/strings.xml
new file mode 100644
index 0000000..c8d6622
--- /dev/null
+++ b/packages/CarSystemUI/res/values-gl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Máx."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"O dispositivo Bluetooth xestionará o recoñecemento de voz"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-gl/strings_car.xml b/packages/CarSystemUI/res/values-gl/strings_car.xml
new file mode 100644
index 0000000..fc4af28
--- /dev/null
+++ b/packages/CarSystemUI/res/values-gl/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Convidado"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Convidado"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Engadir usuario"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novo usuario"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Cando engadas un usuario novo, este deberá configurar o seu espazo."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Calquera usuario pode actualizar as aplicacións para o resto dos usuarios."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-gu/strings.xml b/packages/CarSystemUI/res/values-gu/strings.xml
new file mode 100644
index 0000000..151fbde
--- /dev/null
+++ b/packages/CarSystemUI/res/values-gu/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"ન્યૂનતમ"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"મહત્તમ"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"અવાજની ઓળખ હવે કનેક્ટેડ બ્લૂટૂથ ડિવાઇસ વડે નિયંત્રિત થશે"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-gu/strings_car.xml b/packages/CarSystemUI/res/values-gu/strings_car.xml
new file mode 100644
index 0000000..48a9daca
--- /dev/null
+++ b/packages/CarSystemUI/res/values-gu/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"અતિથિ"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"અતિથિ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"વપરાશકર્તા ઉમેરો"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"નવા વપરાશકર્તા"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"જ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિએ તેમની સ્પેસ સેટ કરવાની જરૂર રહે છે."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"કોઈપણ વપરાશકર્તા અન્ય બધા વપરાશકર્તાઓ માટે ઍપને અપડેટ કરી શકે છે."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hi/strings.xml b/packages/CarSystemUI/res/values-hi/strings.xml
new file mode 100644
index 0000000..e966acc
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hi/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"कम से कम"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"ज़्यादा से ज़्यादा"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"अब आवाज़ पहचानने का काम, कनेक्ट किए गए ब्लूटूथ डिवाइस करते हैं"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hi/strings_car.xml b/packages/CarSystemUI/res/values-hi/strings_car.xml
new file mode 100644
index 0000000..ec83e95
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hi/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"मेहमान"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"मेहमान"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"उपयोगकर्ता जोड़ें"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"नया उपयोगकर्ता"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"जब आप कोई नया उपयोगकर्ता जोड़ते हैं, तब उसे अपनी जगह सेट करनी होती है."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"कोई भी उपयोगकर्ता बाकी सभी उपयोगकर्ताओं के लिए ऐप्लिकेशन अपडेट कर सकता है."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hr/strings.xml b/packages/CarSystemUI/res/values-hr/strings.xml
new file mode 100644
index 0000000..51b1943
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Prepoznavanjem glasa rukuje se s povezanog Bluetooth uređaja"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hr/strings_car.xml b/packages/CarSystemUI/res/values-hr/strings_car.xml
new file mode 100644
index 0000000..d707145
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hr/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gost"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gost"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Dodajte korisnika"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novi korisnik"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kada dodate novog korisnika, ta osoba mora postaviti vlastiti prostor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Svaki korisnik može ažurirati aplikacije za ostale korisnike."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hu/strings.xml b/packages/CarSystemUI/res/values-hu/strings.xml
new file mode 100644
index 0000000..3613da7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hu/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"A hangfelismerést a csatlakoztatott Bluetooth-eszköz kezeli"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hu/strings_car.xml b/packages/CarSystemUI/res/values-hu/strings_car.xml
new file mode 100644
index 0000000..4f11ec2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hu/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Vendég"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Vendég"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Felhasználó hozzáadása"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Új felhasználó"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Ha új felhasználót ad hozzá, az illetőnek be kell állítania saját felületét."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Bármely felhasználó frissítheti az alkalmazásokat az összes felhasználó számára."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hy/strings.xml b/packages/CarSystemUI/res/values-hy/strings.xml
new file mode 100644
index 0000000..3850f70
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hy/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Նվազ․"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Առավ․"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Ձայնի ճանաչումը մշակվում է միացված Bluetooth սարքի կողմից"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-hy/strings_car.xml b/packages/CarSystemUI/res/values-hy/strings_car.xml
new file mode 100644
index 0000000..5559999
--- /dev/null
+++ b/packages/CarSystemUI/res/values-hy/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Հյուր"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Հյուրի ռեժիմ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Ավելացնել օգտատեր"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Նոր օգտատեր"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Երբ դուք նոր օգտատեր եք ավելացնում, նա պետք է կարգավորի իր պրոֆիլը։"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Ցանկացած օգտատեր կարող է թարմացնել հավելվածները բոլոր մյուս հաշիվների համար։"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-in/strings.xml b/packages/CarSystemUI/res/values-in/strings.xml
new file mode 100644
index 0000000..c702bdb6
--- /dev/null
+++ b/packages/CarSystemUI/res/values-in/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Pengenalan suara ditangani perangkat Bluetooth terhubung"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-in/strings_car.xml b/packages/CarSystemUI/res/values-in/strings_car.xml
new file mode 100644
index 0000000..69f23ce
--- /dev/null
+++ b/packages/CarSystemUI/res/values-in/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Tamu"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Tamu"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Tambahkan Pengguna"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Pengguna Baru"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Saat Anda menambahkan pengguna baru, orang tersebut perlu menyiapkan ruangnya sendiri."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Setiap pengguna dapat mengupdate aplikasi untuk semua pengguna lain."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-is/strings.xml b/packages/CarSystemUI/res/values-is/strings.xml
new file mode 100644
index 0000000..3ca6f30
--- /dev/null
+++ b/packages/CarSystemUI/res/values-is/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Lágm."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Hám."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Raddgreiningu er nú stjórnað af tengdu Bluetooth-tæki"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-is/strings_car.xml b/packages/CarSystemUI/res/values-is/strings_car.xml
new file mode 100644
index 0000000..430e902
--- /dev/null
+++ b/packages/CarSystemUI/res/values-is/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gestur"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gestur"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Bæta notanda við"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nýr notandi"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Þegar þú bætir nýjum notanda við þarf viðkomandi að setja upp sitt eigið svæði."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Allir notendur geta uppfært forrit fyrir alla aðra notendur."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-it/strings.xml b/packages/CarSystemUI/res/values-it/strings.xml
new file mode 100644
index 0000000..54a4e1c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-it/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Riconoscimento vocale gestito da dispos. Bluetooth connesso"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-it/strings_car.xml b/packages/CarSystemUI/res/values-it/strings_car.xml
new file mode 100644
index 0000000..9c498df
--- /dev/null
+++ b/packages/CarSystemUI/res/values-it/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Ospite"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Ospite"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Aggiungi utente"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nuovo utente"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Il nuovo utente, una volta aggiunto, dovrà configurare il suo spazio."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Qualsiasi utente può aggiornare le app per tutti gli altri."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ja/strings.xml b/packages/CarSystemUI/res/values-ja/strings.xml
new file mode 100644
index 0000000..ab20a20
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ja/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"最小"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"最大"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Bluetooth 接続デバイスで音声認識が処理されるようになりました"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ja/strings_car.xml b/packages/CarSystemUI/res/values-ja/strings_car.xml
new file mode 100644
index 0000000..d59b267
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ja/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ゲスト"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ゲスト"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ユーザーを追加"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"新しいユーザー"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"新しいユーザーを追加したら、そのユーザーは自分のスペースをセットアップする必要があります。"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"どのユーザーも他のすべてのユーザーに代わってアプリを更新できます。"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ka/strings.xml b/packages/CarSystemUI/res/values-ka/strings.xml
new file mode 100644
index 0000000..94e25ea
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ka/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"მინ"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"მაქს"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ხმის ამოცნობა დამუშავდება დაკავშირებული Bluetooth-მოწყობილობით"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ka/strings_car.xml b/packages/CarSystemUI/res/values-ka/strings_car.xml
new file mode 100644
index 0000000..cb0e8fd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ka/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"სტუმარი"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"სტუმარი"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"მომხმარებლის დამატება"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"ახალი მომხმარებელი"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"ახალი მომხმარებლის დამატებისას, ამ მომხმარებელს საკუთარი სივრცის შექმნა მოუწევს."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ნებისმიერ მომხმარებელს შეუძლია აპები ყველა სხვა მომხმარებლისათვის განაახლოს."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-km/strings.xml b/packages/CarSystemUI/res/values-km/strings.xml
new file mode 100644
index 0000000..e865fc7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-km/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"អប្បបរមា"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"អតិបរិមា"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ឥឡូវនេះ ការសម្គាល់សំឡេងត្រូវបានចាត់ចែងដោយឧបករណ៍ដែលបានភ្ជាប់ប៊្លូធូស"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-km/strings_car.xml b/packages/CarSystemUI/res/values-km/strings_car.xml
new file mode 100644
index 0000000..b6a9864
--- /dev/null
+++ b/packages/CarSystemUI/res/values-km/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ភ្ញៀវ"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ភ្ញៀវ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"បញ្ចូល​អ្នក​ប្រើប្រាស់"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"អ្នក​ប្រើប្រាស់​ថ្មី"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"នៅពេលដែល​អ្នកបញ្ចូល​អ្នក​ប្រើប្រាស់ថ្មី បុគ្គល​នោះ​ត្រូវរៀបចំ​ទំហំផ្ទុក​របស់គេ។"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"អ្នកប្រើប្រាស់​ណាក៏​អាច​ដំឡើងកំណែ​កម្មវិធី​សម្រាប់​អ្នកប្រើប្រាស់ទាំងអស់​ផ្សេងទៀត​បានដែរ។"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-kn/strings.xml b/packages/CarSystemUI/res/values-kn/strings.xml
new file mode 100644
index 0000000..0d425bb
--- /dev/null
+++ b/packages/CarSystemUI/res/values-kn/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"ಕನಿಷ್ಠ"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"ಗರಿಷ್ಠ"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ಇದೀಗ ಕನೆಕ್ಟ್ ಆದ ಬ್ಲೂಟೂತ್ ಸಾಧನ ಧ್ವನಿ ಗುರುತಿಸುವಿಕೆ ನಿರ್ವಹಿಸಿದೆ"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-kn/strings_car.xml b/packages/CarSystemUI/res/values-kn/strings_car.xml
new file mode 100644
index 0000000..23e5415
--- /dev/null
+++ b/packages/CarSystemUI/res/values-kn/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ಅತಿಥಿ"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ಅತಿಥಿ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"ಹೊಸ ಬಳಕೆದಾರ"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"ನೀವು ಹೊಸ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿದಾಗ, ಆ ವ್ಯಕ್ತಿಯು ಅವರ ಸ್ಥಳವನ್ನು ಸೆಟಪ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ಯಾವುದೇ ಬಳಕೆದಾರರು ಎಲ್ಲಾ ಇತರೆ ಬಳಕೆದಾರರಿಗಾಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಬಹುದು."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ko/strings.xml b/packages/CarSystemUI/res/values-ko/strings.xml
new file mode 100644
index 0000000..695ee3f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ko/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"최소"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"최대"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"이제 연결된 블루투스 기기에서 음성 인식이 처리됩니다."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ko/strings_car.xml b/packages/CarSystemUI/res/values-ko/strings_car.xml
new file mode 100644
index 0000000..3997c0f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ko/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"게스트"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"게스트"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"사용자 추가"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"신규 사용자"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"추가된 신규 사용자는 자신만의 공간을 설정해야 합니다."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"누구나 다른 모든 사용자를 위해 앱을 업데이트할 수 있습니다."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-lt/strings.xml b/packages/CarSystemUI/res/values-lt/strings.xml
new file mode 100644
index 0000000..80c63d9
--- /dev/null
+++ b/packages/CarSystemUI/res/values-lt/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Didž."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Balso atpažinimą dabar tvarko susietas „Bluetooth“ įrenginys"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-lt/strings_car.xml b/packages/CarSystemUI/res/values-lt/strings_car.xml
new file mode 100644
index 0000000..a8cf0a7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-lt/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Svečias"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Svečias"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Pridėti naudotoją"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Naujas naudotojas"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kai pridedate naują naudotoją, šis asmuo turi nustatyti savo vietą."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Bet kuris naudotojas gali atnaujinti visų kitų naudotojų programas."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-lv/strings.xml b/packages/CarSystemUI/res/values-lv/strings.xml
new file mode 100644
index 0000000..f63023c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-lv/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Balss atpazīšanu tagad nodrošina pievienotā Bluetooth ierīce"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-lv/strings_car.xml b/packages/CarSystemUI/res/values-lv/strings_car.xml
new file mode 100644
index 0000000..3b7f386
--- /dev/null
+++ b/packages/CarSystemUI/res/values-lv/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Viesis"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Viesis"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Pievienot lietotāju"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Jauns lietotājs"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kad pievienojat jaunu lietotāju, viņam ir jāizveido savs profils."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Ikviens lietotājs var atjaunināt lietotnes visu lietotāju vārdā."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mk/strings.xml b/packages/CarSystemUI/res/values-mk/strings.xml
new file mode 100644
index 0000000..fccd94cd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mk/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мин."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Макс."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Поврзаниот уред со Bluetooth управува со препознавањето глас"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mk/strings_car.xml b/packages/CarSystemUI/res/values-mk/strings_car.xml
new file mode 100644
index 0000000..c1941467
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mk/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Гостин"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Гостин"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Додај корисник"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Нов корисник"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Кога додавате нов корисник, тоа лице треба да го постави својот простор."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Секој корисник може да ажурира апликации за сите други корисници."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ml/strings.xml b/packages/CarSystemUI/res/values-ml/strings.xml
new file mode 100644
index 0000000..b30e274
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ml/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"മിനിമം"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"മാക്സിമം"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"കണക്റ്റ് ചെയ്ത Bluetooth ഉപകരണം വഴി ഇപ്പോൾ വോയ്‌സ് തിരിച്ചറിയൽ കെെകാര്യം ചെയ്യുന്നു"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ml/strings_car.xml b/packages/CarSystemUI/res/values-ml/strings_car.xml
new file mode 100644
index 0000000..3ce44f7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ml/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"അതിഥി"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"അതിഥി"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ഉപയോക്താവിനെ ചേർക്കുക"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"പുതിയ ഉപയോക്താവ്"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"നിങ്ങളൊരു പുതിയ ഉപയോക്താവിനെ ചേർക്കുമ്പോൾ, ആ വ്യക്തി സ്വന്തം ഇടം സജ്ജീകരിക്കേണ്ടതുണ്ട്."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"മറ്റെല്ലാ ഉപയോക്താക്കൾക്കുമായി ആപ്പുകൾ അപ്‌ഡേറ്റ് ചെയ്യാൻ ഏതൊരു ഉപയോക്താവിനും കഴിയും."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mn/strings.xml b/packages/CarSystemUI/res/values-mn/strings.xml
new file mode 100644
index 0000000..e04ff9d
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mn/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Бага"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Их"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Одоо дуугаар танихыг холбогдсон Bluetooth төхөөрөмж удирдана"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mn/strings_car.xml b/packages/CarSystemUI/res/values-mn/strings_car.xml
new file mode 100644
index 0000000..9628f7b
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mn/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Зочин"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Зочин"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Хэрэглэгч нэмэх"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Шинэ хэрэглэгч"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Та шинэ хэрэглэгчийг нэмэх үед тухайн хэрэглэгч хувийн орон зайгаа тохируулах шаардлагатай."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Дурын хэрэглэгч бусад бүх хэрэглэгчийн аппуудыг шинэчлэх боломжтой."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mr/strings.xml b/packages/CarSystemUI/res/values-mr/strings.xml
new file mode 100644
index 0000000..60d9231
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"मि"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"कमाल"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"आता कनेक्ट केलेले ब्लूटूथ डिव्हाइस व्हॉइस रेकग्निशन हाताळते"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-mr/strings_car.xml b/packages/CarSystemUI/res/values-mr/strings_car.xml
new file mode 100644
index 0000000..cf2ad5e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-mr/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"अतिथी"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"अतिथी"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"वापरकर्ता जोडा"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"नवीन वापरकर्ता"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"तुम्ही नवीन वापरकर्ता जोडल्यावर, त्या व्यक्तीने त्यांची जागा सेट करणे आवश्यक असते."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"कोणत्याही वापरकर्त्याला इतर सर्व वापरकर्त्यांसाठी अ‍ॅप्स अपडेट करता येतात."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ms/strings.xml b/packages/CarSystemUI/res/values-ms/strings.xml
new file mode 100644
index 0000000..0d153fa
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ms/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Pengecaman suara kini dikendalikan peranti Bluetooth tersmbg"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ms/strings_car.xml b/packages/CarSystemUI/res/values-ms/strings_car.xml
new file mode 100644
index 0000000..e846b62
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ms/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Tetamu"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Tetamu"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Tambah Pengguna"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Pengguna Baharu"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Apabila anda menambahkan pengguna baharu, orang itu perlu menyediakan ruang mereka."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Mana-mana pengguna boleh mengemas kini apl untuk semua pengguna lain."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-my/strings.xml b/packages/CarSystemUI/res/values-my/strings.xml
new file mode 100644
index 0000000..a1817ed
--- /dev/null
+++ b/packages/CarSystemUI/res/values-my/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"နိမ့်"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"မြင့်"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ချိတ်ထားသော ဘလူးတုသ်စက်ဖြင့် အသံမှတ်သားမှုကို ထိန်းချုပ်သည်"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-my/strings_car.xml b/packages/CarSystemUI/res/values-my/strings_car.xml
new file mode 100644
index 0000000..e5e67d1
--- /dev/null
+++ b/packages/CarSystemUI/res/values-my/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ဧည့်သည်"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ဧည့်သည်"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"အသုံးပြုသူ ထည့်ရန်"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"အသုံးပြုသူ အသစ်"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"အသုံးပြုသူအသစ် ထည့်သည့်အခါ ထိုသူသည် မိမိ၏ နေရာကို စနစ်ထည့်သွင်းရပါမည်။"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"အခြားအသုံးပြုသူ အားလုံးအတွက် အက်ပ်များကို မည်သူမဆို အပ်ဒိတ်လုပ်နိုင်သည်။"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-nb/strings.xml b/packages/CarSystemUI/res/values-nb/strings.xml
new file mode 100644
index 0000000..b84e4ed
--- /dev/null
+++ b/packages/CarSystemUI/res/values-nb/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Talegjenkjenning håndteres nå av tilkoblet Bluetooth-enhet"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-nb/strings_car.xml b/packages/CarSystemUI/res/values-nb/strings_car.xml
new file mode 100644
index 0000000..2c10092
--- /dev/null
+++ b/packages/CarSystemUI/res/values-nb/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gjest"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gjest"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Legg til en bruker"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Ny bruker"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Når du legger til en ny bruker, må vedkommende konfigurere sitt eget område."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Alle brukere kan oppdatere apper for alle andre brukere."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-nl/strings.xml b/packages/CarSystemUI/res/values-nl/strings.xml
new file mode 100644
index 0000000..1739589
--- /dev/null
+++ b/packages/CarSystemUI/res/values-nl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Spraakherkenning actief via een verbonden bluetooth-apparaat"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-nl/strings_car.xml b/packages/CarSystemUI/res/values-nl/strings_car.xml
new file mode 100644
index 0000000..8f008a6
--- /dev/null
+++ b/packages/CarSystemUI/res/values-nl/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gast"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gast"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Gebruiker toevoegen"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nieuwe gebruiker"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Als je een nieuwe gebruiker toevoegt, moet die persoon een eigen profiel instellen."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Elke gebruiker kan apps updaten voor alle andere gebruikers"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pa/strings.xml b/packages/CarSystemUI/res/values-pa/strings.xml
new file mode 100644
index 0000000..cc6fbe5
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pa/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"ਨਿਊਨਤਮ"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"ਅਧਿਕਤਮ"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ਅਵਾਜ਼ ਦੀ ਪਛਾਣ ਨੂੰ ਹੁਣ ਕਨੈਕਟ ਕੀਤਾ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਸੰਭਾਲਦਾ ਹੈ"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pa/strings_car.xml b/packages/CarSystemUI/res/values-pa/strings_car.xml
new file mode 100644
index 0000000..a15a6a5
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pa/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ਮਹਿਮਾਨ"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ਮਹਿਮਾਨ"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"ਨਵਾਂ ਵਰਤੋਂਕਾਰ"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਆਪਣੀ ਜਗ੍ਹਾ ਸੈੱਟਅੱਪ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ਕੋਈ ਵੀ ਵਰਤੋਂਕਾਰ ਹੋਰ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pl/strings.xml b/packages/CarSystemUI/res/values-pl/strings.xml
new file mode 100644
index 0000000..1b083d3
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Rozpoznawanie mowy przez połączone urządzenie Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pl/strings_car.xml b/packages/CarSystemUI/res/values-pl/strings_car.xml
new file mode 100644
index 0000000..0c48dcf
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pl/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gość"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gość"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Dodaj użytkownika"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nowy użytkownik"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Gdy dodasz nowego użytkownika, musi on skonfigurować swój profil."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Każdy użytkownik może aktualizować aplikacje wszystkich innych użytkowników."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pt-rPT/strings.xml b/packages/CarSystemUI/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..d6ba008
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pt-rPT/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Máx."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Reconhecimento de voz agora através do disp. Bluetooth lig."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pt-rPT/strings_car.xml b/packages/CarSystemUI/res/values-pt-rPT/strings_car.xml
new file mode 100644
index 0000000..640e535
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pt-rPT/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Convidado"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Convidado"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Adicionar utilizador"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novo utilizador"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Ao adicionar um novo utilizador, essa pessoa tem de configurar o respetivo espaço."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Qualquer utilizador pode atualizar apps para todos os outros utilizadores."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pt/strings.xml b/packages/CarSystemUI/res/values-pt/strings.xml
new file mode 100644
index 0000000..ded1624
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pt/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Mín"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Máx"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Reconhecimento de voz com dispositivo Bluetooth conectado"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-pt/strings_car.xml b/packages/CarSystemUI/res/values-pt/strings_car.xml
new file mode 100644
index 0000000..6b53b5b
--- /dev/null
+++ b/packages/CarSystemUI/res/values-pt/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Convidado"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Convidado"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Adicionar usuário"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Novo usuário"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Quando você adiciona um usuário novo, essa pessoa precisa configurar o espaço dela."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Qualquer usuário pode atualizar apps para os demais usuários."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ro/strings.xml b/packages/CarSystemUI/res/values-ro/strings.xml
new file mode 100644
index 0000000..bb0f866
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ro/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Recunoașterea vocală acum gestionată de dispozitivul Bluetooth conectat"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ro/strings_car.xml b/packages/CarSystemUI/res/values-ro/strings_car.xml
new file mode 100644
index 0000000..7f4fe7a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ro/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Invitat"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Invitat"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Adăugați un utilizator"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Utilizator nou"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Când adăugați un utilizator nou, acesta trebuie să-și configureze spațiul."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Orice utilizator poate actualiza aplicațiile pentru toți ceilalți utilizatori."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ru/strings.xml b/packages/CarSystemUI/res/values-ru/strings.xml
new file mode 100644
index 0000000..6b6fdc9
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ru/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мин."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Макс."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Для распознавания речи используется Bluetooth-устройство."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-ru/strings_car.xml b/packages/CarSystemUI/res/values-ru/strings_car.xml
new file mode 100644
index 0000000..99819dd
--- /dev/null
+++ b/packages/CarSystemUI/res/values-ru/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Гость"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Гость"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Добавить пользователя"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Новый пользователь"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Когда вы добавите пользователя, ему потребуется настроить профиль."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Любой пользователь устройства может обновлять приложения для всех аккаунтов."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-si/strings.xml b/packages/CarSystemUI/res/values-si/strings.xml
new file mode 100644
index 0000000..08baac3
--- /dev/null
+++ b/packages/CarSystemUI/res/values-si/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"අවම"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"උපරිම"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"හඬ හැඳුනුම දැන් සම්බන්ධ බ්ලූටූත් උපාංගය මගින් හසුරුවනු ලැබේ"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-si/strings_car.xml b/packages/CarSystemUI/res/values-si/strings_car.xml
new file mode 100644
index 0000000..6444e91f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-si/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"අමුත්තා"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"අමුත්තා"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"පරිශීලක එක් කරන්න"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"නව පරිශීලක"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"ඔබ අලුත් පරිශීලකයෙක් එක් කරන විට, එම පුද්ගලයාට තමන්ගේ ඉඩ සකසා ගැනීමට අවශ්‍ය වේ."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"සියලුම අනෙක් පරිශීලකයින් සඳහා ඕනෑම පරිශීලකයෙකුට යෙදුම් යාවත්කාලීන කළ හැක."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sk/strings.xml b/packages/CarSystemUI/res/values-sk/strings.xml
new file mode 100644
index 0000000..086de1e
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sk/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"max."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Rozpoznávanie hlasu teraz prebieha v pripoj. zar. Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sk/strings_car.xml b/packages/CarSystemUI/res/values-sk/strings_car.xml
new file mode 100644
index 0000000..c058a32
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sk/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Hosť"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Hosť"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Pridať používateľa"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nový používateľ"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Keď pridáte nového používateľa, musí si nastaviť vlastný priestor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Akýkoľvek používateľ môže aktualizovať aplikácie všetkých ostatných používateľov."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sl/strings.xml b/packages/CarSystemUI/res/values-sl/strings.xml
new file mode 100644
index 0000000..8c4b5ef
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Najn."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Najv."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Prepoznavanje glasu zdaj izvaja povezana naprava Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sl/strings_car.xml b/packages/CarSystemUI/res/values-sl/strings_car.xml
new file mode 100644
index 0000000..b8324e0
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sl/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gost"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gost"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Dodaj uporabnika"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Nov uporabnik"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Ko dodate novega uporabnika, mora ta nastaviti svoj prostor."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Vsak uporabnik lahko posodobi aplikacije za vse druge uporabnike."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sq/strings.xml b/packages/CarSystemUI/res/values-sq/strings.xml
new file mode 100644
index 0000000..c75782b
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sq/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Njohja zanore trajtohet nga pajisja me Bluetooth-in e lidhur"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sq/strings_car.xml b/packages/CarSystemUI/res/values-sq/strings_car.xml
new file mode 100644
index 0000000..7e676ba
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sq/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"I ftuar"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"I ftuar"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Shto përdorues"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Përdorues i ri"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kur shton një përdorues të ri, ai person duhet të konfigurojë hapësirën e vet."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Çdo përdorues mund t\'i përditësojë aplikacionet për të gjithë përdoruesit e tjerë."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sr/strings.xml b/packages/CarSystemUI/res/values-sr/strings.xml
new file mode 100644
index 0000000..8ea6fd2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мин."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maкс."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Препознавањем гласа сада управља повезани Bluetooth уређај"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sr/strings_car.xml b/packages/CarSystemUI/res/values-sr/strings_car.xml
new file mode 100644
index 0000000..4d23fdb
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sr/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Гост"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Гост"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Додај корисника"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Нови корисник"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Када додате новог корисника, та особа треба да подеси свој простор."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Сваки корисник може да ажурира апликације за све остале кориснике."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sv/strings.xml b/packages/CarSystemUI/res/values-sv/strings.xml
new file mode 100644
index 0000000..bd6e25f
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sv/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Nu hanteras röstigenkänning via en anstluten Bluetooth-enhet"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sv/strings_car.xml b/packages/CarSystemUI/res/values-sv/strings_car.xml
new file mode 100644
index 0000000..36fcdaa
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sv/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Gäst"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Gäst"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Lägg till användare"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Ny användare"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"När du lägger till en ny användare måste den personen konfigurera sitt utrymme."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Alla användare kan uppdatera appar för andra användare."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sw/strings.xml b/packages/CarSystemUI/res/values-sw/strings.xml
new file mode 100644
index 0000000..fbeacf6
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sw/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Chini"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Juu"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Utambuzi wa sauti sasa unashughulikiwa na kifaa kilichounganishwa cha Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-sw/strings_car.xml b/packages/CarSystemUI/res/values-sw/strings_car.xml
new file mode 100644
index 0000000..75573d7
--- /dev/null
+++ b/packages/CarSystemUI/res/values-sw/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Mgeni"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Mgeni"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Weka Mtumiaji"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Mtumiaji Mpya"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Ukiongeza mtumiaji mpya, ni lazima aweke kikundi chake."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Mtumiaji yeyote anaweza kusasisha programu za watumiaji wengine wote."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-te/strings.xml b/packages/CarSystemUI/res/values-te/strings.xml
new file mode 100644
index 0000000..bc85331
--- /dev/null
+++ b/packages/CarSystemUI/res/values-te/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"కని."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"గరి."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"నేడు వాయిస్ గుర్తింపును కనెక్ట్ అయిన బ్లూటూత్ నిర్వహిస్తోంది"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-te/strings_car.xml b/packages/CarSystemUI/res/values-te/strings_car.xml
new file mode 100644
index 0000000..7f0d090
--- /dev/null
+++ b/packages/CarSystemUI/res/values-te/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"గెస్ట్"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"గెస్ట్"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"యూజర్‌ను జోడించండి"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"కొత్త యూజర్"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"మీరు కొత్త యూజర్‌ను జోడించినప్పుడు, ఆ వ్యక్తి తన ప్రదేశాన్ని సెటప్ చేసుకోవాలి."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ఏ యూజర్ అయినా మిగతా అందరు యూజర్‌ల కోసం యాప్‌లను అప్‌డేట్ చేయవచ్చు."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-th/strings.xml b/packages/CarSystemUI/res/values-th/strings.xml
new file mode 100644
index 0000000..e291aa2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-th/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"ตอนนี้อุปกรณ์บลูทูธที่เชื่อมต่อจะจัดการการจดจำเสียง"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-th/strings_car.xml b/packages/CarSystemUI/res/values-th/strings_car.xml
new file mode 100644
index 0000000..8e47499
--- /dev/null
+++ b/packages/CarSystemUI/res/values-th/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"ผู้ใช้ชั่วคราว"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"ผู้ใช้ชั่วคราว"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"เพิ่มผู้ใช้"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"ผู้ใช้ใหม่"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"เมื่อคุณเพิ่มผู้ใช้ใหม่ ผู้ใช้ดังกล่าวจะต้องตั้งค่าพื้นที่ของตนเอง"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"ผู้ใช้ทุกคนจะอัปเดตแอปให้ผู้ใช้คนอื่นๆ ได้"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-tl/strings.xml b/packages/CarSystemUI/res/values-tl/strings.xml
new file mode 100644
index 0000000..a0a38fa
--- /dev/null
+++ b/packages/CarSystemUI/res/values-tl/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Minuto"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Max"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Hawak na ngayon ng Bluetooth device ang Pagkilala ng boses"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-tl/strings_car.xml b/packages/CarSystemUI/res/values-tl/strings_car.xml
new file mode 100644
index 0000000..b8a44e6
--- /dev/null
+++ b/packages/CarSystemUI/res/values-tl/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Bisita"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Bisita"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Magdagdag ng User"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Bagong User"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Kapag nagdagdag ka ng bagong user, kailangang i-set up ng taong iyon ang kanyang espasyo."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Puwedeng i-update ng sinumang user ang mga app para sa lahat ng iba pang user."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-tr/strings.xml b/packages/CarSystemUI/res/values-tr/strings.xml
new file mode 100644
index 0000000..5eaae11
--- /dev/null
+++ b/packages/CarSystemUI/res/values-tr/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Min."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Artık ses tanıma, bağlı Bluetooth cihazı tarafından işleniyor"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-tr/strings_car.xml b/packages/CarSystemUI/res/values-tr/strings_car.xml
new file mode 100644
index 0000000..c59aff8
--- /dev/null
+++ b/packages/CarSystemUI/res/values-tr/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Misafir"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Misafir"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Kullanıcı Ekle"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Yeni Kullanıcı"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Yeni kullanıcı eklediğinizde, bu kişinin alanını ayarlaması gerekir."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Herhangi bir kullanıcı, diğer tüm kullanıcılar için uygulamaları güncelleyebilir."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-uk/strings.xml b/packages/CarSystemUI/res/values-uk/strings.xml
new file mode 100644
index 0000000..4b465f2
--- /dev/null
+++ b/packages/CarSystemUI/res/values-uk/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Мін."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Макс."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Голос розпізнається через підключений пристрій Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-uk/strings_car.xml b/packages/CarSystemUI/res/values-uk/strings_car.xml
new file mode 100644
index 0000000..b1aee0d
--- /dev/null
+++ b/packages/CarSystemUI/res/values-uk/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Гість"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Гість"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Додати користувача"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Новий користувач"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Коли ви додаєте нового користувача, він має налаштувати свій профіль."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Будь-який користувач може оновлювати додатки для решти людей."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-uz/strings.xml b/packages/CarSystemUI/res/values-uz/strings.xml
new file mode 100644
index 0000000..796c649
--- /dev/null
+++ b/packages/CarSystemUI/res/values-uz/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Daq."</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Maks."</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Endi ovozni tanish Bluetooth qurilma ulanganda amalga oshadi"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-uz/strings_car.xml b/packages/CarSystemUI/res/values-uz/strings_car.xml
new file mode 100644
index 0000000..eb4712c
--- /dev/null
+++ b/packages/CarSystemUI/res/values-uz/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Mehmon"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Mehmon"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Foydalanuvchi kiritish"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Yangi foydalanuvchi"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Yangi profil kiritilgach, uni sozlash lozim."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Qurilmaning istalgan foydalanuvchisi ilovalarni barcha hisoblar uchun yangilashi mumkin."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-vi/strings.xml b/packages/CarSystemUI/res/values-vi/strings.xml
new file mode 100644
index 0000000..e4f2455
--- /dev/null
+++ b/packages/CarSystemUI/res/values-vi/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Tối thiểu"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Tối đa"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Thiết bị Bluetooth được kết nối đang xử lý vấn đề nhận dạng giọng nói"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-vi/strings_car.xml b/packages/CarSystemUI/res/values-vi/strings_car.xml
new file mode 100644
index 0000000..452257a
--- /dev/null
+++ b/packages/CarSystemUI/res/values-vi/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Khách"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Bắt đầu phiên khách"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Thêm người dùng"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Người dùng mới"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Khi bạn thêm một người dùng mới, họ cần thiết lập không gian của mình."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Bất kỳ người dùng nào cũng có thể cập nhật ứng dụng cho tất cả những người dùng khác."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rCN/strings.xml b/packages/CarSystemUI/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..4f2f9ca
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rCN/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"最小"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"最大"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"现在由已连接的蓝牙设备处理语音识别操作"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rCN/strings_car.xml b/packages/CarSystemUI/res/values-zh-rCN/strings_car.xml
new file mode 100644
index 0000000..d8aea67
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rCN/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"访客"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"访客"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"添加用户"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"新用户"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"当您添加新用户后,该用户需要自行设置个人空间。"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"任何用户都可以为所有其他用户更新应用。"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rHK/strings.xml b/packages/CarSystemUI/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..4ba404d
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rHK/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"最小"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"最大"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"現在由已連線的藍牙裝置處理語音辨識作業"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rHK/strings_car.xml b/packages/CarSystemUI/res/values-zh-rHK/strings_car.xml
new file mode 100644
index 0000000..1970ec9
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rHK/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"訪客"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"訪客"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"新增使用者"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"新使用者"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"你新增的使用者必須自行設定個人空間。"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"任何使用者皆可為所有其他使用者更新應用程式。"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rTW/strings.xml b/packages/CarSystemUI/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..4ba404d
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rTW/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"最小"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"最大"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"現在由已連線的藍牙裝置處理語音辨識作業"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zh-rTW/strings_car.xml b/packages/CarSystemUI/res/values-zh-rTW/strings_car.xml
new file mode 100644
index 0000000..1970ec9
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zh-rTW/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"訪客"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"訪客"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"新增使用者"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"新使用者"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"你新增的使用者必須自行設定個人空間。"</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"任何使用者皆可為所有其他使用者更新應用程式。"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zu/strings.xml b/packages/CarSystemUI/res/values-zu/strings.xml
new file mode 100644
index 0000000..432328b
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zu/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (c) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="hvac_min_text" msgid="8167124789068494624">"Okuncane"</string>
+    <string name="hvac_max_text" msgid="3669693372074755551">"Okuningi"</string>
+    <string name="voice_recognition_toast" msgid="1149934534584052842">"Ukubonwa kwezwi manje kuphethwe idivayisi exhunyiwe ye-Bluetooth"</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values-zu/strings_car.xml b/packages/CarSystemUI/res/values-zu/strings_car.xml
new file mode 100644
index 0000000..1f8227d
--- /dev/null
+++ b/packages/CarSystemUI/res/values-zu/strings_car.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="car_guest" msgid="1125545940563459016">"Isihambeli"</string>
+    <string name="start_guest_session" msgid="548879769864070364">"Isihambeli"</string>
+    <string name="car_add_user" msgid="9196649698797257695">"Engeza umsebenzisi"</string>
+    <string name="car_new_user" msgid="2994965724661108420">"Umsebenzisi omusha"</string>
+    <string name="user_add_user_message_setup" msgid="116571509380700718">"Uma ungeza umsebenzisi omusha, loyo muntu udinga ukusetha izikhala zakhe."</string>
+    <string name="user_add_user_message_update" msgid="537998123816022363">"Noma yimuphi umsebenzisi angabuyekeza izinhlelo zokusebenza zabanye abasebenzisi."</string>
+</resources>
diff --git a/packages/CarSystemUI/res/values/colors.xml b/packages/CarSystemUI/res/values/colors.xml
index 7972e09..3e44721 100644
--- a/packages/CarSystemUI/res/values/colors.xml
+++ b/packages/CarSystemUI/res/values/colors.xml
@@ -20,6 +20,7 @@
     <color name="car_user_switcher_background_color">#000000</color>
     <color name="car_user_switcher_name_text_color">@*android:color/car_body1_light</color>
     <color name="car_user_switcher_add_user_background_color">#131313</color>
+    <color name="car_user_switcher_add_user_add_sign_color">@*android:color/car_body1_light</color>
     <color name="car_nav_icon_fill_color">#8Fffffff</color>
     <color name="car_nav_icon_fill_color_selected">#ffffff</color>
     <!-- colors for seekbar -->
diff --git a/packages/CarSystemUI/res/values/colors_car.xml b/packages/CarSystemUI/res/values/colors_car.xml
deleted file mode 100644
index 0a3f7aa..0000000
--- a/packages/CarSystemUI/res/values/colors_car.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources>
-    <color name="car_qs_background_primary">#263238</color> <!-- Blue Gray 900 -->
-    <color name="car_qs_footer_user_name_color">@*android:color/car_grey_50</color>
-
-    <!-- colors for user switcher -->
-    <color name="car_user_switcher_background_color">@*android:color/car_card_dark</color>
-    <color name="car_user_switcher_name_text_color">@*android:color/car_body1_light</color>
-    <color name="car_user_switcher_add_user_background_color">@*android:color/car_dark_blue_grey_600</color>
-    <color name="car_user_switcher_add_user_add_sign_color">@*android:color/car_body1_light</color>
-
-    <!-- colors for unlock dialog -->
-    <color name="unlock_dialog_background_color">#ff282a2d</color>
-    <color name="unlock_dialog_message_text_default">@*android:color/car_grey_400</color>
-    <color name="unlock_dialog_enter_pin_text_color">#ff66b5ff</color>
-
-</resources>
diff --git a/packages/CarSystemUI/res/values/config.xml b/packages/CarSystemUI/res/values/config.xml
index bf1bf38..e6fb501 100644
--- a/packages/CarSystemUI/res/values/config.xml
+++ b/packages/CarSystemUI/res/values/config.xml
@@ -25,6 +25,7 @@
     <bool name="config_enableFullscreenUserSwitcher">true</bool>
 
     <!-- configure which system ui bars should be displayed -->
+    <bool name="config_enableTopNavigationBar">true</bool>
     <bool name="config_enableLeftNavigationBar">false</bool>
     <bool name="config_enableRightNavigationBar">false</bool>
     <bool name="config_enableBottomNavigationBar">true</bool>
@@ -76,6 +77,11 @@
         <item>com.android.systemui.car.userswitcher.FullscreenUserSwitcherViewMediator</item>
     </string-array>
 
+    <!-- List of package names that are allowed sources of app installation. -->
+    <string-array name="config_allowedAppInstallSources" translatable="false">
+        <item>com.android.vending</item>
+    </string-array>
+
     <!-- SystemUI Services: The classes of the stuff to start. -->
     <string-array name="config_systemUIServiceComponents" translatable="false">
         <item>com.android.systemui.util.NotificationChannels</item>
@@ -83,7 +89,7 @@
         <item>com.android.systemui.recents.Recents</item>
         <item>com.android.systemui.volume.VolumeUI</item>
         <item>com.android.systemui.stackdivider.Divider</item>
-        <item>com.android.systemui.statusbar.phone.StatusBar</item>
+<!--        <item>com.android.systemui.statusbar.phone.StatusBar</item>-->
         <item>com.android.systemui.usb.StorageNotification</item>
         <item>com.android.systemui.power.PowerUI</item>
         <item>com.android.systemui.media.RingtonePlayer</item>
diff --git a/packages/CarSystemUI/res/values/dimens.xml b/packages/CarSystemUI/res/values/dimens.xml
index f68d034..9014eb1 100644
--- a/packages/CarSystemUI/res/values/dimens.xml
+++ b/packages/CarSystemUI/res/values/dimens.xml
@@ -22,16 +22,11 @@
 
     <dimen name="status_bar_icon_drawing_size_dark">36dp</dimen>
     <dimen name="status_bar_icon_drawing_size">36dp</dimen>
-    <dimen name="car_qs_header_system_icons_area_height">96dp</dimen>
     <!-- The amount by which to scale up the status bar icons. -->
     <item name="status_bar_icon_scale_factor" format="float" type="dimen">1.75</item>
 
     <dimen name="car_primary_icon_size">@*android:dimen/car_primary_icon_size</dimen>
 
-    <!-- dimensions for the car user switcher -->
-    <dimen name="car_user_switcher_name_text_size">@dimen/car_body1_size</dimen>
-    <dimen name="car_user_switcher_vertical_spacing_between_users">124dp</dimen>
-
     <!--These values represent MIN and MAX for hvac-->
     <item name="hvac_min_value" format="float" type="dimen">0</item>
     <item name="hvac_max_value" format="float" type="dimen">126</item>
@@ -90,9 +85,6 @@
     <!-- The width of panel holding the notification card. -->
     <dimen name="notification_panel_width">522dp</dimen>
 
-    <!-- The width of the quick settings panel. -1 for match_parent. -->
-    <dimen name="qs_panel_width">-1px</dimen>
-
     <!-- Height of a small notification in the status bar-->
     <dimen name="notification_min_height">192dp</dimen>
 
@@ -149,7 +141,19 @@
          child closer so there is less wasted space. -->
     <dimen name="notification_children_container_margin_top">68dp</dimen>
 
-    <!-- The height of the quick settings footer that holds the user switcher, settings icon,
-         etc. in the car setting.-->
-    <dimen name="qs_footer_height">74dp</dimen>
+    <!-- dimensions for the car user switcher -->
+    <dimen name="car_user_switcher_name_text_size">@*android:dimen/car_body1_size</dimen>
+    <dimen name="car_user_switcher_image_avatar_size">@*android:dimen/car_large_avatar_size</dimen>
+    <dimen name="car_user_switcher_vertical_spacing_between_users">@*android:dimen/car_padding_5</dimen>
+    <dimen name="car_user_switcher_vertical_spacing_between_name_and_avatar">@*android:dimen/car_padding_4</dimen>
+    <dimen name="car_user_switcher_margin_top">@*android:dimen/car_padding_4</dimen>
+
+    <dimen name="car_navigation_button_width">64dp</dimen>
+    <dimen name="car_navigation_bar_width">760dp</dimen>
+    <dimen name="car_left_navigation_bar_width">96dp</dimen>
+    <dimen name="car_right_navigation_bar_width">96dp</dimen>
+
+    <dimen name="car_user_switcher_container_height">420dp</dimen>
+    <!-- This must be the negative of car_user_switcher_container_height for the animation. -->
+    <dimen name="car_user_switcher_container_anim_height">-420dp</dimen>
 </resources>
diff --git a/packages/CarSystemUI/res/values/dimens_car.xml b/packages/CarSystemUI/res/values/dimens_car.xml
deleted file mode 100644
index 9cb09c9..0000000
--- a/packages/CarSystemUI/res/values/dimens_car.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
--->
-<resources>
-    <!-- dimensions for the car user switcher -->
-    <dimen name="car_user_switcher_name_text_size">@*android:dimen/car_body1_size</dimen>
-    <dimen name="car_user_switcher_image_avatar_size">@*android:dimen/car_large_avatar_size</dimen>
-    <dimen name="car_user_switcher_vertical_spacing_between_users">@*android:dimen/car_padding_5</dimen>
-    <dimen name="car_user_switcher_vertical_spacing_between_name_and_avatar">@*android:dimen/car_padding_4</dimen>
-    <dimen name="car_user_switcher_margin_top">@*android:dimen/car_padding_4</dimen>
-
-    <dimen name="car_navigation_button_width">64dp</dimen>
-    <dimen name="car_navigation_bar_width">760dp</dimen>
-    <dimen name="car_left_navigation_bar_width">96dp</dimen>
-    <dimen name="car_right_navigation_bar_width">96dp</dimen>
-
-    <dimen name="car_qs_footer_height">112dp</dimen>
-    <dimen name="car_qs_footer_padding_bottom">16dp</dimen>
-    <dimen name="car_qs_footer_padding_top">16dp</dimen>
-    <dimen name="car_qs_footer_padding_end">46dp</dimen>
-    <dimen name="car_qs_footer_padding_start">46dp</dimen>
-    <dimen name="car_qs_footer_icon_width">56dp</dimen>
-    <dimen name="car_qs_footer_icon_height">56dp</dimen>
-    <dimen name="car_qs_footer_user_switch_icon_margin">5dp</dimen>
-    <dimen name="car_qs_footer_user_switch_icon_width">36dp</dimen>
-    <dimen name="car_qs_footer_user_name_text_size">@*android:dimen/car_body2_size</dimen>
-
-    <dimen name="car_user_switcher_container_height">420dp</dimen>
-    <!-- This must be the negative of car_user_switcher_container_height for the animation. -->
-    <dimen name="car_user_switcher_container_anim_height">-420dp</dimen>
-
-    <!-- dimensions for the unlock dialog -->
-    <dimen name="unlock_dialog_width">500dp</dimen>
-    <dimen name="unlock_dialog_radius">16dp</dimen>
-    <dimen name="unlock_dialog_avatar_size">100dp</dimen>
-    <dimen name="unlock_dialog_progress_bar_size">140dp</dimen>
-
-</resources>
diff --git a/packages/CarSystemUI/res/values/ids_car.xml b/packages/CarSystemUI/res/values/ids.xml
similarity index 100%
rename from packages/CarSystemUI/res/values/ids_car.xml
rename to packages/CarSystemUI/res/values/ids.xml
diff --git a/packages/CarSystemUI/res/values/integers.xml b/packages/CarSystemUI/res/values/integers.xml
index 8b87c74..5ae5555 100644
--- a/packages/CarSystemUI/res/values/integers.xml
+++ b/packages/CarSystemUI/res/values/integers.xml
@@ -16,5 +16,19 @@
 -->
 
 <resources>
-    <integer name="user_fullscreen_switcher_num_col">2</integer>
+    <!-- Full screen user switcher column number -->
+    <integer name="user_fullscreen_switcher_num_col">3</integer>
+
+    <!--Percentage of the screen height, from the bottom, that a notification panel being
+    partially closed at will result in it remaining open if released-->
+    <integer name="notification_settle_open_percentage">20</integer>
+    <!--Percentage of the screen height, from the bottom, that a notification panel being peeked
+    at will result in remaining closed the panel if released-->
+    <integer name="notification_settle_close_percentage">80</integer>
+
+    <!-- Timeout values in milliseconds for displaying volume dialog-->
+    <integer name="car_volume_dialog_display_normal_timeout">3000</integer>
+    <integer name="car_volume_dialog_display_hovering_timeout">16000</integer>
+    <integer name="car_volume_dialog_display_expanded_normal_timeout">6000</integer>
+    <integer name="car_volume_dialog_display_expanded_hovering_timeout">32000</integer>
 </resources>
diff --git a/packages/CarSystemUI/res/values/integers_car.xml b/packages/CarSystemUI/res/values/integers_car.xml
deleted file mode 100644
index d245f67..0000000
--- a/packages/CarSystemUI/res/values/integers_car.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (c) 2018, The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
-    <integer name="car_user_switcher_anim_cascade_delay_ms">27</integer>
-    <!-- Full screen user switcher column number TODO: move to support library-->
-    <integer name="user_fullscreen_switcher_num_col">3</integer>
-
-    <!--Percentage of the screen height, from the bottom, that a notification panel being
-    partially closed at will result in it remaining open if released-->
-    <integer name="notification_settle_open_percentage">20</integer>
-    <!--Percentage of the screen height, from the bottom, that a notification panel being peeked
-    at will result in remaining closed the panel if released-->
-    <integer name="notification_settle_close_percentage">80</integer>
-    <!-- The delay before the unlock dialog pops up -->
-    <integer name="unlock_dialog_delay_ms">0</integer>
-
-    <!-- Timeout values in milliseconds for displaying volume dialog-->
-    <integer name="car_volume_dialog_display_normal_timeout">3000</integer>
-    <integer name="car_volume_dialog_display_hovering_timeout">16000</integer>
-    <integer name="car_volume_dialog_display_expanded_normal_timeout">6000</integer>
-    <integer name="car_volume_dialog_display_expanded_hovering_timeout">32000</integer>
-</resources>
diff --git a/packages/CarSystemUI/res/values/strings.xml b/packages/CarSystemUI/res/values/strings.xml
index 9ea7ed0..881e746 100644
--- a/packages/CarSystemUI/res/values/strings.xml
+++ b/packages/CarSystemUI/res/values/strings.xml
@@ -22,4 +22,16 @@
     <string name="hvac_max_text">Max</string>
     <!-- Text for voice recognition toast. [CHAR LIMIT=60] -->
     <string name="voice_recognition_toast">Voice recognition now handled by connected Bluetooth device</string>
+    <!-- Name of Guest Profile. [CHAR LIMIT=30] -->
+    <string name="car_guest">Guest</string>
+    <!-- Title for button that starts a guest session. [CHAR LIMIT=30] -->
+    <string name="start_guest_session">Guest</string>
+    <!-- Title for button that  adds a new user. [CHAR LIMIT=30] -->
+    <string name="car_add_user">Add User</string>
+    <!-- Default name of the new user created. [CHAR LIMIT=30] -->
+    <string name="car_new_user">New User</string>
+    <!-- Message to inform user that creation of new user requires that user to set up their space. [CHAR LIMIT=100] -->
+    <string name="user_add_user_message_setup">When you add a new user, that person needs to set up their space.</string>
+    <!-- Message to inform user that the newly created user will have permissions to update apps for all other users. [CHAR LIMIT=100] -->
+    <string name="user_add_user_message_update">Any user can update apps for all other users.</string>
 </resources>
diff --git a/packages/CarSystemUI/res/values/strings_car.xml b/packages/CarSystemUI/res/values/strings_car.xml
deleted file mode 100644
index 717692e..0000000
--- a/packages/CarSystemUI/res/values/strings_car.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources>
-    <!-- Name of Guest Profile. [CHAR LIMIT=30] -->
-    <string name="car_guest">Guest</string>
-    <!-- Title for button that starts a guest session. [CHAR LIMIT=30] -->
-    <string name="start_guest_session">Guest</string>
-    <!-- Title for button that  adds a new user. [CHAR LIMIT=30] -->
-    <string name="car_add_user">Add User</string>
-    <!-- Default name of the new user created. [CHAR LIMIT=30] -->
-    <string name="car_new_user">New User</string>
-    <!-- Message to inform user that creation of new user requires that user to set up their space. [CHAR LIMIT=100] -->
-    <string name="user_add_user_message_setup">When you add a new user, that person needs to set up their space.</string>
-    <!-- Message to inform user that the newly created user will have permissions to update apps for all other users. [CHAR LIMIT=100] -->
-    <string name="user_add_user_message_update">Any user can update apps for all other users.</string>
-    <!-- Default messages displayed on the unlock dialog before unlock advertising started. [CHAR LIMIT=30]-->
-    <string name="unlock_dialog_message_default">Waiting\u2026</string>
-    <!-- Message to inform user that the IHU is looking for trusted device. [CHAR LIMIT=30] -->
-    <string name="unlock_dialog_message_start">Looking for trusted device\u2026</string>
-
-    <!-- Cancel Button text for user who has PIN as security lock. [CHAR LIMIT=30] -->
-    <string name="unlock_dialog_button_text_pin">Enter PIN instead</string>
-    <!-- Cancel Button text for user who has Pattern as security lock. [CHAR LIMIT=30] -->
-    <string name="unlock_dialog_button_text_pattern">Enter Pattern instead</string>
-    <!-- Cancel Button text for user who has Password as security lock. [CHAR LIMIT=30] -->
-    <string name="unlock_dialog_button_text_password">Enter Password instead</string>
-    <!-- Default user name shows on unlock dialog -->
-    <string name="unlock_dialog_default_user_name">Default Name</string>
-    <!-- Default title for unlock dialog -->
-    <string name="unlock_dialog_title">Unlock Dialogue</string>
-</resources>
diff --git a/packages/CarSystemUI/res/values/styles.xml b/packages/CarSystemUI/res/values/styles.xml
index a9423bf..371bebd 100644
--- a/packages/CarSystemUI/res/values/styles.xml
+++ b/packages/CarSystemUI/res/values/styles.xml
@@ -46,12 +46,4 @@
         <item name="android:layout_width">96dp</item>
         <item name="android:background">@drawable/nav_button_background</item>
     </style>
-
-    <style name="UnlockDialogButton">
-        <item name="android:background">?android:attr/selectableItemBackground</item>
-        <item name="android:textAlignment">center</item>
-        <item name="android:textColor">@color/unlock_dialog_enter_pin_text_color</item>
-        <item name="android:paddingHorizontal">16dp</item>
-        <item name="android:textAllCaps">false</item>
-    </style>
 </resources>
\ No newline at end of file
diff --git a/packages/CarSystemUI/src/com/android/systemui/car/keyguard/CarKeyguardViewController.java b/packages/CarSystemUI/src/com/android/systemui/car/keyguard/CarKeyguardViewController.java
index 1814fd0..60ee19e 100644
--- a/packages/CarSystemUI/src/com/android/systemui/car/keyguard/CarKeyguardViewController.java
+++ b/packages/CarSystemUI/src/com/android/systemui/car/keyguard/CarKeyguardViewController.java
@@ -26,6 +26,8 @@
 import android.view.ViewGroup;
 import android.view.ViewRootImpl;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.keyguard.KeyguardViewController;
@@ -90,7 +92,7 @@
                 }
             };
     private final CarUserManager.UserLifecycleListener mUserLifecycleListener = (e) -> {
-        if (e.getEventType() == CarUserManager.USER_LIFECYCLE_EVENT_TYPE_UNLOCKED) {
+        if (e.getEventType() == CarUserManager.USER_LIFECYCLE_EVENT_TYPE_SWITCHING) {
             revealKeyguardIfBouncerPrepared();
         }
     };
@@ -332,6 +334,11 @@
         getLayout().setVisibility(View.INVISIBLE);
     }
 
+    @VisibleForTesting
+    void setKeyguardBouncer(KeyguardBouncer keyguardBouncer) {
+        mBouncer = keyguardBouncer;
+    }
+
     private void revealKeyguardIfBouncerPrepared() {
         int reattemptDelayMillis = 50;
         Runnable revealKeyguard = () -> {
diff --git a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java b/packages/CarSystemUI/src/com/android/systemui/car/userswitcher/CarStatusBarHeader.java
similarity index 95%
rename from packages/CarSystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java
rename to packages/CarSystemUI/src/com/android/systemui/car/userswitcher/CarStatusBarHeader.java
index 4ef926f..bab6715 100644
--- a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java
+++ b/packages/CarSystemUI/src/com/android/systemui/car/userswitcher/CarStatusBarHeader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * 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.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.systemui.qs.car;
+package com.android.systemui.car.userswitcher;
 
 import android.content.Context;
 import android.graphics.Color;
diff --git a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java
index df82753..9fdfc0f 100644
--- a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBar.java
@@ -17,14 +17,18 @@
 package com.android.systemui.navigationbar.car;
 
 import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
+import static android.view.InsetsState.ITYPE_STATUS_BAR;
 import static android.view.InsetsState.containsType;
+import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
 
 import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT;
 import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.graphics.PixelFormat;
 import android.inputmethodservice.InputMethodService;
+import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.RemoteException;
@@ -35,6 +39,8 @@
 import android.view.ViewGroup;
 import android.view.WindowManager;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.statusbar.RegisterStatusBarResult;
 import com.android.systemui.R;
@@ -49,6 +55,9 @@
 import com.android.systemui.statusbar.SuperStatusBarViewFactory;
 import com.android.systemui.statusbar.phone.AutoHideController;
 import com.android.systemui.statusbar.phone.BarTransitions;
+import com.android.systemui.statusbar.phone.PhoneStatusBarPolicy;
+import com.android.systemui.statusbar.phone.StatusBarIconController;
+import com.android.systemui.statusbar.phone.StatusBarSignalPolicy;
 import com.android.systemui.statusbar.policy.KeyguardStateController;
 
 import java.io.FileDescriptor;
@@ -61,6 +70,7 @@
 /** Navigation bars customized for the automotive use case. */
 public class CarNavigationBar extends SystemUI implements CommandQueue.Callbacks {
 
+    private final Resources mResources;
     private final CarNavigationBarController mCarNavigationBarController;
     private final WindowManager mWindowManager;
     private final CarDeviceProvisionedController mCarDeviceProvisionedController;
@@ -72,9 +82,12 @@
     private final Lazy<NavigationBarController> mNavigationBarControllerLazy;
     private final SuperStatusBarViewFactory mSuperStatusBarViewFactory;
     private final ButtonSelectionStateController mButtonSelectionStateController;
+    private final PhoneStatusBarPolicy mIconPolicy;
+    private final StatusBarIconController mIconController;
 
     private final int mDisplayId;
 
+    private StatusBarSignalPolicy mSignalPolicy;
     private IStatusBarService mBarService;
     private ActivityManagerWrapper mActivityManagerWrapper;
 
@@ -97,11 +110,14 @@
     private boolean mDeviceIsSetUpForUser = true;
     private boolean mIsUserSetupInProgress = false;
 
+    private @BarTransitions.TransitionMode int mStatusBarMode;
     private @BarTransitions.TransitionMode int mNavigationBarMode;
-    private boolean mTransientShown;
+    private boolean mStatusBarTransientShown;
+    private boolean mNavBarTransientShown;
 
     @Inject
     public CarNavigationBar(Context context,
+            @Main Resources resources,
             CarNavigationBarController carNavigationBarController,
             WindowManager windowManager,
             CarDeviceProvisionedController deviceProvisionedController,
@@ -112,8 +128,12 @@
             Lazy<KeyguardStateController> keyguardStateControllerLazy,
             Lazy<NavigationBarController> navigationBarControllerLazy,
             SuperStatusBarViewFactory superStatusBarViewFactory,
-            ButtonSelectionStateController buttonSelectionStateController) {
+            ButtonSelectionStateController buttonSelectionStateController,
+            PhoneStatusBarPolicy iconPolicy,
+            StatusBarIconController iconController
+    ) {
         super(context);
+        mResources = resources;
         mCarNavigationBarController = carNavigationBarController;
         mWindowManager = windowManager;
         mCarDeviceProvisionedController = deviceProvisionedController;
@@ -125,14 +145,16 @@
         mNavigationBarControllerLazy = navigationBarControllerLazy;
         mSuperStatusBarViewFactory = superStatusBarViewFactory;
         mButtonSelectionStateController = buttonSelectionStateController;
+        mIconPolicy = iconPolicy;
+        mIconController = iconController;
 
-        mDisplayId = mWindowManager.getDefaultDisplay().getDisplayId();
+        mDisplayId = context.getDisplayId();
     }
 
     @Override
     public void start() {
         // Set initial state.
-        mHideNavBarForKeyboard = mContext.getResources().getBoolean(
+        mHideNavBarForKeyboard = mResources.getBoolean(
                 com.android.internal.R.bool.config_automotiveHideNavBarForKeyboard);
         mBottomNavBarVisible = false;
 
@@ -150,6 +172,33 @@
             ex.rethrowFromSystemServer();
         }
 
+        // StatusBarManagerService has a back up of IME token and it's restored here.
+        setImeWindowStatus(mDisplayId, result.mImeToken, result.mImeWindowVis,
+                result.mImeBackDisposition, result.mShowImeSwitcher);
+
+        // Set up the initial icon state
+        int numIcons = result.mIcons.size();
+        for (int i = 0; i < numIcons; i++) {
+            mCommandQueue.setIcon(result.mIcons.keyAt(i), result.mIcons.valueAt(i));
+        }
+
+        mAutoHideController.setStatusBar(new AutoHideUiElement() {
+            @Override
+            public void synchronizeState() {
+                // No op.
+            }
+
+            @Override
+            public boolean isVisible() {
+                return mStatusBarTransientShown;
+            }
+
+            @Override
+            public void hide() {
+                clearTransient();
+            }
+        });
+
         mAutoHideController.setNavigationBar(new AutoHideUiElement() {
             @Override
             public void synchronizeState() {
@@ -158,7 +207,7 @@
 
             @Override
             public boolean isVisible() {
-                return mTransientShown;
+                return mNavBarTransientShown;
             }
 
             @Override
@@ -193,6 +242,10 @@
         mActivityManagerWrapper.registerTaskStackListener(mButtonSelectionStateListener);
 
         mCarNavigationBarController.connectToHvac();
+
+        // Lastly, call to the icon policy to install/update all the icons.
+        mIconPolicy.init();
+        mSignalPolicy = new StatusBarSignalPolicy(mContext, mIconController);
     }
 
     private void restartNavBarsIfNecessary() {
@@ -274,9 +327,7 @@
     }
 
     private void buildNavBarWindows() {
-        mTopNavigationBarWindow = mSuperStatusBarViewFactory
-                .getStatusBarWindowView()
-                .findViewById(R.id.car_top_navigation_bar_container);
+        mTopNavigationBarWindow = mCarNavigationBarController.getTopWindow();
         mBottomNavigationBarWindow = mCarNavigationBarController.getBottomWindow();
         mLeftNavigationBarWindow = mCarNavigationBarController.getLeftWindow();
         mRightNavigationBarWindow = mCarNavigationBarController.getRightWindow();
@@ -305,6 +356,26 @@
     }
 
     private void attachNavBarWindows() {
+        if (mTopNavigationBarWindow != null) {
+            int height = mResources.getDimensionPixelSize(
+                    com.android.internal.R.dimen.status_bar_height);
+            WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
+                    ViewGroup.LayoutParams.MATCH_PARENT,
+                    height,
+                    WindowManager.LayoutParams.TYPE_STATUS_BAR,
+                    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+                            | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH
+                            | WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,
+                    PixelFormat.TRANSLUCENT);
+            lp.token = new Binder();
+            lp.gravity = Gravity.TOP;
+            lp.setFitInsetsTypes(0 /* types */);
+            lp.setTitle("TopCarNavigationBar");
+            lp.packageName = mContext.getPackageName();
+            lp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+            mWindowManager.addView(mTopNavigationBarWindow, lp);
+        }
+
         if (mBottomNavigationBarWindow != null && !mBottomNavBarVisible) {
             mBottomNavBarVisible = true;
 
@@ -316,13 +387,13 @@
                             | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
                             | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
                     PixelFormat.TRANSLUCENT);
-            lp.setTitle("CarNavigationBar");
+            lp.setTitle("BottomCarNavigationBar");
             lp.windowAnimations = 0;
             mWindowManager.addView(mBottomNavigationBarWindow, lp);
         }
 
         if (mLeftNavigationBarWindow != null) {
-            int width = mContext.getResources().getDimensionPixelSize(
+            int width = mResources.getDimensionPixelSize(
                     R.dimen.car_left_navigation_bar_width);
             WindowManager.LayoutParams leftlp = new WindowManager.LayoutParams(
                     width, ViewGroup.LayoutParams.MATCH_PARENT,
@@ -340,7 +411,7 @@
             mWindowManager.addView(mLeftNavigationBarWindow, leftlp);
         }
         if (mRightNavigationBarWindow != null) {
-            int width = mContext.getResources().getDimensionPixelSize(
+            int width = mResources.getDimensionPixelSize(
                     R.dimen.car_right_navigation_bar_width);
             WindowManager.LayoutParams rightlp = new WindowManager.LayoutParams(
                     width, ViewGroup.LayoutParams.MATCH_PARENT,
@@ -371,7 +442,7 @@
             return;
         }
 
-        if (mContext.getDisplay().getDisplayId() != displayId) {
+        if (mContext.getDisplayId() != displayId) {
             return;
         }
 
@@ -385,13 +456,17 @@
         if (displayId != mDisplayId) {
             return;
         }
-        if (!containsType(types, ITYPE_NAVIGATION_BAR)) {
-            return;
+        if (containsType(types, ITYPE_STATUS_BAR)) {
+            if (!mStatusBarTransientShown) {
+                mStatusBarTransientShown = true;
+                handleTransientChanged();
+            }
         }
-
-        if (!mTransientShown) {
-            mTransientShown = true;
-            handleTransientChanged();
+        if (containsType(types, ITYPE_NAVIGATION_BAR)) {
+            if (!mNavBarTransientShown) {
+                mNavBarTransientShown = true;
+                handleTransientChanged();
+            }
         }
     }
 
@@ -400,17 +475,31 @@
         if (displayId != mDisplayId) {
             return;
         }
-        if (!containsType(types, ITYPE_NAVIGATION_BAR)) {
+        if (!containsType(types, ITYPE_STATUS_BAR) && !containsType(types, ITYPE_NAVIGATION_BAR)) {
             return;
         }
         clearTransient();
     }
 
     private void clearTransient() {
-        if (mTransientShown) {
-            mTransientShown = false;
+        if (mStatusBarTransientShown) {
+            mStatusBarTransientShown = false;
             handleTransientChanged();
         }
+        if (mNavBarTransientShown) {
+            mNavBarTransientShown = false;
+            handleTransientChanged();
+        }
+    }
+
+    @VisibleForTesting
+    boolean isStatusBarTransientShown() {
+        return mStatusBarTransientShown;
+    }
+
+    @VisibleForTesting
+    boolean isNavBarTransientShown() {
+        return mNavBarTransientShown;
     }
 
     @Override
@@ -422,11 +511,22 @@
     }
 
     private void handleTransientChanged() {
-        updateBarMode(mTransientShown ? MODE_SEMI_TRANSPARENT : MODE_TRANSPARENT);
+        updateStatusBarMode(mStatusBarTransientShown ? MODE_SEMI_TRANSPARENT : MODE_TRANSPARENT);
+        updateNavBarMode(mNavBarTransientShown ? MODE_SEMI_TRANSPARENT : MODE_TRANSPARENT);
     }
 
-    // Returns true if the bar mode is changed.
-    private boolean updateBarMode(int barMode) {
+    // Returns true if the status bar mode has changed.
+    private boolean updateStatusBarMode(int barMode) {
+        if (mStatusBarMode != barMode) {
+            mStatusBarMode = barMode;
+            mAutoHideController.touchAutoHide();
+            return true;
+        }
+        return false;
+    }
+
+    // Returns true if the nav bar mode has changed.
+    private boolean updateNavBarMode(int barMode) {
         if (mNavigationBarMode != barMode) {
             mNavigationBarMode = barMode;
             mAutoHideController.touchAutoHide();
diff --git a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java
index fbcd878..37a8225 100644
--- a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java
+++ b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/CarNavigationBarController.java
@@ -40,6 +40,7 @@
     private final ButtonSelectionStateController mButtonSelectionStateController;
     private final Lazy<HvacController> mHvacControllerLazy;
 
+    private boolean mShowTop;
     private boolean mShowBottom;
     private boolean mShowLeft;
     private boolean mShowRight;
@@ -66,6 +67,7 @@
         mHvacControllerLazy = hvacControllerLazy;
 
         // Read configuration.
+        mShowTop = mContext.getResources().getBoolean(R.bool.config_enableTopNavigationBar);
         mShowBottom = mContext.getResources().getBoolean(R.bool.config_enableBottomNavigationBar);
         mShowLeft = mContext.getResources().getBoolean(R.bool.config_enableLeftNavigationBar);
         mShowRight = mContext.getResources().getBoolean(R.bool.config_enableRightNavigationBar);
@@ -105,6 +107,12 @@
         mHvacControllerLazy.get().removeAllComponents();
     }
 
+    /** Gets the top window if configured to do so. */
+    @Nullable
+    public ViewGroup getTopWindow() {
+        return mShowTop ? mNavigationBarViewFactory.getTopWindow() : null;
+    }
+
     /** Gets the bottom window if configured to do so. */
     @Nullable
     public ViewGroup getBottomWindow() {
diff --git a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/NavigationBarViewFactory.java b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/NavigationBarViewFactory.java
index 519b33a2..e47c5d1 100644
--- a/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/NavigationBarViewFactory.java
+++ b/packages/CarSystemUI/src/com/android/systemui/navigationbar/car/NavigationBarViewFactory.java
@@ -71,6 +71,11 @@
         mContext = context;
     }
 
+    /** Gets the top window. */
+    public ViewGroup getTopWindow() {
+        return getWindowCached(Type.TOP);
+    }
+
     /** Gets the bottom window. */
     public ViewGroup getBottomWindow() {
         return getWindowCached(Type.BOTTOM);
diff --git a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFooter.java b/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFooter.java
deleted file mode 100644
index b74f199..0000000
--- a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFooter.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.qs.car;
-
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.drawable.Drawable;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import androidx.annotation.Nullable;
-
-import com.android.systemui.Dependency;
-import com.android.systemui.R;
-import com.android.systemui.plugins.ActivityStarter;
-import com.android.systemui.qs.QSFooter;
-import com.android.systemui.qs.QSPanel;
-import com.android.systemui.statusbar.phone.MultiUserSwitch;
-import com.android.systemui.statusbar.policy.DeviceProvisionedController;
-import com.android.systemui.statusbar.policy.UserInfoController;
-
-/**
- * The footer view that displays below the status bar in the auto use-case. This view shows the
- * user switcher and access to settings.
- */
-public class CarQSFooter extends RelativeLayout implements QSFooter,
-        UserInfoController.OnUserInfoChangedListener {
-    private static final String TAG = "CarQSFooter";
-
-    private UserInfoController mUserInfoController;
-
-    private MultiUserSwitch mMultiUserSwitch;
-    private TextView mUserName;
-    private ImageView mMultiUserAvatar;
-    private CarQSFragment.UserSwitchCallback mUserSwitchCallback;
-
-    public CarQSFooter(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-        mMultiUserSwitch = findViewById(R.id.multi_user_switch);
-        mMultiUserAvatar = mMultiUserSwitch.findViewById(R.id.multi_user_avatar);
-        mUserName = findViewById(R.id.user_name);
-
-        mUserInfoController = Dependency.get(UserInfoController.class);
-
-        mMultiUserSwitch.setOnClickListener(v -> {
-            if (mUserSwitchCallback == null) {
-                Log.e(TAG, "CarQSFooter not properly set up; cannot display user switcher.");
-                return;
-            }
-
-            if (!mUserSwitchCallback.isShowing()) {
-                mUserSwitchCallback.show();
-            } else {
-                mUserSwitchCallback.hide();
-            }
-        });
-
-        findViewById(R.id.settings_button).setOnClickListener(v -> {
-            ActivityStarter activityStarter = Dependency.get(ActivityStarter.class);
-
-            if (!Dependency.get(DeviceProvisionedController.class).isCurrentUserSetup()) {
-                // If user isn't setup just unlock the device and dump them back at SUW.
-                activityStarter.postQSRunnableDismissingKeyguard(() -> { });
-                return;
-            }
-
-            activityStarter.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS),
-                    true /* dismissShade */);
-        });
-    }
-
-    @Override
-    public void onUserInfoChanged(String name, Drawable picture, String userAccount) {
-        mMultiUserAvatar.setImageDrawable(picture);
-        mUserName.setText(name);
-    }
-
-    @Override
-    public void setQSPanel(@Nullable QSPanel panel) {
-        if (panel != null) {
-            mMultiUserSwitch.setQsPanel(panel);
-        }
-    }
-
-    public void setUserSwitchCallback(CarQSFragment.UserSwitchCallback callback) {
-        mUserSwitchCallback = callback;
-    }
-
-    @Override
-    public void setListening(boolean listening) {
-        if (listening) {
-            mUserInfoController.addCallback(this);
-        } else {
-            mUserInfoController.removeCallback(this);
-        }
-    }
-
-    @Override
-    public void setExpandClickListener(OnClickListener onClickListener) {
-        // No view that should expand/collapse the quick settings.
-    }
-
-    @Override
-    public void setExpanded(boolean expanded) {
-        // Do nothing because the quick settings cannot be expanded.
-    }
-
-    @Override
-    public void setExpansion(float expansion) {
-        // Do nothing because the quick settings cannot be expanded.
-    }
-
-    @Override
-    public void setKeyguardShowing(boolean keyguardShowing) {
-        // Do nothing because the footer will not be shown when the keyguard is up.
-    }
-}
diff --git a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFragment.java b/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFragment.java
deleted file mode 100644
index 31965c5..0000000
--- a/packages/CarSystemUI/src/com/android/systemui/qs/car/CarQSFragment.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.qs.car;
-
-import android.animation.Animator;
-import android.animation.AnimatorInflater;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
-import android.app.Fragment;
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.recyclerview.widget.GridLayoutManager;
-
-import com.android.systemui.R;
-import com.android.systemui.car.userswitcher.UserGridRecyclerView;
-import com.android.systemui.plugins.qs.QS;
-import com.android.systemui.qs.QSFooter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A quick settings fragment for the car. For auto, there is no row for quick settings or ability
- * to expand the quick settings panel. Instead, the only thing is that displayed is the
- * status bar, and a static row with access to the user switcher and settings.
- */
-public class CarQSFragment extends Fragment implements QS {
-    private View mHeader;
-    private View mUserSwitcherContainer;
-    private CarQSFooter mFooter;
-    private View mFooterUserName;
-    private View mFooterExpandIcon;
-    private UserGridRecyclerView mUserGridView;
-    private AnimatorSet mAnimatorSet;
-    private UserSwitchCallback mUserSwitchCallback;
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
-            Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.car_qs_panel, container, false);
-    }
-
-    @Override
-    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        mHeader = view.findViewById(R.id.header);
-        mFooter = view.findViewById(R.id.qs_footer);
-        mFooterUserName = mFooter.findViewById(R.id.user_name);
-        mFooterExpandIcon = mFooter.findViewById(R.id.user_switch_expand_icon);
-
-        mUserSwitcherContainer = view.findViewById(R.id.user_switcher_container);
-
-        updateUserSwitcherHeight(0);
-
-        Context context = getContext();
-        mUserGridView = mUserSwitcherContainer.findViewById(R.id.user_grid);
-        GridLayoutManager layoutManager = new GridLayoutManager(context,
-                context.getResources().getInteger(R.integer.user_fullscreen_switcher_num_col));
-        mUserGridView.setLayoutManager(layoutManager);
-        mUserGridView.buildAdapter();
-
-        mUserSwitchCallback = new UserSwitchCallback();
-        mFooter.setUserSwitchCallback(mUserSwitchCallback);
-    }
-
-    @Override
-    public void hideImmediately() {
-        getView().setVisibility(View.INVISIBLE);
-    }
-
-    @Override
-    public void setQsExpansion(float qsExpansionFraction, float headerTranslation) {
-        // If the header is to be completed translated down, then set it to be visible.
-        getView().setVisibility(headerTranslation == 0 ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    @Override
-    public View getHeader() {
-        return mHeader;
-    }
-
-    @VisibleForTesting
-    QSFooter getFooter() {
-        return mFooter;
-    }
-
-    @Override
-    public void setHeaderListening(boolean listening) {
-        mFooter.setListening(listening);
-    }
-
-    @Override
-    public void setListening(boolean listening) {
-        mFooter.setListening(listening);
-    }
-
-    @Override
-    public int getQsMinExpansionHeight() {
-        return getView().getHeight();
-    }
-
-    @Override
-    public int getDesiredHeight() {
-        return getView().getHeight();
-    }
-
-    @Override
-    public void setPanelView(HeightListener notificationPanelView) {
-        // No quick settings panel.
-    }
-
-    @Override
-    public void setHeightOverride(int desiredHeight) {
-        // No ability to expand quick settings.
-    }
-
-    @Override
-    public void setHeaderClickable(boolean qsExpansionEnabled) {
-        // Usually this sets the expand button to be clickable, but there is no quick settings to
-        // expand.
-    }
-
-    @Override
-    public boolean isCustomizing() {
-        // No ability to customize the quick settings.
-        return false;
-    }
-
-    @Override
-    public void setOverscrolling(boolean overscrolling) {
-        // No overscrolling to reveal quick settings.
-    }
-
-    @Override
-    public void setExpanded(boolean qsExpanded) {
-        // No quick settings to expand
-    }
-
-    @Override
-    public boolean isShowingDetail() {
-        // No detail panel to close.
-        return false;
-    }
-
-    @Override
-    public void closeDetail() {
-        // No detail panel to close.
-    }
-
-    @Override
-    public void animateHeaderSlidingIn(long delay) {
-        // No header to animate.
-    }
-
-    @Override
-    public void animateHeaderSlidingOut() {
-        // No header to animate.
-    }
-
-    @Override
-    public void notifyCustomizeChanged() {
-        // There is no ability to customize quick settings.
-    }
-
-    @Override
-    public void setContainer(ViewGroup container) {
-        // No quick settings, so no container to set.
-    }
-
-    @Override
-    public void setExpandClickListener(OnClickListener onClickListener) {
-        // No ability to expand the quick settings.
-    }
-
-    public class UserSwitchCallback {
-        private boolean mShowing;
-
-        public boolean isShowing() {
-            return mShowing;
-        }
-
-        public void show() {
-            mShowing = true;
-            animateHeightChange(true /* opening */);
-        }
-
-        public void hide() {
-            mShowing = false;
-            animateHeightChange(false /* opening */);
-        }
-    }
-
-    private void updateUserSwitcherHeight(int height) {
-        ViewGroup.LayoutParams layoutParams = mUserSwitcherContainer.getLayoutParams();
-        layoutParams.height = height;
-        mUserSwitcherContainer.requestLayout();
-    }
-
-    private void animateHeightChange(boolean opening) {
-        // Animation in progress; cancel it to avoid contention.
-        if (mAnimatorSet != null) {
-            mAnimatorSet.cancel();
-        }
-
-        List<Animator> allAnimators = new ArrayList<>();
-        ValueAnimator heightAnimator = (ValueAnimator) AnimatorInflater.loadAnimator(getContext(),
-                opening ? R.anim.car_user_switcher_open_animation
-                        : R.anim.car_user_switcher_close_animation);
-        heightAnimator.addUpdateListener(valueAnimator -> {
-            updateUserSwitcherHeight((Integer) valueAnimator.getAnimatedValue());
-        });
-        allAnimators.add(heightAnimator);
-
-        Animator nameAnimator = AnimatorInflater.loadAnimator(getContext(),
-                opening ? R.anim.car_user_switcher_open_name_animation
-                        : R.anim.car_user_switcher_close_name_animation);
-        nameAnimator.setTarget(mFooterUserName);
-        allAnimators.add(nameAnimator);
-
-        Animator iconAnimator = AnimatorInflater.loadAnimator(getContext(),
-                opening ? R.anim.car_user_switcher_open_icon_animation
-                        : R.anim.car_user_switcher_close_icon_animation);
-        iconAnimator.setTarget(mFooterExpandIcon);
-        allAnimators.add(iconAnimator);
-
-        mAnimatorSet = new AnimatorSet();
-        mAnimatorSet.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mAnimatorSet = null;
-            }
-        });
-        mAnimatorSet.playTogether(allAnimators.toArray(new Animator[0]));
-
-        // Setup all values to the start values in the animations, since there are delays, but need
-        // to have all values start at the beginning.
-        setupInitialValues(mAnimatorSet);
-
-        mAnimatorSet.start();
-    }
-
-    private void setupInitialValues(Animator anim) {
-        if (anim instanceof AnimatorSet) {
-            for (Animator a : ((AnimatorSet) anim).getChildAnimations()) {
-                setupInitialValues(a);
-            }
-        } else if (anim instanceof ObjectAnimator) {
-            ((ObjectAnimator) anim).setCurrentFraction(0.0f);
-        }
-    }
-}
diff --git a/packages/CarSystemUI/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetector.java b/packages/CarSystemUI/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetector.java
new file mode 100644
index 0000000..c0dbb58
--- /dev/null
+++ b/packages/CarSystemUI/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetector.java
@@ -0,0 +1,136 @@
+/*
+ * 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.sideloaded.car;
+
+import android.annotation.NonNull;
+import android.app.ActivityManager;
+import android.content.ComponentName;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.InstallSourceInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.os.UserHandle;
+import android.util.Log;
+
+import com.android.systemui.R;
+import com.android.systemui.car.CarDeviceProvisionedController;
+import com.android.systemui.dagger.qualifiers.Main;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+/**
+ * A class that detects unsafe apps.
+ * An app is considered safe if is a system app or installed through whitelisted sources.
+ */
+@Singleton
+public class CarSideLoadedAppDetector {
+    private static final String TAG = "CarSideLoadedDetector";
+
+    private final PackageManager mPackageManager;
+    private final CarDeviceProvisionedController mCarDeviceProvisionedController;
+    private final List<String> mAllowedAppInstallSources;
+
+    @Inject
+    public CarSideLoadedAppDetector(@Main Resources resources, PackageManager packageManager,
+            CarDeviceProvisionedController deviceProvisionedController) {
+        mAllowedAppInstallSources = Arrays.asList(
+                resources.getStringArray(R.array.config_allowedAppInstallSources));
+        mPackageManager = packageManager;
+        mCarDeviceProvisionedController = deviceProvisionedController;
+    }
+
+    boolean hasUnsafeInstalledApps() {
+        int userId = mCarDeviceProvisionedController.getCurrentUser();
+
+        List<PackageInfo> packages = mPackageManager.getInstalledPackagesAsUser(
+                PackageManager.MATCH_DIRECT_BOOT_AWARE
+                        | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
+                userId);
+        for (PackageInfo info : packages) {
+            if (info.applicationInfo == null) {
+                Log.w(TAG, info.packageName + " does not have application info.");
+                return true;
+            }
+
+            if (!isSafe(info.applicationInfo)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    boolean isSafe(@NonNull ActivityManager.StackInfo stackInfo) {
+        ComponentName componentName = stackInfo.topActivity;
+        if (componentName == null) {
+            Log.w(TAG, "Stack info does not have top activity: " + stackInfo.stackId);
+            return false;
+        }
+        return isSafe(componentName.getPackageName());
+    }
+
+    private boolean isSafe(@NonNull String packageName) {
+        if (packageName == null) {
+            return false;
+        }
+
+        ApplicationInfo applicationInfo;
+        try {
+            int userId = mCarDeviceProvisionedController.getCurrentUser();
+            applicationInfo = mPackageManager.getApplicationInfoAsUser(packageName,
+                    PackageManager.MATCH_DIRECT_BOOT_AWARE
+                            | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
+                    UserHandle.of(userId));
+
+            if (applicationInfo == null) {
+                Log.e(TAG, packageName + " did not have an application info!");
+                return false;
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Could not get application info for package:" + packageName, e);
+            return false;
+        }
+
+        return isSafe(applicationInfo);
+    }
+
+    private boolean isSafe(@NonNull ApplicationInfo applicationInfo) {
+        String packageName = applicationInfo.packageName;
+
+        if (applicationInfo.isSystemApp() || applicationInfo.isUpdatedSystemApp()) {
+            return true;
+        }
+
+        String initiatingPackageName;
+        try {
+            InstallSourceInfo sourceInfo = mPackageManager.getInstallSourceInfo(packageName);
+            initiatingPackageName = sourceInfo.getInitiatingPackageName();
+            if (initiatingPackageName == null) {
+                Log.w(TAG, packageName + " does not have an installer name.");
+                return false;
+            }
+
+            return mAllowedAppInstallSources.contains(initiatingPackageName);
+        } catch (IllegalArgumentException | PackageManager.NameNotFoundException e) {
+            return false;
+        }
+    }
+}
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index cd45fc9..ec1dabc 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -54,7 +54,6 @@
 import com.android.systemui.plugins.FalsingManager;
 import com.android.systemui.plugins.PluginDependencyProvider;
 import com.android.systemui.plugins.qs.QS;
-import com.android.systemui.qs.car.CarQSFragment;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.ScreenPinningRequest;
 import com.android.systemui.shared.plugins.PluginManager;
@@ -77,7 +76,6 @@
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptSuppressor;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
@@ -170,7 +168,6 @@
             NotificationInterruptStateProvider notificationInterruptStateProvider,
             NotificationViewHierarchyManager notificationViewHierarchyManager,
             KeyguardViewMediator keyguardViewMediator,
-            NotificationAlertingManager notificationAlertingManager,
             DisplayMetrics displayMetrics,
             MetricsLogger metricsLogger,
             @UiBackground Executor uiBgExecutor,
@@ -251,7 +248,6 @@
                 notificationInterruptStateProvider,
                 notificationViewHierarchyManager,
                 keyguardViewMediator,
-                notificationAlertingManager,
                 displayMetrics,
                 metricsLogger,
                 uiBgExecutor,
@@ -410,7 +406,7 @@
 
     @Override
     protected QS createDefaultQSFragment() {
-        return new CarQSFragment();
+        return null;
     }
 
     private BatteryController createBatteryController() {
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
index e163173..f72ab25 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
@@ -63,7 +63,6 @@
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
@@ -145,7 +144,6 @@
             NotificationInterruptStateProvider notificationInterruptionStateProvider,
             NotificationViewHierarchyManager notificationViewHierarchyManager,
             KeyguardViewMediator keyguardViewMediator,
-            NotificationAlertingManager notificationAlertingManager,
             DisplayMetrics displayMetrics,
             MetricsLogger metricsLogger,
             @UiBackground Executor uiBgExecutor,
@@ -225,7 +223,6 @@
                 notificationInterruptionStateProvider,
                 notificationViewHierarchyManager,
                 keyguardViewMediator,
-                notificationAlertingManager,
                 displayMetrics,
                 metricsLogger,
                 uiBgExecutor,
diff --git a/packages/CarSystemUI/tests/src/com/android/systemui/car/keyguard/CarKeyguardViewControllerTest.java b/packages/CarSystemUI/tests/src/com/android/systemui/car/keyguard/CarKeyguardViewControllerTest.java
new file mode 100644
index 0000000..d4cf6cc
--- /dev/null
+++ b/packages/CarSystemUI/tests/src/com/android/systemui/car/keyguard/CarKeyguardViewControllerTest.java
@@ -0,0 +1,209 @@
+/*
+ * 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.car.keyguard;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Handler;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.keyguard.KeyguardUpdateMonitor;
+import com.android.keyguard.ViewMediatorCallback;
+import com.android.systemui.R;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.car.CarServiceProvider;
+import com.android.systemui.keyguard.DismissCallbackRegistry;
+import com.android.systemui.navigationbar.car.CarNavigationBarController;
+import com.android.systemui.plugins.FalsingManager;
+import com.android.systemui.statusbar.phone.BiometricUnlockController;
+import com.android.systemui.statusbar.phone.KeyguardBouncer;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
+import com.android.systemui.statusbar.policy.KeyguardStateController;
+import com.android.systemui.window.OverlayViewGlobalStateController;
+import com.android.systemui.window.SystemUIOverlayWindowController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class CarKeyguardViewControllerTest extends SysuiTestCase {
+
+    private TestableCarKeyguardViewController mCarKeyguardViewController;
+    private OverlayViewGlobalStateController mOverlayViewGlobalStateController;
+    private ViewGroup mBaseLayout;
+
+    @Mock
+    private KeyguardBouncer mBouncer;
+    @Mock
+    private CarNavigationBarController mCarNavigationBarController;
+    @Mock
+    private SystemUIOverlayWindowController mSystemUIOverlayWindowController;
+    @Mock
+    private CarKeyguardViewController.OnKeyguardCancelClickedListener mCancelClickedListener;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mOverlayViewGlobalStateController = new OverlayViewGlobalStateController(
+                mCarNavigationBarController, mSystemUIOverlayWindowController);
+        mBaseLayout = (ViewGroup) LayoutInflater.from(mContext).inflate(
+                R.layout.sysui_overlay_window, /* root= */ null);
+        when(mSystemUIOverlayWindowController.getBaseLayout()).thenReturn(mBaseLayout);
+
+        mCarKeyguardViewController = new TestableCarKeyguardViewController(
+                mContext,
+                Handler.getMain(),
+                mock(CarServiceProvider.class),
+                mOverlayViewGlobalStateController,
+                mock(KeyguardStateController.class),
+                mock(KeyguardUpdateMonitor.class),
+                mock(BiometricUnlockController.class),
+                mock(ViewMediatorCallback.class),
+                mock(CarNavigationBarController.class),
+                mock(LockPatternUtils.class),
+                mock(DismissCallbackRegistry.class),
+                mock(FalsingManager.class),
+                mock(KeyguardBypassController.class)
+        );
+    }
+
+    @Test
+    public void onShow_bouncerIsSecure_showsBouncerWithSecuritySelectionReset() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+
+        verify(mBouncer).show(/* resetSecuritySelection= */ true);
+    }
+
+    @Test
+    public void onShow_bouncerIsSecure_keyguardIsVisible() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+
+        assertThat(mBaseLayout.findViewById(R.id.keyguard_container).getVisibility()).isEqualTo(
+                View.VISIBLE);
+    }
+
+    @Test
+    public void onShow_bouncerNotSecure_hidesBouncerAndDestroysTheView() {
+        when(mBouncer.isSecure()).thenReturn(false);
+        mCarKeyguardViewController.show(/* options= */ null);
+
+        verify(mBouncer).hide(/* destroyView= */ true);
+    }
+
+    @Test
+    public void onShow_bouncerNotSecure_keyguardIsNotVisible() {
+        when(mBouncer.isSecure()).thenReturn(false);
+        mCarKeyguardViewController.show(/* options= */ null);
+
+        assertThat(mBaseLayout.findViewById(R.id.keyguard_container).getVisibility()).isEqualTo(
+                View.GONE);
+    }
+
+    @Test
+    public void onHide_keyguardShowing_hidesBouncerAndDestroysTheView() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+        mCarKeyguardViewController.hide(/* startTime= */ 0, /* fadeoutDelay= */ 0);
+
+        verify(mBouncer).hide(/* destroyView= */ true);
+    }
+
+    @Test
+    public void onHide_keyguardNotShown_doesNotHideOrDestroyBouncer() {
+        mCarKeyguardViewController.hide(/* startTime= */ 0, /* fadeoutDelay= */ 0);
+
+        verify(mBouncer, never()).hide(anyBoolean());
+    }
+
+    @Test
+    public void onHide_KeyguardNotVisible() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+        mCarKeyguardViewController.hide(/* startTime= */ 0, /* fadeoutDelay= */ 0);
+
+        assertThat(mBaseLayout.findViewById(R.id.keyguard_container).getVisibility()).isEqualTo(
+                View.GONE);
+    }
+
+    @Test
+    public void onCancelClicked_callsCancelClickedListener() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+        mCarKeyguardViewController.registerOnKeyguardCancelClickedListener(mCancelClickedListener);
+        mCarKeyguardViewController.onCancelClicked();
+
+        verify(mCancelClickedListener).onCancelClicked();
+    }
+
+    @Test
+    public void onCancelClicked_hidesBouncerAndDestroysTheView() {
+        when(mBouncer.isSecure()).thenReturn(true);
+        mCarKeyguardViewController.show(/* options= */ null);
+        mCarKeyguardViewController.registerOnKeyguardCancelClickedListener(mCancelClickedListener);
+        mCarKeyguardViewController.onCancelClicked();
+
+        verify(mBouncer).hide(/* destroyView= */ true);
+    }
+
+    private class TestableCarKeyguardViewController extends CarKeyguardViewController {
+
+        TestableCarKeyguardViewController(Context context,
+                Handler mainHandler,
+                CarServiceProvider carServiceProvider,
+                OverlayViewGlobalStateController overlayViewGlobalStateController,
+                KeyguardStateController keyguardStateController,
+                KeyguardUpdateMonitor keyguardUpdateMonitor,
+                BiometricUnlockController biometricUnlockController,
+                ViewMediatorCallback viewMediatorCallback,
+                CarNavigationBarController carNavigationBarController,
+                LockPatternUtils lockPatternUtils,
+                DismissCallbackRegistry dismissCallbackRegistry,
+                FalsingManager falsingManager,
+                KeyguardBypassController keyguardBypassController) {
+            super(context, mainHandler, carServiceProvider, overlayViewGlobalStateController,
+                    keyguardStateController, keyguardUpdateMonitor, biometricUnlockController,
+                    viewMediatorCallback, carNavigationBarController, lockPatternUtils,
+                    dismissCallbackRegistry, falsingManager, keyguardBypassController);
+        }
+
+        @Override
+        public void onFinishInflate() {
+            super.onFinishInflate();
+            setKeyguardBouncer(CarKeyguardViewControllerTest.this.mBouncer);
+        }
+    }
+
+}
diff --git a/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarControllerTest.java b/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarControllerTest.java
index e0c13ed..bbcd0d4 100644
--- a/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarControllerTest.java
+++ b/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarControllerTest.java
@@ -87,6 +87,40 @@
     }
 
     @Test
+    public void testGetTopWindow_topDisabled_returnsNull() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, false);
+        mCarNavigationBar = new CarNavigationBarController(mContext, mNavigationBarViewFactory,
+                mButtonSelectionStateController, () -> mHvacController);
+
+        ViewGroup window = mCarNavigationBar.getTopWindow();
+
+        assertThat(window).isNull();
+    }
+
+    @Test
+    public void testGetTopWindow_topEnabled_returnsWindow() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mCarNavigationBar = new CarNavigationBarController(mContext, mNavigationBarViewFactory,
+                mButtonSelectionStateController, () -> mHvacController);
+
+        ViewGroup window = mCarNavigationBar.getTopWindow();
+
+        assertThat(window).isNotNull();
+    }
+
+    @Test
+    public void testGetTopWindow_topEnabled_calledTwice_returnsSameWindow() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mCarNavigationBar = new CarNavigationBarController(mContext, mNavigationBarViewFactory,
+                mButtonSelectionStateController, () -> mHvacController);
+
+        ViewGroup window1 = mCarNavigationBar.getTopWindow();
+        ViewGroup window2 = mCarNavigationBar.getTopWindow();
+
+        assertThat(window1).isEqualTo(window2);
+    }
+
+    @Test
     public void testGetBottomWindow_bottomDisabled_returnsNull() {
         mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, false);
         mCarNavigationBar = new CarNavigationBarController(mContext, mNavigationBarViewFactory,
diff --git a/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarTest.java b/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarTest.java
index 76557fd..3ecb29f 100644
--- a/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarTest.java
+++ b/packages/CarSystemUI/tests/src/com/android/systemui/navigationbar/car/CarNavigationBarTest.java
@@ -16,6 +16,11 @@
 
 package com.android.systemui.navigationbar.car;
 
+import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
+import static android.view.InsetsState.ITYPE_STATUS_BAR;
+
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -23,7 +28,7 @@
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.testing.TestableResources;
-import android.view.LayoutInflater;
+import android.view.Display;
 import android.view.WindowManager;
 
 import androidx.test.filters.SmallTest;
@@ -31,13 +36,12 @@
 import com.android.systemui.R;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.car.CarDeviceProvisionedController;
-import com.android.systemui.plugins.DarkIconDispatcher;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.NavigationBarController;
 import com.android.systemui.statusbar.SuperStatusBarViewFactory;
 import com.android.systemui.statusbar.phone.AutoHideController;
+import com.android.systemui.statusbar.phone.PhoneStatusBarPolicy;
 import com.android.systemui.statusbar.phone.StatusBarIconController;
-import com.android.systemui.statusbar.phone.StatusBarWindowView;
 import com.android.systemui.statusbar.policy.KeyguardStateController;
 
 import org.junit.Before;
@@ -74,30 +78,28 @@
     private SuperStatusBarViewFactory mSuperStatusBarViewFactory;
     @Mock
     private ButtonSelectionStateController mButtonSelectionStateController;
+    @Mock
+    private PhoneStatusBarPolicy mIconPolicy;
+    @Mock
+    private StatusBarIconController mIconController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mTestableResources = mContext.getOrCreateTestableResources();
-        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
         mHandler = Handler.getMain();
-        mCarNavigationBar = new CarNavigationBar(mContext, mCarNavigationBarController,
-                mWindowManager, mDeviceProvisionedController, new CommandQueue(mContext),
-                mAutoHideController, mButtonSelectionStateListener, mHandler,
-                () -> mKeyguardStateController, () -> mNavigationBarController,
-                mSuperStatusBarViewFactory, mButtonSelectionStateController);
-        StatusBarWindowView statusBarWindowView = (StatusBarWindowView) LayoutInflater.from(
-                mContext).inflate(R.layout.super_status_bar, /* root= */ null);
-        when(mSuperStatusBarViewFactory.getStatusBarWindowView()).thenReturn(statusBarWindowView);
-        when(mKeyguardStateController.isShowing()).thenReturn(false);
-        mDependency.injectMockDependency(WindowManager.class);
-        // Needed to inflate top navigation bar.
-        mDependency.injectMockDependency(DarkIconDispatcher.class);
-        mDependency.injectMockDependency(StatusBarIconController.class);
+        mCarNavigationBar = new CarNavigationBar(mContext, mTestableResources.getResources(),
+                mCarNavigationBarController, mWindowManager, mDeviceProvisionedController,
+                new CommandQueue(mContext), mAutoHideController, mButtonSelectionStateListener,
+                mHandler, () -> mKeyguardStateController, () -> mNavigationBarController,
+                mSuperStatusBarViewFactory, mButtonSelectionStateController, mIconPolicy,
+                mIconController);
     }
 
     @Test
     public void restartNavbars_refreshesTaskChanged() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
         ArgumentCaptor<CarDeviceProvisionedController.DeviceProvisionedListener>
                 deviceProvisionedCallbackCaptor = ArgumentCaptor.forClass(
                 CarDeviceProvisionedController.DeviceProvisionedListener.class);
@@ -115,6 +117,8 @@
 
     @Test
     public void restartNavBars_newUserNotSetupWithKeyguardShowing_showsKeyguardButtons() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
         ArgumentCaptor<CarDeviceProvisionedController.DeviceProvisionedListener>
                 deviceProvisionedCallbackCaptor = ArgumentCaptor.forClass(
                 CarDeviceProvisionedController.DeviceProvisionedListener.class);
@@ -133,6 +137,8 @@
 
     @Test
     public void restartNavbars_newUserIsSetupWithKeyguardHidden_hidesKeyguardButtons() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
         ArgumentCaptor<CarDeviceProvisionedController.DeviceProvisionedListener>
                 deviceProvisionedCallbackCaptor = ArgumentCaptor.forClass(
                 CarDeviceProvisionedController.DeviceProvisionedListener.class);
@@ -152,4 +158,147 @@
 
         verify(mCarNavigationBarController).hideAllKeyguardButtons(true);
     }
+
+    @Test
+    public void showTransient_wrongDisplayId_transientModeNotUpdated() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+
+        int randomDisplay = Display.DEFAULT_DISPLAY + 10;
+        int[] insetTypes = new int[]{};
+        mCarNavigationBar.showTransient(randomDisplay, insetTypes);
+
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isFalse();
+    }
+
+    @Test
+    public void showTransient_correctDisplayId_noStatusBarInset_transientModeNotUpdated() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+
+        int[] insetTypes = new int[]{};
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isFalse();
+    }
+
+    @Test
+    public void showTransient_correctDisplayId_statusBarInset_transientModeUpdated() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+
+        int[] insetTypes = new int[]{ITYPE_STATUS_BAR};
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+    }
+
+    @Test
+    public void showTransient_correctDisplayId_noNavBarInset_transientModeNotUpdated() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+
+        int[] insetTypes = new int[]{};
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isFalse();
+    }
+
+    @Test
+    public void showTransient_correctDisplayId_navBarInset_transientModeUpdated() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+
+        int[] insetTypes = new int[]{ITYPE_NAVIGATION_BAR};
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+    }
+
+    @Test
+    public void abortTransient_wrongDisplayId_transientModeNotCleared() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY,
+                new int[]{ITYPE_STATUS_BAR, ITYPE_NAVIGATION_BAR});
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+
+        int[] insetTypes = new int[]{};
+        int randomDisplay = Display.DEFAULT_DISPLAY + 10;
+        mCarNavigationBar.abortTransient(randomDisplay, insetTypes);
+
+        // The transient booleans were not cleared.
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+    }
+
+    @Test
+    public void abortTransient_correctDisplayId_noInsets_transientModeNotCleared() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY,
+                new int[]{ITYPE_STATUS_BAR, ITYPE_NAVIGATION_BAR});
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+
+        int[] insetTypes = new int[]{};
+        mCarNavigationBar.abortTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        // The transient booleans were not cleared.
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+    }
+
+    @Test
+    public void abortTransient_correctDisplayId_statusBarInset_transientModeCleared() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY,
+                new int[]{ITYPE_STATUS_BAR, ITYPE_NAVIGATION_BAR});
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+
+        int[] insetTypes = new int[]{ITYPE_STATUS_BAR};
+        mCarNavigationBar.abortTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        // The transient booleans were cleared.
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isFalse();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isFalse();
+    }
+
+    @Test
+    public void abortTransient_correctDisplayId_navBarInset_transientModeCleared() {
+        mTestableResources.addOverride(R.bool.config_enableTopNavigationBar, true);
+        mTestableResources.addOverride(R.bool.config_enableBottomNavigationBar, true);
+        when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
+        mCarNavigationBar.start();
+        mCarNavigationBar.showTransient(Display.DEFAULT_DISPLAY,
+                new int[]{ITYPE_STATUS_BAR, ITYPE_NAVIGATION_BAR});
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isTrue();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isTrue();
+
+        int[] insetTypes = new int[]{ITYPE_NAVIGATION_BAR};
+        mCarNavigationBar.abortTransient(Display.DEFAULT_DISPLAY, insetTypes);
+
+        // The transient booleans were cleared.
+        assertThat(mCarNavigationBar.isStatusBarTransientShown()).isFalse();
+        assertThat(mCarNavigationBar.isNavBarTransientShown()).isFalse();
+    }
 }
diff --git a/packages/CarSystemUI/tests/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetectorTest.java b/packages/CarSystemUI/tests/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetectorTest.java
new file mode 100644
index 0000000..aebb0e0
--- /dev/null
+++ b/packages/CarSystemUI/tests/src/com/android/systemui/sideloaded/car/CarSideLoadedAppDetectorTest.java
@@ -0,0 +1,164 @@
+/*
+ * 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.sideloaded.car;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.app.ActivityManager;
+import android.content.ComponentName;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.InstallSourceInfo;
+import android.content.pm.PackageManager;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.testing.TestableResources;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.R;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.car.CarDeviceProvisionedController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+@SmallTest
+public class CarSideLoadedAppDetectorTest extends SysuiTestCase {
+
+    private static final String SAFE_VENDOR = "com.safe.vendor";
+    private static final String UNSAFE_VENDOR = "com.unsafe.vendor";
+    private static final String APP_PACKAGE_NAME = "com.test";
+    private static final String APP_CLASS_NAME = ".TestClass";
+
+    private CarSideLoadedAppDetector mSideLoadedAppDetector;
+
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private CarDeviceProvisionedController mCarDeviceProvisionedController;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        TestableResources testableResources = mContext.getOrCreateTestableResources();
+        String[] allowedAppInstallSources = new String[] {SAFE_VENDOR};
+        testableResources.addOverride(R.array.config_allowedAppInstallSources,
+                allowedAppInstallSources);
+
+        mSideLoadedAppDetector = new CarSideLoadedAppDetector(testableResources.getResources(),
+                mPackageManager,
+                mCarDeviceProvisionedController);
+    }
+
+    @Test
+    public void isSafe_systemApp_returnsTrue() throws Exception {
+        ActivityManager.StackInfo stackInfo = new ActivityManager.StackInfo();
+        stackInfo.topActivity = new ComponentName(APP_PACKAGE_NAME, APP_CLASS_NAME);
+
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = APP_PACKAGE_NAME;
+        applicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
+
+        when(mPackageManager.getApplicationInfoAsUser(eq(APP_PACKAGE_NAME), anyInt(), any()))
+                .thenReturn(applicationInfo);
+
+        assertThat(mSideLoadedAppDetector.isSafe(stackInfo)).isTrue();
+    }
+
+    @Test
+    public void isSafe_updatedSystemApp_returnsTrue() throws Exception {
+        ActivityManager.StackInfo stackInfo = new ActivityManager.StackInfo();
+        stackInfo.topActivity = new ComponentName(APP_PACKAGE_NAME, APP_CLASS_NAME);
+
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = APP_PACKAGE_NAME;
+        applicationInfo.flags = ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
+
+        when(mPackageManager.getApplicationInfoAsUser(eq(APP_PACKAGE_NAME), anyInt(), any()))
+                .thenReturn(applicationInfo);
+
+        assertThat(mSideLoadedAppDetector.isSafe(stackInfo)).isTrue();
+    }
+
+    @Test
+    public void isSafe_nonSystemApp_withSafeSource_returnsTrue() throws Exception {
+        InstallSourceInfo sourceInfo = new InstallSourceInfo(SAFE_VENDOR,
+                /* initiatingPackageSigningInfo= */null,
+                /* originatingPackageName= */ null,
+                /* installingPackageName= */ null);
+        ActivityManager.StackInfo stackInfo = new ActivityManager.StackInfo();
+        stackInfo.topActivity = new ComponentName(APP_PACKAGE_NAME, APP_CLASS_NAME);
+
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = APP_PACKAGE_NAME;
+
+        when(mPackageManager.getApplicationInfoAsUser(eq(APP_PACKAGE_NAME), anyInt(), any()))
+                .thenReturn(applicationInfo);
+        when(mPackageManager.getInstallSourceInfo(APP_PACKAGE_NAME)).thenReturn(sourceInfo);
+
+        assertThat(mSideLoadedAppDetector.isSafe(stackInfo)).isTrue();
+    }
+
+    @Test
+    public void isSafe_nonSystemApp_withUnsafeSource_returnsFalse() throws Exception {
+        InstallSourceInfo sourceInfo = new InstallSourceInfo(UNSAFE_VENDOR,
+                /* initiatingPackageSigningInfo= */null,
+                /* originatingPackageName= */ null,
+                /* installingPackageName= */ null);
+        ActivityManager.StackInfo stackInfo = new ActivityManager.StackInfo();
+        stackInfo.topActivity = new ComponentName(APP_PACKAGE_NAME, APP_CLASS_NAME);
+
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = APP_PACKAGE_NAME;
+
+        when(mPackageManager.getApplicationInfoAsUser(eq(APP_PACKAGE_NAME), anyInt(), any()))
+                .thenReturn(applicationInfo);
+        when(mPackageManager.getInstallSourceInfo(APP_PACKAGE_NAME)).thenReturn(sourceInfo);
+
+        assertThat(mSideLoadedAppDetector.isSafe(stackInfo)).isFalse();
+    }
+
+    @Test
+    public void isSafe_nonSystemApp_withoutSource_returnsFalse() throws Exception {
+        InstallSourceInfo sourceInfo = new InstallSourceInfo(null,
+                /* initiatingPackageSigningInfo= */null,
+                /* originatingPackageName= */ null,
+                /* installingPackageName= */ null);
+        ActivityManager.StackInfo stackInfo = new ActivityManager.StackInfo();
+        stackInfo.topActivity = new ComponentName(APP_PACKAGE_NAME, APP_CLASS_NAME);
+
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = APP_PACKAGE_NAME;
+
+        when(mPackageManager.getApplicationInfoAsUser(eq(APP_PACKAGE_NAME), anyInt(), any()))
+                .thenReturn(applicationInfo);
+        when(mPackageManager.getInstallSourceInfo(APP_PACKAGE_NAME)).thenReturn(sourceInfo);
+
+        assertThat(mSideLoadedAppDetector.isSafe(stackInfo)).isFalse();
+    }
+}
diff --git a/packages/CtsShim/build/Android.bp b/packages/CtsShim/build/Android.bp
index 587109d..54986a4 100644
--- a/packages/CtsShim/build/Android.bp
+++ b/packages/CtsShim/build/Android.bp
@@ -69,6 +69,14 @@
     // Explicitly uncompress native libs rather than letting the build system doing it and destroy the
     // v2/v3 signature.
     use_embedded_native_libs: true,
+    apex_available: [
+        "com.android.apex.cts.shim.v1",
+        "com.android.apex.cts.shim.v2",
+        "com.android.apex.cts.shim.v2_no_hashtree",
+        "com.android.apex.cts.shim.v2_legacy",
+        "com.android.apex.cts.shim.v2_sdk_target_p",
+        "com.android.apex.cts.shim.v3",
+    ],
 }
 
 //##########################################################
@@ -110,7 +118,10 @@
     dex_preopt: {
         enabled: false,
     },
-    manifest: "shim/AndroidManifestTargetPSdk.xml"
+    manifest: "shim/AndroidManifestTargetPSdk.xml",
+    apex_available: [
+        "com.android.apex.cts.shim.v2_apk_in_apex_sdk_target_p",
+    ],
 }
 
 //##########################################################
@@ -128,4 +139,12 @@
     },
 
     manifest: "shim/AndroidManifest.xml",
+    apex_available: [
+        "com.android.apex.cts.shim.v1",
+        "com.android.apex.cts.shim.v2",
+        "com.android.apex.cts.shim.v2_no_hashtree",
+        "com.android.apex.cts.shim.v2_legacy",
+        "com.android.apex.cts.shim.v2_sdk_target_p",
+        "com.android.apex.cts.shim.v3",
+    ],
 }
diff --git a/packages/CtsShim/build/jni/Android.bp b/packages/CtsShim/build/jni/Android.bp
index ea15b43..7a5b07e 100644
--- a/packages/CtsShim/build/jni/Android.bp
+++ b/packages/CtsShim/build/jni/Android.bp
@@ -18,4 +18,13 @@
     name: "libshim_jni",
     srcs: ["Shim.c"],
     sdk_version: "24",
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.apex.cts.shim.v1",
+        "com.android.apex.cts.shim.v2",
+        "com.android.apex.cts.shim.v2_no_hashtree",
+        "com.android.apex.cts.shim.v2_legacy",
+        "com.android.apex.cts.shim.v2_sdk_target_p",
+        "com.android.apex.cts.shim.v3",
+    ],
 }
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
index c11e1a0..6fbee16 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
@@ -30,13 +30,17 @@
 import android.content.pm.PackageInstaller;
 import android.content.pm.PackageManager;
 import android.content.pm.ProviderInfo;
+import android.content.pm.UserInfo;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.RemoteException;
+import android.os.UserManager;
 import android.permission.IPermissionManager;
 import android.util.Log;
 
+import java.util.List;
+
 /**
  * Select which activity is the first visible activity of the installation and forward the intent to
  * it.
@@ -47,6 +51,7 @@
     private static final String DOWNLOADS_AUTHORITY = "downloads";
     private IPackageManager mIPackageManager;
     private IPermissionManager mIPermissionManager;
+    private UserManager mUserManager;
     private boolean mAbortInstall = false;
 
     @Override
@@ -54,6 +59,7 @@
         super.onCreate(savedInstanceState);
         mIPackageManager = AppGlobals.getPackageManager();
         mIPermissionManager = AppGlobals.getPermissionManager();
+        mUserManager = getSystemService(UserManager.class);
         Intent intent = getIntent();
         String callingPackage = getCallingPackage();
 
@@ -144,13 +150,16 @@
             if (packages == null) {
                 return false;
             }
+            final List<UserInfo> users = mUserManager.getUsers();
             for (String packageName : packages) {
-                try {
-                    if (uid == getPackageManager().getPackageUid(packageName, 0)) {
-                        return true;
+                for (UserInfo user : users) {
+                    try {
+                        if (uid == getPackageManager().getPackageUidAsUser(packageName, user.id)) {
+                            return true;
+                        }
+                    } catch (PackageManager.NameNotFoundException e) {
+                        // Ignore and try the next package
                     }
-                } catch (PackageManager.NameNotFoundException e) {
-                    // Ignore and try the next package
                 }
             }
         } catch (RemoteException rexc) {
diff --git a/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml b/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml
index 6b1f259..1d23c31 100644
--- a/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml
+++ b/packages/SettingsLib/RestrictedLockUtils/res/values-or/strings.xml
@@ -17,6 +17,6 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="enabled_by_admin" msgid="6630472777476410137">"ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ସକ୍ଷମ କରାଯାଇଛି"</string>
+    <string name="enabled_by_admin" msgid="6630472777476410137">"ଆଡମିନଙ୍କ ଦ୍ୱାରା ସକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="disabled_by_admin" msgid="4023569940620832713">"ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
 </resources>
diff --git a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
index fa2ec55..a77e34b 100644
--- a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
+++ b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
@@ -147,6 +147,28 @@
         public EnforcedAdmin() {
         }
 
+        /**
+         * Combines two {@link EnforcedAdmin} into one: if one of them is null, then just return
+         * the other. If both of them are the same, then return that. Otherwise return the symbolic
+         * {@link #MULTIPLE_ENFORCED_ADMIN}
+         */
+        public static EnforcedAdmin combine(EnforcedAdmin admin1, EnforcedAdmin admin2) {
+            if (admin1 == null) {
+                return admin2;
+            }
+            if (admin2 == null) {
+                return admin1;
+            }
+            if (admin1.equals(admin2)) {
+                return admin1;
+            }
+            if (!admin1.enforcedRestriction.equals(admin2.enforcedRestriction)) {
+                throw new IllegalArgumentException(
+                        "Admins with different restriction cannot be combined");
+            }
+            return MULTIPLE_ENFORCED_ADMIN;
+        }
+
         @Override
         public boolean equals(Object o) {
             if (this == o) return true;
diff --git a/packages/SettingsLib/SearchWidget/res/values-be/strings.xml b/packages/SettingsLib/SearchWidget/res/values-be/strings.xml
index 4fc722f..c72f819 100644
--- a/packages/SettingsLib/SearchWidget/res/values-be/strings.xml
+++ b/packages/SettingsLib/SearchWidget/res/values-be/strings.xml
@@ -17,5 +17,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="search_menu" msgid="1914043873178389845">"Налады пошуку"</string>
+    <string name="search_menu" msgid="1914043873178389845">"Пошук налад"</string>
 </resources>
diff --git a/packages/SettingsLib/SearchWidget/res/values-pa/strings.xml b/packages/SettingsLib/SearchWidget/res/values-pa/strings.xml
index 8c7dd6f..09a285b 100644
--- a/packages/SettingsLib/SearchWidget/res/values-pa/strings.xml
+++ b/packages/SettingsLib/SearchWidget/res/values-pa/strings.xml
@@ -17,5 +17,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="search_menu" msgid="1914043873178389845">"ਖੋਜ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="search_menu" msgid="1914043873178389845">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਖੋਜੋ"</string>
 </resources>
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index a5bac27..90526db 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Draadlose ontfouting"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Skakel draadlose ontfouting aan om beskikbare toestelle te sien en te gebruik"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Gebruik QR-kode om toestel saam te bind"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Gebruik QR-kodeskandeerder om nuwe toestelle saam te bind"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Gebruik QR-kodeskandeerder om nuwe toestelle saam te bind"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Gebruik saambindkode om toestel saam te bind"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Gebruik \'n sessyferkode om nuwe toestelle saam te bind"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Saamgebinde toestelle"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Kon nie die toestel saambind nie. Óf die QR-kode is verkeerd, óf die toestel is nie aan dieselfde netwerk gekoppel nie."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-adres en -poort"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skandeer QR-kode"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Bind toestel oor Wi-Fi saam deur \'n QR-kode te skandeer"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Bind toestel oor Wi-Fi saam deur \'n QR-kode te skandeer"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Koppel asseblief aan \'n Wi-Fi-netwerk"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Kortpad na foutverslag"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Draadlose skermsertifisering"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Aktiveer Wi-Fi-woordryke aanmelding"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Regulering van Wi-Fi-opsporing"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑verbeterde MAC-verewekansiging"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobiele data is altyd aktief"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardewareversnelling vir verbinding"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Wys Bluetooth-toestelle sonder name"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Wys opsies vir draadlose skermsertifisering"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Verhoog Wi-Fi-aantekeningvlak, wys per SSID RSSI in Wi‑Fi-kieser"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Verlaag batteryverbruik en verbeter netwerk se werkverrigting"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Hierdie skakelaar beïnvloed MAC-verewekansiginggedrag net vir klantmodus.\nWanneer hierdie modus geaktiveer is, kan enige netwerke waarvoor MAC-verewekansiging geaktiveer is, se MAC-adresse tydens die assosiasie weer verewigkansig word, na gelang van wanneer die klant laas van die netwerk ontkoppel het. Herverewekansiging vind nie plaas as die toestel binne 4 uur of korter herkoppel nie."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Beperk"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Onbeperk"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Loggerbuffer se groottes"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Wys Program Reageer Nie-dialoog vir agtergrondprogramme"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Wys kennisgewingkanaalwaarskuwings"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Wys waarskuwing op skerm wanneer \'n program \'n kennisgewing sonder \'n geldige kanaal plaas"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Dwing kortpaaie vir gesprekkennisgewings af"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kennisgewings moet deur \'n langleef-delingkortpad gerugsteun word om in gesprekafdeling te kan verskyn"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Dwing toelating op eksterne berging"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Maak dat enige program na eksterne berging geskryf kan word, ongeag manifeswaardes"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Dwing aktiwiteite om verstelbaar te wees"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 126efcc..96c4a65 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ገመድ-አልባ debugging"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"የሚገኙ መሣሪያዎችን ለመመልከትና ለመጠቀም ገመድ-አልባ debuggingን ያብሩ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"የQR ኮድን በመጠቀም መሣሪያን ያጣምሩ"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"የQR ኮድ መቃኛን በመጠቀም አዲስ መሣሪያዎችን ያጣምሩ"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"የQR ኮድ መቃኛን በመጠቀም አዲስ መሣሪያዎችን ያጣምሩ"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"የማጣመሪያ ኮድን በመጠቀም መሣሪያን ያጣምሩ"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"የስድስት አኃዝ ኮድ በመጠቀም አዲስ መሣሪያዎችን ያጣምሩ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"የተጣመሩ መሣሪያዎች"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"መሣሪያውን ማጣመር አልተሳካም። ወይም QR ኮዱ ትክክል አልነበረም፣ ወይም መሣሪያው ከተመሳሳዩ አውታረ መረብ ጋር አልተገናኘም።"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"የአይፒ አድራሻ እና ወደብ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR ኮድን ይቃኙ"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"የQR ኮድ በመጠቀም መሣሪያን በመቃኘት በWi-Fi ላይ ያጣምሩ"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"የQR ኮድ በመጠቀም መሣሪያን በመቃኘት በWi-Fi ላይ ያጣምሩ"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"እባክዎ ከWi-Fi አውታረ መረብ ጋር ያገናኙ"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb፣ ማረም፣ ግንባታ"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"የሳንካ ሪፖርት አቋራጭ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"የገመድ አልባ ማሳያ እውቅና ማረጋገጫ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"የWi‑Fi ተጨማሪ ቃላት ምዝግብ ማስታወሻ መያዝ"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi scan throttling"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑የተሻሻለ የማክ ዘፈቀደ ማድረጊያ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"የተንቀሳቃሽ ስልክ ውሂብ ሁልጊዜ ገቢር ነው"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"የሃርድዌር ማቀላጠፊያን በማስተሳሰር ላይ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"የብሉቱዝ መሣሪያዎችን ያለ ስሞች አሳይ"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"የገመድ አልባ ማሳያ እውቅና ማረጋገጫ አማራጮችን አሳይ"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"የWi‑Fi ምዝግብ ማስታወሻ አያያዝ ደረጃ ጨምር፣ በWi‑Fi መምረጫ ውስጥ በአንድ SSID RSSI አሳይ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"የባትሪ መላሸቅን ይቀንሳል እንዲሁም የአውታረ መረብ አፈጻጸም ብቃትን ያሻሽላል"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ይህ ማብሪያ/ማጥፊያ የማክ ዘፈቀደ ማድረጊያ ባህሪ ላይ ተጽዕኖ የሚያሳርፈው ለደንበኛ ሁነታ ብቻ ነው።\nይህ ሁነታ ገቢር ሲደረግ የማክ ዘፈቀደ ማድረጊያ የነቃላቸው ማናቸውም አውታረ መረቦች ደንበኛው ከአውታረ መረቡ ጋር የተላቀቀበት መጨረሻ ጊዜ ላይ የሚወሰን ሆኖ በጉድኝቱ ጊዜ የማክ አድራሻዎቻቸው የዘፈቀደ ተደርጎ ሊሆን ይችላል። መሣሪያው በ4 ሰዓቶች ወይም ከዚያ ባነሰ ጊዜ ውስጥ ዳግም ከተገናኘ ዳግም የዘፈቀደ አይደረግም።"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"የሚለካ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ያልተለካ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"የምዝግብ ማስታወሻ ያዥ መጠኖች"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ለጀርባ መተግበሪያዎች የመተግበሪያ ምላሽ አይሰጥም መገናኛን አሳይ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"የማሳወቂያ ሰርጥ ማስጠንቀቂያዎችን አሳይ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"አንድ መተግበሪያ የሚሰራ ሰርጥ ሳይኖረው ማሳወቂያ ሲለጥፍ በማያ ገጽ-ላይ ማስጠንቀቂያን ያሳያል"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ለውይይት ማሳወቂያዎች አቋራጮች ተፈጻሚ ያድርጉ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"በውይይት ክፍል ውስጥ እንዲታይ በረዥም ጊዜ የሚቆይ የማጋራት አቋርጭ እንዲደገፉ ማሳወቂያዎችን ይጠይቁ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"በውጫዊ ላይ ሃይል ይፈቀዳል"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"የዝርዝር ሰነዶች እሴቶች ግምት ውስጥ ሳያስገባ ማንኛውም መተግበሪያ ወደ ውጫዊ ማከማቻው ለመጻፍ ብቁ ያደርጋል"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"እንቅስቃሴዎች ዳግመኛ እንዲመጣጠኑ አስገድድ"</string>
diff --git a/packages/SettingsLib/res/values-ar/arrays.xml b/packages/SettingsLib/res/values-ar/arrays.xml
index d65d821..bb97618 100644
--- a/packages/SettingsLib/res/values-ar/arrays.xml
+++ b/packages/SettingsLib/res/values-ar/arrays.xml
@@ -141,13 +141,13 @@
     <item msgid="1241278021345116816">"تحسين جودة الصوت (٩٩٠ كيلوبت في الثانية / ٩٠٩ كيلوبت في الثانية)"</item>
     <item msgid="3523665555859696539">"جودة متوازنة للصوت والاتصال (660 كيلوبت في الثانية/606 كيلوبت في الثانية)"</item>
     <item msgid="886408010459747589">"تحسين جودة الاتصال (٣٣٠ كيلوبت في الثانية / ٣٠٣ كيلوبت في الثانية)"</item>
-    <item msgid="3808414041654351577">"أفضل جهد (معدل سرعة المعلومات التكيُّفي)"</item>
+    <item msgid="3808414041654351577">"أفضل جهد (معدل نقل البيانات التكيُّفي)"</item>
   </string-array>
   <string-array name="bluetooth_a2dp_codec_ldac_playback_quality_summaries">
     <item msgid="804499336721569838">"تحسين جودة الصوت"</item>
     <item msgid="7451422070435297462">"جودة متوازنة للصوت والاتصال"</item>
     <item msgid="6173114545795428901">"تحسين جودة الاتصال"</item>
-    <item msgid="4349908264188040530">"أفضل جهد (معدل سرعة المعلومات التكيُّفي)"</item>
+    <item msgid="4349908264188040530">"أفضل جهد (معدل نقل البيانات التكيُّفي)"</item>
   </string-array>
   <string-array name="bluetooth_audio_active_device_summaries">
     <item msgid="8019740759207729126"></item>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index 88d4c03..cdbdc9a 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"‏تصحيح أخطاء USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"‏وضع تصحيح الأخطاء عند توصيل USB"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"‏إلغاء عمليات تفويض تصحيح أخطاء USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"‏تصحيح الأخطاء عبر شبكة Wi-Fi"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"تصحيح الأخطاء اللاسلكي"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"‏وضع تصحيح الأخطاء عندما يتم الاتصال بشبكة Wi‑Fi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"خطأ"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"‏تصحيح الأخطاء عبر شبكة Wi-Fi"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"لعرض الأجهزة المتاحة واستخدامها، فعِّل ميزة تصحيح الأخطاء لاسلكيًا."</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"تصحيح الأخطاء اللاسلكي"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"لعرض الأجهزة المتاحة واستخدامها، فعِّل ميزة \"تصحيح الأخطاء اللاسلكي\"."</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"إقران الجهاز باستخدام رمز الاستجابة السريعة"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"إقران الأجهزة الجديدة باستخدام الماسح الضوئي لرموز الاستجابة السريعة"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"إقران الأجهزة الجديدة باستخدام الماسح الضوئي لرموز الاستجابة السريعة"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"إقران الجهاز باستخدام رمز الإقران"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"إقران الأجهزة الجديدة باستخدام رمز مكوّن من 6 أعداد"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"الأجهزة المقترنة"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"تعذّر إقران الجهاز. إما أن رمز الاستجابة السريعة غير صحيح أو أن الجهاز غير متصل بالشبكة نفسها."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"‏عنوان IP والمنفذ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"المسح الضوئي لرمز الاستجابة السريعة"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"‏إقران الجهاز من خلال شبكة Wi‑Fi عن طريق المسح الضوئي لرمز استجابة سريعة"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"‏إقران الجهاز من خلال شبكة Wi‑Fi عن طريق المسح الضوئي لرمز استجابة سريعة"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"‏يُرجى الاتصال بشبكة Wi-Fi."</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"‏adb، تصحيح الأخطاء، مطور برامج"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"اختصار تقرير الأخطاء"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"شهادة عرض شاشة لاسلكي"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"‏تفعيل تسجيل Wi‑Fi Verbose"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"‏تقييد البحث عن شبكات Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"‏التوزيع العشوائي لعنوان MAC الذي تدعمه شبكة Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"بيانات الجوّال نشطة دائمًا"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"تسريع الأجهزة للتوصيل"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"عرض أجهزة البلوتوث بدون أسماء"</string>
@@ -274,7 +275,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"‏اختيار برنامج ترميز LDAC\nلصوت مشغّل البلوتوث: جودة التشغيل"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"البث: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"نظام أسماء النطاقات الخاص"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"تحديد وضع \"نظام أسماء النطاقات الخاص\""</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"اختيار وضع \"نظام أسماء النطاقات الخاص\""</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"غير مفعّل"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"تلقائي"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"اسم مضيف مزوّد \"نظام أسماء النطاقات الخاص\""</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"عرض خيارات شهادة عرض شاشة لاسلكي"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"‏زيادة مستوى تسجيل Wi-Fi، وعرض لكل SSID RSSI في منتقي Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"لتقليل استنفاد البطارية وتحسين أداء الشبكة."</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"‏يؤثر مفتاح التبديل هذا في سلوك التوزيع العشوائي لعنوان MAC في وضع العميل فقط.\nعند تفعيل هذا الوضع، قد تتم عشوائيًا إعادة توزيع عناوين MAC أثناء الربط على أي شبكات تم تفعيل ميزة التوزيع العشوائي لعناوين MAC عليها، ويعتمد ذلك على آخر مرة تم فصل العميل فيها من الشبكة. لن تتم إعادة التوزيع العشوائي إذا تمت إعادة اتصال الجهاز خلال 4 ساعات أو أقل."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"تفرض تكلفة استخدام"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"بدون قياس"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"أحجام ذاكرة التخزين المؤقت للتسجيل"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"استخدام إعداد تسريع الأجهزة للتوصيل إن كان متاحًا"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"‏هل تريد السماح بتصحيح أخطاء USB؟"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"‏تم تصميم تصحيح أخطاء USB لأغراض التطوير فقط. يمكن استخدامه لنسخ البيانات بين الكمبيوتر والجهاز، وتثبيت التطبيقات على جهازك بدون تنبيه، وقراءة بيانات السجل."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"‏هل تريد السماح بتصحيح الأخطاء عبر شبكة Wi-Fi؟"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"‏تم تصميم ميزة \"تصحيح الأخطاء عبر شبكة Wi-Fi\" لأغراض التطوير فقط. يمكن استخدامها لنسخ البيانات بين الكمبيوتر والجهاز وتثبيت التطبيقات على جهازك بدون إرسال إشعار وقراءة بيانات السجلّ."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"هل تريد السماح بتفعيل ميزة \"تصحيح الأخطاء اللاسلكي\"؟"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"تم تصميم ميزة \"تصحيح الأخطاء اللاسلكي\" لأغراض التطوير فقط. ويمكن استخدامها لنسخ البيانات بين الكمبيوتر والجهاز ، وتثبيت التطبيقات على جهازك بدون إرسال إشعار، وقراءة بيانات السجلّ."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"‏هل تريد إلغاء إمكانية الدخول إلى تصحيح أخطاء USB من جميع أجهزة الكمبيوتر التي تم التصريح لها سابقًا؟"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"هل تريد السماح لإعدادات التطوير؟"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"هذه الإعدادات مخصصة لاستخدام التطوير فقط. قد يتسبب هذا في حدوث أعطال أو خلل في أداء الجهاز والتطبيقات المثبتة عليه."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"عرض مربع الحوار \"التطبيق لا يستجيب\" مع تطبيقات الخلفية"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"عرض تحذيرات قناة الإشعار"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"عرض تحذير على الشاشة عندما ينشر تطبيق إشعارًا بدون قناة صالحة"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"فرض اختصارات لإشعارات المحادثات"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"يجب دعم الإشعارات باختصار مشاركة قديم لتظهر في قسم المحادثات."</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"السماح بإدراج التطبيقات في وحدة تخزين خارجية"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"تأهيل أي تطبيق بحيث تتم كتابته على وحدة تخزين خارجية، بغض النظر عن قيم البيان"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"فرض إمكانية تغيير حجم الأنشطة"</string>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index 73a5e7c..9f8e9dd 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"ইউএছবি ডিবাগিং"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"ইউএছবি সংযোগ হৈ থকাৰ অৱস্থাত ডিবাগ ম\'ড"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"ইউএছবি ডিবাগিং অনুমতিসমূহ প্ৰত্যাহাৰ কৰক"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"ৱায়াৰলেছ ডিবাগিং"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"ৱায়াৰলেচ ডি\'বাগিং"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"ৱাই-ফাই সংযোজিত হৈ থকা সময়ত ডিবাগ ম’ড"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"আসোঁৱাহ"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"ৱায়াৰলেছ ডিবাগিং"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"উপলব্ধ ডিভাইচসমূহ চাবলৈ আৰু ব্যৱহাৰ কৰিবলৈ, ৱায়াৰলেছ ডিবাগিং অন কৰক"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"ৱায়াৰলেচ ডি\'বাগিং"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"উপলব্ধ ডিভাইচসমূহ চাবলৈ আৰু ব্যৱহাৰ কৰিবলৈ, ৱায়াৰলেচ ডি\'বাগিং অন কৰক"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"কিউআৰ ক’ডৰ জৰিয়তে ডিভাইচ পেয়াৰ কৰক"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"কিউআৰ ক’ড স্কেনাৰ ব্যৱহাৰ কৰি নতুন ডিভাইচসমূহ পেয়াৰ কৰক"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"কিউআৰ ক’ড স্কেনাৰ ব্যৱহাৰ কৰি নতুন ডিভাইচসমূহ পেয়াৰ কৰক"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"পেয়াৰ কৰা ক’ডৰ জৰিয়তে ডিভাইচ পেয়াৰ কৰক"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ছটা অংকৰ ক’ড ব্যৱহাৰ কৰি নতুন ডিভাইচসমূহ পেয়াৰ কৰক"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"পেয়াৰ কৰি থোৱা ডিভাইচসমূহ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ডিভাইচটো পেয়াৰ কৰিব পৰা নগ’ল। কিউআৰ ক’ডটো ভুল অথবা ডিভাইচটো একেটা নেটৱৰ্কৰ সৈতে সংযোগ কৰা হোৱা নাই।"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"আইপি ঠিকনা &amp; প’ৰ্ট"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"কিউআৰ ক’ড স্কেন কৰক"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"এটা কিউআৰ ক’ড স্কেন কৰি ৱাই-ফাইৰে ডিভাইচ পেয়াৰ কৰক"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"এটা কিউআৰ ক’ড স্কেন কৰি ৱাই-ফাইৰে ডিভাইচ পেয়াৰ কৰক"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"অনুগ্ৰহ কৰি এটা ৱাই-ফাই নেটৱর্কলৈ সংযোগ কৰক"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ডিবাগ, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"বাগ ৰিপৰ্টৰ শ্ৱৰ্টকাট"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"বেতাঁৰ ডিছপ্লে’ প্ৰমাণীকৰণ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"ৱাই-ফাই ভাৰ্ব\'ছ লগিং সক্ষম কৰক"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ৱাই-ফাই স্কেনৰ নিয়ন্ত্ৰণ"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"ৱাই-ফাই বৰ্ধিত MAC যাদৃচ্ছিকীকৰণ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ম’বাইল ডেটা সদা-সক্ৰিয়"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"টেডাৰিং হাৰ্ডৱেৰ ত্বৰণ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"নামবিহীন ব্লুটুথ ডিভাইচসমূহ দেখুৱাওক"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"বেতাঁৰ ডিছপ্লে’ প্ৰমাণপত্ৰৰ বাবে বিকল্পসমূহ দেখুৱাওক"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"ৱাই-ফাই লগিঙৰ মাত্ৰা বঢ়াওক, Wi‑Fi পিকাৰত প্ৰতি SSID RSSI দেখুৱাওক"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"বেটাৰীৰ খৰচ কমায় আৰু নেটৱৰ্কৰ কাৰ্যক্ষমতা বৃদ্ধি কৰে"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"এই ট\'গল কৰা কার্যই MAC যাদৃচ্ছিকীকৰণৰ আচৰণ কেৱল ক্লায়েণ্ট ম\'ডৰ বাবে প্ৰভাৱিত কৰে।\nএই ম\'ডটো সক্ৰিয় কৰাৰ সময়ত, ক্লায়েণ্টে শেষবাৰৰ বাবে নেটৱর্কটোৰ পৰা কেতিয়া সংযোগ বিচ্ছিন্ন কৰিছে তাৰ ভিত্তিত MAC যাদৃচ্ছিকীকৰণ সক্ষম কৰি থোৱা যিকোনো নেটৱর্কৰ সংযোজনৰ সময়ত MAC ঠিকনাসমূহৰ পুনৰ যাদৃচ্ছিকীকৰণ হ\'ব পাৰে। ডিভাইচটো ৪ ঘণ্টা অথবা তাতকৈ কম সময়ৰ ভিতৰত পুনৰ সংযুক্ত হ\'লে পুনৰ যাদৃচ্ছিকীকৰণ নহয়।"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"নিৰিখ-নিৰ্দিষ্ট"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"নিৰিখ অনিৰ্দিষ্ট"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"লগাৰৰ বাফাৰৰ আকাৰ"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"যদিহে উপলব্ধ হয় তেন্তে টেডাৰিং হাৰ্ডৱেৰ ত্বৰণ ব্যৱহাৰ কৰক"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"ইউএছবি ডিবাগিঙৰ অনুমতি দিয়েনে?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"ইউএছবি ডিবাগ কৰা কাৰ্য কেৱল বিকাশৰ উদ্দেশ্যৰেহে কৰা হৈছে৷ আপোনাৰ কম্পিউটাৰ আৰু আপোনাৰ ডিভাইচৰ মাজত ডেটা প্ৰতিলিপি কৰিবলৈ এইটো ব্যৱহাৰ কৰক, কোনো জাননী নিদিয়াকৈয়ে আপোনাৰ ডিভাইচত এপ্‌সমূহ ইনষ্টল কৰক আৰু লগ ডেটা পঢ়ক৷"</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"ৱায়াৰলেছ ডিবাগিঙৰ অনুমতি দিবনে?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ৱায়াৰলেছ ডিবাগিং কেৱল বিকাশৰ উদ্দেশ্যেৰে কৰা হয়। আপোনাৰ কম্পিউটাৰ আৰু আপোনাৰ ডিভাইচৰ মাজত ডেটা প্ৰতিলিপি কৰিবলৈ, কোনো জাননী নিদিয়াকৈয়ে আপোনাৰ ডিভাইচত এপ্‌সমূহ ইনষ্টল কৰিবলৈ আৰু লগ ডেটা পঢ়িবলৈ এইটো ব্যৱহাৰ কৰক।"</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"ৱায়াৰলেচ ডি\'বাগিংৰ অনুমতি দিবনে?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ৱায়াৰলেচ ডি\'বাগিং কেৱল বিকাশৰ উদ্দেশ্যেৰে কৰা হয়। আপোনাৰ কম্পিউটাৰ আৰু আপোনাৰ ডিভাইচৰ মাজত ডেটা প্ৰতিলিপি কৰিবলৈ, কোনো জাননী নিদিয়াকৈয়ে আপোনাৰ ডিভাইচত এপ্‌সমূহ ইনষ্টল কৰিবলৈ আৰু লগ ডেটা পঢ়িবলৈ এইটো ব্যৱহাৰ কৰক।"</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"আপুনি আগতে ইউএছবি ডিবাগিঙৰ বাবে প্ৰৱেশৰ অনুমতি দিয়া সকলো কম্পিউটাৰৰ পৰা সেই অনুমতি প্ৰত্যাহাৰ কৰেনে?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"বিকাশৰ কামৰ বাবে থকা ছেটিংবিলাকক অনুমতি দিবনে?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"এই ছেটিংসমূহ বিকাশৰ কামত ব্যৱহাৰ কৰিবলৈ তৈয়াৰ কৰা হৈছে। সেইবিলাকে আপোনাৰ ডিভাইচ আৰু তাত থকা এপ্লিকেশ্বনসমূহক অকামিলা কৰি পেলাব পাৰে আৰু সেইবিলাকৰ কাৰণে এপ্লিকেশ্বনসমূহে অদ্ভুত আচৰণ কৰিব পাৰে।"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"নেপথ্য এপসমূহৰ বাবে এপে সঁহাৰি দিয়া নাই ডায়ল\'গ প্ৰদৰ্শন কৰক"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"জাননী চ্চেনেলৰ সকীয়নিসমূহ দেখুৱাওক"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"কোনো এপে বৈধ চ্চেনেল নোহোৱাকৈ কোনো জাননী প\'ষ্ট কৰিলে স্ক্ৰীণত সকীয়নি প্ৰদৰ্শন হয়"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"বার্তালাপৰ জাননীৰ বাবে শ্বৰ্টকাট কাৰ্যকৰী কৰক"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"বার্তালাপৰ শাখাত প্ৰদর্শিত হ\'বলৈ জাননী কোনো দীর্ঘস্থায়ী শ্বেয়াৰিং শ্বৰ্টকাটৰ সমৰ্থিত হ\'ব লাগে"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"বাহ্যিক সঞ্চয়াগাৰত এপক বলেৰে অনুমতি দিয়ক"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"মেনিফেষ্টৰ মান যিয়েই নহওক, বাহ্যিক সঞ্চয়াগাৰত লিখিবলৈ যিকোনো এপক উপযুক্ত কৰি তোলে"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"বলেৰে কাৰ্যকলাপসমূহৰ আকাৰ সলনি কৰিব পৰা কৰক"</string>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index 4cb4017..4ec5156 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB debaq prosesi"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB qoşulu olan zaman debaq rejimi"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB debaq avtorizasiyasını ləğv edin"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Simsiz sazlama"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"WiFi sazlaması"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi‑Fi qoşulduqda sazlama rejimi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Xəta"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Simsiz sazlama"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Əlçatan cihazları görmək və onlardan istifadə etmək üçün simsiz sazlamanı yandırın"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"WiFi sazlaması"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Əlçatan cihazları görmək və onlardan istifadə etmək üçün WiFi sazlamasını yandırın"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR kodu ilə cihazı cütləşdirin"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR kod Skanerindən istifadə etməklə yeni cihazları cütləşdirin"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR kod skanerindən istifadə etməklə yeni cihazları birləşdirin"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Cütləşdirmə kodu ilə cihazı cütləşdirin"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Altı rəqəmli koddan istifadə etməklə yeni cihazları cütləşdirin"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Cütləşdirilmiş cihazlar"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Cihazı cütləşdirmək alınmadı. Ya QR kodu yanlış idi, ya da cihaz eyni şəbəkəyə qoşulmayıb."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ünvanı və Port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR kodu skanlayın"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR Kodu skanlamaqla cihazı Wi‑Fi vasitəsilə cütləşdirin"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR kodu skanlamaqla cihazı Wi‑Fi vasitəsilə birləşdirin"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi şəbəkəsinə qoşulun"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Baq raportu qısa yolu"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Simsiz displey sertifikatlaşması"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi Çoxsözlü Girişə icazə verin"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi skanlamasının tənzimlənməsi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi ilə qabaqcıl MAC randomizasiyası"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobil data həmişə aktiv"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Birləşmə üçün avadanlıq akselerasiyası"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth cihazlarını adsız göstərin"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Simsiz displey sertifikatlaşması üçün seçimləri göstərir"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi giriş səviyyəsini qaldırın, Wi‑Fi seçəndə hər SSID RSSI üzrə göstərin"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Batareya istifadəsini azaldır &amp; şəbəkə performansını yaxşılaşdırır"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Bu keçid yalnız müştəri rejimi üçün MAC randomizasiyasına təsir edir.\nBu rejim aktivləşdirildikdə müştərinin şəbəkədən sonuncu dəfə ayrıldığı vaxtdan asılı olaraq, əlaqələndirmə zamanı MAC randomizasiyası aktivləşdirilmiş istənilən şəbəkənin MAC ünvanı təkrar randomizasiya olunacaq. Cihaz 4 saat və ya daha qısa zaman sonra təkrar qoşularsa, təkrar randomizasiya baş vermir."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Ödənişli"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Limitsiz"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger bufer ölçüləri"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Əlçatan oldarsa, birləşmə üçün avadanlıq akselerasiyasından istifadə edin"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB debaq funksiyasına icazə verilsin?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB sazlanması yalnız inkişaf məqsədlidir. Kompüteriniz və cihazınız arasında datanı kopyalamaq üçün ondan istifadə edin, bildiriş olmadan tətbiqləri cihazınıza quraşdırın və qeydiyyat datasını oxuyun."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Simsiz sazlamaya icazə verilsin?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Simsiz sazlama yalnız inkişaf məqsədlidir. Ondan kompüteriniz və cihazınız arasında datanı kopyalamaq, cihazınızda bildiriş olmadan tətbiqləri quraşdırmaq və qeydiyyat datasını oxumaq üçün istifadə edin."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"WiFi sazlamasına icazə verilsin?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"WiFi sazlaması yalnız inkişaf məqsədlidir. Ondan kompüteriniz və cihazınız arasında datanı kopyalamaq, cihazınızda bildiriş olmadan tətbiqləri quraşdırmaq və qeydiyyat datasını oxumaq üçün istifadə edin."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Əvvəl icazə verdiyiniz kompüterlərdən USB debaq əməliyyatına giriş ləğv olunsun?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"İnkişaf ayarlarına icazə verilsin mi?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Bu parametrlər yalnız inkişafetdirici istifadə üçün nəzərdə tutulub. Onlar cihaz və tətbiqlərinizin sınması və ya pis işləməsinə səbəb ola bilər."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Arxa fon tətbiqləri üçün Tətbiq Cavab Vermir dialoqunu göstərin"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Xəbərdarlıqları göstərin"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Bildiriş paylaşıldıqda xəbərdarlıq göstərir"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Söhbət bildirişləri üçün qısayolları tətbiq edin"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Söhbət bölməsində görünmək üçün bildirişlərin uzunmüddətli paylaşım qısayolu ilə dəstəklənməsini tələb edin"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Tətbiqlərə xaricdən məcburi icazə"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Seçilmiş hər hansı tətbiqi bəyannamə dəyərlərindən aslı olmayaraq xarici yaddaşa yazılabilən edir."</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Ölçü dəyişdirmək üçün məcburi fəaliyyətlər"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index 839b85a..a93b422 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bežično otklanjanje grešaka"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Da biste videli i koristili dostupne uređaje, uključite bežično otklanjanje grešaka"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Uparite uređaj pomoću QR koda"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Uparite nove uređaje pomoću čitača QR koda"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Uparite nove uređaje pomoću čitača QR koda"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Uparite uređaj pomoću koda za uparivanje"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Uparite nove uređaje pomoću šestocifrenog koda"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Upareni uređaji"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Uparivanje uređaja nije uspelo. QR kôd je pogrešan ili uređaj nije povezan sa istom mrežom."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresa i port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skeniraj QR kôd"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Uparite uređaj pomoću Wi‑Fi mreže ili tako što ćete skenirati QR kôd"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Uparite uređaj pomoću Wi‑Fi mreže tako što ćete skenirati QR kôd"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Povežite se na Wi-Fi mrežu"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, otklanjanje grešaka, programer"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Prečica za izveštaj o greškama"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Sertifikacija bežičnog ekrana"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Omogući detaljniju evidenciju za Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Usporavanje Wi-Fi skeniranja"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Nasumično MAC razvrstavanje po Wi‑Fi‑ju"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobilni podaci su uvek aktivni"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardversko ubrzanje privezivanja"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Prikaži Bluetooth uređaje bez naziva"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Prikaz opcija za sertifikaciju bežičnog ekrana"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Povećava nivo evidentiranja za Wi‑Fi. Prikaz po SSID RSSI-u u biraču Wi‑Fi mreže"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Smanjuje potrošnju baterije i poboljšava učinak mreže"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ovaj prekidač utiče na ponašanje nasumičnog razvrstavanja MAC adresa samo za režim klijenta.\nKada se ovaj režim aktivira, za mreže na kojima je omogućeno nasumično razvrstavanje MAC adresa može da dođe do ponovnog nasumičnog razvrstavanja MAC adresa tokom povezivanja, u zavisnosti od toga kada se klijent pre toga isključio sa mreže. Do ponovnog nasumičnog razvrstavanja ne dolazi ako se uređaj ponovo poveže za 4 sata ili manje."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Sa ograničenjem"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Bez ograničenja"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Veličine bafera podataka u programu za evidentiranje"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Prikaži dijalog Aplikacija ne reaguje za aplikacije u pozadini"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Prikazuj upozorenja zbog kanala za obaveštenja"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Prikazuje upozorenje na ekranu kada aplikacija postavi obaveštenje bez važećeg kanala"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Primenjuj prečice za obaveštenja o konverzacijama"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Zahteva da obaveštenja imaju i dugoročnu prečicu za deljenje kako bi se pojavljivala u odeljku za konverzacije"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Prinudno dozvoli aplikacije u spoljnoj"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Omogućava upisivanje svih aplikacija u spoljnu memoriju, bez obzira na vrednosti manifesta"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Prinudno omogući promenu veličine aktivnosti"</string>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index cc0d286..32ed895 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -112,7 +112,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Выкарыстоўваць для перадачы файлаў"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Выкарыстоўваць для ўводу"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Выкарыстоўваць для слыхавых апаратаў"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Падлучыць"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Спалучыць"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"СПАЛУЧЫЦЬ"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Скасаваць"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Спалучэнне дае доступ да вашых кантактаў і гісторыі выклікаў пры падключэнні."</string>
@@ -156,7 +156,7 @@
     <string name="launch_defaults_none" msgid="8049374306261262709">"Параметры па змаўчанні не ўсталяваныя"</string>
     <string name="tts_settings" msgid="8130616705989351312">"Налады Text-to-speech"</string>
     <string name="tts_settings_title" msgid="7602210956640483039">"Сінтэз маўлення"</string>
-    <string name="tts_default_rate_title" msgid="3964187817364304022">"Хуткасць гаворкі"</string>
+    <string name="tts_default_rate_title" msgid="3964187817364304022">"Хуткасць маўлення"</string>
     <string name="tts_default_rate_summary" msgid="3781937042151716987">"Хуткасць, з якой кажуць тэкст"</string>
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Тон"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"Уплывае на тон сінтэзаванага маўлення"</string>
@@ -206,19 +206,19 @@
     <string name="enable_adb" msgid="8072776357237289039">"Адладка USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Рэжым адладкі, калі USB падключаны"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Адклікаць дазвол USB-адладкі"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Бесправадная адладка"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Адладка па Wi-Fi"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Рэжым адладкі з падключанай сеткай Wi‑Fi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Памылка"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Бесправадная адладка"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Каб праглядаць і выкарыстоўваць даступныя прылады, уключыце бесправадную адладку"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Адладка па Wi-Fi"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Каб праглядаць і выкарыстоўваць даступныя прылады, уключыце адладку па Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Спалучыць прыладу з дапамогай QR-кода"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Спалучаць новыя прылады з дапамогай сканера QR-кода"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Спалучаць новыя прылады з дапамогай сканера QR-кода"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Спалучыць прыладу з дапамогай кода спалучэння"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Спалучаць новыя прылады з дапамогай шасцізначнага кода"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Спалучаныя прылады"</string>
     <string name="adb_wireless_device_connected_summary" msgid="3039660790249148713">"Цяпер падключана"</string>
     <string name="adb_wireless_device_details_title" msgid="7129369670526565786">"Падрабязныя звесткі пра прыладу"</string>
-    <string name="adb_device_forget" msgid="193072400783068417">"Ігнараваць"</string>
+    <string name="adb_device_forget" msgid="193072400783068417">"Забыць"</string>
     <string name="adb_device_fingerprint_title_format" msgid="291504822917843701">"Лічбавы адбітак прылады: <xliff:g id="FINGERPRINT_PARAM">%1$s</xliff:g>"</string>
     <string name="adb_wireless_connection_failed_title" msgid="664211177427438438">"Не ўдалося падключыцца"</string>
     <string name="adb_wireless_connection_failed_message" msgid="9213896700171602073">"Пераканайцеся, што прылада \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" падключана да правільнай сеткі"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Не ўдалося спалучыць прыладу. QR-код няправільны, ці прылада падключана не да той самай сеткі."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-адрас і порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Сканіраваць QR-код"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Спалучыць прыладу праз Wi‑Fi шляхам сканіравання QR-кода"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Спалучэнне прылады праз Wi‑Fi шляхам сканіравання QR-кода"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Падключыцеся да сеткі Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, адладка, распрацоўшчык"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Ярлык для справаздачы пра памылкі"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Сертыфікацыя бесправаднога экрана"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Уключыць падрабязны журнал Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Рэгуляванне пошуку сетак Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Палепшаная Wi‑Fi рандамізацыя MAC-адраса"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мабільная перадача даных заўсёды актыўная"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Апаратнае паскарэнне ў рэжыме мадэма"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Паказваць прылады Bluetooth без назваў"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Паказаць опцыі сертыфікацыі бесправаднога экрана"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Пры выбары сеткі Wi-Fi указваць у журнале RSSI для кожнага SSID"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Зніжае расход зараду акумулятара і павышае прадукцыйнасць мабільных сетак"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Гэты пераключальнік уплывае на рандамізацыю MAC-адрасоў толькі ў кліенцкім рэжыме.\nКалі гэты рэжым актываваны, ва ўсіх сетках з уключанай рандамізацыяй MAC-адрасоў падчас прывязвання можа выконвацца паўторная рандамізацыя ў залежнасці ад таго, калі кліент адключаўся ад сеткі ў апошні раз. Паўторная рандамізацыя не выконваецца, калі прылада зноў падключаецца да сеткі менш чым праз 4 гадзіны."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Сетка з улікам трафіка"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Сетка без уліку трафіка"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Памеры буфера журнала"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Выкарыстоўваць апаратнае паскарэнне ў рэжыме мадэма пры наяўнасці"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Дазволіць адладку USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Адладка USB прызначана толькі для мэтаў распрацоўкі. Яна можа выкарыстоўвацца, каб капіяваць дадзеныя паміж кампутарам і прыладай, усталёўваць прыкладанні на прыладзе без папярэдняга апавяшчэння і чытаць дадзеныя дзённiка."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Дазволіць бесправадную адладку?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Бесправадная адладка прызначана толькі для мэт распрацоўкі. Яна можа выкарыстоўвацца, каб капіраваць даныя паміж камп\'ютарам і прыладай, усталёўваць праграмы на прыладзе без апавяшчэння і чытаць даныя журнала."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Дазволіць адладку па Wi-Fi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Адладка па Wi-Fi прызначана толькі для мэт распрацоўкі. Яна можа выкарыстоўвацца, каб капіраваць даныя паміж камп\'ютарам і прыладай, усталёўваць праграмы на прыладзе без апавяшчэння і чытаць даныя журнала."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Адклікаць доступ да адладкі USB з усіх камп\'ютараў, на якiх вы уваходзiлi ў сiстэму?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Дазволiць налады распрацоўшчыка?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Гэтыя налады прызначаны толькi для распрацоўшыкаў. Яны могуць выклікаць збоi прылад i ўсталяваных на iх прыкладанняў, а таксама перашкаджаць iх працы."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Паведамляць аб тым, што праграма не адказвае"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Паказваць папярэджанні канала апавяшчэннаў"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Паказвае папярэджанне на экране, калі праграма публікуе апавяшчэнне без сапраўднага канала"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Выкарыстоўваць ярлыкі для апавяшчэнняў з размоў"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Каб апавяшчэнні паяўляліся ў раздзеле размоў, абавязкова дубліраваць іх з дапамогай ярлыкоў з працяглым паказам"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Прымусова дазволіць праграмы на вонкавым сховішчы"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Робіць любую праграму даступнай для запісу на вонкавае сховішча, незалежна ад значэнняў маніфеста"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Зрабіць вокны дзеянняў даступнымі для змены памеру"</string>
@@ -541,7 +545,7 @@
     <string name="user_add_user_type_title" msgid="551279664052914497">"Дадаць"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Новы карыстальнік"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Новы профiль"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Інфармацыя карыстальніка"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Звесткі карыстальніка"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"Звесткi профiлю"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Перш чым вы зможаце стварыць профіль з абмежаваннямi, вам трэба наладзіць блакiроўку экрана для абароны сваiх дадаткаў і асабістай інфармацыі."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Усталёўка блакiроўкi"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index ef0951c..0e5ae09 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -210,9 +210,9 @@
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Режим за отстраняване на грешки при връзка с Wi-Fi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Грешка"</string>
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Безжично отстраняване на грешки"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"За да виждате и използвате наличните устройства, включете функцията за отстраняване на грешки през безжична мрежа"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"За да виждате и използвате наличните устройства, включете функцията за безжично отстраняване на грешки"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Сдвояване на устройството чрез QR код"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Сдвояване на новите устройства чрез скенер за QR кодове"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Сдвояване на новите устройства чрез скенер за QR кодове"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Сдвояване на устройството чрез код за сдвояване"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Сдвояване на новите устройства чрез шестцифрен код"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Сдвоени устройства"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Сдвояването на устройството не бе успешно. QR кодът е неправилен или устройството не е свързано със същата мрежа."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP адрес и порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Сканиране на QR код"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Сдвояване на устройството през Wi‑Fi чрез сканиране на QR код"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Сдвояване на устройството през Wi‑Fi чрез сканиране на QR код"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Моля, свържете се с Wi-Fi мрежа"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, отстраняване на грешки, програмиране"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Пряк път за сигнал за програмна грешка"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Безжичен дисплей"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"„Многословно“ регистр. на Wi‑Fi: Актив."</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Ограничаване на сканирането за Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Подобр. рандом. на MAC адреса чрез Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Винаги активни мобилни данни"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Хардуерно ускорение за тетъринга"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Показване на устройствата с Bluetooth без имена"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Показване на опциите за сертифициране на безжичния дисплей"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"По-подробно регистр. на Wi‑Fi – данни за RSSI на SSID в инстр. за избор на Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Намалява изразходването на батерията и подобрява ефективността на мрежата"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Този превключвател оказва влияние върху поведението при рандомизиране на MAC адреси само в режим на клиентска програма.\nКогато този режим е активиран, MAC адресът на всяка мрежа, за която функцията за рандомизиране е включена, може да бъде повторно рандомизиран по време на свързването в зависимост от това, кога последно клиентската програма е прекратила връзката си с мрежата. Не възниква повторно рандомизиране, ако устройството отново установи връзка до 4 часа."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"С отчитане"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Без отчитане"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Размери на регистрац. буфери"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Да се използва хардуерно ускорение на тетъринга, ако е налице"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Разрешаване на отстраняването на грешки през USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Отстраняването на грешки през USB е предназначено само за програмни цели. Използвайте го за копиране на данни между компютъра и устройството си, за инсталиране на приложения на устройството си без известяване и за четене на регистрационни данни."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Да се разреши ли отстраняването на грешки през безжична мрежа?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Отстраняването на грешки през безжична мрежа е предназначено само за програмни цели. Използвайте го за копиране на данни между компютъра и устройството си, за инсталиране на приложения на устройството си без известяване и за четене на регистрационни данни."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Да се разреши ли безжичното отстраняване на грешки?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Безжичното отстраняване на грешки е предназначено само за програмни цели. Използвайте го за копиране на данни между компютъра и устройството си, за инсталиране на приложения на устройството си без известяване и за четене на регистрационни данни."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Да се отмени ли достъпът до отстраняването на грешки през USB от всички по-рано упълномощени от вас компютри?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Да се разрешат ли настройките за програмиране?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Тези настройки са предназначени само за програмиране. Те могат да доведат до прекъсване на работата или неправилно функциониране на устройството ви и приложенията в него."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Показване на диалоговия прозорец за грешки от типа ANR за приложенията на заден план"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Предупрежд. за канала за известия"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Показва се предупреждение, когато приложение публикува известие без валиден канал"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Налагане на преки пътища за извест. за разговори"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"За известията да се създава рез. копие чрез постоянен пряк път за споделяне, за да се показват в секцията с разговори"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Външно хран.: принуд. разрешаване на приложенията"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Всички приложения ще отговарят на условията да бъдат записвани във външното хранилище независимо от стойностите в манифеста"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Възможност за преоразмеряване на активностите"</string>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index 1cd8eea..babf00b 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -21,7 +21,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="wifi_fail_to_scan" msgid="2333336097603822490">"নেটওয়ার্কগুলির জন্য স্ক্যান করা যাবে না"</string>
-    <string name="wifi_security_none" msgid="7392696451280611452">"কোনো কিছুই নয়"</string>
+    <string name="wifi_security_none" msgid="7392696451280611452">"কোনও কিছুই নয়"</string>
     <string name="wifi_remembered" msgid="3266709779723179188">"সংরক্ষিত"</string>
     <string name="wifi_disconnected" msgid="7054450256284661757">"কানেকশন নেই"</string>
     <string name="wifi_disabled_generic" msgid="2651916945380294607">"অক্ষম হয়েছে"</string>
@@ -117,7 +117,7 @@
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"বাতিল করুন"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"চেনানো থাকলে তা কানেক্ট থাকাকালীন অবস্থায় আপনার পরিচিতিগুলি এবং কলের ইতিহাসকে অ্যাক্সেস করতে অনুমোদিত করে৷"</string>
     <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> এর সাথে চেনানো যায়নি।"</string>
-    <string name="bluetooth_pairing_pin_error_message" msgid="264422127613704940">"ভুল পিন বা কোড দেওয়ার কারণে <xliff:g id="DEVICE_NAME">%1$s</xliff:g> এর সঙ্গে চেনানো যায়নি।"</string>
+    <string name="bluetooth_pairing_pin_error_message" msgid="264422127613704940">"ভুল পিন বা কোড দেওয়ার কারণে <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এর সঙ্গে যুক্ত করা যায়নি।"</string>
     <string name="bluetooth_pairing_device_down_error_message" msgid="2554424863101358857">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> এর সঙ্গে যোগাযোগ করতে পারবেন না।"</string>
     <string name="bluetooth_pairing_rejected_error_message" msgid="5943444352777314442">"চেনানো <xliff:g id="DEVICE_NAME">%1$s</xliff:g> প্রত্যাখ্যান করেছে।"</string>
     <string name="bluetooth_talkback_computer" msgid="3736623135703893773">"কম্পিউটার"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ওয়্যারলেস ডিবাগিং"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"কোন কোন ডিভাইস উপলভ্য আছে তা দেখে নিয়ে ব্যবহার করার জন্য, ওয়্যারলেস ডিবাগিং চালু করুন"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR কোড ব্যবহার করে ডিভাইস যোগ করুন"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR কোড স্ক্যানার ব্যবহার করে নতুন ডিভাইস যোগ করুন"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR কোড স্ক্যানার ব্যবহার করে নতুন ডিভাইস যোগ করুন"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"যোগ করার কোড ব্যবহার করে ডিভাইস যোগ করুন"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ছয় সংখ্যার কোড ব্যবহার করে নতুন ডিভাইস যোগ করুন"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"যোগ করা ডিভাইস"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ডিভাইস যোগ করা যায়নি। এটি দুটি কারণে হয়ে থাকে - QR কোডটি সঠিক নয় বা ডিভাইসটি একই নেটওয়ার্কে কানেক্ট করা নেই।"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP অ্যাড্রেস ও পোর্ট"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR কোড স্ক্যান করুন"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR কোড স্ক্যান করে ওয়াই-ফাই ব্যবহার করে ডিভাইস যোগ করুন"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR কোড স্ক্যান করে ওয়াই-ফাইয়ের সাহায্যে ডিভাইস যোগ করুন"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"একটি ওয়াই-ফাই নেটওয়ার্কের সাথে কানেক্ট করুন"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ত্রুটি প্রতিবেদনের শর্টকাট"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ওয়্যারলেস ডিসপ্লে সার্টিফিকেশন"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"ওয়াই-ফাই ভারবোস লগিং চালু করুন"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ওয়াই-ফাই স্ক্যান থ্রোটলিং"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"ওয়াই-ফাই উন্নত MAC র‍্যান্ডমাইজেশন"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"মোবাইল ডেটা সব সময় সক্রিয় থাক"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"টিথারিং হার্ডওয়্যার অ্যাক্সিলারেশন"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"নামহীন ব্লুটুথ ডিভাইসগুলি দেখুন"</string>
@@ -273,7 +274,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality" msgid="3233402355917446304">"ব্লুটুথ অডিও LDAC কোডেক: প্লেব্যাক গুণমান"</string>
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"ব্লুটুথ অডিও LDAC কোডেক ট্রিগার করুন\nএটি বেছে নেওয়া আছে: প্লেব্যাকের কোয়ালিটি"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"স্ট্রিমিং: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
-    <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"ব্যক্তিগত ডিএনএস"</string>
+    <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"প্রাইভেট ডিএনএস"</string>
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"ব্যক্তিগত ডিএনএস মোড বেছে নিন"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"বন্ধ আছে"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"অটোমেটিক"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ওয়্যারলেস প্রদর্শন সার্টিফিকেশন জন্য বিকল্পগুলি দেখান"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"ওয়াই-ফাই লগিং স্তর বাড়ান, ওয়াই-ফাই চয়নকারীতে SSID RSSI অনুযায়ী দেখান"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ব্যাটারির খরচ কমায় এবং নেটওয়ার্কের পারফর্ম্যান্স উন্নত করে"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"এই টগলটি কেবল ক্লায়েন্ট মোডের জন্য ম্যাক র‍্যান্ডমাইজেশন আচরণকে প্রভাবিত করে।\nযখন এই মোডটি চালু করা হয়, তখন ক্লায়েন্টটি কখন নেটওয়ার্ক থেকে ডিসকানেক্ট হয়েছিল তার উপর নির্ভর করে কানেকশনটি সর্বশেষ কানেক্ট হওয়ার পরে MAC র‍্যান্ডম দ্বারা চালু করা যেকোনও MAC অ্যাড্রেস যেকোনও নেটওয়ার্কে আবার র‍্যান্ডমাইজেশন করা যেতে পারে। যদি ডিভাইসটি ৪ ঘন্টা বা তারও কম সময়ে আবার কানেক্ট করা হয় তবে এটি আর র‍্যান্ডমাইজেশন হবে না।"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"মিটার্ড"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"পরিমাপ করা নয়"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"লগার বাফারের আকারগুলি"</string>
@@ -301,7 +303,7 @@
     <string name="adb_warning_title" msgid="7708653449506485728">"USB ডিবাগিং মঞ্জুর করবেন?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB ডিবাগিং কেবলমাত্র বিকাশ করার উদ্দেশ্যে। আপনার কম্পিউটার এবং আপনার ডিভাইসের মধ্যে ডেটা অনুলিপি করতে এটি ব্যবহার করুন, বিজ্ঞপ্তি ছাড়া আপনার ডিভাইসে অ্যাপ্লিকেশানগুলি ইনস্টল করুন এবং ডেটা লগ পড়ুন।"</string>
     <string name="adbwifi_warning_title" msgid="727104571653031865">"ওয়্যারলেস ডিবাগিং-এর অনুমতি দেবেন?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ওয়্যারলেস ডিবাগিং কেবলমাত্র বিকাশ করার উদ্দেশ্যে। আপনার কম্পিউটার এবং আপনার ডিভাইসের মধ্যে ডেটা কপি করতে এটি ব্যবহার করুন, বিজ্ঞপ্তি ছাড়া আপনার ডিভাইসে অ্যাপ ইনস্টল করুন এবং ডেটা লগ পড়ুন।"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ওয়্যারলেস ডিবাগিং কেবলমাত্র ডেভেলপ করার উদ্দেশ্যে। আপনার কম্পিউটার এবং আপনার ডিভাইসের মধ্যে ডেটা কপি করতে এটি ব্যবহার করুন, বিজ্ঞপ্তি ছাড়া আপনার ডিভাইসে অ্যাপ ইনস্টল করুন এবং ডেটা লগ পড়ুন।"</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"আপনি আগে যে সব কম্পিউটার USB ডিবাগিং এর অ্যাক্সেসের অনুমতি দিয়েছিলেন তা প্রত্যাহার করবেন?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"উন্নতি সেটিংসের অনুমতি দেবেন?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"এইসব সেটিংস কেবলমাত্র উন্নত করার উদ্দেশ্য। সেগুলি কারণে আপনার ডিভাইস ভেঙ্গে এবং অ্যাপ্লিকেশানগুলি ভালো ভাবে কাজ করা নাও কারতে পারে।"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ব্যাকগ্রাউন্ডের অ্যাপগুলির জন্য \'অ্যাপ থেকে সাড়া পাওয়া যাচ্ছে না\' মেসেজ দেখান"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"বিজ্ঞপ্তির সতর্কতা দেখুন"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"অ্যাপ সঠিক চ্যানেল ছাড়া বিজ্ঞপ্তি দেখালে সতর্ক করে"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"কথোপকথনের বিজ্ঞপ্তির জন্য শর্টকাট ব্যবহার করুন"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"কথোপকথন বিভাগে দেখানোর জন্য বিজ্ঞপ্তিতে অনেকটা সময় ধরে চলে এমন শেয়ারিং শর্টকাট যেন থাকে"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"বহিরাগততে বলপূর্বক মঞ্জুরি"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ম্যানিফেস্ট মানগুলি নির্বিশেষে যেকোনো অ্যাপ্লিকেশানকে বাহ্যিক সঞ্চয়স্থানে লেখার উপযুক্ত বানায়"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"আকার পরিবর্তনযোগ্য করার জন্য ক্রিয়াকলাপগুলিকে জোর করুন"</string>
@@ -456,7 +460,7 @@
     <string name="disabled" msgid="8017887509554714950">"অক্ষম হয়েছে"</string>
     <string name="external_source_trusted" msgid="1146522036773132905">"অনুমোদিত"</string>
     <string name="external_source_untrusted" msgid="5037891688911672227">"অনুমোদিত নয়"</string>
-    <string name="install_other_apps" msgid="3232595082023199454">"অজানা অ্যাপ ইনস্টল করুন"</string>
+    <string name="install_other_apps" msgid="3232595082023199454">"অজানা অ্যাপ ইনস্টল করা"</string>
     <string name="home" msgid="973834627243661438">"সেটিংস হোম"</string>
   <string-array name="battery_labels">
     <item msgid="7878690469765357158">"০%"</item>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index c72411c..2495fd5 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -93,7 +93,7 @@
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"Pristup SIM-u"</string>
     <string name="bluetooth_profile_a2dp_high_quality" msgid="4739440941324792775">"HD audio: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="2477639096903834374">"HD audio"</string>
-    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"Slušni aparat"</string>
+    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"Slušni aparati"</string>
     <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="8191273236809964030">"Povezan na slušne aparate"</string>
     <string name="bluetooth_a2dp_profile_summary_connected" msgid="7422607970115444153">"Povezano sa zvukom medija"</string>
     <string name="bluetooth_headset_profile_summary_connected" msgid="2420981566026949688">"Povezano na zvuk telefona"</string>
@@ -161,7 +161,7 @@
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Visina glasa"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"Utiče na ton sintetiziranog govora"</string>
     <string name="tts_default_lang_title" msgid="4698933575028098940">"Jezik"</string>
-    <string name="tts_lang_use_system" msgid="6312945299804012406">"Korištenje sistemskog jezika"</string>
+    <string name="tts_lang_use_system" msgid="6312945299804012406">"Koristi jezik sistema"</string>
     <string name="tts_lang_not_selected" msgid="7927823081096056147">"Jezik nije izabran"</string>
     <string name="tts_default_lang_summary" msgid="9042620014800063470">"Postavlja glas za dati jezik za izgovoreni tekst"</string>
     <string name="tts_play_example_title" msgid="1599468547216481684">"Poslušajte primjer"</string>
@@ -210,9 +210,9 @@
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Način rada otklanjanja grešaka kada je WiFi mreža povezana"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Greška"</string>
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bežično otklanjanje grešaka"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Da vidite i koristite dostupne uređaje, uključite otklanjanje grešaka putem bežične veze"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Da vidite i koristite dostupne uređaje, uključite bežično otklanjanje grešaka"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Uparite uređaj pomoću QR koda"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Uparite nove uređaje pomoću skenera QR koda"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Uparite nove uređaje pomoću skenera QR koda"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Uparite uređaj pomoću koda za uparivanje"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Uparite nove uređaje pomoću šestocifrenog koda"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Upareni uređaji"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Uparivanje uređaja nije uspjelo. QR kȏd nije tačan ili uređaj nije povezan na istu mrežu."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresa i priključak"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skenirajte QR kôd"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Uparite uređaj putem WiFi-ja skeniranjem QR koda"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Uparite uređaj putem WiFi-ja skeniranjem QR koda"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Povežite se na WiFi mrežu"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, otklanjanje grešaka, programer"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Prečica za izvještaj o greškama"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifikacija bežičnog prikaza"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Omogući detaljni zapisnik za WiFi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Reguliranje skeniranja WiFi mreže"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Nasum. odabir MAC-a poboljšan WiFi-jem"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Prijenos podataka na mobilnoj mreži je uvijek aktivan"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardversko ubrzavanje za povezivanje putem mobitela"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Prikaži Bluetooth uređaje bez naziva"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Prikaz opcija za certifikaciju bežičnog prikaza"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Povećani nivo zapisnika za WiFi. Prikaz po SSID RSSI-ju u Biraču WiFi-ja"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Smanjuje potrošnju baterije i poboljšava performanse mreže"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ovo aktiviranje/deaktiviranje utiče na ponašanje nasumičnog odabira MAC adrese isključivo za način rada klijenta.\nKada je taj način aktiviran, na svakoj mreži na kojoj je omogućen nasumični odabir MAC adrese može doći do ponovnog nasumičnog odabira MAC adrese za vrijeme povezivanja, u zavisnosti od toga kada je posljednji put prekinuta povezanost klijenta s mrežom. Do ponovnog nasumičnog odabira ne dolazi ako se uređaj ponovo poveže u roku od 4 sata ili ranije."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"S naplatom"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Mreža bez naplate"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Veličine međumemorije zapisnika"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Prikaz dijaloga \"Aplikacija ne reagira\" za aplikacije pokrenute u pozadini"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Prikaži upozorenja kanala obavještenja"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Prikaz upozorenja na ekranu kada aplikacija pošalje obavještenje bez važećeg kanala"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Primijeni prečice za obavještenja o razgovorima"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Traži da obavještenja imaju dugotrajnu prečicu za dijeljenje radi prikaza u odjeljku za razgovore"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Nametni aplikacije na vanjskoj pohrani"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Omogućava upisivanje svih aplikacija u vanjsku pohranu, bez obzira na prikazane vrijednosti"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Nametni aktivnostima mijenjanje veličina"</string>
@@ -417,7 +421,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalija (crveno-zeleno)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalija (plavo-žuto)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Ispravka boje"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Korekcija boje vam dozvoljava da prilagodite način prikazivanja boja na uređaju"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Ispravka boje vam dozvoljava da prilagodite način prikazivanja boja na uređaju"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Zamjenjuje <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"Preostalo je još oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -476,7 +480,7 @@
     <string name="retail_demo_reset_next" msgid="3688129033843885362">"Naprijed"</string>
     <string name="retail_demo_reset_title" msgid="1866911701095959800">"Potrebna je lozinka"</string>
     <string name="active_input_method_subtypes" msgid="4232680535471633046">"Aktivne metode unosa"</string>
-    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Koristite jezik sistema"</string>
+    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Koristi jezik sistema"</string>
     <string name="failed_to_open_app_settings_toast" msgid="764897252657692092">"Otvaranje postavki za <xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g> nije uspjelo"</string>
     <string name="ime_security_warning" msgid="6547562217880551450">"Ovaj način unosa može prikupiti sav tekst koji upišete, uključujući lične podatke kao što su lozinke i brojevi kreditnih kartica. Način omogućava aplikacija <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Da li želite koristiti ovaj način unosa?"</string>
     <string name="direct_boot_unaware_dialog_message" msgid="7845398276735021548">"Napomena: Nakon ponovnog pokretanja, ova aplikacija se neće moći pokrenuti dok ne otključate telefon"</string>
@@ -530,7 +534,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Korisnik"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Ograničeni profil"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Dodati novog korisnika?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Za dijeljenje ovog uređaja s drugima možete napraviti dodatne korisnike. Svaki korisnik ima svoj prostor koji može prilagoditi pomoću aplikacija, pozadinske slike i slično. Korisnici također mogu prilagoditi postavke uređaja koje utiču na sve ostale korisnike, kao što je WiFi.\n\nKada dodate novog korisnika, ta osoba treba postaviti svoj prostor.\n\nSvaki korisnik može ažurirati aplikacije za sve ostale korisnike. Postavke i usluge pristupačnosti možda se neće prenijeti na novog korisnika."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Ovaj uređaj možete dijeliti s drugima ako napravite dodatne korisnike. Svaki korisnik ima svoj prostor koji može prilagoditi pomoću aplikacija, pozadinske slike i slično. Korisnici također mogu prilagoditi postavke uređaja koje utiču na sve ostale korisnike, kao što je WiFi.\n\nKada dodate novog korisnika, ta osoba treba postaviti svoj prostor.\n\nSvaki korisnik može ažurirati aplikacije za sve ostale korisnike. Postavke i usluge pristupačnosti možda se neće prenijeti na novog korisnika."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Kada dodate novog korisnika, ta osoba treba postaviti svoj prostor. \n\n Svaki korisnik može ažurirati aplikacije za sve ostale korisnike."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Postaviti korisnika sada?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Provjerite može li osoba uzeti uređaj i postaviti svoj prostor"</string>
@@ -540,8 +544,8 @@
     <string name="user_add_user_type_title" msgid="551279664052914497">"Dodaj"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Novi korisnik"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Novi profil"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Podaci o korisniku"</string>
-    <string name="profile_info_settings_title" msgid="105699672534365099">"Podaci o profilu"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Informacije o korisniku"</string>
+    <string name="profile_info_settings_title" msgid="105699672534365099">"Informacije o profilu"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Prije nego vam se omogući kreiranje ograničenog profila, morate postaviti zaključavanje ekrana da biste zaštitili svoje aplikacije i lične podatke."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Postaviti zaključavanje"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"Prebaci na korisnika <xliff:g id="USER_NAME">%s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 765d442..32ff89f 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -88,7 +88,7 @@
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Accés a Internet"</string>
     <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"Compartició de contactes"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"S\'utilitza per compartir contactes."</string>
-    <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Connexió compartida a Internet"</string>
+    <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Compartició de connexió d\'Internet"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"Missatges de text"</string>
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"Accés a la SIM"</string>
     <string name="bluetooth_profile_a2dp_high_quality" msgid="4739440941324792775">"Àudio HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string>
@@ -195,7 +195,7 @@
   </string-array>
     <string name="choose_profile" msgid="343803890897657450">"Tria un perfil"</string>
     <string name="category_personal" msgid="6236798763159385225">"Personal"</string>
-    <string name="category_work" msgid="4014193632325996115">"Feina"</string>
+    <string name="category_work" msgid="4014193632325996115">"Treball"</string>
     <string name="development_settings_title" msgid="140296922921597393">"Opcions per a desenvolupadors"</string>
     <string name="development_settings_enable" msgid="4285094651288242183">"Activa les opcions per a desenvolupadors"</string>
     <string name="development_settings_summary" msgid="8718917813868735095">"Defineix les opcions per al desenvolupament d\'aplicacions"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuració sense fil"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Per veure i utilitzar els dispositius disponibles, activa la depuració sense fil"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Vincula el dispositiu amb un codi QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Vincula dispositius nous utilitzant l\'escàner de codis QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Vincula dispositius nous utilitzant l\'escàner de codis QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Vincula el dispositiu amb un codi de vinculació"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Vincula dispositius nous utilitzant un codi de sis dígits"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositius vinculats"</string>
@@ -226,12 +226,12 @@
     <string name="adb_pairing_device_dialog_pairing_code_label" msgid="3639239786669722731">"Codi de vinculació Wi‑Fi"</string>
     <string name="adb_pairing_device_dialog_failed_title" msgid="3426758947882091735">"No s\'ha pogut vincular"</string>
     <string name="adb_pairing_device_dialog_failed_msg" msgid="6611097519661997148">"Assegura\'t que el dispositiu estigui connectat a la mateixa xarxa."</string>
-    <string name="adb_wireless_qrcode_summary" msgid="8051414549011801917">"Vincula el dispositiu per Wi‑Fi escanejant un codi QR"</string>
+    <string name="adb_wireless_qrcode_summary" msgid="8051414549011801917">"Escaneja un codi QR per vincular el dispositiu per Wi‑Fi"</string>
     <string name="adb_wireless_verifying_qrcode_text" msgid="6123192424916029207">"S\'està vinculant el dispositiu…"</string>
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"No s\'ha pogut vincular el dispositiu. O bé el codi QR és incorrecte, o bé el dispositiu no està connectat a la mateixa xarxa."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adreça IP i port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Escaneja un codi QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Vincula el dispositiu per Wi‑Fi escanejant un codi QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Vincula el dispositiu per Wi‑Fi escanejant un codi QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Connecta\'t a una xarxa Wi‑Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, depurar, desenvolupador"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Drecera per a informe d\'errors"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificació de pantalla sense fil"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Activa el registre Wi‑Fi detallat"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitació de la cerca de xarxes Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Aleatorització de MAC millorada per Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dades mòbils sempre actives"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Acceleració per maquinari per a compartició de xarxa"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostra els dispositius Bluetooth sense el nom"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostra les opcions per a la certificació de pantalla sense fil"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Augmenta nivell de registre Wi‑Fi, mostra\'l per SSID RSSI al selector de Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Redueix el consum de bateria i millora el rendiment de la xarxa"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Aquest commutador afecta el comportament de l\'aleatorització d\'adreces MAC només en el mode client.\nQuan aquest mode està activat, és possible que les adreces MAC de les xarxes que tinguin activada l’aleatorització es tornin a ordenar de manera aleatòria durant l’associació, en funció de l\'última vegada que el client s\'ha desconnectat de la xarxa. Les adreces no es tornen a ordenar de manera aleatòria si el dispositiu es torna a connectar abans de 4 hores."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"D\'ús mesurat"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"D\'ús no mesurat"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Mides de la mem. intermèdia del registrador"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Mostra el quadre de diàleg L\'aplicació no respon per a aplicacions en segon pla"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostra avisos del canal de notificacions"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Mostra un avís en pantalla quan una aplicació publica una notificació sense un canal vàlid"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Aplica dreceres per a notificacions de converses"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Requereix que les notificacions tinguin una drecera permanent de compartició perquè apareguin a la secció de converses"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Força permetre aplicacions de manera externa"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Permet que qualsevol aplicació es pugui escriure en un dispositiu d’emmagatzematge extern, independentment dels valors definits"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Força l\'ajust de la mida de les activitats"</string>
@@ -416,8 +420,8 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Deuteranomalia (vermell-verd)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalia (vermell-verd)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalia (blau-groc)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Correcció del color"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"La correcció del color permet ajustar com es mostren els colors al teu dispositiu"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Correcció de color"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"La correcció de color permet ajustar com es mostren els colors al teu dispositiu"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"S\'ha substituït per <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g>: <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"Temps restant aproximat: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -529,17 +533,17 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Usuari"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Perfil restringit"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Vols afegir un usuari nou?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Pots compartir aquest dispositiu amb altres usuaris creant usuaris addicionals. Cada usuari té el seu propi espai, que pot personalitzar amb aplicacions i fons de pantalla, entre d\'altres. Els usuaris també poden ajustar opcions de configuració del dispositiu, com ara la Wi-Fi, que afecten els altres usuaris.\n\nQuan afegeixis un usuari nou, haurà de configurar el seu espai.\n\nTots els usuaris poden actualitzar les aplicacions de la resta. És possible que la configuració i els serveis d\'accessibilitat no es transfereixin a l\'usuari nou."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Pots compartir aquest dispositiu amb altres persones creant usuaris addicionals. Cada usuari té el seu propi espai, que pot personalitzar amb aplicacions i fons de pantalla, entre d\'altres. Els usuaris també poden ajustar opcions de configuració del dispositiu, com ara la Wi-Fi, que afecten els altres usuaris.\n\nQuan afegeixis un usuari nou, haurà de configurar el seu espai.\n\nTots els usuaris poden actualitzar les aplicacions de la resta. És possible que la configuració i els serveis d\'accessibilitat no es transfereixin a l\'usuari nou."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Quan s\'afegeix un usuari nou, aquest usuari ha de configurar el seu espai.\n\nQualsevol usuari pot actualitzar les aplicacions dels altres usuaris."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Vols configurar l\'usuari ara?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Comprova que l\'usuari pugui accedir al dispositiu i configurar el seu espai."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Assegura\'t que la persona estigui disponible per accedir al dispositiu i configurar el seu espai."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Vols configurar el perfil ara?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Configura ara"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Ara no"</string>
     <string name="user_add_user_type_title" msgid="551279664052914497">"Afegeix"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Usuari nou"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Perfil nou"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Info. de l\'usuari"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Informació de l\'usuari"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"Informació de perfil"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Per crear un perfil restringit, has de configurar una pantalla de bloqueig per protegir les aplicacions i les dades personals."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Defineix un bloqueig"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index ed2db3a..26db499 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bezdrátové ladění"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Chcete-li zobrazit a použít dostupná zařízení, zapněte bezdrátové ladění"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Párovat zařízení pomocí QR kódu"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Párovat nová zařízení pomocí skenování QR kódu"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Párovat nová zařízení pomocí skeneru QR kódů"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Párovat zařízení pomocí párovacího kódu"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Párovat nová zařízení pomocí šestimístného kódu"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Spárovaná zařízení"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Spárování zařízení se nezdařilo. Buď byl QR kód chybný, nebo zařízení není připojeno ke stejné síti."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresa a port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Naskenování QR kódu"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Párovat zařízení přes Wi-Fi naskenováním QR kódu"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Párovat zařízení přes Wi-Fi naskenováním QR kódu"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Připojte se k síti Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ladění, vývoj"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Zástupce hlášení chyb"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifikace bezdrát. displeje"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Podrobné protokolování Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Přibrždění vyhledávání Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Vylepšená randomizace adres MAC pro WiFi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobilní data jsou vždy aktivní"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardwarová akcelerace tetheringu"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Zobrazovat zařízení Bluetooth bez názvů"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Zobrazit možnosti certifikace bezdrátového displeje"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Zvýšit úroveň protokolování Wi‑Fi zobrazenou v SSID a RSSI při výběru sítě Wi‑Fi."</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Snižuje vyčerpávání baterie a vylepšuje výkon sítě"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Tento přepínač má vliv pouze na chování randomizace adres MAC pro režim klienta.\nKdyž je tento režim aktivován, u sítí s povolenou randomizací adresa MAC mohou být během přidružování adresy MAC randomizovány znovu, podle toho, kdy se klient od sítě naposledy odpojil. Opětovná randomizace se neprovádí, pokud se zařízení připojí znovu do 4 hodin."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Měřená"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Neměřená"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Vyrovnávací paměť protokol. nástroje"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Zobrazovat dialog „Aplikace neodpovídá“ pro aplikace na pozadí"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Zobrazovat upozornění ohledně kanálu oznámení"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Když aplikace odešle oznámení bez platného kanálu, na obrazovce se zobrazí upozornění"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"U oznámení konverzací vyžadovat zkratky"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"V sekci konverzace zobrazovat pouze oznámení podložená dlouhodobými sdílecími zkratkami"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Vynutit povolení aplikací na externím úložišti"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Každou aplikaci bude možné zapsat do externího úložiště, bez ohledu na hodnoty manifestu"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Vynutit možnost změny velikosti aktivit"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index f682b15..199fad5 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB-fejlretning"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Fejlretningstilstand, når USB er tilsluttet"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Tilbagekald tilladelser for USB-fejlretning"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Trådløs fejlfinding"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Trådløs fejlretning"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Fejlfindingstilstand, når der er Wi-Fi-forbindelse"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Fejl"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Trådløs fejlfinding"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Trådløs fejlretning"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Du kan se og bruge tilgængelige enheder ved at aktivere trådløs fejlretning"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Dan par med en enhed ved hjælp af en QR-kode"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Dan par med nye enheder ved hjælp af QR-kodescanneren"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Dan par med nye enheder ved hjælp af QR-kodescanneren"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Dan par med en enhed ved hjælp af en parringskode"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Dan par med nye enheder ved hjælp af den sekscifrede kode"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Parrede enheder"</string>
@@ -231,11 +231,11 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Enheden blev ikke parret. Det skyldes enten, at QR-koden var forkert, eller at enheden ikke er forbundet til det samme netværk."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-adresse og port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scan QR-kode"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Dan par med en enhed via Wi-Fi ved at scanne en QR-kode"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Dan par med en enhed via Wi-Fi ved at scanne en QR-kode"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Opret forbindelse til et Wi-Fi-netværk"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, fejlfinding, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Genvej til fejlrapportering"</string>
-    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Vis en knap til oprettelse af fejlrapporter i afbrydermenuen"</string>
+    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Vis en knap til oprettelse af fejlrapporter i menuen for afbryderknappen"</string>
     <string name="keep_screen_on" msgid="1187161672348797558">"Lås ikke"</string>
     <string name="keep_screen_on_summary" msgid="1510731514101925829">"Skærmen går ikke i dvale under opladning"</string>
     <string name="bt_hci_snoop_log" msgid="7291287955649081448">"Aktivér Bluetooth HCI spionlog"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificering af trådløs skærm"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Aktivér detaljeret Wi-Fi-logføring"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Begrænsning af Wi-Fi-scanning"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑forbedret MAC-randomisering"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobildata er altid aktiveret"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardwareacceleration ved netdeling"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Vis Bluetooth-enheder uden navne"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Vis valgmuligheder for certificering af trådløs skærm"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Øg mængden af Wi‑Fi-logføring. Vis opdelt efter SSID RSSI i Wi‑Fi-vælgeren"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reducerer batteriforbruget og forbedrer netværkets effektivitet"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Denne skift påvirker kun MAC-randomisering for klienttilstand.\nNår denne tilstand er aktiveret, kan netværk, der har Mac-randomisering aktiveret, få deres MAC-adresser randomiseret igen, når der oprettes forbindelse, afhængigt af hvornår klienten sidst afbrød forbindelse til netværket. Randomisering sker ikke igen, hvis enheden forbinder igen inden for højst 4 timer."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Forbrugsafregnet"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Ikke forbrugsafregnet"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Størrelser for Logger-buffer"</string>
@@ -300,7 +302,7 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Brug hardwareacceleration ved netdeling, hvis det er muligt"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Vil du tillade USB-fejlretning?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB-fejlretning er kun beregnet til udvikling og kan bruges til at kopiere data mellem din computer og enheden, installere apps på enheden uden notifikation og læse logdata."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Vil du tillade trådløs fejlfinding?"</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Vil du tillade trådløs fejlretning?"</string>
     <string name="adbwifi_warning_message" msgid="8005936574322702388">"Trådløs fejlretning er kun beregnet til udvikling og kan bruges til at kopiere data mellem din computer og enheden, installere apps på enheden uden notifikation og læse logdata."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Vil du ophæve adgangen til USB-fejlretning for alle computere, du tidligere har godkendt?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Vil du tillade udviklingsindstillinger?"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Vis dialogboksen \"Appen svarer ikke\" for baggrundsapps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Vis advarsler om notifikationskanal"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Viser en advarsel, når en app sender en notifikation uden en gyldig kanal"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Kræv genveje til samtalenotifikationer"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kræv, at notifikationer bakkes op af en langvarig delingsgenvej, hvis de skal vises i samtalesektionen"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Gennemtving tilladelse til eksternt lager"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Gør det muligt at overføre enhver app til et eksternt lager uafhængigt af manifestværdier"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Gennemtving, at aktiviteter kan tilpasses"</string>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Bruger"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Begrænset profil"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Vil du tilføje en ny bruger?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Du kan dele denne enhed med andre ved at oprette ekstra brugere. Hver bruger har sit eget rum, som kan tilpasses med apps, baggrund osv. Brugerne kan også justere enhedsindstillinger, som for eksempel Wi-Fi, som påvirker alle.\n\nNår du tilføjer en ny bruger, skal vedkommende konfigurere sit rum.\n\nAlle brugere kan opdatere apps for alle andre brugere. Indstillinger og tjenester for hjælpefunktioner overføres muligvis ikke til den nye bruger."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Du kan dele denne enhed med andre ved at oprette ekstra brugere. Hver bruger har sit personlige område, som kan tilpasses med apps, baggrund osv. Brugerne kan også justere enhedsindstillinger, som for eksempel Wi-Fi, som påvirker alle.\n\nNår du tilføjer en ny bruger, skal vedkommende konfigurere sit område.\n\nAlle brugere kan opdatere apps for alle andre brugere. Indstillinger og tjenester for hjælpefunktioner overføres muligvis ikke til den nye bruger."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Når du tilføjer en ny bruger, skal personen konfigurere sit rum.\n\nEnhver bruger kan opdatere apps for alle andre brugere."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Vil du konfigurere brugeren nu?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Sørg for, at brugeren har mulighed for at tage enheden og konfigurere sit eget rum"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 7918022..3b2b2a8 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB-Debugging"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Debugmodus bei Anschluss über USB"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB-Debugging-Autorisierungen aufheben"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Kabelloses Debugging"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Debugging über WLAN"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Debugging-Modus, wenn eine WLAN-Verbindung besteht"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Fehler"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Kabelloses Debugging"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Aktiviere das kabellose Debugging, um verfügbare Geräte zu sehen und zu verwenden"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Debugging über WLAN"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Aktiviere \"Debugging über WLAN\", um verfügbare Geräte zu sehen und zu verwenden"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Gerät über einen QR-Code koppeln"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Neue Geräte über QR-Codescanner koppeln"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Neue Geräte über QR-Codescanner koppeln"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Gerät über einen Kopplungscode koppeln"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Neue Geräte mit sechsstelligem Code koppeln"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Gekoppelte Geräte"</string>
@@ -231,11 +231,11 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Das Gerät konnte nicht gekoppelt werden. Der QR-Code war nicht korrekt oder das Gerät ist nicht mit demselben Netzwerk verbunden."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-Adresse &amp; Port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR-Code scannen"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Scanne einen QR-Code, um ein Gerät über WLAN zu koppeln"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Scanne einen QR-Code, um ein Gerät über WLAN zu koppeln"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Bitte stell eine WLAN-Verbindung her"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, Debug, Dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Verknüpfung zu Fehlerbericht"</string>
-    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Im Menü \"Ein/Aus\" wird eine Option zum Erstellen eines Fehlerberichts angezeigt"</string>
+    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Im Ein-/Aus-Menü wird eine Option zum Erstellen eines Fehlerberichts angezeigt"</string>
     <string name="keep_screen_on" msgid="1187161672348797558">"Aktiv lassen"</string>
     <string name="keep_screen_on_summary" msgid="1510731514101925829">"Display wird beim Laden nie in den Ruhezustand versetzt"</string>
     <string name="bt_hci_snoop_log" msgid="7291287955649081448">"Bluetooth HCI-Snoop-Protokoll aktivieren"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Zertifizierung für kabellose Übertragung"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Ausführliche WLAN-Protokollierung aktivieren"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Drosselung der WLAN-Suche"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"WLAN-erweiterte MAC-Adressrandomisierung"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobile Datennutzung immer aktiviert"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardwarebeschleunigung für Tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth-Geräte ohne Namen anzeigen"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Optionen zur Zertifizierung für kabellose Übertragung anzeigen"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"WLAN-Protokollierungsebene erhöhen, pro SSID RSSI in WiFi Picker anzeigen"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Verringert den Akkuverbrauch und verbessert die Netzwerkleistung"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Hiermit wird das Verhalten der MAC-Adressrandomisierung ausschließlich für den Clientmodus umgeschaltet.\nWenn dieser Modus aktiviert ist, werden bei allen Netzwerken, bei denen die MAC-Randomisierung aktiviert ist, die MAC-Adressen während der Verknüpfung abhängig davon, wann der Client zuletzt vom Netzwerk getrennt wurde, wieder randomisiert. Die erneute Randomisierung findet nicht statt, wenn die Verbindung des Geräts innerhalb von maximal 4 Stunden wiederhergestellt wird."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Kostenpflichtig"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Kostenlos"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger-Puffergrößen"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Falls verfügbar, Hardwarebeschleunigung für Tethering verwenden"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB-Debugging zulassen?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB-Debugging ist nur für Entwicklungszwecke vorgesehen. Damit kannst du Daten zwischen deinem Computer und deinem Gerät kopieren, Apps auf deinem Gerät ohne Benachrichtigung installieren und Protokolldaten lesen."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Kabelloses Debugging zulassen?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Das kabellose Debugging ist nur für Entwicklungszwecke vorgesehen. Damit kannst du Daten zwischen deinem Computer und deinem Gerät kopieren, Apps auf deinem Gerät ohne Benachrichtigung installieren und Protokolldaten lesen."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"\"Debugging über WLAN\" zulassen?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"\"Debugging über WLAN\" ist nur für Entwicklungszwecke vorgesehen. Damit kannst du Daten zwischen deinem Computer und deinem Gerät kopieren, Apps auf deinem Gerät ohne Benachrichtigung installieren und Protokolldaten lesen."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Zugriff auf USB-Debugging für alle zuvor autorisierten Computer aufheben?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Entwicklungseinstellungen zulassen?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Diese Einstellungen sind ausschließlich für Entwicklungszwecke gedacht. Sie können dein Gerät und die darauf installierten Apps beschädigen oder zu unerwünschtem Verhalten führen."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Bei Abstürzen von Hintergrund-Apps \"App reagiert nicht\"-Dialog anzeigen"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Benachrichtigungskanal- Warnungen anzeigen"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Bei Benachrichtigungen ohne gültigen Kanal wird eine Warnung angezeigt"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Tastenkombination für Benachrichtigungen zur Unterhaltung erzwingen"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Benachrichtigungen müssen durch eine langlebige Tastenkombination zum Teilen unterstützt werden, um im Bereich der Unterhaltung zu erscheinen"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Sperrung des externen Speichers für alle Apps aufheben"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Jede App kann, ungeachtet der Manifestwerte, in den externen Speicher geschrieben werden"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Aktivitätengröße darf immer angepasst werden"</string>
@@ -492,7 +496,7 @@
     <string name="accessibility_manual_zen_more_time" msgid="5141801092071134235">"Mehr Zeit."</string>
     <string name="accessibility_manual_zen_less_time" msgid="6828877595848229965">"Weniger Zeit."</string>
     <string name="cancel" msgid="5665114069455378395">"Abbrechen"</string>
-    <string name="okay" msgid="949938843324579502">"Ok"</string>
+    <string name="okay" msgid="949938843324579502">"OK"</string>
     <string name="zen_mode_enable_dialog_turn_on" msgid="6418297231575050426">"Aktivieren"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="2760567063190790696">"\"Bitte nicht stören\" aktivieren"</string>
     <string name="zen_mode_settings_summary_off" msgid="3832876036123504076">"Nie"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index b4d7c87..224e6ff 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Εντοπισμός σφαλμάτων USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Λειτουργία εντοπισμού σφαλμάτων όταν το USB είναι συνδεδεμένο"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Ανάκληση εξ/σεων εντ/σμού σφ/των USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Εντοπισμός σφαλμ. ασύρ. σύνδεσης"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Ασύρματος εντοπισμός σφαλμάτων"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Λειτουργία εντοπισμού σφαλμάτων όταν το Wi‑Fi είναι συνδεδεμένο"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Σφάλμα"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Εντοπισμός σφαλμ. ασύρ. σύνδεσης"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Για να δείτε και να χρησιμοποιήσετε τις διαθέσιμες συσκευές, ενεργοποιήστε τον εντοπισμό σφαλμάτων ασύρματης σύνδεσης"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Ασύρματος εντοπισμός σφαλμάτων"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Για να δείτε και να χρησιμοποιήσετε τις διαθέσιμες συσκευές, ενεργοποιήστε τον ασύρματο εντοπισμό σφαλμάτων"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Σύζευξη συσκευής με κωδικό QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Σύζευξη νέων συσκευών με τη χρήση σαρωτή κωδικών QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Σύζευξη νέων συσκευών με τη χρήση σαρωτή κωδικών QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Σύζευξη συσκευής με κωδικό σύζευξης"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Σύζευξη νέων συσκευών με τη χρήση εξαψήφιου κωδικού"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Συσκευές σε σύζευξη"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Η σύζευξη της συσκευής απέτυχε. Ο κωδικός QR ήταν λανθασμένος ή η συσκευή δεν είναι συνδεδεμένη στο ίδιο δίκτυο."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Διεύθυνση IP και θύρα"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Σάρωση κωδικού QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Σύζευξη συσκευής μέσω Wi‑Fi με τη σάρωση ενός κωδικού QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Σύζευξη συσκευής μέσω Wi‑Fi με τη σάρωση ενός κωδικού QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Συνδεθείτε σε ένα δίκτυο Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, εντοπισμός σφαλμάτων, προγραμματιστής"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Συντόμευση αναφοράς σφαλμάτων"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Πιστοποίηση ασύρματης οθόνης"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Ενεργοποίηση λεπτομερ. καταγραφής Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Περιορισμός σάρωσης Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Ρύθμ. τυχαίας σειράς MAC με βελτ. Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Πάντα ενεργά δεδομένα κινητής τηλεφωνίας"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Σύνδεση επιτάχυνσης υλικού"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Εμφάνιση συσκευών Bluetooth χωρίς ονόματα"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Εμφάνιση επιλογών για πιστοποίηση ασύρματης οθόνης"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Αύξηση επιπέδου καταγ. Wi-Fi, εμφάνιση ανά SSID RSSI στο εργαλείο επιλογής Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Περιορίζει την κατανάλωση της μπαταρίας και βελτιώνει την απόδοση του δικτύου"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Αυτός ο διακόπτης επηρεάζει τη συμπεριφορά της ρύθμισης τυχαίας σειράς διευθύνσεων MAC μόνο για τη λειτουργία εφαρμογής πελάτη.\nΌταν αυτή η λειτουργία είναι ενεργοποιημένη, σε όλα τα δίκτυα που είναι ενεργή η ρύθμιση τυχαίας σειράς διευθύνσεων MAC ενδέχεται να αλλάξει ξανά η τυχαία σειρά των διευθύνσεων MAC κατά τη συσχέτιση, ανάλογα με το πότε έγινε η τελευταία αποσύνδεση της εφαρμογής πελάτη από το δίκτυο. Αν η συσκευή επανασυνδεθεί μέσα σε 4 ώρες ή λιγότερες, τότε δεν θα αλλάξει η τυχαία σειρά."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Μέτρηση με βάση τη χρήση"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Χωρίς μέτρηση με βάση τη χρήση"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Μέγεθος προσωρινής μνήμης για τη λειτουργία καταγραφής"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Χρήση της σύνδεσης επιτάχυνσης υλικού εάν υπάρχει"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Να επιτρέπεται ο εντοπισμός σφαλμάτων USB;"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Ο εντοπισμός σφαλμάτων USB προορίζεται μόνο για σκοπούς προγραμματισμού. Χρησιμοποιήστε τον για αντιγραφή δεδομένων μεταξύ του υπολογιστή και της συσκευής σας, για την εγκατάσταση εφαρμογών στη συσκευή σας χωρίς προειδοποίηση και για την ανάγνωση δεδομένων καταγραφής."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Να επιτρέπεται ο εντοπισμός σφαλμάτων ασύρματης σύνδεσης;"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Ο εντοπισμός σφαλμάτων ασύρματης σύνδεσης προορίζεται μόνο για σκοπούς προγραμματισμού. Χρησιμοποιήστε τον για αντιγραφή δεδομένων μεταξύ του υπολογιστή και της συσκευής σας, για την εγκατάσταση εφαρμογών στη συσκευή σας χωρίς ειδοποίηση και για την ανάγνωση δεδομένων καταγραφής."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Να επιτρέπεται ο ασύρματος εντοπισμός σφαλμάτων;"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Ο ασύρματος εντοπισμός σφαλμάτων προορίζεται μόνο για σκοπούς προγραμματισμού. Χρησιμοποιήστε τον για αντιγραφή δεδομένων μεταξύ του υπολογιστή και της συσκευής σας, για την εγκατάσταση εφαρμογών στη συσκευή σας χωρίς ειδοποίηση και για την ανάγνωση δεδομένων καταγραφής."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Ανάκληση πρόσβασης στον εντοπισμό σφαλμάτων USB από όλους τους υπολογιστές για τους οποίους είχατε εξουσιοδότηση στο παρελθόν;"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Να επιτρέπεται η χρήση των ρυθμίσεων ανάπτυξης;"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Αυτές οι ρυθμίσεις προορίζονται για χρήση κατά την ανάπτυξη. Μπορούν να προκαλέσουν προβλήματα στη λειτουργία της συσκευής και των εφαρμογών σας."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Εμφάνιση του παραθύρου \"Η εφαρμογή δεν αποκρίνεται\" για εφαρμογές παρασκηνίου"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Εμφάνιση προειδοπ. καναλιού ειδοπ."</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Εμφανίζει προειδοποίηση όταν μια εφαρμογή δημοσιεύει ειδοποίηση χωρίς έγκυρο κανάλι"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Επιβολή συντομεύσεων για ειδοποιήσεις συνομιλίας"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Να απαιτείται η υποστήριξη των ειδοπ. από μια συντόμευση κοινοποίησης μεγάλης διάρκειας για να εμφανίζονται στην ενότητα συνομιλίας"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Να επιτρέπονται υποχρεωτικά εφαρμογές σε εξωτ.συσ."</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Κάνει κάθε εφαρμογή κατάλληλη για εγγραφή σε εξωτερικό αποθηκευτικό χώρο, ανεξάρτητα από τις τιμές του μανιφέστου"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Αναγκαστική δυνατότητα αλλαγής μεγέθους δραστηριοτήτων"</string>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Χρήστης"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Προφίλ περιορ. πρόσβασης"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Προσθήκη νέου χρήστη;"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Μπορείτε να μοιραστείτε αυτήν τη συσκευή με άλλα άτομα, δημιουργώντας επιπλέον χρήστες. Κάθε χρήστης θα έχει το δικό του χώρο, τον οποίο μπορεί να προσαρμόσει με τις δικές του εφαρμογές, ταπετσαρία κ.λπ. Οι χρήστες μπορούν επίσης να προσαρμόσουν ρυθμίσεις της συσκευής, όπως το Wi‑Fi, που επηρεάζουν τους πάντες.\n\nΚατά την προσθήκη ενός νέου χρήστη, αυτός θα πρέπει να ρυθμίσει τον χώρο του.\n\nΟποιοσδήποτε χρήστης μπορεί να ενημερώσει τις εφαρμογές για όλους τους άλλους χρήστες. Οι ρυθμίσεις και οι υπηρεσίες προσβασιμότητας ενδέχεται να μην μεταφερθούν στον νέο χρήστη"</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Μπορείτε να μοιραστείτε αυτήν τη συσκευή με άλλα άτομα, δημιουργώντας επιπλέον χρήστες. Κάθε χρήστης θα έχει το δικό του χώρο, τον οποίο μπορεί να προσαρμόσει με τις δικές του εφαρμογές, ταπετσαρία κ.λπ. Οι χρήστες μπορούν επίσης να προσαρμόσουν ρυθμίσεις της συσκευής, όπως το Wi‑Fi, που επηρεάζουν τους πάντες.\n\nΚατά την προσθήκη ενός νέου χρήστη, αυτός θα πρέπει να ρυθμίσει τον χώρο του.\n\nΟποιοσδήποτε χρήστης μπορεί να ενημερώσει τις εφαρμογές για όλους τους άλλους χρήστες. Οι ρυθμίσεις και οι υπηρεσίες προσβασιμότητας ενδέχεται να μην μεταφερθούν στον νέο χρήστη."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Κατά την προσθήκη ενός νέου χρήστη, αυτός θα πρέπει να ρυθμίσει το χώρο του.\n\nΟποιοσδήποτε χρήστης μπορεί να ενημερώσει τις εφαρμογές για όλους τους άλλους χρήστες."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Να γίνει ρύθμιση χρήστη τώρα;"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Βεβαιωθείτε ότι ο χρήστης μπορεί να πάρει τη συσκευή και ρυθμίστε το χώρο του"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index 4cc2744..a932bce 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless debugging"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"To see and use available devices, turn on wireless debugging"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Pair device with QR code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Pair new devices using QR code scanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Pair new devices using QR code scanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Pair device with pairing code"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Pair new devices using six-digit code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Paired devices"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP address &amp; port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scan QR code"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Pair device over Wi‑Fi by scanning a QR code"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Pair device over Wi‑Fi by scanning a QR code"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Please connect to a Wi‑Fi network"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Bug report shortcut"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Wireless display certification"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Enable Wi‑Fi verbose logging"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi scan throttling"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑enhanced MAC randomisation"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobile data always active"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering hardware acceleration"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Show Bluetooth devices without names"</string>
@@ -274,7 +275,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"Trigger Bluetooth Audio LDAC\nCodec Selection: Playback Quality"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Streaming: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Private DNS"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select private DNS mode"</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select Private DNS Mode"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Off"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automatic"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Private DNS provider hostname"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Show options for wireless display certification"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Increase Wi‑Fi logging level, show per SSID RSSI in Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduces battery drain and improves network performance"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"This toggle affects MAC randomisation behaviour for client mode only.\nWhen this mode is activated, any networks that have MAC randomisation enabled may have their MAC addresses re‑randomised during association, depending on when the client last disconnected from the network. Re‑randomisation does not occur if the device reconnects in four hours or less."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Metered"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Unmetered"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger buffer sizes"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Display App Not Responding dialogue for background apps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Show notification channel warnings"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Displays on-screen warning when an app posts a notification without a valid channel"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Enforce shortcuts for conversation notifications"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Require notifications to be backed by a long-lived sharing shortcut in order to appear in the conversation section"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Force allow apps on external"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Makes any app eligible to be written to external storage, regardless of manifest values"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Force activities to be resizeable"</string>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index 4cc2744..a932bce 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless debugging"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"To see and use available devices, turn on wireless debugging"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Pair device with QR code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Pair new devices using QR code scanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Pair new devices using QR code scanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Pair device with pairing code"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Pair new devices using six-digit code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Paired devices"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP address &amp; port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scan QR code"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Pair device over Wi‑Fi by scanning a QR code"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Pair device over Wi‑Fi by scanning a QR code"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Please connect to a Wi‑Fi network"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Bug report shortcut"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Wireless display certification"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Enable Wi‑Fi verbose logging"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi scan throttling"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑enhanced MAC randomisation"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobile data always active"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering hardware acceleration"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Show Bluetooth devices without names"</string>
@@ -274,7 +275,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"Trigger Bluetooth Audio LDAC\nCodec Selection: Playback Quality"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Streaming: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Private DNS"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select private DNS mode"</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select Private DNS Mode"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Off"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automatic"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Private DNS provider hostname"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Show options for wireless display certification"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Increase Wi‑Fi logging level, show per SSID RSSI in Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduces battery drain and improves network performance"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"This toggle affects MAC randomisation behaviour for client mode only.\nWhen this mode is activated, any networks that have MAC randomisation enabled may have their MAC addresses re‑randomised during association, depending on when the client last disconnected from the network. Re‑randomisation does not occur if the device reconnects in four hours or less."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Metered"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Unmetered"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger buffer sizes"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Display App Not Responding dialogue for background apps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Show notification channel warnings"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Displays on-screen warning when an app posts a notification without a valid channel"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Enforce shortcuts for conversation notifications"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Require notifications to be backed by a long-lived sharing shortcut in order to appear in the conversation section"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Force allow apps on external"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Makes any app eligible to be written to external storage, regardless of manifest values"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Force activities to be resizeable"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index 4cc2744..a932bce 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless debugging"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"To see and use available devices, turn on wireless debugging"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Pair device with QR code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Pair new devices using QR code scanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Pair new devices using QR code scanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Pair device with pairing code"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Pair new devices using six-digit code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Paired devices"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP address &amp; port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scan QR code"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Pair device over Wi‑Fi by scanning a QR code"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Pair device over Wi‑Fi by scanning a QR code"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Please connect to a Wi‑Fi network"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Bug report shortcut"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Wireless display certification"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Enable Wi‑Fi verbose logging"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi scan throttling"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑enhanced MAC randomisation"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobile data always active"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering hardware acceleration"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Show Bluetooth devices without names"</string>
@@ -274,7 +275,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"Trigger Bluetooth Audio LDAC\nCodec Selection: Playback Quality"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Streaming: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Private DNS"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select private DNS mode"</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select Private DNS Mode"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Off"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automatic"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Private DNS provider hostname"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Show options for wireless display certification"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Increase Wi‑Fi logging level, show per SSID RSSI in Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduces battery drain and improves network performance"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"This toggle affects MAC randomisation behaviour for client mode only.\nWhen this mode is activated, any networks that have MAC randomisation enabled may have their MAC addresses re‑randomised during association, depending on when the client last disconnected from the network. Re‑randomisation does not occur if the device reconnects in four hours or less."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Metered"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Unmetered"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger buffer sizes"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Display App Not Responding dialogue for background apps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Show notification channel warnings"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Displays on-screen warning when an app posts a notification without a valid channel"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Enforce shortcuts for conversation notifications"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Require notifications to be backed by a long-lived sharing shortcut in order to appear in the conversation section"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Force allow apps on external"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Makes any app eligible to be written to external storage, regardless of manifest values"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Force activities to be resizeable"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index 4cc2744..a932bce 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless debugging"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"To see and use available devices, turn on wireless debugging"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Pair device with QR code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Pair new devices using QR code scanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Pair new devices using QR code scanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Pair device with pairing code"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Pair new devices using six-digit code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Paired devices"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP address &amp; port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scan QR code"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Pair device over Wi‑Fi by scanning a QR code"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Pair device over Wi‑Fi by scanning a QR code"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Please connect to a Wi‑Fi network"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Bug report shortcut"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Wireless display certification"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Enable Wi‑Fi verbose logging"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi scan throttling"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑enhanced MAC randomisation"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobile data always active"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering hardware acceleration"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Show Bluetooth devices without names"</string>
@@ -274,7 +275,7 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"Trigger Bluetooth Audio LDAC\nCodec Selection: Playback Quality"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Streaming: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Private DNS"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select private DNS mode"</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Select Private DNS Mode"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Off"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automatic"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Private DNS provider hostname"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Show options for wireless display certification"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Increase Wi‑Fi logging level, show per SSID RSSI in Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduces battery drain and improves network performance"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"This toggle affects MAC randomisation behaviour for client mode only.\nWhen this mode is activated, any networks that have MAC randomisation enabled may have their MAC addresses re‑randomised during association, depending on when the client last disconnected from the network. Re‑randomisation does not occur if the device reconnects in four hours or less."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Metered"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Unmetered"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger buffer sizes"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Display App Not Responding dialogue for background apps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Show notification channel warnings"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Displays on-screen warning when an app posts a notification without a valid channel"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Enforce shortcuts for conversation notifications"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Require notifications to be backed by a long-lived sharing shortcut in order to appear in the conversation section"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Force allow apps on external"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Makes any app eligible to be written to external storage, regardless of manifest values"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Force activities to be resizeable"</string>
diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml
index e935a74..6295fe6 100644
--- a/packages/SettingsLib/res/values-en-rXC/strings.xml
+++ b/packages/SettingsLib/res/values-en-rXC/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎Wireless debugging‎‏‎‎‏‎"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‎To see and use available devices, turn on wireless debugging‎‏‎‎‏‎"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎Pair device with QR code‎‏‎‎‏‎"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎Pair new devices using QR code Scanner‎‏‎‎‏‎"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎Pair new devices using QR code scanner‎‏‎‎‏‎"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎Pair device with pairing code‎‏‎‎‏‎"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎Pair new devices using six digit code‎‏‎‎‏‎"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‎‎Paired devices‎‏‎‎‏‎"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎Failed to pair the device. Either the QR code was incorrect, or the device is not connected to the same network.‎‏‎‎‏‎"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎IP address &amp; Port‎‏‎‎‏‎"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎Scan QR code‎‏‎‎‏‎"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎Pair device over Wi‑Fi by scanning a QR Code‎‏‎‎‏‎"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎Pair device over Wi‑Fi by scanning a QR code‎‏‎‎‏‎"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎Please connect to a Wi‑Fi network‎‏‎‎‏‎"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎adb, debug, dev‎‏‎‎‏‎"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎Bug report shortcut‎‏‎‎‏‎"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎Wireless display certification‎‏‎‎‏‎"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎Enable Wi‑Fi Verbose Logging‎‏‎‎‏‎"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎Wi‑Fi scan throttling‎‏‎‎‏‎"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‎Wi‑Fi‑enhanced MAC randomization‎‏‎‎‏‎"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎Mobile data always active‎‏‎‎‏‎"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎Tethering hardware acceleration‎‏‎‎‏‎"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎Show Bluetooth devices without names‎‏‎‎‏‎"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎Show options for wireless display certification‎‏‎‎‏‎"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎Increase Wi‑Fi logging level, show per SSID RSSI in Wi‑Fi Picker‎‏‎‎‏‎"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎Reduces battery drain &amp; improves network performance‎‏‎‎‏‎"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎This toggle affects MAC randomization behavior for client mode only.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎When this mode is activated, any networks that have MAC randomization enabled may have their MAC addresses re‑randomized during association, depending on when the client last disconnected from the network. Re‑randomization does not occur if the device reconnects in 4 hours or less.‎‏‎‎‏‎"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎Metered‎‏‎‎‏‎"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‎‏‎Unmetered‎‏‎‎‏‎"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎Logger buffer sizes‎‏‎‎‏‎"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎Display App Not Responding dialog for background apps‎‏‎‎‏‎"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎Show notification channel warnings‎‏‎‎‏‎"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎Displays on-screen warning when an app posts a notification without a valid channel‎‏‎‎‏‎"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎Enforce shortcuts for conversation notifications‎‏‎‎‏‎"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎Require notifications to be backed by a long-lived sharing shortcut in order to appear in the conversation section‎‏‎‎‏‎"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎Force allow apps on external‎‏‎‎‏‎"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎Makes any app eligible to be written to external storage, regardless of manifest values‎‏‎‎‏‎"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎Force activities to be resizable‎‏‎‎‏‎"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 6cb975f..11726ae 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -23,7 +23,7 @@
     <string name="wifi_fail_to_scan" msgid="2333336097603822490">"No se pueden buscar las redes."</string>
     <string name="wifi_security_none" msgid="7392696451280611452">"Ninguna"</string>
     <string name="wifi_remembered" msgid="3266709779723179188">"Guardada"</string>
-    <string name="wifi_disconnected" msgid="7054450256284661757">"Desconectada"</string>
+    <string name="wifi_disconnected" msgid="7054450256284661757">"Desconectado"</string>
     <string name="wifi_disabled_generic" msgid="2651916945380294607">"Inhabilitada"</string>
     <string name="wifi_disabled_network_failure" msgid="2660396183242399585">"Error de configuración IP"</string>
     <string name="wifi_disabled_by_recommendation_provider" msgid="1302938248432705534">"No se estableció conexión debido a la mala calidad de la red"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuración inalámbrica"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver y usar los dispositivos disponibles, activa la depuración inalámbrica"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Vincular dispositivo mediante código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Vincular dispositivos nuevos mediante escáner de código QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Vincular dispositivos nuevos mediante escáner de código QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Vincular dispositivo mediante código de sincroniz."</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Vincular dispositivos nuevos mediante código de seis dígitos"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos vinculados"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Error al vincular el dispositivo. El código QR era incorrecto o el dispositivo no está conectado a la misma red."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Dirección IP y puerto"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Escanear código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Escanea un código QR para vincular el dispositivo mediante Wi‑Fi"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Escanea un código QR para vincular el dispositivo mediante Wi‑Fi"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conéctate a una red Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Acceso directo para informes de errores"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificación de pantalla inalámbrica"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Habilitar registro detallado de Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitación de búsqueda de Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Aleatorización de MAC de Wi-Fi Enhanced"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Datos móviles siempre activados"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleración de hardware de conexión mediante dispositivo móvil"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sin nombre"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostrar opciones de certificación de pantalla inalámbrica"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumentar nivel de registro Wi-Fi; mostrar por SSID RSSI en el selector de Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduce el consumo de batería y mejora el rendimiento de la red"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Esta activación afecta el comportamiento de aleatorización de MAC para el modo de cliente solamente.\nCuando este modo está activado, todas las redes que tienen aleatorización de MAC habilitada pueden volver a establecer de manera aleatoria sus direcciones MAC durante la asociación, según cuándo el cliente se desconectó por última vez de la red. El proceso volver a establecer de manera aleatoria no se produce si el dispositivo se vuelve a conectar en 4 horas o menos."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Con uso medido"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Sin tarifa plana"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamaños de búfer de Logger"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Mostrar diálogo cuando las apps en segundo plano no responden"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Alertas de notificaciones"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Advertencia en pantalla cuando una app publica una notificación sin canal válido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Acc. dir. notif. de conv."</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Notif. requieren acc. dir. permanente de uso comp."</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forzar permisos en almacenamiento externo"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Cualquier app puede escribirse en un almacenamiento externo, sin importar los valores del manifiesto"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forzar actividades para que cambien de tamaño"</string>
@@ -429,7 +433,7 @@
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Duración aproximada hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"Duración aproximada hasta: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Debería durar aproximadamente hasta: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Hasta <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Es posible que la batería se agote para las <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Tiempo restante: menos de <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
@@ -454,7 +458,7 @@
     <string name="battery_info_status_full" msgid="4443168946046847468">"Cargado"</string>
     <string name="disabled_by_admin_summary_text" msgid="5343911767402923057">"Controlada por el administrador"</string>
     <string name="disabled" msgid="8017887509554714950">"Inhabilitada"</string>
-    <string name="external_source_trusted" msgid="1146522036773132905">"Permitida"</string>
+    <string name="external_source_trusted" msgid="1146522036773132905">"Con permiso"</string>
     <string name="external_source_untrusted" msgid="5037891688911672227">"No permitida"</string>
     <string name="install_other_apps" msgid="3232595082023199454">"Instalar apps desconocidas"</string>
     <string name="home" msgid="973834627243661438">"Pantalla de configuración"</string>
diff --git a/packages/SettingsLib/res/values-es/arrays.xml b/packages/SettingsLib/res/values-es/arrays.xml
index a403e3e6..6e69c71 100644
--- a/packages/SettingsLib/res/values-es/arrays.xml
+++ b/packages/SettingsLib/res/values-es/arrays.xml
@@ -26,7 +26,7 @@
     <item msgid="6050951078202663628">"Estableciendo conexión..."</item>
     <item msgid="8356618438494652335">"Autenticando..."</item>
     <item msgid="2837871868181677206">"Obteniendo dirección IP…"</item>
-    <item msgid="4613015005934755724">"Conexión establecida"</item>
+    <item msgid="4613015005934755724">"Conectado"</item>
     <item msgid="3763530049995655072">"Suspendida"</item>
     <item msgid="7852381437933824454">"Desconectando..."</item>
     <item msgid="5046795712175415059">"Desconectado"</item>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index d777723..d32f6a7 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuración inalámbrica"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver y utilizar los dispositivos disponibles, activa la depuración inalámbrica"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Vincular dispositivo con código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Vincula nuevos dispositivos con el escáner de códigos QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Vincula nuevos dispositivos con el escáner de códigos QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Vincular dispositivo con código de sincronización"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Vincula nuevos dispositivos con un código de seis dígitos"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos vinculados"</string>
@@ -230,8 +230,8 @@
     <string name="adb_wireless_verifying_qrcode_text" msgid="6123192424916029207">"Vinculando dispositivo…"</string>
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"No se ha podido vincular el dispositivo. El código QR no era correcto o el dispositivo no estaba conectado a la misma red."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Dirección IP y puerto"</string>
-    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Escanear código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Vincula un dispositivo a través de Wi‑Fi con un código QR"</string>
+    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Escanea el código QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Vincula un dispositivo a través de Wi‑Fi escaneando un código QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conéctate a una red Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, depuración, desarrollo"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Atajo a informe de errores"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificación de pantalla inalámbrica"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Habilitar registro de Wi-Fi detallado"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitación de búsqueda de redes Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Aleatorización de MAC mejorada por Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Datos móviles siempre activos"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleración por hardware para conexión compartida"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sin nombre"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostrar opciones para la certificación de la pantalla inalámbrica"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumentar el nivel de registro de Wi-Fi y mostrar por SSID RSSI en el selector Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduce el consumo de batería y mejora el rendimiento de las redes"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Este interruptor solo afecta al comportamiento al aleatorizar direcciones MAC en el modo cliente.\nCuando este modo está activado, las direcciones MAC de las redes que tengan activada la aleatorización de la dirección MAC se pueden volver a aleatorizar durante la asociación. Esto depende de la última vez en la que el cliente se desconectó de la red. No se volverán a aleatorizar si transcurrieron 4 horas o menos desde la última conexión del dispositivo."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Medida"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"No medida"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamaños del búfer para registrar"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Mostrar el diálogo de que la aplicación no responde para aplicaciones en segundo plano"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Ver advertencias del canal de notificaciones"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Mostrar una advertencia en pantalla cuando una aplicación publica una notificación sin un canal válido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Implementar atajos en notific. de conversaciones"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Exigir que las notificaciones tengan un atajo para compartir y que así aparezcan en la sección de conversaciones"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forzar permitir aplicaciones de forma externa"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Hacer que cualquier aplicación se pueda escribir en un dispositivo de almacenamiento externo independientemente de los valores definidos"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forzar el ajuste de tamaño de las actividades"</string>
@@ -427,9 +431,9 @@
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Duración aproximada hasta: <xliff:g id="TIME">%1$s</xliff:g> (según el uso)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Debería durar hasta las <xliff:g id="TIME">%1$s</xliff:g> basado en tu uso"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Duración aproximada hasta: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Debería durar hasta las <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Hasta: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Es probable que te quedes sin batería sobre esta hora: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Tiempo restante: menos de <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
@@ -443,8 +447,8 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"Es posible que el tablet se apague pronto (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Es posible que el dispositivo se apague pronto (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> hasta que termine de cargarse"</string>
-    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> (<xliff:g id="TIME">%2$s</xliff:g> hasta que termine de cargarse)"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> hasta cargarse completamente"</string>
+    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> (<xliff:g id="TIME">%2$s</xliff:g> hasta cargarse completamente)"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"Desconocido"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"Cargando"</string>
     <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Cargando rápidamente"</string>
@@ -505,7 +509,7 @@
     <string name="zen_mode_duration_settings_title" msgid="1553451650289651489">"Duración"</string>
     <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Preguntar siempre"</string>
     <string name="zen_mode_forever" msgid="3339224497605461291">"Hasta que se desactive"</string>
-    <string name="time_unit_just_now" msgid="3006134267292728099">"Justo ahora"</string>
+    <string name="time_unit_just_now" msgid="3006134267292728099">"justo ahora"</string>
     <string name="media_transfer_this_device_name" msgid="2716555073132169240">"Altavoz del teléfono"</string>
     <string name="profile_connect_timeout_subtext" msgid="4043408193005851761">"No se ha podido conectar; reinicia el dispositivo"</string>
     <string name="media_transfer_wired_device_name" msgid="4447880899964056007">"Dispositivo de audio con cable"</string>
@@ -532,7 +536,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"Puedes compartir este dispositivo si creas más usuarios. Cada uno tendrá su propio espacio y podrá personalizarlo con aplicaciones, un fondo de pantalla y mucho más. Los usuarios también pueden ajustar opciones del dispositivo, como la conexión Wi‑Fi, que afectan a todos los usuarios.\n\nCuando añadas un usuario, tendrá que configurar su espacio.\n\nCualquier usuario puede actualizar aplicaciones de todos los usuarios. Es posible que no se transfieran los servicios y opciones de accesibilidad al nuevo usuario."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Al añadir un usuario nuevo, este debe configurar su espacio.\n\nCualquier usuario puede actualizar las aplicaciones del resto de usuarios."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"¿Configurar usuario ahora?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Asegúrate de que la persona pueda acceder al dispositivo y configurar su espacio."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Asegúrate de que la persona está disponible en este momento para usar el dispositivo y configurar su espacio."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"¿Quieres configurar un perfil ahora?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Configurar ahora"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Ahora no"</string>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index 1fa4159..7332010 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Juhtmevaba silumine"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Saadaolevate seadmete nägemiseks ja kasutamiseks lülitage sisse juhtmevaba silumine"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Seadme sidumine QR-koodiga"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Uute seadmete sidumine QR-koodi skanneriga"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Uute seadmete sidumine QR-koodi skanneriga"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Seadme sidumine sidumiskoodiga"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Uute seadmete sidumine kuuekohalise koodiga"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Seotud seadmed"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Seadme sidumine ebaõnnestus. QR-kood oli vale või seade ei ole ühendatud samasse võrku."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-aadress ja port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR-koodi skannimine"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Siduge seade WiFi kaudu, skannides QR-koodi"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Siduge seade WiFi kaudu, skannides QR-koodi"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Looge ühendus WiFi-võrguga"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, silumine, arendus"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Veaaruande otsetee"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Juhtmeta ekraaniühenduse sertifitseerimine"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Luba WiFi sõnaline logimine"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"WiFi-skannimise ahendamine"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"WiFi-põhine MAC-i juhuslikustamine"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Hoia mobiilne andmeside alati aktiivne"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Ühenduse jagamise riistvaraline kiirendus"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Kuva ilma nimedeta Bluetoothi seadmed"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Juhtmeta ekraaniühenduse sertifitseerimisvalikute kuvamine"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Suurenda WiFi logimistaset, kuva WiFi valijas SSID RSSI järgi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Aeglustab aku tühjenemist ja parandab võrgu toimivust"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"See lüliti mõjutab MAC-aadressi juhuslikustamise käitumist ainult kliendirežiimis.\nSelle režiimi aktiveerimisel võidakse seostamise ajal MAC-aadressid uuesti juhuslikustada kõigi võrkude jaoks, millel on MAC-aadressi juhuslikustamine lubatud, olenevalt sellest, millal klient viimati ühenduse võrguga katkestas. Uuesti juhuslikustamist ei toimu juhul, kui seade loob uuesti ühenduse kuni 4 tunni jooksul."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Mahupõhine"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Mittemahupõhine"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logija puhvri suurused"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Kuva taustarakenduste puhul dialoog Rakendus ei reageeri"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Kuva märguandekanali hoiatused"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Esitab ekraanil hoiatuse, kui rakendus postitab kehtiva kanalita märguande"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Otseteede jõustamine vestluste märguannete jaoks"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Nõutakse märguannete toetamist pikaajalise jagamise otseteega, et selle saaks vestluse jaotises kuvada"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Luba rakendused välises salvestusruumis"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Lubab mis tahes rakendusi kirjutada välisesse salvestusruumi manifesti väärtustest olenemata"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Muuda tegevuste suurused muudetavaks"</string>
@@ -416,8 +420,8 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Deuteranomaalia (punane-roheline)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomaalia (punane-roheline)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomaalia (sinine-kollane)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Värvide korrigeerimine"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Värviparandus võimaldab kohandada seadmes kuvatavaid värve"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Värvikorrigeerimine"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Värvikorrigeerimine võimaldab kohandada seadmes kuvatavaid värve"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Alistas <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"Ligikaudu <xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäänud"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index 2700162..321d6df 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -126,7 +126,7 @@
     <string name="bluetooth_talkback_imaging" msgid="8781682986822514331">"Irudietarako gailua"</string>
     <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"Entzungailua"</string>
     <string name="bluetooth_talkback_input_peripheral" msgid="5133944817800149942">"Idazteko gailua"</string>
-    <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"Bluetooth gailua"</string>
+    <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"Bluetooth bidezko gailua"</string>
     <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"Ezkerreko audifonoa parekatzen…"</string>
     <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"Eskuineko audifonoa parekatzen…"</string>
     <string name="bluetooth_hearingaid_left_battery_level" msgid="7375621694748104876">"Ezkerrekoa. Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
@@ -144,10 +144,10 @@
     <string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"Kendutako aplikazioak eta erabiltzaileak"</string>
     <string name="data_usage_ota" msgid="7984667793701597001">"Sistemaren eguneratzeak"</string>
     <string name="tether_settings_title_usb" msgid="3728686573430917722">"Konexioa partekatzea (USB)"</string>
-    <string name="tether_settings_title_wifi" msgid="4803402057533895526">"Sare publiko eramangarria"</string>
+    <string name="tether_settings_title_wifi" msgid="4803402057533895526">"Wifi-gune eramangarria"</string>
     <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Konexioa partekatzea (Bluetooth)"</string>
     <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Konexioa partekatzea"</string>
-    <string name="tether_settings_title_all" msgid="8910259483383010470">"Konexioa partekatzea eta sare publikoak"</string>
+    <string name="tether_settings_title_all" msgid="8910259483383010470">"Konexioa partekatzea eta wifi-gune eramangarriak"</string>
     <string name="managed_user_title" msgid="449081789742645723">"Laneko aplikazio guztiak"</string>
     <string name="user_guest" msgid="6939192779649870792">"Gonbidatua"</string>
     <string name="unknown" msgid="3544487229740637809">"Ezezaguna"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Hari gabeko arazketa"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Erabilgarri dauden gailuak ikusteko eta erabiltzeko, aktibatu hari gabeko arazketa"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Parekatu gailua QR kodearekin"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Parekatu gailu gehiago QR kodea eskaneatuta"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Parekatu gailu gehiago QR kodea eskaneatuta"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Parekatu gailua parekatze-kodearekin"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Parekatu gailu gehiago sei digituko kodearekin"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Parekatutako gailuak"</string>
@@ -231,11 +231,11 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Ezin izan da parekatu gailua. QR kodea ez da zuzena edo gailua ez dago sare berera konektatuta."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP helbidea eta ataka"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Eskaneatu QR kodea"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Parekatu gailua wifi-sare baten bidez QR kode bat eskaneatuta"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Parekatu gailua wifi-sare baten bidez QR kode bat eskaneatuta"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Konektatu wifi-sare batera"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, araztu, gailua"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Akatsen txostenerako lasterbidea"</string>
-    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Pizteko menuan, erakutsi akatsen txostena sortzeko botoia"</string>
+    <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Itzaltzeko menuan, erakutsi akatsen txostena sortzeko botoia"</string>
     <string name="keep_screen_on" msgid="1187161672348797558">"Mantendu aktibo"</string>
     <string name="keep_screen_on_summary" msgid="1510731514101925829">"Pantaila ez da ezarriko inoiz inaktibo kargatu bitartean"</string>
     <string name="bt_hci_snoop_log" msgid="7291287955649081448">"Gaitu Bluetooth HCI miatze-erregistroa"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Hari gabe bistaratzeko ziurtagiria"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Gaitu wifi-sareetan saioa hasteko modu xehatua"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wifi-sareen bilaketaren muga"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wifi bidez hobetutako MAC helbideak ausaz aukeratzeko eginbidea"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Datu-konexioa beti aktibo"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Konexioa partekatzeko hardwarearen azelerazioa"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Erakutsi Bluetooth bidezko gailuak izenik gabe"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Erakutsi hari gabe bistaratzeko ziurtagiriaren aukerak"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Erakutsi datu gehiago wifi-sareetan saioa hastean. Erakutsi sarearen identifikatzailea eta seinalearen indarra wifi-sareen hautatzailean."</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Bateria gutxiago kontsumituko da, eta sarearen errendimendua hobetuko."</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Bezero modurako soilik MAC helbideak ausaz aukeratzeko eginbidearen portaerari eragiten dio etengailu honek.\nModu hau aktibatuta dagoenean, baliteke MAC helbideak ausaz aukeratzeko eginbidea aktibatuta daukaten sareen MAC helbideak berriro ausaz aukeratzea haiek lotu bitartean, bezeroa saretik deskonektatuta ematen duen denboraren arabera. Gailua lau ordu edo gutxiagoren buruan berriro konektatzen bada, ez da berriro MAC helbiderik ausaz aukeratuko."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Sare neurtua"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Neurtu gabeko sarea"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Erregistroen buffer-tamainak"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Erakutsi aplikazioak ez erantzutearen (ANR) leihoa atzeko planoan dabiltzan aplikazioen kasuan"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Erakutsi jakinarazpenen kanalen abisuak"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Bistaratu abisuak aplikazioek baliozko kanalik gabeko jakinarazpenak argitaratzean"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Erabili lasterbideak elkarrizketen jakinarazpenetan"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Eskatu jakinarazpenak partekatze-lasterbide iragankor batean oinarrituta egotea elkarrizketa-atalean agertzeko"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Behartu aplikazioak onartzea kanpoko memorian"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Aplikazioek kanpoko memorian idatz dezakete, ezarritako balioak kontuan izan gabe"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Behartu jardueren tamaina doitu ahal izatea"</string>
@@ -456,7 +460,7 @@
     <string name="disabled" msgid="8017887509554714950">"Desgaituta"</string>
     <string name="external_source_trusted" msgid="1146522036773132905">"Baimena dauka"</string>
     <string name="external_source_untrusted" msgid="5037891688911672227">"Ez dauka baimenik"</string>
-    <string name="install_other_apps" msgid="3232595082023199454">"Aplikazio ezezagunak instalatzea"</string>
+    <string name="install_other_apps" msgid="3232595082023199454">"Instalatu aplikazio ezezagunak"</string>
     <string name="home" msgid="973834627243661438">"Ezarpenen hasierako pantaila"</string>
   <string-array name="battery_labels">
     <item msgid="7878690469765357158">"% 0"</item>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 1c32926..1687e54 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"اشکال‌زدایی بی‌سیم"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"برای مشاهده و استفاده از دستگاه‌های در دسترس، اشکال‌زدایی بی‌سیم را روشن کنید"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"‏مرتبط کردن دستگاه با کد QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"‏دستگاه‌های جدید را با استفاده از اسکنر کد QR مرتبط کنید"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"‏دستگاه‌های جدید را بااستفاده از اسکنر کد QR مرتبط کنید"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"مرتبط کردن دستگاه با کد مرتبط‌سازی"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"دستگاه‌های جدید را با استفاده از کد شش رقمی مرتبط کنید"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"دستگاه‌های مرتبط‌شده"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"‏مرتبط کردن دستگاه انجام نشد. یا کد QR اشتباه بوده است، یا دستگاه به همان شبکه متصل نیست."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"‏نشانی IP و درگاه"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"‏اسکن کد QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"‏دستگاه را ازطریق Wi‑Fi و با اسکن کردن کد QR مرتبط کنید"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"‏دستگاه را ازطریق Wi‑Fi و با اسکن کردن کد QR مرتبط کنید"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"‏لطفاً به شبکه Wi-Fi متصل شوید"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"‏ADB (پل اشکال‌زدایی Android)، اشکال‌زدایی کردن، برنامه‌نویس"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"میان‌بر گزارش مشکل"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"گواهینامه نمایش بی‌سیم"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"‏فعال کردن گزارش‌گیری طولانی Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"‏محدود کردن اسکن کردن Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"‏تصادفی‌سازی MAC بهبودیافته برای Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"داده تلفن همراه همیشه فعال باشد"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"شتاب سخت‌افزاری اتصال به اینترنت با تلفن همراه"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"نمایش دستگاه‌های بلوتوث بدون نام"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"نمایش گزینه‌ها برای گواهینامه نمایش بی‌سیم"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"‏افزایش سطح گزارش‌گیری Wi‑Fi، نمایش به ازای SSID RSSI در انتخاب‌کننده Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"تخلیه باتری راکاهش می‌دهد و عملکرد شبکه را بهبود می‌بخشد"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"‏فعال/غیرفعال کردن این تنظیم فقط درحالت کارخواه بر عملکرد تصادفی‌سازی MAC تأثیر می‌گذارد.\nوقتی این حالت فعال باشد، ممکن است در شبکه‌هایی که تصادفی‌سازی MAC فعال است، نشانی‌های MAC درطول ارتباط دوباره تصادفی‌سازی شوند، بسته به اینکه اتصال کارخواه آخرین بار چه زمانی از شبکه قطع شده باشد. اگر دستگاه ظرف ۴ ساعت یا کمتر دوباره متصل شود، تصادفی‌سازی مجدد انجام نمی‌شود."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"محدودشده"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"محدودنشده"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"اندازه‌های حافظه موقت ثبت‌کننده"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"نمایش گفتگوی \"برنامه پاسخ نمی‌دهد\" برای برنامه‌های پس‌زمینه"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"نمایش هشدارهای کانال اعلان"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"هنگامی که برنامه‌ای بدون وجود کانالی معتبر، اعلانی پست می‌کند، هشدار روی صفحه‌ای نمایش می‌دهد"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"اجرای میان‌برها برای اعلان‌های مکالمه"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"اعلان‌ها باید با میان‌بر ماندگار هم‌رسانی پشتیبانی شوند تا در بخش مکالمه نشان داده شوند"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"اجازه اجباری به برنامه‌های دستگاه ذخیره خارجی"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"بدون توجه به مقادیر آشکار، هر برنامه‌ای را برای نوشتن در حافظه خارجی واجد شرایط می‌کند"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"اجبار فعالیت‌ها به قابل تغییر اندازه بودن"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 765e08e..d75cc19 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Langaton virheenkorjaus"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Laita langaton virheenkorjaus päälle, niin voit nähdä saatavilla olevat laitteet ja käyttää niitä"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Muodosta laitepari QR-koodilla"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Muodosta uusia laitepareja QR-koodiskannerilla"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Muodosta uusia laitepareja QR-koodiskannerilla"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Yhdistä laite laiteparikoodilla"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Muodosta uusia laitepareja kuusinumeroisella koodilla"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Laiteparit"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Laiteparin muodostus ei onnistunut. QR-koodi oli virheellinen, tai laitetta ei ole yhdistetty samaan verkkoon."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-osoite &amp; portti"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skannaa QR-koodi"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Muodosta laitepari Wi-Fi-yhteyden kautta skannaamalla QR-koodi"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Muodosta laitepari Wi-Fi-yhteyden kautta skannaamalla QR-koodi"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Yhdistä langattomaan verkkoon"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, virheenkorjaus, kehittäminen"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Virheraportin pikakuvake"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Langattoman näytön sertifiointi"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Käytä Wi-Fin laajennettua lokikirjausta"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi-haun rajoitus"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi-Fi-paranneltu MAC-satunnaistaminen"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobiilidata aina käytössä"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Laitteistokiihdytyksen yhteyden jakaminen"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Näytä nimettömät Bluetooth-laitteet"</string>
@@ -278,11 +279,12 @@
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Pois käytöstä"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automaattinen"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Yksityisen DNS-tarjoajan isäntänimi"</string>
-    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"Anna isäntänimi tai DNS-tarjoaja."</string>
+    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"Anna isäntänimi tai DNS-tarjoaja"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"Ei yhteyttä"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Näytä langattoman näytön sertifiointiin liittyvät asetukset."</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Lisää Wi‑Fin lokikirjaustasoa, näytä SSID RSSI -kohtaisesti Wi‑Fi-valitsimessa."</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Vähentää virrankulutusta ja parantaa verkon toimintaa"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Tämä vaihto vaikuttaa MAC-satunnaistamistoimintaan vain asiakastilassa.\nTämän tilan ollessa aktivoituna niiden verkkojen, joissa MAC-satunnaistaminen on käytössä, MAC-osoitteet voidaan satunnaistaa uudelleen yhdistämisen aikana riippuen siitä, milloin asiakas katkaisi viimeksi yhteyden verkkoon. Uudelleensatunnaistamista ei tapahdu, jos laite yhdistetään uudelleen enintään neljän tunnin sisällä."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Maksullinen"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Maksuton"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Lokipuskurien koot"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Näytä taustalla olevien sovellusten Sovellus ei vastaa ‑valintaikkunat."</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Näytä ilmoituskanavan varoitukset"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Näyttää varoituksen, kun sovellus julkaisee ilmoituksen ilman kelvollista kanavaa."</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Pakota pikanäppäimet keskusteluilmoituksissa"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Vaadi ilmoitusten tukemista pitkäaikaisella jakopikanäppäimellä, jotta ne näkyvät keskusteluosiossa"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Salli aina ulkoinen tallennus"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Mahdollistaa sovelluksen tietojen tallentamisen ulkoiseen tallennustilaan luetteloarvoista riippumatta."</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Pakota kaikki toiminnot hyväksymään koon muutos"</string>
@@ -416,7 +420,7 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Deuteranomalia (puna-vihersokeus)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalia (puna-vihersokeus)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalia (sini-keltasokeus)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Värikorjaus"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Värinkorjaus"</string>
     <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Värinkorjauksella voit muuttaa värien näkymistä laitteellasi"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Tämän ohittaa <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index d118e1f..fdace21 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Débogage sans fil"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Pour afficher et utiliser les appareils à proximité, activez le débogage sans fil"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Associer l\'appareil à l\'aide d\'un code QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Associer les nouveaux appareils à l\'aide d\'un lecteur de code QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Associer les nouveaux appareils à l\'aide d\'un lecteur de code QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Associer l\'appareil avec un code d\'association"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Associer les nouveaux appareils à l\'aide d\'un code à six chiffres"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Appareils associés"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Échec de l\'association de l\'appareil Soit le code QR est incorrect, soit l\'appareil n\'est pas connecté au même réseau."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adresse IP et port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Numériser le code QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Associer un appareil par Wi-Fi en numérisant un code QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Associer un appareil par Wi-Fi en numérisant un code QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Veuillez vous connecter à un réseau Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, débogage, concepteur"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Raccourci de rapport de bogue"</string>
@@ -243,7 +243,7 @@
     <string name="oem_unlock_enable" msgid="5334869171871566731">"Déverrouillage par le fabricant"</string>
     <string name="oem_unlock_enable_summary" msgid="5857388174390953829">"Autoriser le déverrouillage du fichier d\'amorce"</string>
     <string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"Permettre le déverrouillage par le fabricant?"</string>
-    <string name="confirm_enable_oem_unlock_text" msgid="854131050791011970">"AVERTISSEMENT : Les fonctions de protection de l\'appareil ne fonctionneront pas sur cet appareil lorsque ce paramètre est activé."</string>
+    <string name="confirm_enable_oem_unlock_text" msgid="854131050791011970">"AVERTISSEMENT : Les fonctionnalités de protection de l\'appareil ne fonctionneront pas sur cet appareil lorsque ce paramètre est activé."</string>
     <string name="mock_location_app" msgid="6269380172542248304">"Sélectionner l\'application de localisation factice"</string>
     <string name="mock_location_app_not_set" msgid="6972032787262831155">"Aucune application de localisation factice définie"</string>
     <string name="mock_location_app_set" msgid="4706722469342913843">"Application de localisation factice : <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certification de l\'affichage sans fil"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Autoriser enreg. données Wi-Fi détaillées"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limiter la recherche de réseaux Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Sélect. aléatoire adr. MAC optim. par Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Données cellulaires toujours actives"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Accélération matérielle pour le partage de connexion"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Afficher les appareils Bluetooth sans nom"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Afficher les options pour la certification d\'affichage sans fil"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Détailler davantage les données Wi-Fi, afficher par SSID RSSI dans sélect. Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Réduit l\'utilisation de la pile et améliore les performances réseau"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ce commutateur a un impact sur le comportement de sélection aléatoire des adresses MAC pour le mode client uniquement.\nLorsque ce mode est activé, l\'association pourrait forcer la réorganisation de manière aléatoire des adresses MAC pour les réseaux sur lesquels la sélection aléatoire des adresses MAC est activée, en fonction de la dernière fois que le client s\'est déconnecté du réseau. La réorganisation de manière aléatoire des adresses MAC ne se produit pas si l\'appareil se reconnecte d\'ici quatre heures ou moins."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Facturé à l\'usage"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Non mesuré"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tailles des mémoires tampons d\'enregistreur"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Afficher le message « L\'application ne répond plus » pour les applications en arrière-plan"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Affich. avertiss. canal notification"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Afficher avertiss. à l\'écran quand une app présente une notific. sans canal valide"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Appliquer les raccourcis pour les notifications de conversation"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Exiger le soutien des notifications par un raccourci de partage longue durée pour qu\'elles s\'affichent dans la section des conversations"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forcer l\'autor. d\'applis sur stockage externe"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Rend possible l\'enregistrement de toute application sur un espace de stockage externe, indépendamment des valeurs du fichier manifeste"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forcer les activités à être redimensionnables"</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index f2dcbba..425a22b 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Débogage USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Mode débogage lorsqu\'un câble USB est connecté"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Annuler autorisations pour débog. USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Débogage via Wi-Fi"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Débogage sans fil"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Mode de débogage en connexion Wi-Fi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Erreur"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Débogage via Wi-Fi"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Débogage sans fil"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Pour afficher et utiliser les appareils disponibles, activez le débogage sans fil"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Associer l\'appareil avec un code QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Associer les nouveaux appareils à l\'aide d\'un lecteur de code QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Associer les nouveaux appareils à l\'aide d\'un lecteur de code QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Associer l\'appareil avec un code d\'association"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Associer les nouveaux appareils à l\'aide d\'un code à six chiffres"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Appareils associés"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Échec de l\'association à l\'appareil. Le code QR est incorrect, ou l\'appareil n\'est pas connecté au même réseau."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adresse IP et port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scanner un code QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Associer l\'appareil via le Wi‑Fi à l\'aide d\'un code QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Associer l\'appareil via le Wi‑Fi à l\'aide d\'un code QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Connectez-vous à un réseau Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, débogage, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Raccourci vers rapport de bug"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certification affichage sans fil"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Autoriser l\'enregistrement d\'infos Wi-Fi détaillées"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limiter la recherche Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Chgt aléatoire d\'adresse MAC sur Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Données mobiles toujours actives"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Accélération matérielle pour le partage de connexion"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Afficher les appareils Bluetooth sans nom"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Afficher les options pour la certification de l\'affichage sans fil"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Détailler les infos Wi-Fi, afficher par RSSI de SSID dans l\'outil de sélection Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Réduit la décharge de la batterie et améliore les performances du réseau"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ce paramètre modifie uniquement le changement aléatoire de l\'adresse MAC en mode client.\nSi ce mode est activé, les réseaux pour lesquels le changement aléatoire d\'adresse MAC est activé peuvent faire l\'objet de nouveaux changements aléatoires d\'adresse lors des associations, en fonction du temps écoulé depuis la dernière fois que le client s\'est déconnecté du réseau. Aucun changement aléatoire d\'adresse n\'a lieu si un appareil se connecte à nouveau après un délai inférieur à quatre heures."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Facturé à l\'usage"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Non facturé à l\'usage"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tailles des tampons de l\'enregistreur"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Utiliser l\'accélération matérielle pour le partage de connexion, si disponible"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Autoriser le débogage USB ?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Le débogage USB est conçu uniquement pour le développement. Utilisez-le pour copier des données entre votre ordinateur et votre appareil, installer des applications sur votre appareil sans notification et lire les données de journal."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Autoriser le débogage via Wi-Fi ?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Le débogage via Wi-Fi est conçu uniquement pour le développement. Utilisez-le pour copier des données entre votre ordinateur et votre appareil, installer des applications sur votre appareil sans notification et lire les données des journaux."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Autoriser le débogage sans fil ?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Le débogage sans fil est conçu uniquement pour le développement. Utilisez-le pour copier des données entre votre ordinateur et votre appareil, installer des applications sur votre appareil sans notification et lire les données des journaux."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Voulez-vous vraiment désactiver l\'accès au débogage USB de tous les ordinateurs précédemment autorisés ?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Activer les paramètres de développement ?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Ces paramètres sont en cours de développement. Ils peuvent endommager votre appareil et les applications qui s\'y trouvent, ou provoquer leur dysfonctionnement."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Afficher la boîte de dialogue \"L\'application ne répond plus\" pour les applications en arrière-plan"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Afficher les avertissements liés aux canaux de notification"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Afficher un avertissement lorsqu\'une application publie une notification sans canal valide"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Utiliser des raccourcis pour les notifications des conversations"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Exiger la sauvegarde des notifications via un raccourci de partage permanent pour qu\'elles s\'affichent dans la section des conversations"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forcer l\'autorisation d\'applis sur stockage externe"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Autoriser l\'enregistrement de toute application sur un espace de stockage externe, indépendamment des valeurs du fichier manifeste"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forcer le redimensionnement des activités"</string>
@@ -416,7 +420,7 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Deutéranomalie (rouge/vert)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalie (rouge/vert)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalie (bleu-jaune)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Correction couleur"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Correction des couleurs"</string>
     <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"La correction des couleurs vous permet d\'ajuster l\'affichage des couleurs sur votre appareil"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Remplacé par <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index 9ee490f..bbc4e18 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Depuración por USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Modo de depuración de erros cando o USB está conectado"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Revogar as autorizacións de depuración por USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Depuración de erros sen fíos"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Depuración sen fíos"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Modo de depuración de erros ao conectarse a wifi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Produciuse un erro"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuración de erros sen fíos"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver e usar os dispositivos dispoñibles, activa a depuración de erros sen fíos"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuración sen fíos"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver e usar os dispositivos dispoñibles, activa a depuración sen fíos"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Vincular o dispositivo cun código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Vincula dispositivos novos mediante un escáner de códigos QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Vincula dispositivos novos mediante un escáner de códigos QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Vincular o dispositivo co código de sincronización"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Vincula dispositivos novos mediante un código de seis díxitos"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos vinculados"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Produciuse un erro ao sincronizar o dispositivo. O código QR era incorrecto ou o dispositivo non está conectado á mesma rede."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Enderezo IP e porto"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Escanear o código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Vincula o dispositivo a través da wifi escaneando un código QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Vincula o dispositivo a través da wifi escaneando un código QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conéctate a unha rede wifi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, depuración, programador"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Atallo do informe de erros"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificado de visualización sen fíos"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Activar rexistro detallado da wifi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitación da busca de wifi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Selección aleatoria de enderezo MAC"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Datos móbiles sempre activados"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleración de hardware para conexión compartida"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sen nomes"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostra opcións para o certificado de visualización sen fíos"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumenta o nivel de rexistro da wifi, móstrao por SSID RSSI no selector de wifi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduce o consumo de batería e mellora o rendemento da rede"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Esta opción só lle afecta ao comportamento da selección aleatoria de enderezo MAC do modo de cliente.\nCando este modo está activado, os enderezos MAC das redes que teñan activada a selección automática de enderezo MAC pódense volver seleccionar aleatoriamente durante a asociación. Isto depende de cando se desconectase da rede cada cliente por última vez, xa que a selección aleatoria non se repite se transcorreron 4 horas ou menos desde a última conexión."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Sen tarifa plana"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Con tarifa plana"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamaño dos búfers do rexistrador"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Se está dispoñible, úsase a aceleración de hardware para conexión compartida"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Queres permitir a depuración por USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"A depuración de erros USB está deseñada unicamente para fins de programación. Utilízaa para copiar datos entre o ordenador e o dispositivo, instalar aplicacións no dispositivo sen enviar notificacións e ler os datos do rexistro."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Queres permitir a depuración de erros sen fíos?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuración de erros sen fíos está deseñada unicamente para fins de programación. Utilízaa para copiar datos entre o ordenador e o dispositivo, instalar aplicacións no dispositivo sen recibir notificacións e ler os datos do rexistro."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Queres permitir a depuración sen fíos?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuración sen fíos está deseñada unicamente para fins de programación. Utilízaa para copiar datos entre o ordenador e o dispositivo, instalar aplicacións no dispositivo sen recibir notificacións e ler os datos do rexistro."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Queres revogar o acceso á depuración por USB desde todos os ordenadores que autorizaches previamente?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Permitir a configuración de programación?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Esta configuración só está destinada á programación. Esta pode provocar que o dispositivo e as aplicacións fallen ou se comporten incorrectamente."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Indica que unha aplicación en segundo plano non responde"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostrar avisos de notificacións"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Mostra avisos cando unha aplicación publica notificacións sen unha canle válida"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Usar atallos para notificacións de conversas"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Require que as notificacións teñan un atallo de uso compartido permanente para aparecer na sección de conversas"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forzar permiso de aplicacións de forma externa"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Permite que calquera aplicación compatible se poida escribir nun almacenamento externo, independentemente dos valores do manifesto"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forzar o axuste do tamaño das actividades"</string>
diff --git a/packages/SettingsLib/res/values-gu/arrays.xml b/packages/SettingsLib/res/values-gu/arrays.xml
index 8e28b8b..2a40a9e 100644
--- a/packages/SettingsLib/res/values-gu/arrays.xml
+++ b/packages/SettingsLib/res/values-gu/arrays.xml
@@ -89,16 +89,16 @@
     <item msgid="2494959071796102843">"સિસ્ટમ પસંદગીનો ઉપયોગ કરો (ડિફૉલ્ટ)"</item>
     <item msgid="4055460186095649420">"SBC"</item>
     <item msgid="720249083677397051">"AAC"</item>
-    <item msgid="1049450003868150455">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ઑડિઓ"</item>
-    <item msgid="2908219194098827570">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX_HD">aptX™ HD</xliff:g> ઑડિઓ"</item>
+    <item msgid="1049450003868150455">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ઑડિયો"</item>
+    <item msgid="2908219194098827570">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX_HD">aptX™ HD</xliff:g> ઑડિયો"</item>
     <item msgid="3825367753087348007">"LDAC"</item>
   </string-array>
   <string-array name="bluetooth_a2dp_codec_summaries">
     <item msgid="8868109554557331312">"સિસ્ટમ પસંદગીનો ઉપયોગ કરો (ડિફૉલ્ટ)"</item>
     <item msgid="9024885861221697796">"SBC"</item>
     <item msgid="4688890470703790013">"AAC"</item>
-    <item msgid="8627333814413492563">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ઑડિઓ"</item>
-    <item msgid="3517061573669307965">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX_HD">aptX™ HD</xliff:g> ઑડિઓ"</item>
+    <item msgid="8627333814413492563">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ઑડિયો"</item>
+    <item msgid="3517061573669307965">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX_HD">aptX™ HD</xliff:g> ઑડિયો"</item>
     <item msgid="2553206901068987657">"LDAC"</item>
   </string-array>
   <string-array name="bluetooth_a2dp_codec_sample_rate_titles">
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 2fced2b..7ff8337 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"વાયરલેસ ડિબગીંગ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ઉપલબ્ધ ડિવાઇસને જોવા અને તેનો ઉપયોગ કરવા માટે, વાયરલેસ ડિબગીંગ ચાલુ કરો"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR કોડ વડે ડિવાઇસનું જોડાણ બનાવો"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR કોડ સ્કૅનરનો ઉપયોગ કરીને નવા ડિવાઇસનું જોડાણ બનાવો"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR કોડ સ્કૅનરનો ઉપયોગ કરીને નવા ડિવાઇસનું જોડાણ બનાવો"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"જોડાણ કરવાના કોડ વડે ડિવાઇસનું જોડાણ બનાવો"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"છ અંકના કોડનો ઉપયોગ કરીને નવા ડિવાઇસનું જોડાણ બનાવો"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"જોડાણ કરેલા ડિવાઇસ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ડિવાઇસનું જોડાણ કરવામાં નિષ્ફળ રહ્યાં. કાં તો QR કોડ ખોટો હતો અથવા ડિવાઇસ સમાન નેટવર્ક સાથે કનેક્ટ કરેલું નથી."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ઍડ્રેસ &amp; પોર્ટ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR કોડ સ્કૅન કરો"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR કોડને સ્કૅન કરીને વાઇ-ફાઇ પર ડિવાઇસનું જોડાણ બનાવો"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR કોડને સ્કૅન કરીને વાઇ-ફાઇ પર ડિવાઇસનું જોડાણ બનાવો"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"કૃપા કરીને વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ડિબગ, ડેવ"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"બગ રિપોર્ટ શોર્ટકટ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"વાયરલેસ ડિસ્પ્લે પ્રમાણન"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"વાઇ-ફાઇ વર્બોઝ લૉગિંગ ચાલુ કરો"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"વાઇ-ફાઇ સ્કૅનની ક્ષમતા મર્યાદિત કરવી"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC રેન્ડમાઇઝ કરવામાં વાઇ-ફાઇનો ઉપયોગ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"મોબાઇલ ડેટા હંમેશાં સક્રિય"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ટિથરિંગ માટે હાર્ડવેર ગતિવૃદ્ધિ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"નામ વિનાના બ્લૂટૂથ ઉપકરણો બતાવો"</string>
@@ -276,13 +277,14 @@
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"ખાનગી DNS"</string>
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"ખાનગી DNS મોડને પસંદ કરો"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"બંધ"</string>
-    <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"આપમેળે"</string>
+    <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"ઑટોમૅટિક"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"ખાનગી DNS પ્રદાતા હોસ્ટનું નામ"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS પ્રદાતાના હોસ્ટનું નામ દાખલ કરો"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"કનેક્ટ કરી શકાયું નથી"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"વાયરલેસ ડિસ્પ્લે પ્રમાણપત્ર માટેના વિકલ્પો બતાવો"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"વાઇ-ફાઇ લોગિંગ સ્તર વધારો, વાઇ-ફાઇ પીકરમાં SSID RSSI દીઠ બતાવો"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"બૅટરીનો ચાર્જ ઝડપથી ઓછો થવાનું ટાળે છે અને નેટવર્કની કાર્યક્ષમતામાં સુધારો કરે છે"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"આ ટોગલ માત્ર ક્લાયન્ટ મોડ માટે MAC રેન્ડમાઇઝ કરવાની વર્તણૂકને અસર કરે છે.\nઆ મોડ સક્રિય કરાય, ત્યારે MAC રેન્ડમાઇઝ કરવાનું ચાલુ કર્યું હોય તેવા કોઈપણ નેટવર્કના સંકલન દરમિયાન તેમના MAC ઍડ્રેસને રેન્ડમાઇઝ કરી શકાય છે અને તેનો આધાર ક્લાયન્ટ દ્વારા છેલ્લે ક્યારે નેટવર્કમાંથી ડિસ્કનેક્ટ કરાયું હતું તેના પર રહે છે. ડિવાઇસ 4 કલાક કે તેથી ઓછા સમયમાં ફરીથી કનેક્ટ થાય તો ફરી રેન્ડમાઇઝ કરાતું નથી."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"મીટર કરેલ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"મીટર ન કરેલ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"લોગર બફર કદ"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"બૅકગ્રાઉન્ડ ઍપ માટે \"ઍપ પ્રતિસાદ આપતી નથી\" સંવાદ બતાવો"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"નોટિફિકેશન ચૅનલની ચેતવણી બતાવો"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ઍપ્લિકેશન માન્ય ચૅનલ વિના નોટિફિકેશન પોસ્ટ કરે તો સ્ક્રીન પર ચેતવણી દેખાય છે"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"વાતચીત સૂચનો માટે શૉર્ટકટ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"વાતચીત વિભાગમાં દેખાવા એક લાંબું ટકતા શેરિંગ શૉર્ટકટ દ્વારા ટેકો મેળવતા નોટિફિકેશન જરૂરી છે"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"બાહ્ય પર એપ્લિકેશનોને મંજૂરી આપવાની ફરજ પાડો"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"મેનિફેસ્ટ મૂલ્યોને ધ્યાનમાં લીધા સિવાય, કોઈપણ ઍપ્લિકેશનને બાહ્ય સ્ટોરેજ પર લખાવા માટે લાયક બનાવે છે"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"પ્રવૃત્તિઓને ફરીથી કદ યોગ્ય થવા માટે ફરજ પાડો"</string>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"વપરાશકર્તા"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"પ્રતિબંધિત પ્રોફાઇલ"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"નવા વપરાશકર્તાને ઉમેરીએ?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"તમે વધારાના વપરાશકર્તાઓ બનાવીને અન્ય લોકો સાથે આ ઉપકરણને શેર કરી શકો છો. દરેક વપરાશકર્તા પાસે તેમની પોતાની સ્પેસ છે, જેને તેઓ ઍપ, વૉલપેપર, વગેરે સાથે કસ્ટમાઇઝ કરી શકે છે. વપરાશકર્તાઓ પ્રત્યેક વ્યક્તિને અસર કરતી હોય તેવી ઉપકરણ સેટિંગ જેમ કે વાઇ-ફાઇને પણ સમાયોજિત કરી શકે છે.\n\nજ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિને તેમની સ્પેસ સેટ કરવાની જરૂર પડે છે.\n\nકોઈપણ વપરાશકર્તા અન્ય બધા વપરાશકર્તાઓ માટે ઍપને અપડેટ કરી શકે છે. નવા વપરાશકર્તાને ઍક્સેસિબિલિટી સેટિંગ અને સેવાઓ ટ્રાન્સફર ન પણ થાય."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"તમે વધારાના વપરાશકર્તાઓ બનાવીને અન્ય લોકો સાથે આ ડિવાઇસને શેર કરી શકો છો. દરેક વપરાશકર્તા પાસે તેમની પોતાની સ્પેસ છે, જેને તેઓ ઍપ, વૉલપેપર, વગેરે સાથે કસ્ટમાઇઝ કરી શકે છે. વપરાશકર્તાઓ પ્રત્યેક વ્યક્તિને અસર કરતી હોય તેવી ડિવાઇસ સેટિંગ જેમ કે વાઇ-ફાઇને પણ સમાયોજિત કરી શકે છે.\n\nજ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિને તેમની સ્પેસ સેટ કરવાની જરૂર પડે છે.\n\nકોઈપણ વપરાશકર્તા અન્ય બધા વપરાશકર્તાઓ માટે ઍપને અપડેટ કરી શકે છે. નવા વપરાશકર્તાને ઍક્સેસિબિલિટી સેટિંગ અને સેવાઓ ટ્રાન્સફર ન પણ થાય."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"જ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિને તેમનું સ્થાન સેટ અપ કરવાની જરૂર પડે છે.\n\nકોઈપણ વપરાશકર્તા બધા અન્ય વપરાશકર્તાઓ માટે એપ્લિકેશન્સને અપડેટ કરી શકે છે."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"અત્યારે જ વપરાશકર્તાને સેટ અપ કરીએ?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"ખાતરી કરો કે વ્યક્તિ ઉપકરણ લેવા અને તેમના સ્થાનનું સેટ અપ કરવા માટે ઉપલબ્ધ છે"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index cb41100..94d4c92 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -85,7 +85,7 @@
     <string name="bluetooth_profile_headset" msgid="5395952236133499331">"फ़ोन कॉल"</string>
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"फ़ाइल स्थानांतरण"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"इनपुट डिवाइस"</string>
-    <string name="bluetooth_profile_pan" msgid="1006235139308318188">"इंटरनेट पहुंच"</string>
+    <string name="bluetooth_profile_pan" msgid="1006235139308318188">"इंटरनेट ऐक्सेस"</string>
     <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"संपर्क शेयर करना"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"संपर्क साझाकरण के लिए उपयोग करें"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"इंटरनेट कनेक्शन साझाकरण"</string>
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB डीबग करना"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"डीबग मोड जब USB कनेक्‍ट किया गया हो"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB डीबग करने की मंज़ूरी रद्द करें"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"वायरलेस डीबग करना"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"वॉयरलेस डीबगिंग"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"डिवाइस के वाई-फ़ाई से कनेक्ट हाेने पर, डीबग मोड चालू करें"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"गड़बड़ी"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"वायरलेस डीबग करना"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"उपलब्ध डिवाइस देखने और इस्तेमाल करने के लिए, वायरलेस डीबग करने की सुविधा चालू करें"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"वॉयरलेस डीबगिंग"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"उपलब्ध डिवाइस देखने और इस्तेमाल करने के लिए, वॉयरलेस डीबगिंग की सुविधा चालू करें"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"क्यूआर कोड की मदद से डिवाइस जोड़ें"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"क्यूआर कोड स्कैनर का इस्तेमाल करके, नए डिवाइस जोड़ें"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"क्यूआर कोड स्कैनर का इस्तेमाल करके, नए डिवाइस जोड़ें"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"जोड़ने का कोड इस्तेमाल करके, डिवाइस जोड़ें"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"छह अंकों का कोड इस्तेमाल करके, नए डिवाइस जोड़ें"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"जोड़े गए डिवाइस"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"डिवाइस को जोड़ा नहीं जा सका. शायद, क्यूआर कोड ठीक नहीं था या फिर आपका डिवाइस और दूसरा डिवाइस, दाेनाें एक ही नेटवर्क से नहीं जुड़े हैं."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"आईपी पता और पोर्ट"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"क्यूआर कोड स्कैन करें"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"क्यूआर कोड स्कैन करके, वाई-फ़ाई से डिवाइस को जोड़ें"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"क्यूआर कोड स्कैन करके, वाई-फ़ाई नेटवर्क से डिवाइस जोड़ें"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"कृपया किसी वाई-फ़ाई नेटवर्क से कनेक्ट करें"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"गड़बड़ी की रिपोर्ट का शॉर्टकट"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"वायरलेस डिसप्ले सर्टिफ़िकेशन"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"वाई-फ़ाई वर्बोस लॉगिंग चालू करें"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"वाई-फ़ाई के लिए स्कैन की संख्या कम करें"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"बेहतर वाई-फ़ाई नेटवर्क से जुड़ने पर मैक पता बदलने की सुविधा"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"मोबाइल डेटा हमेशा चालू"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"हार्डवेयर से तेज़ी लाने के लिए टेदर करें"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"बिना नाम वाले ब्लूटूथ डिवाइस दिखाएं"</string>
@@ -276,13 +277,14 @@
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"निजी डीएनएस"</string>
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"निजी डीएनएस मोड चुनें"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"बंद"</string>
-    <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"अपने आप"</string>
+    <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"अपने-आप"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"निजी डीएनएस सेवा देने वाले का होस्टनाम"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"डीएनएस सेवा देने वाले का होस्टनाम डालें"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"कनेक्‍ट नहीं हो सका"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"वायरलेस डिसप्ले सर्टिफ़िकेशन के विकल्प दिखाएं"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"वाई-फ़ाई लॉगिंग का स्तर बढ़ाएं, वाई-फ़ाई पिकर में प्रति SSID RSSI दिखाएं"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"बैटरी की खपत कम और नेटवर्क की परफ़ॉर्मेंस बेहतर होती है"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"इस टॉगल से सिर्फ़ क्लाइंट मोड में, वाई-फ़ाई नेटवर्क से जुड़ते समय मैक पते को बदलने की सुविधा पर असर पड़ता है.\nजब इस मोड को चालू किया जाता है, तब ऐसे किसी भी नेटवर्क का मैक पता फिर से बदला जा सकता है जिन पर मैक पते को बदलने की सुविधा चालू होती है. ऐसा तभी होता है, जब वे नेटवर्क जुड़े हों. यह इस पर भी निर्भर करता है कि क्लाइंट ने उसे नेटवर्क से कब डिसकनेक्ट किया था. अगर डिवाइस चार घंटे या उससे कम में, फिर से कनेक्ट होता है, तो मैक पते को दोबारा बदला नहीं जा सकता."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"डेटा इस्तेमाल करने की सीमा तय की गई है"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"डेटा इस्तेमाल करने की सीमा तय नहीं की गई है"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"लॉगर बफ़र आकार"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"हार्डवेयर से तेज़ी लाने के लिए टेदर करने की सुविधा मौजूद होने पर उसका इस्तेमाल करें"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB डीबग करने की अनुमति दें?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB डीबग करने का मकसद केवल डेवेलप करना है. इसका इस्तेमाल आपके कंप्‍यूटर और आपके डिवाइस के बीच डेटा को कॉपी करने, बिना सूचना के आपके डिवाइस पर ऐप इंस्‍टॉल करने और लॉग डेटा पढ़ने के लिए करें."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"वायरलेस डीबग करने की अनुमति देना चाहते हैं?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वायरलेस डीबग करने का मकसद सिर्फ़ डेवलपमेंट करना है. इसका इस्तेमाल, आपके कंप्यूटर और डिवाइस के बीच डेटा कॉपी करने, बिना सूचना के आपके डिवाइस पर ऐप्लिकेशन इंस्टॉल करने, और लॉग डेटा पढ़ने के लिए करें."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"वॉयरलेस डीबगिंग की अनुमति देना चाहते हैं?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वॉयरलेस डीबगिंग का मकसद सिर्फ़ डेवलपमेंट करना है. इसका इस्तेमाल, आपके कंप्यूटर और डिवाइस के बीच डेटा कॉपी करने, बिना सूचना के आपके डिवाइस पर ऐप्लिकेशन इंस्टॉल करने, और लॉग डेटा पढ़ने के लिए करें."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"उन सभी कंप्यूटरों से USB डीबग करने की पहुंचर रद्द करें, जिन्हें आपने पहले इसकी मंज़ूरी दी थी?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"विकास सेटिंग की अनुमति दें?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"ये सेटिंग केवल विकास संबंधी उपयोग के प्रयोजन से हैं. वे आपके डिवाइस और उस पर स्‍थित ऐप्लिकेशन  को खराब कर सकती हैं या उनके दुर्व्यवहार का कारण हो सकती हैं."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"बैकग्राउंड में चलने वाले ऐप्लिकेशन के लिए, यह ऐप्लिकेशन नहीं चल रहा मैसेज दिखाएं"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"सूचना चैनल चेतावनी दिखाएं"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ऐप्लिकेशन, मान्य चैनल के बिना सूचना पोस्ट करे तो स्क्रीन पर चेतावनी दिखाएं"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"सिर्फ़ वही सूचनाएं दिखाएं जो बातचीत सेक्शन में सही शॉर्टकट के साथ भी लिंक हैं"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ज़रूरी सूचनाओं के लिए ऐसा शेयरिंग शॉर्टकट होना चाहिए जो हमेशा (long-lived) मौजूद रहे, ताकि सूचनाओं को बातचीत वाले सेक्शन में देखा जा सके"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ऐप्लिकेशन को बाहरी मेमोरी पर ही चलाएं"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"इससे कोई भी ऐप्लिकेशन बाहरी मेमोरी में रखने लायक बन जाता है चाहे उसकी मेनिफ़ेस्ट वैल्यू कुछ भी हो"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"विंडो के हिसाब से गतिविधियों का आकार बदल दें"</string>
@@ -429,7 +433,7 @@
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"आपके इस्तेमाल के हिसाब से बैटरी करीब <xliff:g id="TIME">%1$s</xliff:g> तक चलेगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"आपके इस्तेमाल के हिसाब से बैटरी करीब <xliff:g id="TIME">%1$s</xliff:g> तक चलेगी"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"बैटरी करीब <xliff:g id="TIME">%1$s</xliff:g> चलेगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"बैटरी करीब <xliff:g id="TIME">%1$s</xliff:g> चलेगी"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"बैटरी करीब <xliff:g id="TIME">%1$s</xliff:g> तक चलेगी"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g> तक"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"बैटरी <xliff:g id="TIME">%1$s</xliff:g> तक खत्म हो जाएगी"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"<xliff:g id="THRESHOLD">%1$s</xliff:g> से कम समय बचा है"</string>
@@ -456,7 +460,7 @@
     <string name="disabled" msgid="8017887509554714950">"बंद किया गया"</string>
     <string name="external_source_trusted" msgid="1146522036773132905">"अनुमति है"</string>
     <string name="external_source_untrusted" msgid="5037891688911672227">"अनुमति नहीं है"</string>
-    <string name="install_other_apps" msgid="3232595082023199454">"अज्ञात ऐप्लिकेशन इंस्टॉल करने का ऐक्सेस"</string>
+    <string name="install_other_apps" msgid="3232595082023199454">"अनजान ऐप्लिकेशन इंस्टॉल करने का ऐक्सेस"</string>
     <string name="home" msgid="973834627243661438">"सेटिंग का होम पेज"</string>
   <string-array name="battery_labels">
     <item msgid="7878690469765357158">"0%"</item>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index f1608d0d..9dcdf0e 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bežično otklanjanje pogrešaka"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Da biste vidjeli dostupne uređaje i mogli se njima koristiti, uključite bežično otklanjanje pogrešaka"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Uparivanje uređaja pomoću QR koda"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Uparivanje novih uređaja pomoću čitača QR koda"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Uparivanje novih uređaja pomoću čitača QR koda"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Uparivanje uređaja pomoću koda za uparivanje"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Uparivanje novih uređaja pomoću šesteroznamenkastog koda"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Upareni uređaji"</string>
@@ -230,8 +230,8 @@
     <string name="adb_wireless_verifying_qrcode_text" msgid="6123192424916029207">"Uparivanje uređaja…"</string>
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Uparivanje uređaja nije uspjelo. QR kôd je neispravan ili uređaj nije povezan na istu mrežu."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresa i priključak"</string>
-    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skeniraj QR kôd"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Uparivanje uređaja putem Wi-Fija skeniranjem QR koda"</string>
+    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skenirajte QR kôd"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Uparivanje uređaja putem Wi-Fija skeniranjem QR koda"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Povežite se s Wifi mrežom"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, otklanjanje pogrešaka, razvoj"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Prečac izvješća o pogreškama"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifikacija bežičnog prikaza"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Omogući opširnu prijavu na Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Usporavanje traženja Wi-Fija"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Nasum. odabir MAC-a poboljšan Wi‑Fi‑jem"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobilni podaci uvijek aktivni"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardversko ubrzanje za modemsko povezivanje"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Prikaži Bluetooth uređaje bez naziva"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Prikaz opcija za certifikaciju bežičnog prikaza"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Povećana razina prijave na Wi‑Fi, prikaz po SSID RSSI-ju u Biraču Wi‑Fi-ja"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Smanjuje potrošnju baterije i poboljšava rad mreže"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ovaj prekidač utječe na ponašanje nasumičnog odabira MAC-a samo za način korisnika.\nKad je aktiviran ovaj način rada, kod bilo koje mreže koja ima omogućen nasumični odabir MAC-a može doći do ponovnog nasumičnog odabira MAC adrese tijekom povezivanja, ovisno o tome kad se klijent posljednji put odspojio s mreže. Nema ponovnog nasumičnog odabira ako se uređaj ponovno spoji za manje od 4 sata."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"S ograničenim prometom"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Bez ograničenja prometa"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Veličine međuspremnika zapisnika"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Dijalog o pozadinskim aplikacijama koje ne reagiraju"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Prikaži upozorenja kanala obavijesti"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Prikazuje upozorenje na zaslonu kada aplikacija objavi obavijest bez važećeg kanala"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Primjena prečaca za obavijesti razgovora"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Obavijesti moraju imati dugotrajni prečac za dijeljenje da bi se prikazale u odjeljku razgovora"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Prisilno dopusti aplikacije u vanjskoj pohrani"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Aplikacije se mogu zapisivati u vanjsku pohranu neovisno o vrijednostima manifesta"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Nametni mogućnost promjene veličine za aktivnosti"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Još otprilike <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na temelju vaše upotrebe (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Na temelju vaše upotrebe trebala bi trajati do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Na temelju vaše upotrebe trebala bi trajati do <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Trebala bi trajati do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Trebala bi trajati do <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Do <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Baterija bi se mogla isprazniti do <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Preostalo je manje od <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index bb2f17c..15f008b 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Vezeték nélküli hibakeresés"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"A rendelkezésre álló eszközök megtekintéséhez és használatához kapcsolja be a vezeték nélküli hibakeresést"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Eszköz párosítása QR-kóddal"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Párosítsa az új eszközöket QR-kód-szkennelő használatával"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Párosítsa az új eszközöket QR-kód-szkennelő használatával"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Eszköz párosítása párosítókóddal"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Párosítsa az új eszközöket hatjegyű kód használatával"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Párosított eszközök"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Nem sikerült az eszközzel való párosítás. Vagy helytelen volt a QR-kód, vagy az eszköz másik hálózathoz csatlakozott."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-cím és port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR-kód beolvasása"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Párosítsa az eszközt Wi-Fi-n keresztül QR-kód beolvasásával"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Párosítsa az eszközt Wi-Fi-n keresztül QR-kód beolvasásával"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Csatlakozzon Wi-Fi-hálózathoz"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Hibabejelentési gomb"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Vezeték nélküli kijelző tanúsítványa"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Részletes Wi-Fi-naplózás engedélyezése"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi-Fi-hálózat szabályozása"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑re kiterjesztett, randomizált MAC"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"A mobilhálózati kapcsolat mindig aktív"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Internetmegosztás hardveres gyorsítása"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Név nélküli Bluetooth-eszközök megjelenítése"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Vezeték nélküli kijelző tanúsítványával kapcsolatos lehetőségek megjelenítése"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi-naplózási szint növelése, RSSI/SSID megjelenítése a Wi‑Fi-választóban"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Csökkenti az akkumulátorhasználatot, és javítja a hálózat teljesítményét"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Kizárólag ügyfélmód esetében be- vagy kikapcsolja a MAC-címet randomizáló viselkedést.\nHa a mód aktív, az olyan hálózatokon, amelyeken engedélyezve van a MAC-címek randomizálása, a társítás során újra megtörténhet a randomizálás, attól függően, hogy az ügyfél mikor bontotta utoljára a kapcsolatot a hálózattal. Az ismételt randomizálás nem következik be, ha az eszköz négy órán belül újracsatlakozik."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Forgalomkorlátos"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Nem forgalomkorlátos"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Naplózási puffer mérete"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Az Alkalmazás nem válaszol ablak megjelenítése a háttérben futó alkalmazásoknál"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Értesítő csatorna figyelmeztetései"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Figyelmeztet, ha egy alkalmazás érvényes csatorna nélkül küld értesítést"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Gyorsparancsok kényszerítése beszélgetésértesítésekhez"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Megköveteli, hogy az értesítéseket hosszú életű megosztási gyorsparancs támogassa, hogy megjelenhessenek a beszélgetési szakaszban"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Külső tárhely alkalmazásainak engedélyezése"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Lehetővé teszi bármely alkalmazás külső tárhelyre való írását a jegyzékértékektől függetlenül"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Tevékenységek átméretezésének kényszerítése"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Körülbelül <xliff:g id="TIME_REMAINING">%1$s</xliff:g> maradt hátra az eszköz használata alapján (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"A használat alapján nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"A használat alapján nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"A használat alapján nagyjából eddig bírja: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"A használat alapján nagyjából eddig bírja: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Nagyjából eddig bírja: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Nagyjából eddig bírja: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Eddig: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Az akkumulátor lemerülhet a következő időpontig: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Kevesebb mint <xliff:g id="THRESHOLD">%1$s</xliff:g> van hátra"</string>
@@ -443,7 +447,7 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"Előfordulhat, hogy a táblagép hamarosan kikapcsol (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Előfordulhat, hogy az eszköz hamarosan kikapcsol (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> van hátra a feltöltésig"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> van hátra a feltöltésből"</string>
     <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> a feltöltésig"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"Ismeretlen"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"Töltés"</string>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index 9cc883a..b1639b5 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -112,8 +112,8 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Օգտագործել ֆայլի փոխանցման համար"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Օգտագործել ներմուծման համար"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Օգտագործել լսողական ապարատի համար"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Զուգավորել"</string>
-    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"Զուգավորել"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Զուգակցել"</string>
+    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"Զուգակցել"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Չեղարկել"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Զուգակցում է մուտքի թույլտվությունը դեպի ձեր կոնտակտները և զանգերի պատմությունը, երբ միացված է:"</string>
     <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"Չհաջողվեց զուգավորել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ:"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Անլար վրիպազերծում"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Հասանելի սարքերը տեսնելու և օգտագործելու համար միացրեք անլար վրիպազերծումը"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Զուգակցեք սարքը՝ օգտագործելով QR կոդը"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Զուգակցեք նոր սարքեր՝ օգտագործելով QR կոդերի սկաները"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Զուգակցեք նոր սարքեր՝ օգտագործելով QR կոդերի սկաները"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Զուգակցեք սարքը՝ օգտագործելով զուգակցման կոդը"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Զուգակցեք նոր սարքեր՝ օգտագործելով վեցանիշ կոդը"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Զուգակցված սարքեր"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Չհաջողվեց զուգակցել սարքի հետ։ Հնարավոր է, որ QR կոդը սխալ է, կամ սարքը միացված չէ միևնույն ցանցին։"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP հասցե և միացք"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR կոդի սկանավորում"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Զուգակցեք սարքը՝ Wi‑Fi-ի օգնությամբ սկանավորելով QR կոդը"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Զուգակցեք սարքը՝ Wi‑Fi-ի օգնությամբ սկանավորելով QR կոդը"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Միացեք Wi-Fi ցանցի"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, վրիպազերծում, ծրագրավորող"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Սխալի հաղորդման դյուրանցում"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Անլար էկրանների հավաստագրում"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Միացնել Wi‑Fi մանրամասն գրանցամատյանները"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi-ի որոնման սահմանափակում"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC հասցեների պատահական ընտրություն Wi-Fi-ին միանալիս"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Բջջային ինտերնետը միշտ ակտիվ է"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Սարքակազմի արագացման միացում"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Ցուցադրել Bluetooth սարքերն առանց անունների"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Ցույց տալ անլար էկրանների հավաստագրման ընտրանքները"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Բարձրացնել մակարդակը, Wi‑Fi ընտրիչում ամեն մի SSID-ի համար ցույց տալ RSSI"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Նվազեցնում է մարտկոցի սպառումը և լավացնում ցանցի աշխատանքը"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Այս կարգավորումը միացնում է MAC հասցեների պատահական ընտրությունը միայն սպասառուի ռեժիմում։\nԵրբ այս ռեժիմն ակտիվացված է, բոլոր ցանցերը, որոնց համար միացված է MAC հասցեների պատահական ընտրությունը, կապակցման ժամանակ կարող են նորից պատահական MAC հասցե ընտրել՝ կախված այն բանից, թե երբ է սպասառուն վերջին անգամ անջատվել ցանցից։ Պատահական ընտրության կրկնությունը տեղի չի ունենում, եթե սարքը նորից է միանում ցանցին 4 ժամից պակաս ժամանակահատվածում։"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Վճարովի թրաֆիկ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Անսահմանափակ թրաֆիկ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Մատյանի բուֆերի չափերը"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Ցուցադրել «Հավելվածը չի արձագանքում» պատուհանը ֆոնային հավելվածների համար"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Ցուցադրել ծանուցումների ալիքի զգուշացումները"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Էկրանին ցուցադրվում է զգուշացում, երբ որևէ հավելված փակցնում է ծանուցում առանց վավեր ալիքի"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Միացնել զրույցների ծանուցումների դյուրանցումները"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Պահանջել, որ ծանուցումները պահվեն երկարաժամկետ հասանելիության դյուրանցումով՝ զրույցների բաժնում հայտնվելու համար"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Թույլատրել պահումն արտաքին կրիչներում"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Թույլ է տալիս ցանկացած հավելված պահել արտաքին սարքում՝ մանիֆեստի արժեքներից անկախ"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Չափերի փոփոխում բազմապատուհան ռեժիմում"</string>
@@ -503,7 +507,7 @@
     <string name="alarm_template" msgid="3346777418136233330">"<xliff:g id="WHEN">%1$s</xliff:g>-ին"</string>
     <string name="alarm_template_far" msgid="6382760514842998629">"<xliff:g id="WHEN">%1$s</xliff:g>-ին"</string>
     <string name="zen_mode_duration_settings_title" msgid="1553451650289651489">"Տևողություն"</string>
-    <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Հարցնել ամեն անգամ"</string>
+    <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Ամեն անգամ հարցնել"</string>
     <string name="zen_mode_forever" msgid="3339224497605461291">"Մինչև չանջատեք"</string>
     <string name="time_unit_just_now" msgid="3006134267292728099">"Հենց նոր"</string>
     <string name="media_transfer_this_device_name" msgid="2716555073132169240">"Հեռախոսի բարձրախոս"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index d80eba2..3d18da0 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -112,8 +112,8 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Gunakan untuk transfer file"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Gunakan untuk masukan"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Gunakan untuk Alat Bantu Dengar"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Sandingkan"</string>
-    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"SANDINGKAN"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Sambungkan"</string>
+    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"SAMBUNGKAN"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Batal"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Penyandingan memberi akses ke kontak dan histori panggilan saat tersambung"</string>
     <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"Tidak dapat menyandingkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Proses debug nirkabel"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Untuk melihat dan menggunakan perangkat yang tersedia, aktifkan proses debug nirkabel"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Sambungkan perangkat dengan kode QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Sambungkan perangkat baru menggunakan Pemindai kode QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Sambungkan perangkat baru menggunakan pemindai kode QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Sambungkan perangkat dengan kode penghubung"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Sambungkan perangkat baru menggunakan kode enam digit"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Perangkat disambungkan"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Gagal menyambungkan perangkat. Kode QR salah, atau perangkat tidak tersambung ke jaringan yang sama."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Alamat IP &amp; Port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Memindai kode QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Menyambungkan perangkat melalui Wi‑Fi dengan memindai Kode QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Menyambungkan perangkat melalui Wi‑Fi dengan memindai Kode QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Harap sambungkan ke jaringan Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Pintasan laporan bug"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Sertifikasi layar nirkabel"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Aktifkan Pencatatan Log Panjang Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Pembatasan pemindaian Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Pengacakan MAC yang ditingkatkan Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Kuota selalu aktif"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Akselerasi hardware tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Tampilkan perangkat Bluetooth tanpa nama"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Tampilkan opsi untuk sertifikasi layar nirkabel"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Tingkatkan level pencatatan log Wi-Fi, tampilkan per SSID RSSI di Pemilih Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Memperlambat kehabisan baterai &amp; meningkatkan performa jaringan"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Pengaktifan mode ini memengaruhi perilaku pengacakan MAC hanya untuk mode klien.\nSaat mode ini diaktifkan, jaringan yang mengaktifkan pengacakan MAC mungkin mengalami pengacakan ulang alamat MAC selama terhubung, bergantung pada kapan klien terakhir kali terputus dari jaringan. Pengacakan ulang tidak terjadi jika perangkat terhubung kembali dalam 4 jam atau kurang."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Berbayar"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Tidak berbayar"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Ukuran buffer pencatat log"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Tampilkan dialog Aplikasi Tidak Merespons untuk aplikasi yang berjalan di background"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Tampilkan peringatan saluran notifikasi"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Menampilkan peringatan di layar saat aplikasi memposting notifikasi tanpa channel yang valid"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Terapkan pintasan untuk notifikasi percakapan"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Mengharuskan notifikasi didukung oleh pintasan berbagi yang berdurasi panjang untuk muncul di bagian percakapan"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Paksa izinkan aplikasi di eksternal"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Membuat semua aplikasi dapat ditulis ke penyimpanan eksternal, terlepas dari nilai manifes"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Paksa aktivitas agar ukurannya dapat diubah"</string>
@@ -483,7 +487,7 @@
     <string name="ims_reg_title" msgid="8197592958123671062">"Status pendaftaran IMS"</string>
     <string name="ims_reg_status_registered" msgid="884916398194885457">"Terdaftar"</string>
     <string name="ims_reg_status_not_registered" msgid="2989287366045704694">"Tidak terdaftar"</string>
-    <string name="status_unavailable" msgid="5279036186589861608">"Tidak Tersedia"</string>
+    <string name="status_unavailable" msgid="5279036186589861608">"Tidak tersedia"</string>
     <string name="wifi_status_mac_randomized" msgid="466382542497832189">"MAC diacak"</string>
     <plurals name="wifi_tether_connected_summary" formatted="false" msgid="6317236306047306139">
       <item quantity="other">%1$d perangkat terhubung</item>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Pengguna"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Profil dibatasi"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Tambahkan pengguna baru?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Anda dapat berbagi penggunaan perangkat ini dengan orang lain dengan membuat pengguna tambahan. Setiap pengguna memiliki ruang sendiri, yang dapat disesuaikan dengan aplikasi, wallpaper, dan lainnya.\n\nSaat Anda menambahkan pengguna baru, pengguna tersebut perlu menyiapkan ruangnya.\n\nPengguna mana pun dapat mengupdate aplikasi untuk semua pengguna lainnya. Layanan dan setelan aksesibilitas mungkin tidak ditransfer ke pengguna baru."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Anda dapat menggunakan perangkat ini bersama orang lain dengan membuat pengguna tambahan. Setiap pengguna memiliki ruang sendiri, yang dapat disesuaikan dengan aplikasi, wallpaper, dan lainnya. Pengguna juga dapat menyesuaikan setelan perangkat seperti Wi-Fi yang dapat memengaruhi semua pengguna lain.\n\nSaat Anda menambahkan pengguna baru, pengguna tersebut perlu menyiapkan ruangnya.\n\nPengguna mana pun dapat mengupdate aplikasi untuk semua pengguna lainnya. Layanan dan setelan aksesibilitas mungkin tidak ditransfer ke pengguna baru."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Saat Anda menambahkan pengguna baru, orang tersebut perlu menyiapkan ruang mereka sendiri.\n\nPengguna mana pun dapat memperbarui aplikasi untuk semua pengguna lain."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Siapkan pengguna sekarang?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Pastikan orang tersebut ada untuk mengambil perangkat dan menyiapkan ruangnya"</string>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index 2e96446..17c6fec 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Þráðlaus villuleit"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Til að sjá og nota tiltæk tæki skal kveikja á þráðlausri villuleit"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Para tæki með QR-kóða"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Para ný tæki með QR-kóðaskanna"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Para ný tæki með QR-kóðaskanna"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Para tæki með pörunarkóða"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Para ný tæki með sex tölustafa kóða"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Pöruð tæki"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Ekki tókst að para við tækið. Annað hvort var QR-kóðinn rangur eða tækið ekki tengt sama neti."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-tala og gátt"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skanna QR-kóða"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Tengja tæki með Wi-Fi með því að skanna QR-kóða"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Tengja tæki með Wi-Fi með því að skanna QR-kóða"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Tengstu Wi-Fi neti"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, villuleit, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Flýtileið í villutilkynningu"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Vottun þráðlausra skjáa"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Kveikja á ítarlegri skráningu Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Hægja á Wi‑Fi leit"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Slembival MAC-vistfanga með Wi-Fi styrk"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Alltaf kveikt á farsímagögnum"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Vélbúnaðarhröðun fyrir tjóðrun"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Sýna Bluetooth-tæki án heita"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Sýna valkosti fyrir vottun þráðlausra skjáa"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Auka skráningarstig Wi-Fi, sýna RSSI fyrir hvert SSID í Wi-Fi vali"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Dregur úr rafhlöðunotkun og eykur netafköst"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Þessi rofi hefur eingöngu áhrif á slembival MAC-vistfanga fyrir biðlarastillingu.\nÞegar þessi stilling er virk geta öll netkerfi sem eru með slembival MAC-vistfanga virkt látið slembiraða MAC-vistföngum aftur við tengingu, allt eftir því hvenær biðlarinn aftengdist netinu síðast. Endurslembiröðun á sér ekki stað ef tækið tengist aftur innan fjögurra klukkustunda."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Mæld notkun"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Notkun ekki mæld"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Annálsritastærðir biðminna"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Sýna „Forrit svarar ekki“ fyrir bakgrunnsforrit"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Sýna viðvaranir tilkynningarásar"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Birtir viðvörun á skjánum þegar forrit birtir tilkynningu án gildrar rásar"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Þvinga flýtileiðir fyrir tilkynningar um samtöl"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Krefjast þess að flýtileiðir séu studdar af langvarandi deilingarflýtileið fyrir birtingu í samtalshluta"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Þvinga fram leyfi forrita í ytri geymslu"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Gerir öll forrit skrifanleg í ytra geymslurými, óháð gildum í upplýsingaskrá"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Þvinga breytanlega stærð virkni"</string>
@@ -540,7 +544,7 @@
     <string name="user_new_user_name" msgid="60979820612818840">"Nýr notandi"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Nýtt snið"</string>
     <string name="user_info_settings_title" msgid="6351390762733279907">"Notandaupplýsingar"</string>
-    <string name="profile_info_settings_title" msgid="105699672534365099">"Upplýsingar um snið"</string>
+    <string name="profile_info_settings_title" msgid="105699672534365099">"Notandaupplýsingar"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Áður en þú getur búið til takmarkað snið þarftu að setja upp skjálás til að vernda forritin þín og persónuleg gögn."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Velja lás"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"Skipta yfir í <xliff:g id="USER_NAME">%s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-it/arrays.xml b/packages/SettingsLib/res/values-it/arrays.xml
index 0bca8ea..de38625 100644
--- a/packages/SettingsLib/res/values-it/arrays.xml
+++ b/packages/SettingsLib/res/values-it/arrays.xml
@@ -156,7 +156,7 @@
     <item msgid="5001852592115448348">", attivo (telefono)"</item>
   </string-array>
   <string-array name="select_logd_size_titles">
-    <item msgid="1191094707770726722">"OFF"</item>
+    <item msgid="1191094707770726722">"Off"</item>
     <item msgid="7839165897132179888">"64 kB"</item>
     <item msgid="2715700596495505626">"256 kB"</item>
     <item msgid="7099386891713159947">"1 MB"</item>
@@ -164,13 +164,13 @@
     <item msgid="8243549501764402572">"16 MB"</item>
   </string-array>
   <string-array name="select_logd_size_lowram_titles">
-    <item msgid="1145807928339101085">"OFF"</item>
+    <item msgid="1145807928339101085">"Off"</item>
     <item msgid="4064786181089783077">"64 kB"</item>
     <item msgid="3052710745383602630">"256 kB"</item>
     <item msgid="3691785423374588514">"1 MB"</item>
   </string-array>
   <string-array name="select_logd_size_summaries">
-    <item msgid="409235464399258501">"OFF"</item>
+    <item msgid="409235464399258501">"Off"</item>
     <item msgid="4195153527464162486">"64 kB/buffer log"</item>
     <item msgid="7464037639415220106">"256 kB/buffer log"</item>
     <item msgid="8539423820514360724">"1 MB/buffer log"</item>
@@ -178,13 +178,13 @@
     <item msgid="7892098981256010498">"16 MB/buffer log"</item>
   </string-array>
   <string-array name="select_logpersist_titles">
-    <item msgid="704720725704372366">"OFF"</item>
+    <item msgid="704720725704372366">"Off"</item>
     <item msgid="6014837961827347618">"Tutti"</item>
     <item msgid="7387060437894578132">"Tutti tranne il segnale radio"</item>
     <item msgid="7300881231043255746">"solo kernel"</item>
   </string-array>
   <string-array name="select_logpersist_summaries">
-    <item msgid="97587758561106269">"OFF"</item>
+    <item msgid="97587758561106269">"Off"</item>
     <item msgid="7126170197336963369">"Tutti i buffer log"</item>
     <item msgid="7167543126036181392">"Tutti tranne i buffer log del segnale radio"</item>
     <item msgid="5135340178556563979">"solo buffer log kernel"</item>
@@ -237,17 +237,17 @@
     <item msgid="7345673972166571060">"Stack di chiamate su glGetError"</item>
   </string-array>
   <string-array name="show_non_rect_clip_entries">
-    <item msgid="2482978351289846212">"OFF"</item>
+    <item msgid="2482978351289846212">"Off"</item>
     <item msgid="3405519300199774027">"Area ritaglio non rettangolare blu"</item>
     <item msgid="1212561935004167943">"Evidenzia cmd disegno test in verde"</item>
   </string-array>
   <string-array name="track_frame_time_entries">
-    <item msgid="634406443901014984">"OFF"</item>
+    <item msgid="634406443901014984">"Off"</item>
     <item msgid="1288760936356000927">"Su schermo sotto forma di barre"</item>
     <item msgid="5023908510820531131">"Tra <xliff:g id="AS_TYPED_COMMAND">adb shell dumpsys gfxinfo</xliff:g>"</item>
   </string-array>
   <string-array name="debug_hw_overdraw_entries">
-    <item msgid="1968128556747588800">"OFF"</item>
+    <item msgid="1968128556747588800">"Off"</item>
     <item msgid="3033215374382962216">"Mostra aree overdraw"</item>
     <item msgid="3474333938380896988">"Mostra aree con deuteranomalia"</item>
   </string-array>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 2de543d..e4883be 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -23,7 +23,7 @@
     <string name="wifi_fail_to_scan" msgid="2333336097603822490">"Impossibile cercare reti"</string>
     <string name="wifi_security_none" msgid="7392696451280611452">"Nessuna"</string>
     <string name="wifi_remembered" msgid="3266709779723179188">"Salvata"</string>
-    <string name="wifi_disconnected" msgid="7054450256284661757">"Nessuna connessione"</string>
+    <string name="wifi_disconnected" msgid="7054450256284661757">"Non connessa"</string>
     <string name="wifi_disabled_generic" msgid="2651916945380294607">"Disattivata"</string>
     <string name="wifi_disabled_network_failure" msgid="2660396183242399585">"Errore configurazione IP"</string>
     <string name="wifi_disabled_by_recommendation_provider" msgid="1302938248432705534">"Impossibile connettersi a causa della bassa qualità della rete"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Debug wireless"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Per trovare e utilizzare i dispositivi disponibili, attiva il debug wireless"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Accoppia il dispositivo con il codice QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Accoppia i nuovi dispositivi utilizzando lo scanner di codici QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Accoppia i nuovi dispositivi utilizzando lo scanner di codici QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Accoppia dispositivo con codice di accoppiamento"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Accoppia i nuovi dispositivi utilizzando un codice di sei cifre"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivi accoppiati"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Impossibile accoppiare il dispositivo. Il codice QR non era corretto oppure il dispositivo non è connesso alla stessa rete."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Indirizzo IP e porta"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scansiona codice QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Accoppia il dispositivo tramite Wi-Fi eseguendo la scansione di un codice QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Accoppia il dispositivo tramite Wi-Fi scansionando un codice QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Collegati a una rete Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, debug, sviluppatori"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Scorciatoia segnalazione bug"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificazione display wireless"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Attiva logging dettagliato Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limita ricerca di reti Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Randomizzazione MAC con Wi‑Fi migliorato"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dati mobili sempre attivi"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering accelerazione hardware"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostra dispositivi Bluetooth senza nome"</string>
@@ -275,7 +276,7 @@
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Streaming: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
     <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"DNS privato"</string>
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Seleziona modalità DNS privato"</string>
-    <string name="private_dns_mode_off" msgid="7065962499349997041">"OFF"</string>
+    <string name="private_dns_mode_off" msgid="7065962499349997041">"Off"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automatico"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"Nome host del provider DNS privato"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"Inserisci il nome host del provider DNS"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostra opzioni per la certificazione display wireless"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumenta livello di logging Wi-Fi, mostra SSID RSSI nel selettore Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Riduce il consumo della batteria e migliora le prestazioni della rete"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Questa opzione influenza il comportamento della randomizzazione MAC solo nella modalità client.\nQuando questa modalità è attiva, durante l\'associazione gli indirizzi MAC di tutte le reti con randomizzazione MAC abilitata potrebbero essere nuovamente sottoposti a randomizzazione, a seconda di quando il client è stato disconnesso l\'ultima volta dalla rete. La randomizzazione non viene eseguita nuovamente se il dispositivo si riconnette entro quattro ore."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"A consumo"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Non a consumo"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Dimensioni buffer logger"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Mostra finestra di dialogo ANR per app in background"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostra avvisi canale di notifica"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Viene mostrato un avviso sullo schermo quando un\'app pubblica una notifica senza un canale valido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Applica scorciatoie per notifiche delle conversazioni"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Richiedi il supporto di una scorciatoia di condivisione di lunga durata per la visualizzazione delle notifiche nella sezione delle conversazioni"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forza autorizzazione app su memoria esterna"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Consente l\'installazione di qualsiasi app su memoria esterna, indipendentemente dai valori manifest"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Imponi formato modificabile alle attività"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Tempo rimanente in base al tuo utilizzo (<xliff:g id="LEVEL">%2$s</xliff:g>): <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Tempo stimato rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Tempo stimato rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Tempo stimato rimanente: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Tempo stimato rimanente: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Ora stimata esaurimento batteria in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Ora stimata esaurimento batteria in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Ora stimata esaurimento batteria: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Ora stimata esaurimento batteria: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Fino alle ore <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"La batteria potrebbe esaurirsi entro <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Tempo rimanente: meno di <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
@@ -454,7 +458,7 @@
     <string name="battery_info_status_full" msgid="4443168946046847468">"Carica"</string>
     <string name="disabled_by_admin_summary_text" msgid="5343911767402923057">"Gestita dall\'amministratore"</string>
     <string name="disabled" msgid="8017887509554714950">"Disattivato"</string>
-    <string name="external_source_trusted" msgid="1146522036773132905">"Consentite"</string>
+    <string name="external_source_trusted" msgid="1146522036773132905">"Autorizzate"</string>
     <string name="external_source_untrusted" msgid="5037891688911672227">"Non consentite"</string>
     <string name="install_other_apps" msgid="3232595082023199454">"Installa app sconosciute"</string>
     <string name="home" msgid="973834627243661438">"Home page Impostazioni"</string>
@@ -539,7 +543,7 @@
     <string name="user_add_user_type_title" msgid="551279664052914497">"Aggiungi"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Nuovo utente"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Nuovo profilo"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Dati utente"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Informazioni utente"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"Informazioni profilo"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Prima di poter creare un profilo con limitazioni, devi impostare un blocco schermo per proteggere le tue app e i tuoi dati personali."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Imposta blocco"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index 61f35ab..da17dd7 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ניפוי באגים אלחוטי"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"כדי להציג את המכשירים הזמינים ולהשתמש בהם, יש להפעיל ניפוי באגים אלחוטי"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"‏התאמת מכשיר באמצעות קוד QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"‏התאמת מכשירים חדשים באמצעות סורק של קודי QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"‏התאמת מכשירים חדשים באמצעות סורק של קודי QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"התאמת מכשיר באמצעות קוד התאמה"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"התאמת מכשירים חדשים באמצעות קוד בן שש ספרות"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"מכשירים מותאמים"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"‏התאמת המכשיר נכשלה. קוד ה-QR היה שגוי או שהמכשיר לא מחובר לאותה רשת."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"‏יציאה וכתובת IP"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"‏סריקת קוד QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"‏יש לסרוק קוד QR כדי להתאים מכשיר באמצעות Wi‑Fi"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"‏יש לסרוק קוד QR כדי להתאים מכשיר באמצעות Wi‑Fi"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"‏יש להתחבר לרשת Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"‏adb, ניפוי באגים, פיתוח"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"קיצור של דוח באגים"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"‏אישור של תצוגת WiFi"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"‏הפעלת רישום מפורט של Wi‑Fi ביומן"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"‏ויסות סריקה לנקודות Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"‏רנדומיזציה משופרת של כתובות MAC ב-Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"חבילת הגלישה פעילה תמיד"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"שיפור מהירות באמצעות חומרה לצורך שיתוף אינטרנט בין ניידים"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"‏הצגת מכשירי Bluetooth ללא שמות"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"‏הצג אפשרויות עבור אישור של תצוגת WiFi"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"‏העלה את רמת הרישום של Wi‑Fi ביומן, הצג לכל SSID RSSI ב-Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"מפחית את קצב התרוקנות הסוללה ומשפר את ביצועי הרשת"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"‏לחצן החלפת המצב משפיע על התנהגות הרנדומיזציה של כתובות MAC במצב לקוח בלבד.\nכשמצב זה מופעל, ברשת שבה מופעלת רנדומיזציה של כתובות MAC, ייתכן שתתבצע רנדומיזציה מחדש של כתובות ה-MAC במהלך השיוך, בהתאם למועד הניתוק האחרון של הלקוח מהרשת. לא תתבצע רנדומיזציה מחדש אם המכשיר מתחבר מחדש תוך ארבע שעות או פחות."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"נמדדת"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"לא נמדדת"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"גדלי מאגר של יומן רישום"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"הצגת תיבת דו-שיח של \'אפליקציה לא מגיבה\' עבור אפליקציות שפועלות ברקע"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"אזהרות לגבי ערוץ התראות"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"הצגת אזהרה כשאפליקציה שולחת התראה ללא ערוץ חוקי"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"אילוץ קיצורי דרך להתראות על שיחות"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"כדי שההודעות יופיעו בקטע השיחות, יש צורך בגיבוי שלהן באמצעות קיצור דרך לשיתוף בעל מחזור חיים ארוך"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"אילוץ הרשאת אפליקציות באחסון חיצוני"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"מאפשר כתיבה של כל אפליקציה באחסון חיצוני, ללא התחשבות בערכי המניפסט"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"אלץ יכולת קביעת גודל של הפעילויות"</string>
@@ -417,7 +421,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"פרוטנומליה (אדום-ירוק)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"טריטנומליה (כחול-צהוב)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"תיקון צבע"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"תיקון צבעים מאפשר לשנות את האופן שבו צבעים מוצגים במכשיר שלך"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"תיקון צבע מאפשר לשנות את האופן שבו צבעים מוצגים במכשיר שלך"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"נעקף על ידי <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"הזמן הנותר: בערך <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index ea9cfd8..ef41da3 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -204,15 +204,15 @@
     <string name="tethering_settings_not_available" msgid="266821736434699780">"このユーザーはテザリング設定を利用できません"</string>
     <string name="apn_settings_not_available" msgid="1147111671403342300">"このユーザーはアクセスポイント名設定を利用できません"</string>
     <string name="enable_adb" msgid="8072776357237289039">"USB デバッグ"</string>
-    <string name="enable_adb_summary" msgid="3711526030096574316">"USB接続時はデバッグモードにする"</string>
-    <string name="clear_adb_keys" msgid="3010148733140369917">"USBデバッグの許可の取り消し"</string>
+    <string name="enable_adb_summary" msgid="3711526030096574316">"USB 接続時はデバッグモードにする"</string>
+    <string name="clear_adb_keys" msgid="3010148733140369917">"USB デバッグの許可の取り消し"</string>
     <string name="enable_adb_wireless" msgid="6973226350963971018">"ワイヤレス デバッグ"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi-Fi 接続時にデバッグモード"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"エラー"</string>
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ワイヤレス デバッグ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"利用可能なデバイスを確認して使用するには、ワイヤレス デバッグをオンにしてください"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR コードによるデバイスのペア設定"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR コードスキャナを使って新しいデバイスをペア設定します"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR コードスキャナを使って新しいデバイスをペア設定します"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ペア設定コードによるデバイスのペア設定"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"6 桁のコードを使って新しいデバイスをペア設定します"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ペア設定済みのデバイス"</string>
@@ -231,26 +231,27 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"デバイスをペア設定できませんでした。QR コードが間違っているか、デバイスが同じネットワークに接続されていません。"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP アドレスとポート"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR コードのスキャン"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR コードをスキャンして Wi-Fi 経由でデバイスをペア設定します"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR コードをスキャンして Wi-Fi 経由でデバイスをペア設定します"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi ネットワークに接続してください"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, デバッグ, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"バグレポートのショートカット"</string>
     <string name="bugreport_in_power_summary" msgid="1885529649381831775">"電源メニューにバグレポートを取得するボタンを表示する"</string>
     <string name="keep_screen_on" msgid="1187161672348797558">"スリープモードにしない"</string>
     <string name="keep_screen_on_summary" msgid="1510731514101925829">"充電中に画面をスリープにしない"</string>
-    <string name="bt_hci_snoop_log" msgid="7291287955649081448">"Bluetooth HCIスヌープログをON"</string>
+    <string name="bt_hci_snoop_log" msgid="7291287955649081448">"Bluetooth HCI スヌープログ"</string>
     <string name="bt_hci_snoop_log_summary" msgid="6808538971394092284">"Bluetooth パケットをキャプチャします(この設定を変更した場合は Bluetooth を切り替えてください)。"</string>
-    <string name="oem_unlock_enable" msgid="5334869171871566731">"OEMロック解除"</string>
+    <string name="oem_unlock_enable" msgid="5334869171871566731">"OEM ロック解除"</string>
     <string name="oem_unlock_enable_summary" msgid="5857388174390953829">"ブートローダーによるロック解除を許可する"</string>
-    <string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"OEMロック解除の許可"</string>
+    <string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"OEM ロック解除の許可"</string>
     <string name="confirm_enable_oem_unlock_text" msgid="854131050791011970">"警告: この設定をONにしている場合、このデバイスではデバイス保護機能を利用できません。"</string>
     <string name="mock_location_app" msgid="6269380172542248304">"仮の現在地情報アプリを選択"</string>
     <string name="mock_location_app_not_set" msgid="6972032787262831155">"仮の現在地情報アプリが設定されていません"</string>
     <string name="mock_location_app_set" msgid="4706722469342913843">"仮の現在地情報アプリ: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="debug_networking_category" msgid="6829757985772659599">"ネットワーク"</string>
-    <string name="wifi_display_certification" msgid="1805579519992520381">"ワイヤレスディスプレイ認証"</string>
-    <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi-Fi詳細ログの有効化"</string>
+    <string name="wifi_display_certification" msgid="1805579519992520381">"ワイヤレス ディスプレイ認証"</string>
+    <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi-Fi 詳細ログの有効化"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi スキャン スロットリング"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi-Fi-enhanced MAC ランダム化"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"モバイルデータを常に ON にする"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"テザリング時のハードウェア アクセラレーション"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth デバイスを名前なしで表示"</string>
@@ -280,9 +281,10 @@
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"プライベート DNS プロバイダのホスト名"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS プロバイダのホスト名を入力"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"接続できませんでした"</string>
-    <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ワイヤレスディスプレイ認証のオプションを表示"</string>
-    <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi-Fiログレベルを上げて、Wi-Fi選択ツールでSSID RSSIごとに表示します"</string>
+    <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ワイヤレス ディスプレイ認証のオプションを表示"</string>
+    <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi-Fi ログレベルを上げて、Wi-Fi 選択ツールで SSID RSSI ごとに表示します"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"電池の消耗が軽減され、ネットワーク パフォーマンスが改善されます"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"この切り替えは、クライアント モードの MAC のランダム化動作にのみ影響します。\nこのモードがアクティブの場合、MAC のランダム化が有効になっているすべてのネットワークで、クライアントがネットワークから最後に切断されたタイミングに応じて、関連付けの際に MAC アドレスが再ランダム化されることがあります。再ランダム化は、デバイスが 4 時間以内に再接続された場合は行われません。"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"従量制"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"定額制"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ログバッファのサイズ"</string>
@@ -298,11 +300,11 @@
     <string name="debug_view_attributes" msgid="3539609843984208216">"表示属性検査を有効にする"</string>
     <string name="mobile_data_always_on_summary" msgid="1112156365594371019">"Wi‑Fiが(ネットワークの自動切り替えで)ONのときでもモバイルデータが常にONになります。"</string>
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"テザリング時にハードウェア アクセラレーションを使用します(使用可能な場合)"</string>
-    <string name="adb_warning_title" msgid="7708653449506485728">"USBデバッグを許可しますか?"</string>
-    <string name="adb_warning_message" msgid="8145270656419669221">"USBデバッグは開発専用に設計されています。パソコンとデバイスの間でデータをコピーする場合や、アプリを通知なしでデバイスにインストールする場合、ログデータを読み取る場合に使用できます。"</string>
+    <string name="adb_warning_title" msgid="7708653449506485728">"USB デバッグを許可しますか?"</string>
+    <string name="adb_warning_message" msgid="8145270656419669221">"USB デバッグは開発専用に設計されています。パソコンとデバイスの間でデータをコピーする場合や、アプリを通知なしでデバイスにインストールする場合、ログデータを読み取る場合に使用できます。"</string>
     <string name="adbwifi_warning_title" msgid="727104571653031865">"ワイヤレス デバッグを許可しますか?"</string>
     <string name="adbwifi_warning_message" msgid="8005936574322702388">"ワイヤレス デバッグは開発専用に設計されています。パソコンとデバイスの間でデータをコピーする場合や、アプリを通知なしでデバイスにインストールする場合、ログデータを読み取る場合に使用できます。"</string>
-    <string name="adb_keys_warning_message" msgid="2968555274488101220">"以前に許可したすべてのパソコンからのUSBデバッグへのアクセスを取り消しますか?"</string>
+    <string name="adb_keys_warning_message" msgid="2968555274488101220">"以前に許可したすべてのパソコンからの USB デバッグへのアクセスを取り消しますか?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"開発用の設定を許可しますか?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"これらの設定は開発専用に設計されています。そのためデバイスやデバイス上のアプリが故障したり正常に動作しなくなったりするおそれがあります。"</string>
     <string name="verify_apps_over_usb_title" msgid="6031809675604442636">"USB経由のアプリを確認"</string>
@@ -371,13 +373,15 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"バックグラウンド アプリが応答しない場合にダイアログを表示"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"通知チャネルの警告を表示"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"アプリから有効なチャネルのない通知が投稿されたときに画面上に警告を表示します"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"会話通知用のショートカット"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"会話セクションに表示されるように、通知が長期の共有ショートカットに対応することを要件とします"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"外部ストレージへのアプリの書き込みを許可"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"マニフェストの値に関係なく、すべてのアプリを外部ストレージに書き込めるようになります"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"アクティビティをサイズ変更可能にする"</string>
     <string name="force_resizable_activities_summary" msgid="2490382056981583062">"マニフェストの値に関係なく、マルチウィンドウですべてのアクティビティのサイズを変更できるようにします。"</string>
     <string name="enable_freeform_support" msgid="7599125687603914253">"フリーフォーム ウィンドウの有効化"</string>
     <string name="enable_freeform_support_summary" msgid="1822862728719276331">"試験運用機能のフリーフォーム ウィンドウのサポートを有効にします。"</string>
-    <string name="local_backup_password_title" msgid="4631017948933578709">"PCバックアップパスワード"</string>
+    <string name="local_backup_password_title" msgid="4631017948933578709">"PC バックアップ パスワード"</string>
     <string name="local_backup_password_summary_none" msgid="7646898032616361714">"デスクトップのフルバックアップは現在保護されていません"</string>
     <string name="local_backup_password_summary_change" msgid="1707357670383995567">"デスクトップのフルバックアップ用のパスワードを変更または削除する場合にタップします"</string>
     <string name="local_backup_password_toast_success" msgid="4891666204428091604">"新しいバックアップパスワードが設定されました"</string>
@@ -417,7 +421,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"第一色弱(赤緑)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"第三色弱(青黄)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"色補正"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"色補正機能を使用して、デバイスで色をどのように表示するかを調整できます"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"色補正機能では、デバイスで色をどのように表示するかを調整できます"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g>によって上書き済み"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"残り時間: 約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"残り時間: 約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>(使用状況に基づく)(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"電池切れの推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"電池切れの推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"電池切れの推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"電池切れの推定時刻: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"電池が切れる推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"電池が切れる推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"電池が切れる推定時刻: <xliff:g id="TIME">%1$s</xliff:g>(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"電池が切れる推定時刻: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g> まで"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"<xliff:g id="TIME">%1$s</xliff:g> 頃に電池がなくなります"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"残り時間: <xliff:g id="THRESHOLD">%1$s</xliff:g>未満"</string>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index 106bc18..4e28c5b 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"შეცდომების უსადენო გამართვა"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ხელმისაწვდომი მოწყობილობების სანახავად და გამოსაყენებლად ჩართეთ შეცდომების უსადენო გამართვა"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"ახალი მოწყობილობების დაწყვილება QR კოდით"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"ახალი მოწყობილობების დაწყვილება QR კოდის სკანერის გამოყენებით"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"ახალი მოწყობილობების დაწყვილება QR კოდის სკანერის გამოყენებით"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"მოწყობილობის დაწყვილება დაკავშირების კოდით"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ახალი მოწყობილობების დაწყვილება ექვსნიშნა კოდის გამოყენებით"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"დაწყვილებული მოწყობილობები"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"მოწყობილობის დაწყვილება ვერ მოხერხდა. QR კოდი არასწორი იყო ან მოწყობილობა იმავე ქსელთან არ არის დაკავშირებული."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP მისამართი და პორტი"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR კოდის სკანირება"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"მოწყობილობის დაწყვილება Wi-Fi-ის მეშვეობით QR კოდის სკანირებით"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"მოწყობილობის დაწყვილება Wi-Fi-ის მეშვეობით QR კოდის სკანირებით"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"დაუკავშირდით Wi-Fi ქსელს"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, შეცდომების გამართვა, დეველოპერული"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ხარვეზის შეტყობინების მალსახმობი"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"უსადენო ეკრანის სერტიფიცირება"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi-ს დაწვრილებითი აღრიცხვის ჩართვა"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi სკანირების რეგულირება"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑თ გაძლიერებული MAC მისამართის შემთხვევითობა"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"მობილური ინტერნეტის ყოველთვის გააქტიურება"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ტეტერინგის აპარატურული აჩქარება"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth-მოწყობილობების ჩვენება სახელების გარეშე"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"უსადენო ეკრანის სერტიფიცირების ვარიანტების ჩვენება"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi-ს აღრიცხვის დონის გაზრდა, Wi‑Fi ამომრჩეველში ყოველ SSID RSSI-ზე ჩვენება"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ამცირებს ბატარეის ხარჯვას და აუმჯობესებს ქსელის მუშაობას"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ეს გადასართავი მხოლოდ კლიენტის რეჟიმში მოქმედებს MAC მისამართის შემთხვევითობაზე.\nამ რეჟიმის გააქტიურების შემთხვევაში, ნებისმიერმა ქსელმა, რომლისთვისაც MAC მისამართის შემთხვევითობა ჩართულია, შეიძლება ხელახლა მოახდინოს MAC მისამართთა შემთხვევითობის განხორციელება დაკავშირებისას, იმის გათვალისწინებით, თუ როდის გაწყვიტა კლიენტმა ბოლოს ქსელთან კავშირი. შემთხვევითობა აღარ განმეორდება, თუ ეს მოწყობილობა ქსელს 4 საათის ფარგლებში ან უფრო ნაკლებ დროში დაუკავშირდება."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"ლიმიტირებული"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"არალიმიტირებული"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ჟურნალიზაციის ბუფერის ზომები"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"„აპი არ რეაგირებს“ შეტყობინების ჩვენება, როცა ფონური აპლიკაცია არ პასუხობს"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"შეტყობინებათა არხის გაფრთხილებების ჩვენება"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ეკრანზე აჩვენებს გაფრთხილებას, როცა აპი შეტყობინებას სწორი არხის გარეშე განათავსებს"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"მალსახმობების მოთხოვნა მიმოწერის შეტყობინებებისთვის"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"მოითხოვეთ, შეტყობინებები ეყრდნობოდეს ხანგრძლივად არსებულ გაზიარების მალსახმობებს მიმოწერის სექციაში გამოსაჩენად"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"აპების დაშვება გარე მეხსიერებაში"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"აპები ჩაიწერება გარე მეხსიერებაზე აღწერის ფაილების მნიშვნელობების მიუხედავად"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ზომაცვლადი აქტივობების იძულება"</string>
@@ -428,8 +432,8 @@
     <skip />
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>, ოხმარების გათვალისწინებით (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>, მოხმარების გათვალისწინებით"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)-მდე"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>-მდე"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g>-მდე"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"ბატარეა შესაძლოა ამოიწუროს <xliff:g id="TIME">%1$s</xliff:g>-ისთვის"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"დარჩენილია <xliff:g id="THRESHOLD">%1$s</xliff:g>-ზე ნაკლები"</string>
diff --git a/packages/SettingsLib/res/values-kk/arrays.xml b/packages/SettingsLib/res/values-kk/arrays.xml
index 3c96f43..fe5b5d2 100644
--- a/packages/SettingsLib/res/values-kk/arrays.xml
+++ b/packages/SettingsLib/res/values-kk/arrays.xml
@@ -26,7 +26,7 @@
     <item msgid="6050951078202663628">"Қосылуда..."</item>
     <item msgid="8356618438494652335">"Растауда…"</item>
     <item msgid="2837871868181677206">"IP мекенжайына қол жеткізуде…"</item>
-    <item msgid="4613015005934755724">"Қосылған"</item>
+    <item msgid="4613015005934755724">"Жалғанған"</item>
     <item msgid="3763530049995655072">"Уақытша тоқтатылды"</item>
     <item msgid="7852381437933824454">"Ажыратуда…"</item>
     <item msgid="5046795712175415059">"Ажыратылған"</item>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index 0ef83bb..a9f2a1b 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB жөндеу"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB жалғанғандағы жөндеу режимі"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB жөндеу рұқсаттарынан бас тарту"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Сымсыз желі арқылы түзету"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Сымсыз түзету"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi‑Fi желісіне жалғанған кездегі түзету режимі"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Қате"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Сымсыз желі арқылы түзету"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Қолжетімді құрылғыларды көру және пайдалану үшін сымсыз желі арқылы түзетуді іске қосыңыз."</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Сымсыз түзету"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Қолжетімді құрылғыларды көру және пайдалану үшін сымсыз түзетуді іске қосыңыз."</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Құрылғыны QR коды арқылы жұптау"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Жаңа құрылғыларды QR коды сканері арқылы жұптау"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Жаңа құрылғыларды QR коды сканерімен жұптау"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Құрылғыны кодпен жұптау"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Жаңа құрылғыларды алты цифрлық код арқылы жұптау"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Жұпталған құрылғылар"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Құрылғы жұпталмады. QR коды дұрыс емес немесе құрылғы бір желіге жалғанбаған."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP мекенжайы және порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR кодын сканерлеу"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR кодын сканерлеп, құрылғыны Wi‑Fi арқылы жұптау"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR кодын сканерлеп, құрылғыны Wi‑Fi арқылы жұптау"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi желісіне қосылыңыз."</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, түзету, әзірлеуші"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Қате туралы хабарлау"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Сымсыз дисплей сертификаты"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi егжей-тегжейлі журналы"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi іздеуін шектеу"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi жақсартылған MAC рандомизациясы"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мобильдік интернет әрқашан қосулы"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Тетеринг режиміндегі аппараттық жеделдету"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth құрылғыларын атаусыз көрсету"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Сымсыз дисплей сертификаты опцияларын көрсету"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi тіркеу деңгейін арттыру, Wi‑Fi таңдағанда әр SSID RSSI бойынша көрсету"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Батарея зарядының шығынын азайтады және желі жұмысын жақсартады."</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Бұл қосқыш тек клиент режимі үшін MAC рандомизациясының әрекетіне әсер етеді.\nБұл режим қосылған кезде, MAC рандомизациясы қосулы кез келген желі MAC мекенжайларын қайта рандомизациялайды. Бұл үшін клиенттің желіден ең соңғы ажыратылған уақыты негізге алынады. Құрылғы желіге 4 сағат немесе одан аз уақыт ішінде қайта қосылса, қайта рандомизацияланбайды."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Трафик саналады"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Трафик саналмайды"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Журналға тіркеуші буферінің өлшемдері"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Тетеринг режиміндегі аппараттық жеделдетуді пайдалану (қолжетімді болса)"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB жөндеулеріне рұқсат берілсін бе?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB жөндеу дамыту мақсаттарына ғана арналған. Оны компьютер және құрылғы арасында дерек көшіру, құрылғыға ескертусіз қолданба орнату және тіркелім деректерін оқу үшін қолданыңыз."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Сымсыз желі арқылы түзетуге рұқсат берілсін бе?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Сымсыз желі арқылы түзету функциясы дамыту мақсаттарына ғана арналған. Оны компьютер және құрылғы арасында дерек көшіру, құрылғыға ескертусіз қолданба орнату және журнал деректерін оқу үшін қолданыңыз."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Сымсыз түзетуге рұқсат берілсін бе?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Сымсыз түзету функциясы дамыту мақсаттарына ғана арналған. Оны компьютер және құрылғы арасында дерек көшіру, құрылғыға ескертусіз қолданба орнату және журнал деректерін оқу үшін қолданыңыз."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Бұған дейін рұқсат берілген барлық компьютерлерде USB жөндеу функциясына тыйым салынсын ба?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Жетілдіру параметрлеріне рұқсат берілсін бе?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Бұл параметрлер жетілдіру мақсатында ғана қолданылады. Олар құрылғыңыз бен қолданбаларыңыздың бұзылуына немесе әдеттен тыс әрекеттерге себеп болуы мүмкін."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Фондық қолданбалар үшін \"Қолданба жауап бермейді\" терезесін шығару"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Хабарландыру арнасының ескертулерін көрсету"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Қолданба жарамсыз арна арқылы хабарландыру жариялағанда, экранға ескерту шығарады"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Чат хабарландырулары үшін таңбашаларды пайдалану"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Хабарландырулар чат бөлімінде көрсетілуі үшін, оларды ұзақ көрсетілетін таңбаша арқылы міндетті түрде қайталап көрсету"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Сыртқы жадта қолданбаларға рұқсат ету"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Манифест мәндеріне қарамастан, кез келген қолданбаны сыртқы жадқа жазу мүмкіндігін береді"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Әрекеттердің өлшемін өзгертуге рұқсат ету"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Пайдалану деректеріңізге сәйкес енді шамамен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> қалды (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> уақытқа жетеді (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> уақытқа жетеді"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Шамамен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) уақытқа жетеді"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Шамамен <xliff:g id="TIME">%1$s</xliff:g> уақытқа жетеді"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> дейін жетеді (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> дейін жетеді"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Шамамен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) дейін жетеді"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Шамамен <xliff:g id="TIME">%1$s</xliff:g> дейін жетеді"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g> дейін"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Батарея заряды <xliff:g id="TIME">%1$s</xliff:g> сағатқа қарай бітуі мүмкін."</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"<xliff:g id="THRESHOLD">%1$s</xliff:g> шамасынан аз қалды"</string>
@@ -470,7 +474,7 @@
     <string name="screen_zoom_summary_large" msgid="4706951482598978984">"Үлкен"</string>
     <string name="screen_zoom_summary_very_large" msgid="7317423942896999029">"Үлкенірек"</string>
     <string name="screen_zoom_summary_extremely_large" msgid="1438045624562358554">"Ең үлкен"</string>
-    <string name="screen_zoom_summary_custom" msgid="3468154096832912210">"Арнаулы (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string>
+    <string name="screen_zoom_summary_custom" msgid="3468154096832912210">"Басқа (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string>
     <string name="content_description_menu_button" msgid="6254844309171779931">"Mәзір"</string>
     <string name="retail_demo_reset_message" msgid="5392824901108195463">"Демо режимде зауыттық мәндерге қайтару үшін құпия сөзді енгізу"</string>
     <string name="retail_demo_reset_next" msgid="3688129033843885362">"Келесі"</string>
@@ -532,7 +536,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"Қосымша профильдер жасай отырып, бұл құрылғыны басқалармен ортақ пайдалануға болады. Әр пайдаланушы қолданбаларды, тұсқағаздарды орнатып, профилін өз қалауынша реттей алады. Сондай-ақ барлығы ортақ қолданатын Wi‑Fi сияқты параметрлерді де реттеуге болады.\n\nЖаңа пайдаланушы енгізілгенде, ол өз профилін реттеуі керек болады.\n\nКез келген пайдаланушы барлық басқа пайдаланушылар үшін қолданбаларды жаңарта алады. Арнайы мүмкіндіктерге қатысты параметрлер мен қызметтер жаңа пайдаланушыға өтпейді."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Жаңа пайдаланушыны қосқанда сол адам өз кеңістігін реттеуі керек.\n\nКез келген пайдаланушы барлық басқа пайдаланушылар үшін қолданбаларды жаңарта алады."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Профиль құру керек пе?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Пайдаланушы құрылығыны алып, өз профилін реттеуі керек."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Пайдаланушы құрылғыны алып, өз профилін реттеуі керек."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Профайл қазір жасақталсын ба?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Қазір құру"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Қазір емес"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index 4cf8bed..0e566c1 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ការជួសជុល​ដោយឥតខ្សែ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ដើម្បី​មើលឃើញ និងប្រើ​ឧបករណ៍​ដែលមាន សូមបើក​ការជួសជុល​ដោយឥតខ្សែ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"ផ្គូផ្គង​ឧបករណ៍​ដោយប្រើ​កូដ QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"ផ្គូផ្គង​ឧបករណ៍​ថ្មី​ដោយប្រើ​កម្មវិធីស្កេន​កូដ QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"ផ្គូផ្គង​ឧបករណ៍ថ្មី​ដោយប្រើ​កម្មវិធីស្កេន​កូដ QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ផ្គូផ្គង​ឧបករណ៍​ដោយប្រើ​កូដផ្គូផ្គង"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ផ្គូផ្គង​ឧបករណ៍​ថ្មី​ដោយប្រើ​កូដ​ប្រាំមួយ​ខ្ទង់"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ឧបករណ៍​ដែល​បាន​ផ្គូផ្គង"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"មិនអាច​ផ្គូផ្គង​ឧបករណ៍​បានទេ។ កូដ QR មិនត្រឹមត្រូវ ឬមិនបានភ្ជាប់​ឧបករណ៍​ទៅ​បណ្ដាញ​ដូចគ្នា។"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"អាសយដ្ឋាន IP និងច្រក"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"ស្កេន​កូដ QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"ផ្គូផ្គង​ឧបករណ៍​តាមរយៈ Wi‑Fi ដោយស្កេន​កូដ QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"ផ្គូផ្គង​ឧបករណ៍​តាមរយៈ Wi‑Fi ដោយស្កេន​កូដ QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"សូម​ភ្ជាប់ទៅ​បណ្តាញ Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ជួសជុល, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ផ្លូវកាត់រាយការណ៍​កំហុស"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"សេចក្តីបញ្ជាក់ការបង្ហាញ​ឥត​ខ្សែ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"បើក​កំណត់ហេតុ​រៀបរាប់​ Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ការពន្យឺតការស្កេន Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"ការតម្រៀប MAC តាមលំដាប់ចៃដន្យដែលកែលម្អតាម Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ទិន្នន័យទូរសព្ទចល័តដំណើរការជានិច្ច"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ការ​បង្កើនល្បឿន​ផ្នែករឹងសម្រាប់​ការភ្ជាប់"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"បង្ហាញ​ឧបករណ៍​ប្ល៊ូធូស​គ្មានឈ្មោះ"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"បង្ហាញ​ជម្រើស​សម្រាប់​សេចក្តីបញ្ជាក់ការបង្ហាញ​ឥត​ខ្សែ"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"បង្កើនកម្រិតកំណត់ហេតុ Wi-Fi បង្ហាញក្នុង SSID RSSI ក្នុងកម្មវិធីជ្រើសរើស Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"កាត់បន្ថយ​ការប្រើប្រាស់ថ្ម និងកែលម្អប្រតិបត្តិការ​បណ្ដាញ"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ការបិទ/បើកនេះ​ប៉ះពាល់​ដល់សកម្មភាព​តម្រៀប MAC តាមលំដាប់​ចៃដន្យសម្រាប់មុខងារភ្ញៀវតែប៉ុណ្ណោះ។\nនៅពេលបើកដំណើរការមុខងារនេះ បណ្ដាញ​ទាំងឡាយដែល​បានបើក​ការតម្រៀប MAC តាមលំដាប់​ចៃដន្យប្រហែលជាត្រូវបានតម្រៀបអាសយដ្ឋាន MAC របស់វាតាមលំដាប់​ចៃដន្យឡើងវិញ អំឡុងពេលភ្ជាប់ ដោយផ្អែកលើពេលវេលាដែលមុខងារភ្ញៀវបានផ្ដាច់លើកចុងក្រោយពីបណ្ដាញ។ ការតម្រៀប​តាមលំដាប់​ចៃដន្យឡើងវិញ​មិនកើតឡើងទេ ប្រសិនបើ​ឧបករណ៍​ភ្ជាប់ឡើងវិញ​ក្នុងរយៈពេល 4 ម៉ោង ឬ​ឆាប់ជាងនេះ។"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"មានការកំណត់"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"មិនមានការកំណត់"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ទំហំកន្លែងផ្ទុករបស់ logger"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"បង្ហាញ​ប្រអប់​កម្មវិធី​មិន​ឆ្លើយតប​សម្រាប់​កម្មវិធី​ផ្ទៃ​ខាង​ក្រោយ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"បង្ហាញការព្រមានអំពីបណ្តាញជូនដំណឹង"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"បង្ហាញការព្រមាននៅលើអេក្រង់ នៅពេលកម្មវិធីបង្ហោះការជូនដំណឹងដោយមិនមានបណ្តាញត្រឹមត្រូវ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ជំរុញឱ្យប្រើផ្លូវកាត់សម្រាប់ការជូនដំណឹងពីការសន្ទនា"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"តម្រូវឱ្យបម្រុងទុកការជូនដំណឹង តាមរយៈផ្លូវកាត់ចែករំលែកដែលមានអាយុកាលយូរទើបអាចបង្ហាញនៅក្នុងផ្នែកនៃការសន្ទនាបាន"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"បង្ខំឲ្យអនុញ្ញាតកម្មវិធីលើឧបករណ៍ផ្ទុកខាងក្រៅ"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ធ្វើឲ្យកម្មវិធីទាំងឡាយមានសិទ្ធិសរសេរទៅកាន់ឧបករណ៍ផ្ទុកខាងក្រៅ ដោយមិនគិតពីតម្លៃជាក់លាក់"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"បង្ខំឲ្យសកម្មភាពអាចប្តូរទំហំបាន"</string>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index ed854ac..4e873be 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -112,7 +112,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"ಫೈಲ್‌ ವರ್ಗಾವಣೆಗಾಗಿ ಬಳಸು"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"ಇನ್‌ಪುಟ್‌ಗಾಗಿ ಬಳಸು"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"ಶ್ರವಣ ಸಾಧನಗಳಿಗಾಗಿ ಬಳಸಿ"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"ಜೋಡಿ"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"ಜೋಡಿಸಿ"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"ಜೋಡಿ ಮಾಡು"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"ರದ್ದುಮಾಡಿ"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"ಸಂಪರ್ಕಗೊಳಿಸಿದಾಗ, ಜೋಡಿಸುವಿಕೆಯು ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ವೈರ್‌ಲೆಸ್ ಡೀಬಗ್ ಮಾಡುವಿಕೆ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ಲಭ್ಯವಿರುವ ಸಾಧನಗಳನ್ನು ನೋಡಲು ಮತ್ತು ಬಳಸಲು, ವೈರ್‌ಲೆಸ್ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡಿ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR ಕೋಡ್ ಬಳಸಿ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR ಕೋಡ್ ಸ್ಕ್ಯಾನರ್ ಬಳಸಿ ಹೊಸ ಸಾಧನಗಳನ್ನು ಜೋಡಿಸಿ"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR ಕೋಡ್ ಸ್ಕ್ಯಾನರ್ ಬಳಸಿ ಹೊಸ ಸಾಧನಗಳನ್ನು ಜೋಡಿಸಿ"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ಜೋಡಿಸುವ ಕೋಡ್ ಬಳಸಿ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ಆರು ಅಂಕಿಯ ಕೋಡ್ ಬಳಸಿ ಹೊಸ ಸಾಧನಗಳನ್ನು ಜೋಡಿಸಿ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ಜೋಡಿಸಲಾದ ಸಾಧನಗಳು"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ಸಾಧನವನ್ನು ಜೋಡಿಸಲು ವಿಫಲವಾಗಿದೆ. QR ಕೋಡ್ ತಪ್ಪಾಗಿದೆ ಅಥವಾ ಸಾಧನವು ಒಂದೇ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಆಗಿಲ್ಲ."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR ಕೋಡ್ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಮೂಲಕ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಮೂಲಕ ವೈ-ಫೈನಲ್ಲಿ ಸಾಧನವನ್ನು ಜೋಡಿಸಿ"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ಡೀಬಗ್, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ದೋಷ ವರದಿಯ ಶಾರ್ಟ್‌ಕಟ್‌‌"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ವೈರ್‌ಲೆಸ್ ಪ್ರದರ್ಶನ ಪ್ರಮಾಣೀಕರಣ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi ವೆರ್ಬೋಸ್ ಲಾಗಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ವೈ-ಫೈ ಸ್ಕ್ಯಾನ್ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑ವರ್ಧಿತ MAC ಯಾದೃಚ್ಛಿಕರಣ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ಮೊಬೈಲ್ ಡೇಟಾ ಯಾವಾಗಲೂ ಸಕ್ರಿಯ"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ಟೆಥರಿಂಗ್‍‍ಗಾಗಿ ಹಾರ್ಡ್‍ವೇರ್ ವೇಗವರ್ಧನೆ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"ಹೆಸರುಗಳಿಲ್ಲದ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳನ್ನು ತೋರಿಸಿ"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ವೈರ್‌ಲೆಸ್‌‌‌ ಪ್ರದರ್ಶನ ಪ್ರಮಾಣೀಕರಣಕ್ಕಾಗಿ ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸು"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi ಲಾಗಿಂಗ್ ಮಟ್ಟನ್ನು ಹೆಚ್ಚಿಸಿ, Wi‑Fi ಆಯ್ಕೆಯಲ್ಲಿ ಪ್ರತಿಯೊಂದು SSID RSSI ತೋರಿಸಿ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ಬ್ಯಾಟರಿ ಹೆಚ್ಚು ಬಾಳಿಕೆ ಬರುವಂತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್‌ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ಈ ಟಾಗಲ್, ಕ್ಲೈಂಟ್‌ ಮೋಡ್‌ಗಾಗಿ ಮಾತ್ರ MAC ಯಾದೃಚ್ಛಿಕರಣ ವರ್ತನೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.\nಈ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, MAC ಯಾದೃಚ್ಛಿಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ ಯಾವುದೇ ನೆಟ್‌ವರ್ಕ್ ಸಂಯೋಜನೆಯನ್ನು ಸ್ಥಾಪಿಸುವಾಗ MAC ವಿಳಾಸವನ್ನು ಮರು-ಯಾದೃಚ್ಛಿಕರಣಗೊಳಿಸಬಹುದು (ಕ್ಲೈಂಟ್ ಕೊನೆಯದಾಗಿ ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿರುವುದನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ). ಸಾಧನವು 4 ಗಂಟೆಗಳು ಅಥವಾ ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ ಮರುಸಂಪರ್ಕಿಸಿದರೆ, ಯಾವುದೇ ಮರು-ಯಾದೃಚ್ಛಿಕರಣ ಸಂಭವಿಸುವುದಿಲ್ಲ."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ಲಾಗರ್ ಬಫರ್ ಗಾತ್ರಗಳು"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ ಎಂಬ ಸಂಭಾಷಣೆ ತೋರಿಸಿ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ಅಧಿಸೂಚನೆ ಎಚ್ಚರಿಕೆ ತೋರಿಸಿ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ಅಮಾನ್ಯ ಚಾನಲ್ ಅಧಿಸೂಚನೆಗಾಗಿ ಪರದೆಯಲ್ಲಿ ಎಚ್ಚರಿಕೆ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ಸಂಭಾಷಣೆ ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಜಾರಿಗೊಳಿಸಿ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ಸಂಭಾಷಣೆ ವಿಭಾಗದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳಲು, ಅಧಿಸೂಚನೆಗಳನ್ನು ದೀರ್ಘಕಾಲದ ಹಂಚಿಕೆ ಶಾರ್ಟ್‌ಕಟ್ ಮೂಲಕ ಬೆಂಬಲಿಸುವ ಅಗತ್ಯವಿದೆ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ಬಾಹ್ಯವಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಒತ್ತಾಯವಾಗಿ ಅನುಮತಿಸಿ"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ಮ್ಯಾನಿಫೆಸ್ಟ್ ಮೌಲ್ಯಗಳು ಯಾವುದೇ ಆಗಿದ್ದರೂ, ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆಗೆ ಬರೆಯಲು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ ಅನ್ನು ಅರ್ಹಗೊಳಿಸುತ್ತದೆ"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ಚಟುವಟಿಕೆಗಳನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸುವಂತೆ ಒತ್ತಾಯ ಮಾಡಿ"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index 6f642c3..8530440 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"무선 디버깅"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"사용 가능한 기기를 보고 사용하려면 무선 디버깅을 사용 설정하세요."</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR 코드로 기기 페어링"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR 코드 스캐너를 사용하여 새 기기 페어링"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR 코드 스캐너를 사용하여 새 기기 페어링"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"페어링 코드로 기기 페어링"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"6자리 코드를 사용하여 새 기기 페어링"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"페어링된 기기"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"기기를 페어링할 수 없습니다. QR 코드가 잘못되었거나 기기가 동일한 네트워크에 연결되어 있지 않습니다."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP 주소 및 포트"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR 코드 스캔"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR 코드를 스캔하여 Wi‑Fi를 통해 기기 페어링"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR 코드를 스캔하여 Wi‑Fi를 통해 기기 페어링"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi 네트워크에 연결하세요."</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, 디버그, 개발자"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"버그 신고 바로가기"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"무선 디스플레이 인증서"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi-Fi 상세 로깅 사용"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi 검색 제한"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi로 MAC 무작위 순서 지정 개선"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"항상 모바일 데이터 활성화"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"테더링 하드웨어 가속"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"이름이 없는 블루투스 기기 표시"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"무선 디스플레이 인증서 옵션 표시"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi 로깅 수준을 높이고, Wi‑Fi 선택도구에서 SSID RSSI당 값을 표시"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"배터리 소모를 줄이고 네트워크 성능 개선"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"이 전환은 클라이언트 모드의 MAC 무작위 순서 지정 방식에만 영향을 줍니다.\n이 모드를 활성화하면 네트워크와 클라이언트 연결이 끊긴 마지막 시점에 따라 MAC 무작위 순서 지정이 사용 설정된 네트워크에서 연결 중에 MAC 주소를 다시 무작위 순서로 지정할 수 있습니다. 기기가 4시간 이내에 재연결된 경우 무작위 순서 지정이 다시 발생하지 않습니다."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"종량제 네트워크"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"무제한 네트워크"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"로거 버퍼 크기"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"백그라운드 앱과 관련해 앱 응답 없음 대화상자 표시"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"알림 채널 경고 표시"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"앱에서 유효한 채널 없이 알림을 게시하면 화면에 경고 표시"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"대화 알림에 단축키 적용"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"알림이 대화 섹션에 표시되려면 오래 지속되는 공유 단축키의 지원을 받도록 요구"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"외부에서 앱 강제 허용"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"매니페스트 값과 관계없이 모든 앱이 외부 저장소에 작성되도록 허용"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"활동의 크기가 조정 가능하도록 설정"</string>
@@ -416,7 +420,7 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"녹색약(적녹)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"적색약(적녹)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"청색약(청황)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"색보정"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"색상 보정"</string>
     <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"색상 보정을 사용하면 기기에 표시되는 색상을 조절할 수 있습니다."</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> 우선 적용됨"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g>, <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
@@ -428,8 +432,8 @@
     <skip />
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"사용량(<xliff:g id="LEVEL">%2$s</xliff:g>)을 기준으로 약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"사용량을 기준으로 약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"대략 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"대략 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g>까지"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"예상 배터리 종료 시간: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"<xliff:g id="THRESHOLD">%1$s</xliff:g> 미만 남음"</string>
@@ -532,7 +536,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"추가 사용자를 만들어 다른 사용자와 기기를 공유할 수 있습니다. 각 사용자는 앱, 배경화면 등으로 맞춤설정할 수 있는 자신만의 공간을 갖게 됩니다. 또한 모든 사용자에게 영향을 미치는 Wi‑Fi와 같은 기기 설정도 조정할 수 있습니다.\n\n추가된 신규 사용자는 자신의 공간을 설정해야 합니다.\n\n모든 사용자가 앱을 업데이트할 수 있으며, 업데이트는 다른 사용자에게도 적용됩니다. 접근성 설정 및 서비스는 신규 사용자에게 이전되지 않을 수도 있습니다."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"추가된 새로운 사용자는 자신의 공간을 설정해야 합니다.\n\n모든 사용자는 다른 사용자들을 위하여 앱을 업데이트할 수 있습니다."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"지금 사용자를 설정하시겠습니까?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"사용자가 기기에서 자신의 공간을 설정하도록 하세요."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"사용자가 기기를 사용하여 자신의 공간을 설정할 수 있도록 하세요."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"지금 프로필을 설정하시겠습니까?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"지금 설정"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"나중에"</string>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index 417e511..fc63435 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -37,7 +37,7 @@
     <string name="wifi_no_internet" msgid="1774198889176926299">"Интернетке туташпай турат"</string>
     <string name="saved_network" msgid="7143698034077223645">"<xliff:g id="NAME">%1$s</xliff:g> тарабынан сакталды"</string>
     <string name="connected_via_network_scorer" msgid="7665725527352893558">"%1$s аркылуу автоматтык түрдө туташты"</string>
-    <string name="connected_via_network_scorer_default" msgid="7973529709744526285">"Тармактар рейтингинин автору аркылуу автоматтык түрдө туташты"</string>
+    <string name="connected_via_network_scorer_default" msgid="7973529709744526285">"Тармактар рейтингинин булагы аркылуу автоматтык түрдө туташты"</string>
     <string name="connected_via_passpoint" msgid="7735442932429075684">"%1$s аркылуу жеткиликтүү"</string>
     <string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу туташты"</string>
     <string name="available_via_passpoint" msgid="1716000261192603682">"%1$s аркылуу жеткиликтүү"</string>
@@ -146,7 +146,7 @@
     <string name="tether_settings_title_usb" msgid="3728686573430917722">"USB модем"</string>
     <string name="tether_settings_title_wifi" msgid="4803402057533895526">"Wi-Fi байланыш түйүнү"</string>
     <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Bluetooth модем"</string>
-    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Жалгаштыруу"</string>
+    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Модем режими"</string>
     <string name="tether_settings_title_all" msgid="8910259483383010470">"Модем режими"</string>
     <string name="managed_user_title" msgid="449081789742645723">"Жумуш профилинин колднмлр"</string>
     <string name="user_guest" msgid="6939192779649870792">"Конок"</string>
@@ -171,7 +171,7 @@
     <string name="tts_engine_security_warning" msgid="3372432853837988146">"Бул кепти синтездөө каражаты бардык айтыла турган текстти, анын ичинде сырсөздөр жана насыя карточкасынын номери сыяктуу жеке маалыматты, топтошу мүмкүн. Ал <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> каражатынан алынат. Бул кепти синтездөө каражаты колдонулсунбу?"</string>
     <string name="tts_engine_network_required" msgid="8722087649733906851">"Бул тилде кеп синтезаторун иштетүү үчүн Интернетке туташуу керек."</string>
     <string name="tts_default_sample_string" msgid="6388016028292967973">"Бул айтылганды синтездөөнүн мисалы"</string>
-    <string name="tts_status_title" msgid="8190784181389278640">"Абалкы тилдин абалы"</string>
+    <string name="tts_status_title" msgid="8190784181389278640">"Демейки тилдин абалы"</string>
     <string name="tts_status_ok" msgid="8583076006537547379">"<xliff:g id="LOCALE">%1$s</xliff:g> толук колдоого алынган"</string>
     <string name="tts_status_requires_network" msgid="8327617638884678896">"<xliff:g id="LOCALE">%1$s</xliff:g> желеге туташууну талап кылат"</string>
     <string name="tts_status_not_supported" msgid="2702997696245523743">"<xliff:g id="LOCALE">%1$s</xliff:g> колдоого алынган эмес"</string>
@@ -201,18 +201,18 @@
     <string name="development_settings_summary" msgid="8718917813868735095">"Колдонмо өндүрүү мүмкүнчүлүктөрүн орнотуу"</string>
     <string name="development_settings_not_available" msgid="355070198089140951">"Бул колдонуучуга өнүктүүрүүчү мүмкүнчүлүктөрү берилген эмес."</string>
     <string name="vpn_settings_not_available" msgid="2894137119965668920">"Бул колдонуучу VPN жөндөөлөрүн колдоно албайт"</string>
-    <string name="tethering_settings_not_available" msgid="266821736434699780">"Бул колдонуучу тетеринг жөндөөлөрүн колдоно албайт"</string>
+    <string name="tethering_settings_not_available" msgid="266821736434699780">"Бул колдонуучу модем режиминин жөндөөлөрүн өзгөртө албайт"</string>
     <string name="apn_settings_not_available" msgid="1147111671403342300">"Бул колдонуучу мүмкүндүк алуу түйүнүнүн аталышынын жөндөөлөрүн колдоно албайт"</string>
     <string name="enable_adb" msgid="8072776357237289039">"USB аркылуу мүчүлүштүктөрдү оңдоо"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB компьютерге сайылганда мүчүлүштүктөрдү оңдоо режими иштейт"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB аркылуу мүчүлүштүктөрдү оңдоо уруксатын артка кайтаруу"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Мүчүлүштүктөрдү зымсыз оңдоо"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоо"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi‑Fi\'га туташтырылганда мүчүлүштүктөрдү оңдоо режими"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Ката"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Мүчүлүштүктөрдү зымсыз оңдоо"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Жеткиликтүү түзмөктөрдү көрүү үчүн мүчүлүштүктөрдү зымсыз оңдоону күйгүзүңүз"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоо"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Жеткиликтүү түзмөктөрдү көрүү үчүн мүчүлүштүктөрдү Wi-Fi аркылуу оңдоону күйгүзүңүз"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR кодун колдонуп, түзмөктү жупташтырыңыз"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR кодунун сканерин колдонуп, жаңы түзмөктөрдү жупташтырыңыз"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR кодунун сканерин колдонуп, жаңы түзмөктөрдү жупташтырыңыз"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Жупташтыруучу код менен түзмөктү жупташтырыңыз"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Алты сандан турган кодду колдонуп, жаңы түзмөктөрдү жупташтырыңыз"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Жупташтырылган түзмөктөр"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Түзмөк жупташтырылган жок. QR коду туура эмес же түзмөк бир тармакка туташпай турат."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP дареги жана Оюкча"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR кодун скандоо"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR кодун скандап, түзмөктү Wi‑Fi аркылуу жупташтырыңыз"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR кодун скандап, түзмөктү Wi‑Fi аркылуу жупташтырыңыз"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi тармагына туташыңыз"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, мүчүлүштүктөрдү оңдоо, иштеп чыгуу"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Ката жөнүндө кабарлоо"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Зымсыз мониторлорду тастыктамалоо"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi дайын-даректүү журналы"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi тармактарын издөөнү жөнгө салуу"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi иштетилген MAC даректерин башаламан түзүү"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мобилдик Интернет иштей берет"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Модем режиминде аппараттын иштешин тездетүү"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Аталышсыз Bluetooth түзмөктөрү көрсөтүлсүн"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Зымсыз мониторлорду тастыктамалоо параметрлери көрүнүп турат"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi-Fi тандалганда ар бир SSID үчүн RSSI көрүнүп турат"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Батареянын коротулушун чектеп, тармактын иштешин жакшыртат"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Бул жөндөөнүн өчүрүлүшү/күйгүзүлүшү MAC даректерин башаламан түзүү тартибине кардар режиминде гана таасирин тийгизет.\nБул режим иштетилсе, MAC даректерин башаламан түзүү иштетилген бардык тармактарда байланышуу учурунда, кардар тармактан акыркы жолу качан ажыратылганына жараша, алардын MAC даректери кайрадан башаламан түзүлүшү мүмкүн. Эгер түзмөк 4 саатка жетпеген убакытта кайра туташтырылса, даректерди башаламан түзүү аракети аткарылбайт."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Трафик ченелет"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Чектелбеген тармак"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Журнал буферинин өлчөмү"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Мүмкүнчүлүккө жараша, модем режиминде аппарат тезирээк иштей баштайт"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB аркылуу жөндөөгө уруксат бересизби?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB-жөндөө - өндүрүү максатында гана  түзүлгөн. Аны компүтериңиз менен түзмөгүңүздүн ортосунда берилиштерди алмашуу, түзмөгүңүзгө колдонмолорду эскертүүсүз орнотуу жана лог берилиштерин окуу үчүн колдонсоңуз болот."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Мүчүлүштүктөрдү зымсыз оңдоого уруксат берилсинби?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Мүчүлүштүктөрдү зымсыз оңдоо – өндүрүү максатында гана түзүлгөн. Аны компьютериңиз менен түзмөгүңүздүн ортосунда маалыматты алмашуу, колдонмолорду түзмөгүңүзгө эскертүүсүз орнотуу жана маалыматтар таржымалын окуу үчүн колдонсоңуз болот."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоого уруксат берилсинби?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоо – өндүрүү максатында гана түзүлгөн. Аны компьютериңиз менен түзмөгүңүздүн ортосунда маалыматты алмашуу, колдонмолорду түзмөгүңүзгө эскертүүсүз орнотуу жана маалыматтар таржымалын окуу үчүн колдонсоңуз болот."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Сиз мурун USB жөндөөлөрүнө уруксат берген бардык компүтерлердин жеткиси жокко чыгарылсынбы?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Жөндөөлөрдү өзгөртүү"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Бул орнотуулар өндүрүүчүлөр үчүн гана берилген. Булар түзмөгүңүздүн колдонмолорун бузулушуна же туура эмес иштешине алып келиши мүмкүн."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Фондогу колдонмо жооп бербей жатат деп билдирип турат"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Билдирмелер каналынын эскертүүлөрүн көрсөтүү"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Тыюу салынган каналдын колдонмосунун жаңы билдирмелери тууралуу эскертүүлөр көрүнөт"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Жазышуу билдирмелери үчүн ыкчам баскычтарды иштетиңиз"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Жазышуу бөлүмүндө көрсөтүү үчүн билдирмелерди узак убакытка колдонулуучу ыкчам баскычтар менен колдоону талап кылыңыз"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Тышкы сактагычка сактоого уруксат берүү"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Манифест маанилерине карабастан бардык колдонмолорду тышкы сактагычка сактоого уруксат берет"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Бир нече терезе режиминде өлчөмдү өзгөртүү"</string>
@@ -428,8 +432,8 @@
     <skip />
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) кийин өчөт"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME">%1$s</xliff:g> кийин өчөт"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Болжол менен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) кийин өчөт"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Болжол менен <xliff:g id="TIME">%1$s</xliff:g> кийин өчөт"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Болжол менен саат <xliff:g id="TIME">%1$s</xliff:g> өчөт, (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Болжол менен саат <xliff:g id="TIME">%1$s</xliff:g> өчөт"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g> чейин"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Батарея <xliff:g id="TIME">%1$s</xliff:g> отуруп калышы мүмкүн"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"<xliff:g id="THRESHOLD">%1$s</xliff:g> жетпеген убакыт калды"</string>
@@ -505,7 +509,7 @@
     <string name="zen_mode_duration_settings_title" msgid="1553451650289651489">"Узактыгы"</string>
     <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Ар дайым суралсын"</string>
     <string name="zen_mode_forever" msgid="3339224497605461291">"Бул функция өчүрүлгөнгө чейин"</string>
-    <string name="time_unit_just_now" msgid="3006134267292728099">"Азыр эле"</string>
+    <string name="time_unit_just_now" msgid="3006134267292728099">"Жаңы эле"</string>
     <string name="media_transfer_this_device_name" msgid="2716555073132169240">"Телефондун динамиги"</string>
     <string name="profile_connect_timeout_subtext" msgid="4043408193005851761">"Туташууда маселе келип чыкты. Түзмөктү өчүрүп, кайра күйгүзүп көрүңүз"</string>
     <string name="media_transfer_wired_device_name" msgid="4447880899964056007">"Зымдуу аудио түзмөк"</string>
@@ -532,7 +536,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"Эгер түзмөгүңүздү дагы бир адам колдонуп жаткан болсо, кошумча профилдерди түзүп коюңуз. Профилдин ээси аны өзү каалагандай жөндөп, тушкагаздарды коюп, керектүү колдонмолорду орнотуп алат. Мындан тышкары, колдонуучулар түзмөктүн Wi‑Fi´ды өчүрүү/күйгүзүү сыяктуу жалпы жөндөөлөрүн өзгөртө алат.\n\nПрофиль түзүлгөндөн кийин, аны жөндөп алуу керек.\n\nЖалпы колдонмолорду баары жаңырта алат, бирок атайын мүмкүнчүлүктөр өз-өзүнчө жөндөлөт."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Жаңы колдонуучу кошулганда, ал өз мейкиндигин түзүп алышы керек.\n\nКолдонмолорду бир колдонуучу жаңыртканда, ал калган бардык колдонуучулар үчүн да жаңырат."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Профилди жөндөйсүзбү?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Өз мейкиндигин жөндөп алышы үчүн түзмөктү колдонуучуга беришиңиз керек."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Өз мейкиндигин жөндөп алышы үчүн, түзмөктү колдонуучуга беришиңиз керек."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Профайл азыр түзүлсүнбү?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Азыр түзүү"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Азыр эмес"</string>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index 58c8c39..5d4efe2 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ການດີບັກໄຮ້ສາຍ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ເພື່ອເບິ່ງ ແລະ ໃຊ້ອຸປະກອນທີ່ມີຢູ່, ກະລຸນາເປີດການດີບັກໄຮ້ສາຍ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"ຈັບຄູ່ອຸປະກອນດ້ວຍລະຫັດ QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"ຈັບຄູ່ອຸປະກອນໃໝ່ໂດຍໃຊ້ຕົວສະແກນລະຫັດ QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"ຈັບຄູ່ອຸປະກອນໃໝ່ໂດຍໃຊ້ຕົວສະແກນລະຫັດ QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ຈັບຄູ່ອຸປະກອນໂດຍໃຊ້ລະຫັດການຈັບຄູ່"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ຈັບຄູ່ອຸປະກອນໃໝ່ໂດຍໃຊ້ລະຫັດຫົກຕົວເລກ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ອຸປະກອນທີ່ຈັບຄູ່ແລ້ວ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ຈັບຄູ່ອຸປະກອນບໍ່ສຳເລັດ. ລະຫັດ QR ບໍ່ຖືກຕ້ອງ ຫຼື ອຸປະກອນບໍ່ໄດ້ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍດຽວກັນ."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"ທີ່ຢູ່ IP ແລະ ຜອດ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"ສະແກນລະຫັດ QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"ຈັບຄູ່ອຸປະກອນຜ່ານ Wi‑Fi ໂດຍການສະແກນລະຫັດ QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"ຈັບຄູ່ອຸປະກອນຜ່ານ Wi‑Fi ໂດຍການສະແກນລະຫັດ QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"ກະ​ລຸ​ນາ​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອ​ຂ່າຍ Wi​-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ທາງ​ລັດລ​າຍງານ​ຂໍ້​ຜິດພາດ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ສະແດງການຮັບຮອງຂອງລະບົບໄຮ້ສາຍ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"​ເປີດ​ນຳ​ໃຊ້ການ​ເກັບ​ປະ​ຫວັດ​ Verbose Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ການຈຳກັດການສະແກນ Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"ການສຸ່ມ MAC ສຳລັບ Wi‑Fi ແບບປັບປຸງແລ້ວ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ເປີດໃຊ້ອິນເຕີເນັດມືຖືຕະຫຼອດເວລາ"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ເປີດໃຊ້ການເລັ່ງຄວາມໄວດ້ວຍຮາດແວ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"ສະແດງອຸປະກອນ Bluetooth ທີ່ບໍ່ມີຊື່"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ສະແດງໂຕເລືອກສຳລັບການສະແດງການຮັບຮອງລະບົບໄຮ້ສາຍ"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"ເພີ່ມ​ລະ​ດັບ​ການ​ເກັບ​ປະ​ຫວັດ Wi‑Fi, ສະ​ແດງ​ຕໍ່ SSID RSSI ​ໃນ​ Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ຫຼຸດການໃຊ້ແບັດເຕີຣີ ແລະ ປັບປຸງປະສິດທິພາບເຄືອຂ່າຍ"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ການເປີດ/ປິດນີ້ຈະມີຜົນກັບພຶດຕິກຳການສຸ່ມ MAC ສຳລັບໂໝດລູກຂ່າຍເທົ່ານັ້ນ.\nເມື່ອເປີດໃຊ້ໂໝດນີ້, ເຄືອຂ່າຍໃດກໍຕາມທີ່ເປີດການນຳໃຊ້ການສຸ່ມ MAC ອາດສຸ່ມທີ່ຢູ່ MAC ຂອງເຂົາເຈົ້າຄືນໃໝ່ໃນລະຫວ່າງການເຊື່ອມໂຍງ, ຂຶ້ນກັບວ່າລູກຂ່າຍຕັດການເຊື່ອມຕໍ່ຈາກເຄືອຂ່າຍຫຼ້າສຸດຕອນໃດ. ການສຸ່ມໃໝ່ຈະບໍ່ເກີດຂຶ້ນຫາກອຸປະກອນເຊື່ອມຕໍ່ຄືນໃໝ່ພາຍໃນ 4 ຊົ່ວໂມງ ຫຼື ໜ້ອຍກວ່ານັ້ນ."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"ມີການວັດແທກ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ບໍ່ໄດ້ວັດແທກ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ຂະໜາດບັບເຟີຕົວບັນທຶກ"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ສະແດງກ່ອງຂໍ້ຄວາມບໍ່ຕອບສະໜອງແອັບສຳລັບແອັບພື້ນຫຼັງ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ສະແດງຄຳເຕືອນຊ່ອງການແຈ້ງເຕືອນ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ສະແດງຄຳເຕືອນໃນໜ້າຈໍເມື່ອແອັບໂພສການແຈ້ງເຕືອນໂດຍບໍ່ມີຊ່ອງທີ່ຖືກຕ້ອງ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ບັງຄັບໃຊ້ທາງລັດສຳລັບການແຈ້ງເຕືອນການສົນທະນາ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ຕ້ອງໃຊ້ການແຈ້ງເຕືອນເພື່ອຮັບການສະໜັບສະໜຸນໂດຍທາງລັດການແບ່ງປັນທີ່ຢູ່ດົນເພື່ອໃຫ້ປາກົດໃນພາກສ່ວນການສົນທະນາ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ບັງຄັບອະນຸຍາດແອັບ​ຢູ່​ພາຍນອກ"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ເຮັດໃຫ້ທຸກແອັບມີສິດໄດ້ຮັບການຂຽນໃສ່ພື້ນທີ່ຈັດເກັບຂໍ້ມູນພາຍນອກ, ໂດຍບໍ່ຄຳນຶງເຖິງຄ່າ manifest"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ບັງ​ຄັງ​ໃຫ້​ການ​ເຄື່ອນ​ໄຫວ​ປ່ຽນ​ຂະ​ໜາດ​ໄດ້"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index 94800ea..e2ccc3a 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Belaidžio ryšio derinimas"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Jei norite peržiūrėti ir naudoti pasiekiamus įrenginius, įjunkite belaidžio ryšio derinimą"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Įrenginio susiejimas naudojant QR kodą"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Susiekite naujus įrenginius naudodami QR kodų skaitytuvą"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Susiekite naujus įrenginius naudodami QR kodų skaitytuvą"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Įrenginio susiejimas naudojant susiejimo kodą"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Susiekite naujus įrenginius naudodami šešių skaitmenų kodą"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Susieti įrenginiai"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Nepavyko susieti įrenginio. Netinkamas QR kodas arba įrenginys neprijungtas prie to paties tinklo."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresas ir prievadas"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR kodo nuskaitymas"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Susiekite įrenginį „Wi‑Fi“ ryšiu nuskaitydami QR kodą"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Susiekite įrenginį „Wi‑Fi“ ryšiu nuskaitydami QR kodą"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Prisijunkite prie „Wi-Fi“ tinklo"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, derinti, kūrėjas"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Pranešimo apie riktą spartusis klavišas"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Belaidžio rodymo sertifikavimas"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Įgal. „Wi‑Fi“ daugiaž. įraš. į žurnalą"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"„Wi‑Fi“ nuskaitymo ribojimas"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"„Wi‑Fi“ patob. atsit. MAC adr. parink."</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobiliojo ryšio duomenys visada suaktyvinti"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Įrenginio kaip modemo naudojimo aparatinės įrangos spartinimas"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Rodyti „Bluetooth“ įrenginius be pavadinimų"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Rodyti belaidžio rodymo sertifikavimo parinktis"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Padidinti „Wi‑Fi“ įrašymo į žurnalą lygį, rodyti SSID RSSI „Wi-Fi“ rinkiklyje"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Sumažinamas akumuliatoriaus eikvojimas ir patobulinamas tinklo našumas"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Perjungiamas tik atsitiktinis MAC adreso parinkimas dirbant kliento režimu.\nKai suaktyvintas šis režimas, visuose tinkluose, kuriuose įgalintas atsitiktinis MAC adreso parinkimas, susiejant šie adresai gali būti atsitiktinai parenkami iš naujo, atsižvelgiant į tai, kada klientas paskutinį kartą atsijungė nuo tinklo. Atsitiktinis MAC adreso parinkimas nevykdomas iš naujo, jei įrenginys vėl prisijungia ne daugiau nei po keturių valandų."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Matuojamas"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Neišmatuotas"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Registruotuvo buferio dydžiai"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Foninėse programose rodyti dialogo langą „Programa neatsako“"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Rodyti pran. kan. įspėj."</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Ekr. rod. įsp., kai progr. pask. pr. be tink. kan."</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Nustatyti pokalbio pranešimų šaukinius"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kad pranešimai būtų rodomi pokalbių skiltyje, būtinas ilgalaikis jų bendrinimo šaukinys"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Priverstinai leisti programas išorinėje atmintin."</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Nustatoma, kad visas programas būtų galima įrašyti į išorinę saugyklą, nepaisant aprašo verčių"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Priv. nust., kad veiksm. b. g. atl. kelių d. lang."</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index d7816aa..64368b7 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bezvadu atkļūdošana"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Lai skatītu un izmantotu pieejamās ierīces, ieslēdziet bezvadu atkļūdošanu."</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Ierīču savienošana pārī, izmantojot QR kodu"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Savienot pārī jaunas ierīces, izmantojot QR koda skeneri"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Savienot pārī jaunas ierīces, izmantojot QR koda skeneri"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Ierīču savienošana pārī, izmantojot kodu"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Savienojiet pārī jaunas ierīces, izmantojot sešu ciparu kodu"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Pārī savienotās ierīces"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Neizdevās izveidot savienojumu pārī ar ierīci. QR kods nebija pareizs, vai ierīcei nebija izveidots savienojums ar to pašu tīklu."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adrese un ports"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR koda skenēšana"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Izveidojiet savienojumu pārī ar ierīci Wi‑Fi tīklā, skenējot QR kodu."</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Izveidojiet savienojumu pārī ar ierīci Wi‑Fi tīklā, skenējot QR kodu."</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Lūdzu, izveidojiet savienojumu ar Wi-Fi tīklu"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, atkļūdošana, izstrādātājiem"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Kļūdu pārskata saīsne"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Bezvadu attēlošanas sertifikācija"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Iespējot Wi‑Fi detalizēto reģistrēšanu"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi meklēšanas ierobežošana"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC adrešu nejauša izveide ar Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Vienmēr aktīvs mobilo datu savienojums"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Paātrināta aparatūras darbība piesaistei"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Rādīt Bluetooth ierīces bez nosaukumiem"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Rādīt bezvadu attēlošanas sertifikācijas iespējas"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Palieliniet Wi‑Fi reģistrēšanas līmeni; rādīt katram SSID RSSI Wi‑Fi atlasītājā."</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Samazina akumulatora izlādi un uzlabo tīkla veiktspēju"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Šis slēdzis ietekmē MAC adrešu nejaušas izveides darbību tikai klienta režīmā.\nJa šis režīms ir aktivizēts, visos tīklos, kuros MAC adrešu nejauša izveide ir iespējota, saistīšanas laikā MAC adreses var tikt atkārtoti nejauši izveidotas atkarībā no tā, kad klients pēdējoreiz pārtrauca savienojumu ar tīklu. Atkārtota nejauša izveide netiek veikta, ja ierīces savienojums tiek atjaunots ne vairāk kā 4 stundu laikā."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Maksas"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Bezmaksas"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Reģistrētāja buferu lielumi"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Rādīt fona lietotņu dialoglodziņu Lietotne nereaģē"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Paziņojumu kanāla brīdinājumi"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Brīdinājums ekrānā, kad lietotne publicē paziņojumu, nenorādot derīgu kanālu"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Ieviest saīsnes sarunu paziņojumiem"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Pieprasīt izmantot paziņojumiem ilgstošas darbības kopīgošanas saīsni rādīšanai sarunu sadaļā"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Lietotņu piespiedu atļaušana ārējā krātuvē"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Ļauj jebkuru lietotni ierakstīt ārējā krātuvē neatkarīgi no manifesta vērtības."</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Pielāgot darbības"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index 754c3a0..e285abd 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -23,7 +23,7 @@
     <string name="wifi_fail_to_scan" msgid="2333336097603822490">"Не може да скенира за мрежи"</string>
     <string name="wifi_security_none" msgid="7392696451280611452">"Ниедна"</string>
     <string name="wifi_remembered" msgid="3266709779723179188">"Зачувано"</string>
-    <string name="wifi_disconnected" msgid="7054450256284661757">"Исклучен"</string>
+    <string name="wifi_disconnected" msgid="7054450256284661757">"Прекината врска"</string>
     <string name="wifi_disabled_generic" msgid="2651916945380294607">"Оневозможено"</string>
     <string name="wifi_disabled_network_failure" msgid="2660396183242399585">"Конфигурирањето ИП не успеа"</string>
     <string name="wifi_disabled_by_recommendation_provider" msgid="1302938248432705534">"Не е поврзано поради нискиот квалитет на мрежата"</string>
@@ -37,7 +37,7 @@
     <string name="wifi_no_internet" msgid="1774198889176926299">"Нема пристап до интернет"</string>
     <string name="saved_network" msgid="7143698034077223645">"Зачувано од <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="connected_via_network_scorer" msgid="7665725527352893558">"Автоматски поврзано преку %1$s"</string>
-    <string name="connected_via_network_scorer_default" msgid="7973529709744526285">"Автоматски поврзано преку оператор за оценување мрежа"</string>
+    <string name="connected_via_network_scorer_default" msgid="7973529709744526285">"Автоматски поврзано преку оценувач на мрежа"</string>
     <string name="connected_via_passpoint" msgid="7735442932429075684">"Поврзано преку %1$s"</string>
     <string name="connected_via_app" msgid="3532267661404276584">"Поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="available_via_passpoint" msgid="1716000261192603682">"Достапно преку %1$s"</string>
@@ -143,10 +143,10 @@
     <string name="data_usage_uninstalled_apps" msgid="1933665711856171491">"Отстранети апликации"</string>
     <string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"Отстранети апликации и корисници"</string>
     <string name="data_usage_ota" msgid="7984667793701597001">"Ажурирања на системот"</string>
-    <string name="tether_settings_title_usb" msgid="3728686573430917722">"Поврзување со USB"</string>
+    <string name="tether_settings_title_usb" msgid="3728686573430917722">"Интернет преку USB"</string>
     <string name="tether_settings_title_wifi" msgid="4803402057533895526">"Преносл. точка на пристап"</string>
-    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Поврзување со Bluetooth"</string>
-    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Поврзување"</string>
+    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Интернет преку Bluetooth"</string>
+    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Врзување"</string>
     <string name="tether_settings_title_all" msgid="8910259483383010470">"Поврзување и пренослива точка на пристап"</string>
     <string name="managed_user_title" msgid="449081789742645723">"Сите апликации за работа"</string>
     <string name="user_guest" msgid="6939192779649870792">"Гостин"</string>
@@ -161,7 +161,7 @@
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Интензитет"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"Влијае на тонот на синтетизираниот говор"</string>
     <string name="tts_default_lang_title" msgid="4698933575028098940">"Јазик"</string>
-    <string name="tts_lang_use_system" msgid="6312945299804012406">"Користете системски јазик"</string>
+    <string name="tts_lang_use_system" msgid="6312945299804012406">"Користи системски јазик"</string>
     <string name="tts_lang_not_selected" msgid="7927823081096056147">"Јазикот не е избран"</string>
     <string name="tts_default_lang_summary" msgid="9042620014800063470">"Поставува глас специфичен за јазикот за говорниот текст"</string>
     <string name="tts_play_example_title" msgid="1599468547216481684">"Слушни пример"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Безжично отстранување грешки"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"За да ги гледате и користите достапните уреди, вклучете го безжичното отстранување грешки"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Спарете уред преку QR-код"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Спарете нови уреди преку скенер за QR-код"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Спарете нови уреди преку скенер за QR-код"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Спарете уред преку код за спарување"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Спарете нови уреди преку шестцифрен код"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Спарени уреди"</string>
@@ -231,8 +231,8 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Уредот не успеа да се спари. Или QR-кодот беше погрешен или уредот не е поврзан на истата мрежа."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-адреса и порта"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Скенирајте QR-код"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Спарете го уредот преку Wi‑Fi со скенирање QR-код"</string>
-    <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Поврзете се на Wi-Fi-мрежа"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Спарете го уредот преку Wi‑Fi со скенирање QR-код"</string>
+    <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Поврзете се на Wi-Fi мрежа"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, отстранува грешка, програмер"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Кратенка за извештај за грешка"</string>
     <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Прикажи копче во менито за вклучување за да се направи извештај за грешка"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Приказ на сертификација на безжична мрежа"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Овозможи преопширно пријавување Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Регулирање на скенирањето за Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Рандомизација на MAC подобрена со Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мобилниот интернет е секогаш активен"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Хардверско забрзување за врзување"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Прикажувај уреди со Bluetooth без имиња"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Покажи ги опциите за безжичен приказ на сертификат"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Зголеми Wi‑Fi ниво на пријавување, прикажи по SSID RSSI во Wi‑Fi бирач"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Го намалува искористувањето на батеријата и ја подобрува изведбата на мрежата"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Овој прекинувач влијае на однесувањето на рандомизацијата на MAC само за клиентски режим.\nКога е активиран режимов, можно е да се изврши повторна рандомизација на MAC-адресите на сите мрежи што имаат овозможена рандомизација на MAC за време на асоцијацијата, зависно од тоа кога клиентот последен пат се исклучил од мрежата. Повторната рандомизација не се случува ако уредот се поврзе повторно во рок од 4 часа или помалку."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Со ограничен интернет"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Без ограничен интернет"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Величини на меѓумеморија за дневникот"</string>
@@ -301,7 +303,7 @@
     <string name="adb_warning_title" msgid="7708653449506485728">"Овозможи отстранување грешки на USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Отстранувањето грешки на USB е наменето само за целите на развој. Користете го за копирање податоци меѓу вашиот компјутер и вашиот уред, за инсталирање апликации на вашиот уред без известување и за читање евиденција на податоци."</string>
     <string name="adbwifi_warning_title" msgid="727104571653031865">"Да се дозволи безжично отстранување грешки?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Безжичното отстранување грешки е наменето само за развојни цели. Користете го за копирање податоци помеѓу компјутерот и уредот, за инсталирање апликации на уредот без известување и за читање податоци од евиденцијата."</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Безжичното отстранување грешки е наменето само за програмирање. Користете го за копирање податоци помеѓу компјутерот и уредот, за инсталирање апликации на уредот без известување и за читање податоци од евиденцијата."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Отповикај пристап кон отстранување грешка од USB од сите претходно овластени компјутери?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Дозволи поставки за развој?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Овие поставки се наменети само за употреба за развој. Тие може да предизвикаат уредот и апликациите во него да се расипат или да се однесуваат необично."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Прикажи го дијалогот „Апликацијата не реагира“ за апликации во заднина"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Прикажи ги предупредувањата на каналот за известувањe"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Предупредува кога апликација дава известување без важечки канал"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Кратенки за известувањата"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Известувања со долготрајна кратенка за споделување"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Принуд. дозволете апликации на надворешна меморија"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Прави секоја апликација да биде подобна за запишување на надворешна меморија, независно од вредностите на манифестот"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Принуди ги активностите да ја менуваат големината"</string>
@@ -483,7 +487,7 @@
     <string name="ims_reg_title" msgid="8197592958123671062">"Состојба на IMS-регистрација"</string>
     <string name="ims_reg_status_registered" msgid="884916398194885457">"Регистриран"</string>
     <string name="ims_reg_status_not_registered" msgid="2989287366045704694">"Не е регистриран"</string>
-    <string name="status_unavailable" msgid="5279036186589861608">"Недостапен"</string>
+    <string name="status_unavailable" msgid="5279036186589861608">"Недостапно"</string>
     <string name="wifi_status_mac_randomized" msgid="466382542497832189">"MAC-адресата е рандомизирана"</string>
     <plurals name="wifi_tether_connected_summary" formatted="false" msgid="6317236306047306139">
       <item quantity="one">Поврзан е %1$d уред</item>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Корисник"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Ограничен профил"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Да се додаде нов корисник?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Уредов може да го споделувате со други лица преку создавање дополнителни корисници. Секој корисник има сопствен простор што може да го приспособува со апликации, тапети и слично. Корисниците може да приспособуваат и поставки на уредот, како на пр., Wi‑Fi, што се однесуваат на сите.\n\nКога додавате нов корисник, тоа лице треба да го постави својот простор.\n\nСекој корисник може да ажурира апликации за сите други корисници. Поставките и услугите за пристапност не може да се префрлат на новиот корисник."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Уредов може да го споделувате со други лица ако додадете дополнителни корисници. Секој корисник има сопствен простор што може да го приспособува со апликации, тапети и слично. Корисниците може да приспособуваат и поставки за уредот, како на пр., Wi‑Fi, што важат за сите.\n\nКога додавате нов корисник, тоа лице треба да го постави својот простор.\n\nСекој корисник може да ажурира апликации за сите други корисници. Поставките и услугите за пристапност не може да се префрлат на новиот корисник."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Кога додавате нов корисник, тоа лице треба да го постави својот простор.\n\nСекој корисник може да ажурира апликации за сите други корисници."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Ќе поставите корисник сега?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Проверете дали лицето е достапно да го земе уредот и да го постави својот простор"</string>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index c593bee..7ab2bbb 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -194,7 +194,7 @@
     <item msgid="581904787661470707">"ഏറ്റവും വേഗത്തിൽ"</item>
   </string-array>
     <string name="choose_profile" msgid="343803890897657450">"പ്രൊഫൈൽ തിരഞ്ഞെടുക്കുക"</string>
-    <string name="category_personal" msgid="6236798763159385225">"വ്യക്തിഗതം"</string>
+    <string name="category_personal" msgid="6236798763159385225">"വ്യക്തിപരം"</string>
     <string name="category_work" msgid="4014193632325996115">"ഔദ്യോഗികം"</string>
     <string name="development_settings_title" msgid="140296922921597393">"ഡെവലപ്പർ ഓ‌പ്ഷനുകൾ"</string>
     <string name="development_settings_enable" msgid="4285094651288242183">"ഡെവലപ്പർ ഓ‌പ്ഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB ഡീബഗ്ഗിംഗ്"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB കണ‌ക്റ്റുചെയ്‌തിരിക്കുമ്പോഴുള്ള ഡീബഗ് മോഡ്"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB ഡീബഗ്ഗിംഗ് അംഗീകാരം പിൻവലിക്കുക"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"വയർലെസ് ഡീബഗ് ചെയ്യൽ"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"വയർലെസ് ഡീബഗ്ഗിംഗ്"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"വൈഫൈ കണക്റ്റ് ചെയ്‌തിരിക്കുമ്പോൾ ഡീബഗ് ചെയ്യൽ മോഡിലാക്കുക"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"പിശക്"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"വയർലെസ് ഡീബഗ് ചെയ്യൽ"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ലഭ്യമായ ഉപകരണങ്ങൾ കാണാനും ഉപയോഗിക്കാനും വയർലെസ് ഡീബഗ് ചെയ്യൽ ഓണാക്കുക"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"വയർലെസ് ഡീബഗ്ഗിംഗ്"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ലഭ്യമായ ഉപകരണങ്ങൾ കാണാനും ഉപയോഗിക്കാനും വയർലെസ് ഡീബഗ്ഗിംഗ് ഓണാക്കുക"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR കോഡ് ഉപയോഗിച്ച് ഉപകരണം ജോടിയാക്കുക"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR കോഡ് സ്‌കാനർ ഉപയോഗിച്ച് പുതിയ ഉപകരണങ്ങൾ ജോടിയാക്കുക"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR കോഡ് സ്‌കാനർ ഉപയോഗിച്ച് പുതിയ ഉപകരണങ്ങൾ ജോടിയാക്കുക"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ജോടിയാക്കൽ കോഡ് ഉപയോഗിച്ച് ഉപകരണം ജോടിയാക്കുക"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ആറക്ക കോഡ് ഉപയോഗിച്ച് പുതിയ ഉപകരണങ്ങൾ ജോടിയാക്കുക"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ജോടിയാക്കിയ ഉപകരണങ്ങൾ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ഉപകരണം ജോടിയാക്കാനായില്ല. ഒന്നുകിൽ QR കോഡ് തെറ്റായിരുന്നു അല്ലെങ്കിൽ ഉപകരണം ഒരേ നെറ്റ്‌വർക്കിൽ അല്ല കണക്റ്റ് ചെയ്‌തിട്ടുള്ളത്."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP വിലാസവും പോർട്ടും"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR കോഡ് സ്‌കാൻ ചെയ്യുക"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR കോഡ് സ്‌കാൻ ചെയ്‌ത് വൈഫൈയിലൂടെ ഉപകരണം ജോടിയാക്കുക"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR കോഡ് സ്‌കാൻ ചെയ്‌ത് വൈഫൈയിലൂടെ ഉപകരണം ജോടിയാക്കുക"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"ഒരു വൈഫൈ നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ബഗ് റിപ്പോർട്ട് കുറുക്കുവഴി"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"വയർലെസ് ഡിസ്‌പ്ലേ സർട്ടിഫിക്കേഷൻ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"വൈഫൈ വെർബോസ് ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"വൈഫൈ സ്‌കാൻ പ്രവർത്തനരഹിതമാക്കുന്നു"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"വൈഫൈ മെച്ചപ്പെടുത്തിയ MAC ക്രമരഹിതമാക്കൽ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"മൊബൈൽ ഡാറ്റ എല്ലായ്‌പ്പോഴും സജീവം"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ടെതറിംഗ് ഹാർഡ്‌വെയർ ത്വരിതപ്പെടുത്തൽ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"പേരില്ലാത്ത Bluetooth ഉപകരണങ്ങൾ കാണിക്കുക"</string>
@@ -277,13 +278,14 @@
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"സ്വകാര്യ DNS മോഡ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"ഓഫ്"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"സ്വയമേവ"</string>
-    <string name="private_dns_mode_provider" msgid="3619040641762557028">"സ്വകാര്യ DNS ദാതാവിന്‍റെ ഹോസ്റ്റുനാമം"</string>
-    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS ദാതാവിന്‍റെ ഹോസ്റ്റുനാമം നൽകുക"</string>
+    <string name="private_dns_mode_provider" msgid="3619040641762557028">"സ്വകാര്യ DNS ദാതാവിന്‍റെ ഹോസ്റ്റ് നാമം"</string>
+    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS ദാതാവിന്‍റെ ഹോസ്റ്റ് നാമം നൽകുക"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"കണക്റ്റ് ചെയ്യാനായില്ല"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"വയർലെസ് ഡിസ്‌പ്ലേ സർട്ടിഫിക്കേഷനായി ഓപ്‌ഷനുകൾ ദൃശ്യമാക്കുക"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"വൈഫൈ പിക്കറിൽ ഓരോ SSID RSSI പ്രകാരം കാണിക്കാൻ വൈഫൈ ലോഗിംഗ് നില വർദ്ധിപ്പിക്കുക"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ബാറ്ററി ചാർജ് വേഗത്തിൽ തീരുന്ന അവസ്ഥ കുറച്ച് നെറ്റ്‌വർക്ക് പ്രകടനം മെച്ചപ്പെടുത്തുന്നു"</string>
-    <string name="wifi_metered_label" msgid="8737187690304098638">"മീറ്റർചെയ്ത"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ഈ മാറ്റം ക്ലയന്റ് മോഡിലെ MAC ക്രമരഹിതമാക്കൽ പ്രവർത്തനരീതിയെ മാത്രമേ ബാധിക്കുകയുള്ളൂ.\nഈ മോഡ് സജീവമാക്കിക്കഴിഞ്ഞാൽ, MAC ക്രമരഹിതമാക്കൽ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്ന എല്ലാ നെറ്റ്‌വർക്കുകളിലും അസോസിയേഷൻ സമയത്ത്, ക്ലയന്റ് അവസാനമായി നെറ്റ്‌വർക്കിൽ നിന്ന് വിച്‌ഛേദിച്ച സമയത്തിന്റെ അടിസ്ഥാനത്തിൽ അവരുടെ MAC വിലാസങ്ങൾ വീണ്ടും ക്രമരഹിതമാക്കപ്പെടും. നാല് മണിക്കൂറോ അതിൽ കുറവ് സമയത്തിനുള്ളിലോ ഉപകരണം വീണ്ടും കണക്‌റ്റ് ചെയ്യുന്നില്ലെങ്കിൽ വീണ്ടും ക്രമരഹിതമാക്കൽ സംഭവിക്കില്ല."</string>
+    <string name="wifi_metered_label" msgid="8737187690304098638">"മീറ്റർ ചെയ്തത്"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"മീറ്റർമാപകമല്ലാത്തത്"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ലോഗർ ബഫർ വലുപ്പം"</string>
     <string name="select_logd_size_dialog_title" msgid="2105401994681013578">"ഓരോ ലോഗ് ബഫറിനും വലുപ്പം തിരഞ്ഞെടുക്കൂ"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"ലഭ്യമാണെങ്കിൽ \'ടെതറിംഗ് ഹാർഡ്‌വെയർ ത്വരിതപ്പെടുത്തൽ\' ഉപയോഗിക്കുക"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB ഡീബഗ്ഗുചെയ്യാൻ അനുവദിക്കണോ?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB ഡീബഗ്ഗിംഗ് വികസന ആവശ്യകതകൾക്ക് മാത്രമുള്ളതാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടറിനും ഉപകരണത്തിനുമിടയിൽ ഡാറ്റ പകർത്തുന്നതിനും അറിയിപ്പില്ലാതെ തന്നെ നിങ്ങളുടെ ഉപകരണത്തിൽ അപ്ലിക്കേഷനുകൾ ഇൻസ്‌റ്റാളുചെയ്യുന്നതിനും ലോഗ് ഡാറ്റ റീഡുചെയ്യുന്നതിനും ഇത് ഉപയോഗിക്കുക."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"വയർലെസ് ഡീബഗ് ചെയ്യൽ അനുവദിക്കണോ?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"വയർലെസ് ഡീബഗ് ചെയ്യൽ ഡെവലപ്മെന്റ് ആവശ്യങ്ങൾക്ക് മാത്രമുള്ളതാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ നിന്ന് ഉപകരണത്തിലേക്കും തിരിച്ചും ഡാറ്റ പകർത്തുന്നതിനും ലോഗ് ഡാറ്റ റീഡ് ചെയ്യുന്നതിനും അറിയിപ്പില്ലാതെ നിങ്ങളുടെ ഉപകരണത്തിൽ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും ഇത് ഉപയോഗിക്കുക."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"വയർലെസ് ഡീബഗ്ഗിംഗ് അനുവദിക്കണോ?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"വയർലെസ് ഡീബഗ്ഗിംഗ് ഡെവലപ്മെന്റ് ആവശ്യങ്ങൾക്ക് മാത്രമുള്ളതാണ്. നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ നിന്ന് ഉപകരണത്തിലേക്കും തിരിച്ചും ഡാറ്റ പകർത്തുന്നതിനും അറിയിപ്പില്ലാതെ തന്നെ നിങ്ങളുടെ ഉപകരണത്തിൽ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും ലോഗ് ഡാറ്റ റീഡ് ചെയ്യുന്നതിനും ഇത് ഉപയോഗിക്കുക."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"നിങ്ങൾ മുമ്പ് അംഗീകരിച്ച എല്ലാ കമ്പ്യൂട്ടറുകളിൽ നിന്നും USB ഡീബഗ്ഗുചെയ്യുന്നതിനുള്ള ആക്‌സസ്സ് പിൻവലിക്കണോ?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"വികസന ക്രമീകരണങ്ങൾ അനുവദിക്കണോ?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"ഈ ക്രമീകരണങ്ങൾ വികസന ഉപയോഗത്തിന് മാത്രമായുള്ളതാണ്. അവ നിങ്ങളുടെ ഉപകരണവും അതിലെ അപ്ലിക്കേഷനുകളും തകരാറിലാക്കുന്നതിനോ തെറ്റായി പ്രവർത്തിക്കുന്നതിനോ ഇടയാക്കാം."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"പ‌ശ്ചാത്തല ആപ്പുകൾക്കായി \'ആപ്പ് പ്രതികരിക്കുന്നില്ല\' ഡയലോഗ് പ്രദര്‍ശിപ്പിക്കുക"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ചാനൽ മുന്നറിയിപ്പ് കാണിക്കൂ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"സാധുതയുള്ള ചാനലിൽ അല്ലാതെ ഒരു ആപ്പ്, അറിയിപ്പ് പോസ്റ്റ് ചെയ്യുമ്പോൾ ഓൺ-സ്‌ക്രീൻ മുന്നറിയിപ്പ് ‌പ്രദർശിപ്പിക്കുന്നു"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"സംഭാഷണ അറിയിപ്പിലേക്ക് കുറുക്കുവഴികൾ നടപ്പിലാക്കൂ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"സംഭാഷണ വിഭാഗത്തിൽ ദൃശ്യമാകാൻ അറിയിപ്പുകൾ ദീർഘകാലമായി പങ്കിടൽ കുറുക്കുവഴി പിന്തുടരണം"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ബാഹ്യമായതിൽ നിർബന്ധിച്ച് അനുവദിക്കുക"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"മാനിഫെസ്റ്റ് മൂല്യങ്ങൾ പരിഗണിക്കാതെ, ബാഹ്യ സ്റ്റോറേജിലേക്ക് എഴുതപ്പെടുന്നതിന് ഏതൊരു ആപ്പിനെയും യോഗ്യമാക്കുന്നു"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"വലുപ്പം മാറ്റാൻ പ്രവർത്തനങ്ങളെ നിർബന്ധിക്കുക"</string>
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index d3e41f7..7ed1078 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB дебаг"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB холбодсон үеийн согог засах горим"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB дебагын зөвшөөрлийг хураах"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Утасгүй алдаа засах"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Wireless debugging"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi-Fi холбогдсон үед дебаг хийх горим"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Алдаа"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Утасгүй алдаа засах"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Боломжтой төхөөрөмжүүдийг харах болох ашиглахын тулд утасгүй алдаа засахыг асаана уу"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless debugging"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Боломжтой төхөөрөмжүүдийг харах болох ашиглахын тулд wireless debugging-г асаана уу"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Хурдан хариу үйлдлийн кодоор төхөөрөмжийг хослуул"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Хурдан хариу үйлдлийн кодын сканнерыг ашиглан шинэ төхөөрөмжүүдийг хослуулна уу"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Хурдан хариу үйлдлийн кодын сканнер ашиглан шинэ төхөөрөмжүүдийг хослуулна уу"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Хослуулах кодоор төхөөрөмжийг хослуулна уу"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Зургаан оронтой кодыг ашиглан шинэ төхөөрөмжүүдийг хослуулна уу"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Хослуулсан төхөөрөмжүүд"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Төхөөрөмжийг хослуулж чадсангүй. Хурдан хариу үйлдлийн код буруу эсвэл төхөөрөмжийг ижил сүлжээнд холбоогүй байна."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP хаяг ба порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Хурдан хариу үйлдлийн кодыг скан хийх"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Хурдан хариу үйлдлийн кодыг скан хийж Wi-Fi-р төхөөрөмжийг хослуулна уу"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Хурдан хариу үйлдлийн кодыг скан хийж Wi-Fi-р төхөөрөмжийг хослуулна уу"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi сүлжээнд холбогдоно уу"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, дебаг хийх, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Алдаа мэдээлэх товчлол"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Утасгүй дэлгэцийн сертификат"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi дэлгэрэнгүй лог-г идэвхжүүлэх"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi скан бууруулалт"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC-г санамсаргүй байдлаар Wi‑Fi‑н сайжруулалттай эмхлэх"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мобайл дата байнга идэвхтэй"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Модем болгох техник хангамжийн хурдасгуур"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Нэргүй Bluetooth төхөөрөмжийг харуулах"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Утасгүй дэлгэцийн сертификатын сонголтыг харуулах"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi лог-н түвшинг нэмэгдүүлэх, Wi‑Fi Сонгогч дээрх SSID-д ногдох RSSI-г харуулах"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Батарей зарцуулалтыг бууруулж, сүлжээний гүйцэтгэлийг сайжруулдаг"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Унтраах эсвэл асаах нь зөвхөн клиент горимын MAC-г санамсаргүй байдлаар эмхлэх төлөвт нөлөөлнө.\nЭнэ горимыг идэвхжүүлсэн тохиолдолд клиентийг сүлжээнээс хамгийн сүүлд хэзээ салгаснаас хамаараад, холбоотой байх үеэр MAC-г санамсаргүй байдлаар эмхлэхийг идэвхжүүлсэн дурын сүлжээний MAC хаягуудыг санамсаргүй байдлаар дахин эмхэлж болзошгүй. Төхөөрөмж 4 цаг буюу түүнээс бага хугацаанд дахин холбогдвол санамсаргүй байдлаар дахин эмхлэх төлөв хэрэгжихгүй."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Хязгаартай"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Хязгааргүй"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Логгерын буферын хэмжээ"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Модем болгох техник хангамжийн хурдасгуурыг боломжтой тохиолдолд ашиглах"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB дебаг хийхийг зөвшөөрөх үү?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB дебаг нь зөвхөн хөгжүүлэлтийн зорилготой. Үүнийг өөрийн компьютер болон төхөөрөмжийн хооронд өгөгдөл хуулах, өөрийн төхөөрөмж дээр мэдэгдэлгүйгээр аппликейшн суулгах, лог датаг унших зэрэгт ашиглаж болно."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Утасгүй алдаа засахыг зөвшөөрөх үү?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Утасгүй алдаа засах нь зөвхөн хөгжүүлэлтийн зориулалттай. Үүнийг компьютер болон төхөөрөмж хооронд өгөгдөл хуулах, төхөөрөмждөө мэдэгдэлгүйгээр аппууд суулгах болон лог өгөгдлийг унших зэрэгт ашиглана уу."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Wireless debugging-г зөвшөөрөх үү?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Wireless debugging нь зөвхөн хөгжүүлэлтийн зориулалттай. Үүнийг компьютер болон төхөөрөмж хооронд өгөгдөл хуулах, төхөөрөмждөө мэдэгдэлгүйгээр аппууд суулгах болон лог өгөгдлийг унших зэрэгт ашиглана уу."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Таны өмнө нь зөвшөөрөл өгсөн бүх компьютерээс USB дебаг хандалтыг нь хураах уу?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Хөгжлийн тохиргоог зөвшөөрөх үү?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Эдгээр тохиргоо нь зөвхөн хөгжүүлэлтэд ашиглах зорилготой. Эдгээр нь таны төхөөрөмж буюу түүн дээрх аппликейшнүүдийг эвдрэх, буруу ажиллах шалтгаан нь болж болно."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Апп хариу өгөхгүй байна гэсэн харилцах цонхыг цаана байгаа аппад харуулах"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Мэдэгдлийн сувгийн анхааруулгыг харуулах"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Апп хүчинтэй суваггүйгээр мэдэгдэл гаргах үед дэлгэцэд сануулга харуулна"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Харилцан ярианы мэдэгдлийн товчлолыг хэрэгжүүлэх"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Харилцан ярианы хэсэгт харуулахын тулд санах ойд хадгалсан хуваалцах товчлолоор мэдэгдлийг нөөцлөхийг шаардах"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Аппыг гадаад санах ойд хадгалахыг зөвшөөрөх"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Манифест утгыг нь үл хамааран дурын апп-г гадаад санах ойд бичих боломжтой болгодог"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Үйл ажиллагааны хэмжээг өөрчилж болохуйц болгох"</string>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index c222bd3..8862de0 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -93,7 +93,7 @@
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"सिम अ‍ॅक्सेस"</string>
     <string name="bluetooth_profile_a2dp_high_quality" msgid="4739440941324792775">"HD ऑडिओ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="2477639096903834374">"HD ऑडिओ"</string>
-    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"श्रवण यंत्रे"</string>
+    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"श्रवणयंत्रे"</string>
     <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="8191273236809964030">"श्रवण यंत्रांशी कनेक्ट केले आहे"</string>
     <string name="bluetooth_a2dp_profile_summary_connected" msgid="7422607970115444153">"मीडिया ऑडिओवर कनेक्ट केले"</string>
     <string name="bluetooth_headset_profile_summary_connected" msgid="2420981566026949688">"फोन ऑडिओ वर कनेक्ट केले"</string>
@@ -127,16 +127,16 @@
     <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"हेडफोन"</string>
     <string name="bluetooth_talkback_input_peripheral" msgid="5133944817800149942">"इनपुट परिधीय"</string>
     <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"ब्लूटूथ"</string>
-    <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"डावीकडील श्रवण यंत्र जोडत आहे…"</string>
-    <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"उजवीकडील श्रवण यंत्र जोडत आहे…"</string>
+    <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"डावीकडील श्रवणयंत्र जोडत आहे…"</string>
+    <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"उजवीकडील श्रवणयंत्र जोडत आहे…"</string>
     <string name="bluetooth_hearingaid_left_battery_level" msgid="7375621694748104876">"डावी - <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी"</string>
     <string name="bluetooth_hearingaid_right_battery_level" msgid="1850094448499089312">"उजवी - <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी"</string>
-    <string name="accessibility_wifi_off" msgid="1195445715254137155">"वाय फाय बंद."</string>
-    <string name="accessibility_no_wifi" msgid="5297119459491085771">"वाय फाय डिस्कनेक्ट झाले."</string>
-    <string name="accessibility_wifi_one_bar" msgid="6025652717281815212">"वाय फाय एक बार."</string>
-    <string name="accessibility_wifi_two_bars" msgid="687800024970972270">"वाय फाय दोन बार."</string>
-    <string name="accessibility_wifi_three_bars" msgid="779895671061950234">"वाय फाय तीन बार."</string>
-    <string name="accessibility_wifi_signal_full" msgid="7165262794551355617">"वाय फाय सिग्नल संपूर्ण आहे."</string>
+    <string name="accessibility_wifi_off" msgid="1195445715254137155">"वाय-फाय बंद."</string>
+    <string name="accessibility_no_wifi" msgid="5297119459491085771">"वाय-फाय डिस्कनेक्ट झाले."</string>
+    <string name="accessibility_wifi_one_bar" msgid="6025652717281815212">"वाय-फाय एक बार."</string>
+    <string name="accessibility_wifi_two_bars" msgid="687800024970972270">"वाय-फाय दोन बार."</string>
+    <string name="accessibility_wifi_three_bars" msgid="779895671061950234">"वाय-फाय तीन बार."</string>
+    <string name="accessibility_wifi_signal_full" msgid="7165262794551355617">"वाय-फाय सिग्नल संपूर्ण आहे."</string>
     <string name="accessibility_wifi_security_type_none" msgid="162352241518066966">"नेटवर्क उघडा"</string>
     <string name="accessibility_wifi_security_type_secured" msgid="2399774097343238942">"सुरक्षित नेटवर्क"</string>
     <string name="process_kernel_label" msgid="950292573930336765">"Android OS"</string>
@@ -156,7 +156,7 @@
     <string name="launch_defaults_none" msgid="8049374306261262709">"कोणतेही डीफॉल्ट सेट केले नाही"</string>
     <string name="tts_settings" msgid="8130616705989351312">"टेक्स्ट-टू-स्पीच सेटिंग्ज"</string>
     <string name="tts_settings_title" msgid="7602210956640483039">"टेक्स्ट-टू-स्पीच आउटपुट"</string>
-    <string name="tts_default_rate_title" msgid="3964187817364304022">"बोलण्याचा रेट"</string>
+    <string name="tts_default_rate_title" msgid="3964187817364304022">"स्पीच रेट"</string>
     <string name="tts_default_rate_summary" msgid="3781937042151716987">"ज्या गतीने मजकूर बोलला जातो ती"</string>
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"पिच"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"संश्लेषित उच्चारांच्या आवाजास प्रभावित करते"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"वायरलेस डीबगिंग"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"उपलब्ध डिव्हाइस पाहण्यासाठी आणि वापरण्यासाठी वायरलेस डीबगिंग सुरू करा"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR कोडसह डिव्हाइस जोडा"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR कोड स्कॅनर वापरून नवीन डिव्हाइस जोडा"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR कोड स्कॅनर वापरून नवीन डिव्हाइस पेअर करा"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"पेअरींग कोडसह डिव्हाइस जोडा"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"सहा अंकी कोड वापरून नवीन डिव्हाइस जोडा"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"पेअर केलेले डिव्हाइस"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"डिव्हाइस पेअर करता आले नाही. QR कोड चुकीचा होता किंवा डिव्हाइस समान नेटवर्कशी कनेक्ट केलेले नाही."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"आयपी अ‍ॅड्रेस आणि पोर्ट"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR कोड स्कॅन करा"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR कोड स्कॅन करून वाय-फाय वापरून डिव्हाइस पेअर करा"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR कोड स्कॅन करून वाय-फाय वरून डिव्हाइस पेअर करा"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"कृपया एका वाय-फाय नेटवर्कशी कनेक्ट करा"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, डीबग, डेव्हलपर"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"बग रिपोर्ट शॉर्टकट"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"वायरलेस डिस्प्ले प्रमाणीकरण"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"वाय-फाय व्हर्बोझ लॉगिंग सुरू करा"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"वाय-फाय स्कॅन थ्रॉटलिंग"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"वाय-फाय वर्धित केलेले MAC रँडमायझेशन"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"मोबाइल डेटा नेहमी सक्रिय"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"टेदरिंग हार्डवेअर प्रवेग"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"नावांशिवाय ब्‍लूटूथ डिव्‍हाइस दाखवा"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"वायरलेस डिस्प्ले प्रमाणिकरणाचे पर्याय दाखवा"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"वाय-फाय लॉगिंग स्‍तर वाढवा, वाय-फाय सिलेक्टरमध्‍ये प्रति SSID RSSI दर्शवा"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"बॅटरी जलदरीतीने संपण्यापासून रोखते आणि नेटवर्क परफॉर्मन्समध्ये सुधारणा करते"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"या टॉगलचा फक्त क्लायंट मोडसाठी MAC रँडमायझेशन वर्तनावर परिणाम होतो.\nहा मोड अ‍ॅक्टिव्हेट केलेला असताना, तुमच्या नेटवर्कवरून क्लायंट शेवटचा कधी डिस्कनेक्ट केला गेला त्यावर अवलंबून, संबद्धीकरणादरम्यान MAC रँडमायझेशन सुरू असलेल्या कोणत्याही नेटवर्कचे MAC अ‍ॅड्रेस पुन्हा रँडमाइझ केले जाऊ शकतात. डिव्हाइस चार तासांत किंवा त्यापेक्षा कमी वेळात पुन्हा कनेक्ट झाल्यास पुन्हा रँडमायझेशन होत नाही."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"मीटरने मोजलेले"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"मीटरने न मोजलेले"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"लॉगर बफर आकार"</string>
@@ -301,7 +303,7 @@
     <string name="adb_warning_title" msgid="7708653449506485728">"USB डीबग करण्यास अनुमती द्यायची?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB डीबग करण्याचा हेतू फक्त विकास उद्देशांसाठी आहे. याचा वापर तुमचा कॉंप्युटर आणि तुमचे डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय तुमच्या डिव्हाइस वर अ‍ॅप्स इंस्टॉल करा आणि लॉग डेटा वाचा."</string>
     <string name="adbwifi_warning_title" msgid="727104571653031865">"वायरलेस डीबगिंग करण्याची अनुमती द्यायची आहे का?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वायरलेस डीबग करण्याचा हेतू फक्त विकास उद्देशांसाठी आहे. याचा वापर तुमचा कॉंप्युटर आणि तुमचे डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय तुमच्या डिव्हाइसवर अ‍ॅप्स इंस्टॉल करा आणि लॉग डेटा वाचा."</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वायरलेस डीबगिंग करण्याचा हेतू फक्त विकास उद्देशांसाठी आहे. याचा वापर तुमचा कॉंप्युटर आणि तुमचे डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय तुमच्या डिव्हाइसवर अ‍ॅप्स इंस्टॉल करा आणि लॉग डेटा वाचा."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"तुम्ही पूर्वी ऑथोराइझ केलेल्या सर्व संगणकांवरुन USB डीबग करण्यासाठी अ‍ॅक्सेस रीव्होक करायचा?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"विकास सेटिंग्जला अनुमती द्यायची?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"या सेटिंग्जचा हेतू फक्त विकास वापरासाठी आहे. त्यामुळे तुमचे डिव्हाइस आणि त्यावरील ॲप्लिकेशन ब्रेक होऊ शकतात किंवा नेहमीपेक्षा वेगळे वर्तन करू शकतात."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"बॅकग्राउंड अ‍ॅप्ससाठी अ‍ॅप प्रतिसाद देत नाही दाखवते"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"सूचना चॅनेल चेतावण्या दाखवा"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"एखादे अ‍ॅप वैध चॅनेलशिवाय सूचना पोस्ट करते तेव्हा स्क्रीनवर चेतावणी देते"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"संभाषण सूचना शॉर्टकट ठेवा"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"सूचनांना जुन्या शॉर्टकटचा सपोर्ट आवश्यक"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"बाह्यवर ॲप्सना अनुमती देण्याची सक्ती करा"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"manifest मूल्यांकडे दुर्लक्ष करून, कोणत्याही ॲपला बाह्य स्टोरेजवर लेखन केले जाण्यासाठी पात्र बनविते"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ॲक्टिव्हिटीचा आकार बदलण्यायोग्य होण्याची सक्ती करा"</string>
@@ -532,7 +536,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"अतिरिक्त वापरकर्ते तयार करून तुम्ही इतर लोकांसोबत हे डिव्हाइस शेअर करू शकता. प्रत्येक वापरकर्त्यास त्यांची स्वतःची स्पेस असते, जी ते अ‍ॅप्स, वॉलपेपर आणि यासारख्या गोष्टींनी कस्टमाइझ करू शकतात. वापरकर्ते प्रत्येकाला प्रभावित करणाऱ्या वाय-फाय सारख्या डिव्हाइस सेटिंग्ज अ‍ॅडजस्ट देखील करू शकतात.\n\nतुम्ही एक नवीन वापरकर्ता जोडता, तेव्हा त्या व्यक्तीला त्याची स्पेस सेट अप करण्याची आवश्यकता असते.\n\nकोणताही वापरकर्ता इतर सर्व वापरकर्त्यांसाठी अ‍ॅप अपडेट करू शकतो. अ‍ॅक्सेसिबिलिटी सेटिंग्ज आणि सेवा नवीन वापरकर्त्याला कदाचित ट्रान्सफर होणार नाहीत."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"तुम्ही एक नवीन वापरकर्ता जोडता तेव्हा, त्या व्यक्तीस त्यांचे स्थान सेट करण्याची आवश्यकता असते.\n\nकोणताही वापरकर्ता इतर सर्व वापरकर्त्यांसाठी अ‍ॅप्स अपडेट करू शकतो."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"आता वापरकर्ता सेट करायचा?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"डिव्हाइस घेण्यासाठी आणि त्यांचे स्थान सेट करण्यासाठी व्यक्ती उपलब्ध असल्याची खात्री करा"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"तो वापरकर्ता डिव्हाइसजवळ आहे आणि त्याचे स्थान सेट करण्यासाठी उपलब्ध आहे याची खात्री करा"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"आता प्रोफाईल सेट करायचा?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"आता सेट करा"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"आत्ता नाही"</string>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index 1dc3dc4..09a558d 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -155,7 +155,7 @@
     <string name="launch_defaults_some" msgid="3631650616557252926">"Beberapa lalai ditetapkan"</string>
     <string name="launch_defaults_none" msgid="8049374306261262709">"Tiada lalai ditetapkan"</string>
     <string name="tts_settings" msgid="8130616705989351312">"Tetapan teks kepada pertuturan"</string>
-    <string name="tts_settings_title" msgid="7602210956640483039">"Output teks ke pertuturan"</string>
+    <string name="tts_settings_title" msgid="7602210956640483039">"Output teks kepada pertuturan"</string>
     <string name="tts_default_rate_title" msgid="3964187817364304022">"Kadar pertuturan"</string>
     <string name="tts_default_rate_summary" msgid="3781937042151716987">"Kelajuan pertuturan teks"</string>
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Pic"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Penyahpepijatan wayarles"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Untuk melihat dan menggunakan peranti yang tersedia, hidupkan penyahpepijatan wayarles"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Gandingkan peranti dengan kod QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Gandingkan peranti baharu menggunakan Pengimbas kod QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Gandingkan peranti baharu menggunakan pengimbas kod QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Gandingkan peranti dengan kod gandingan"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Gandingkan peranti baharu menggunakan kod enam digit"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Peranti gandingan"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Gagal menggandingkan peranti. Kod QR salah atau peranti tidak disambungkan kepada rangkaian yang sama."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Alamat IP &amp; Port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Imbas kod QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Gandingkan peranti melalui Wi-Fi dengan mengimbas Kod QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Gandingkan peranti melalui Wi-Fi dengan mengimbas kod QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Sila sambungkan kepada rangkaian Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Pintasan laporan pepijat"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Pensijilan paparan wayarles"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Dayakan Pengelogan Berjela-jela Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Pendikitan pengimbasan Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Perawakan MAC dipertingkat Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Data mudah alih sentiasa aktif"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Pecutan perkakasan penambatan"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Tunjukkan peranti Bluetooth tanpa nama"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Tunjukkan pilihan untuk pensijilan paparan wayarles"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Tingkatkan tahap pengelogan Wi-Fi, tunjuk setiap SSID RSSI dalam Pemilih Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Mengurangkan penyusutan bateri &amp; meningkatkan prestasi rangkaian"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Togol ini melibatkan gelagat perawakan MAC untuk mod pelanggan sahaja.\nApabila mod ini diaktifkan, alamat MAC bagi mana-mana rangkaian yang telah mendayakan perawakan MAC mungkin dirawakkan semula semasa perkaitan, bergantung pada kali terakhir pelanggan diputuskan sambungan daripada rangkaian. Perawakan semula tidak berlaku jika peranti menyambung semula dalam tempoh 4 jam atau kurang."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Bermeter"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Tidak bermeter"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Saiz penimbal pengelog"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Paparkan dialog Apl Tiada Respons untuk apl latar belakang"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Papar amaran saluran pemberitahuan"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Memaparkan amaran pada skrin apabila apl menyiarkan pemberitahuan tanpa saluran sah"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Kuat kuasakan pintasan utk pemberitahuan perbualan"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Perlukan pemberitahuan disokong oleh pintasan perkongsian hayat panjang untuk muncul dalam bahagian perbualan"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Benarkan apl secara paksa pada storan luaran"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Menjadikan sebarang apl layak ditulis ke storan luaran, tanpa mengambil kira nilai manifes"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Paksa aktiviti supaya boleh diubah saiz"</string>
diff --git a/packages/SettingsLib/res/values-my/arrays.xml b/packages/SettingsLib/res/values-my/arrays.xml
index dbeabc0..779d587 100644
--- a/packages/SettingsLib/res/values-my/arrays.xml
+++ b/packages/SettingsLib/res/values-my/arrays.xml
@@ -249,7 +249,7 @@
   <string-array name="debug_hw_overdraw_entries">
     <item msgid="1968128556747588800">"ပိတ်ရန်"</item>
     <item msgid="3033215374382962216">"ရှိရင်းစွဲထက်ပိုသော ဧရိယာများကိုပြရန်"</item>
-    <item msgid="3474333938380896988">"အရောင်ရောနှောသောဧရိယာများပြရန်"</item>
+    <item msgid="3474333938380896988">"အစိမ်းရောင် မမြင်ရသောဧရိယာများ ပြရန်"</item>
   </string-array>
   <string-array name="app_process_limit_entries">
     <item msgid="794656271086646068">"သတ်မှတ်စံနှုန်း"</item>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index e6ebaf9..27b1a2c 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -116,7 +116,7 @@
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"ချိတ်တွဲရန်"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"မလုပ်တော့"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"ချိတ်တွဲမှုက ချိတ်ဆက်ထားလျှင် သင်၏ အဆက်အသွယ်များ နှင့် ခေါ်ဆိုမှု မှတ်တမ်းကို ရယူခွင့် ပြုသည်။"</string>
-    <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့် တွဲချိတ်မရပါ"</string>
+    <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> နှင့် တွဲချိတ်မရပါ"</string>
     <string name="bluetooth_pairing_pin_error_message" msgid="264422127613704940">"ပင်နံပါတ် သို့မဟုတ် ဖြတ်သန်းခွင့်ကီးမမှန်ကန်သောကြောင့်<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့် တွဲချိတ်မရပါ။"</string>
     <string name="bluetooth_pairing_device_down_error_message" msgid="2554424863101358857">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့်ဆက်သွယ်မရပါ"</string>
     <string name="bluetooth_pairing_rejected_error_message" msgid="5943444352777314442">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>နှင့်တွဲချိတ်ရန် ပယ်ချခံရသည်"</string>
@@ -212,12 +212,12 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ကြိုးမဲ့ အမှားရှာပြင်ခြင်း"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ရနိုင်သည့် စက်ပစ္စည်းများကို ကြည့်ပြီး အသုံးပြုနိုင်ရန် ကြိုးမဲ့ အမှားရှာပြင်ခြင်းကို ဖွင့်ပါ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR ကုဒ်ဖြင့် စက်ပစ္စည်းကို အတူတွဲပါ"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR ကုဒ်ဖတ်စက် သုံး၍ စက်ပစ္စည်းသစ်များကို အတူတွဲပါ"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR ကုဒ် စကင်ဖတ်စက် သုံး၍ စက်အသစ်များကို အတူတွဲနိုင်သည်"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"တွဲချိတ်ကုဒ်ဖြင့် စက်ပစ္စည်းကို အတူတွဲပါ"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ဂဏန်းခြောက်လုံးကုဒ်ဖြင့် စက်ပစ္စည်းသစ်များကို အတူတွဲပါ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"တွဲချိတ်ပြီး စက်ပစ္စည်းများ"</string>
     <string name="adb_wireless_device_connected_summary" msgid="3039660790249148713">"လက်ရှိ ချိတ်ဆက်ထားသည်"</string>
-    <string name="adb_wireless_device_details_title" msgid="7129369670526565786">"စက်ပစ္စည်း အသေးစိတ်"</string>
+    <string name="adb_wireless_device_details_title" msgid="7129369670526565786">"စက်အသေးစိတ်များ"</string>
     <string name="adb_device_forget" msgid="193072400783068417">"မေ့ပစ်ရန်"</string>
     <string name="adb_device_fingerprint_title_format" msgid="291504822917843701">"စက်ပစ္စည်း လက်ဗွေ- <xliff:g id="FINGERPRINT_PARAM">%1$s</xliff:g>"</string>
     <string name="adb_wireless_connection_failed_title" msgid="664211177427438438">"ချိတ်ဆက်ခြင်း မအောင်မြင်ပါ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"စက်ပစ္စည်းကို အတူတွဲ၍မရပါ။ QR ကုဒ်မမှန်ပါ သို့မဟုတ် စက်ပစ္စည်းသည် ကွန်ရက်တစ်ခုတည်းသို့ ချိတ်ဆက်မထားပါ။"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"အိုင်ပီ (IP) လိပ်စာနှင့် ပို့တ်"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR ကုဒ်ကို စကင်ဖတ်ပါ"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR ကုဒ် စကင်ဖတ်ခြင်းဖြင့် Wi-Fi ပေါ်တွင် စက်ပစ္စည်းကို အတူတွဲပါ"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR ကုဒ် စကင်ဖတ်ခြင်းဖြင့် Wi-Fi ပေါ်တွင် စက်ကို အတူတွဲနိုင်သည်"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်ပါ"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ချွတ်ယွင်းမှု အစီရင်ခံရန် ဖြတ်လမ်း"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ကြိုးမဲ့ပြသမှု အသိအမှတ်ပြုလက်မှတ်"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi Verbose မှတ်တမ်းတင်ခြင်းအား ဖွင့်မည်"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi ရှာဖွေခြင်း ထိန်းချုပ်မှု"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi တိုးမြှင့် MAC ကျပန်းပြုလုပ်ခြင်း"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"မိုဘိုင်းဒေတာကို အမြဲဖွင့်ထားရန်"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ဖုန်းကို မိုဒမ်အဖြစ်အသုံးပြုမှု စက်ပစ္စည်းဖြင့် အရှိန်မြှင့်တင်ခြင်း"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"အမည်မရှိသော ဘလူးတုသ်စက်ပစ္စည်းများကို ပြသရန်"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ကြိုးမဲ့ အခင်းအကျင်း အသိအမှတ်ပြုလက်မှတ်အတွက် ရွေးချယ်စရာများပြရန်"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi မှတ်တမ်းတင်ခြင်း နှုန်းအားမြင့်ကာ၊ Wi‑Fi ရွေးရာတွင် SSID RSSI ဖြင့်ပြပါ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ဘက်ထရီ အသုံးပြုမှုကို လျှော့ကျစေပြီး ကွန်ရက်စွမ်းဆောင်ရည်ကို ပိုမိုကောင်းမွန်စေသည်"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ဤဖွင့်ပိတ်ခလုတ်က ကလိုင်းယင့်မုဒ် အတွက်သာ MAC ကျပန်းပြုလုပ်ခြင်း အပြုအမူကို သက်ရောက်စေသည်။\nဤမုဒ်အသုံးပြုသည့်အခါ MAC ကျပန်းပြုလုပ်ခြင်း ဖွင့်ထားသော ကွန်ရက်များသည် ကွန်ရက်မှ ကလိုင်းယင့် ချိတ်ဆက်မှုဖြုတ်သည့် နောက်ဆုံးအချိန်ပေါ် မူတည်၍ ချိတ်ဆက်နေစဉ်အတွင်း ၎င်းတို့၏ MAC လိပ်စာများကို ပြန်လည်ကျပန်းပြုလုပ်နိုင်သည်။ စက်သည် ၄ နာရီအတွင်း ပြန်ချိန်ဆက်ထားပါက ပြန်လည်ကျပန်းပြုလုပ်မည် မဟုတ်ပါ။"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"အခမဲ့ မဟုတ်ပါ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"အခမဲ့"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"မှတ်တမ်းကြားခံနယ် အရွယ်အစားများ"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"နောက်ခံ အက်ပ်များအတွက် \'အက်ပ်တုံ့ပြန်မှုမရှိ\' ဟု ပြရန်"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ချန်နယ်သတိပေးချက်များပြပါ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ချန်နယ်မရှိဘဲ အကြောင်းကြားလျှင် စကရင်တွင်သတိပေးသည်"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ဖြတ်လမ်းလင့်ခ် သုံးရန်"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"အချိန်ကြာမျှဝေသော ဖြတ်လမ်းလင့်ခ် သုံးရန် လိုအပ်သည်"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ပြင်ပစက်တွင် အက်ပ်များခွင့်ပြုရန်"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"တိကျစွာ သတ်မှတ်ထားသည့်တန်ဖိုးများရှိသော်လည်း၊ ပြင်ပသိုလှောင်ခန်းများသို့ မည်သည့်အက်ပ်ကိုမဆို ဝင်ရောက်ခွင့်ပြုပါ"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"လုပ်ဆောင်ချက်များ အရွယ်ပြောင်းနိုင်ခြင်း"</string>
@@ -464,7 +468,7 @@
     <item msgid="7529124349186240216">"၁၀၀%"</item>
   </string-array>
     <string name="charge_length_format" msgid="6941645744588690932">"ပြီးခဲ့သည့် <xliff:g id="ID_1">%1$s</xliff:g> က"</string>
-    <string name="remaining_length_format" msgid="4310625772926171089">"<xliff:g id="ID_1">%1$s</xliff:g> ကျန်ပါသည်"</string>
+    <string name="remaining_length_format" msgid="4310625772926171089">"<xliff:g id="ID_1">%1$s</xliff:g> ကျန်"</string>
     <string name="screen_zoom_summary_small" msgid="6050633151263074260">"သေး"</string>
     <string name="screen_zoom_summary_default" msgid="1888865694033865408">"မူရင်း"</string>
     <string name="screen_zoom_summary_large" msgid="4706951482598978984">"ကြီး"</string>
@@ -539,7 +543,7 @@
     <string name="user_add_user_type_title" msgid="551279664052914497">"ထပ်ထည့်ရန်"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"အသုံးပြုသူအသစ်"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"ကိုယ်ရေးအချက်အလက်အသစ်"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"သုံးစွဲသူအကြောင်း"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"အသုံးပြုသူအကြောင်း"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"ကိုယ်ရေးအချက်အလက်"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"ကန့်သတ်ကိုယ်ရေးအချက်အလက်တစ်ခုကို မပြုလုပ်မီ သင်၏ အပလီကေးရှင်းများနှင့် ကိုယ်ပိုင်အချက်အလက်များကို ကာကွယ်ရန် မျက်နှာပြင်သော့ချခြင်းကို စီမံရန် လိုအပ်လိမ့်မည်"</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"သော့ချရန် သတ်မှတ်ပါ"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 58213a7..cc883ab 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -112,7 +112,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Bruk til filoverføring"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Bruk for inndata"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Bruk for høreapparater"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Sammenkoble"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Koble til"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"KOBLE TIL"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Avbryt"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Med sammenkobling får den andre enheten tilgang til kontaktene og anropsloggen din når den er tilkoblet."</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Trådløs feilsøking"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"For å se og bruke tilgjengelige enheter, slå på trådløs feilsøking"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Koble til enheten med en QR-kode"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Koble til nye enheter med en QR-kodeskanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Koble til nye enheter med en QR-kodeskanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Koble til enheten med en tilkoblingskode"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Koble til nye enheter med en sekssifret kode"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Tilkoblede enheter"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Kunne ikke koble til enheten. Enten var QR-koden feil, eller enheten er ikke koblet til samme nettverk."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-adresse og port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skann QR-koden"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Koble til enheten via Wi-Fi ved å skanne en QR-kode"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Koble til enheten via Wi-Fi ved å skanne en QR-kode"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Koble til et Wi-Fi-nettverk"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, feilsøking, utvikler"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Snarvei til feilrapport"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Trådløs skjermsertifisering"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Slå på detaljert Wi-Fi-loggføring"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Begrensning av Wi‑Fi-skanning"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑forbedret MAC-tilfeldiggjøring"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobildata er alltid aktiv"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Maskinvareakselerasjon for internettdeling"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Vis Bluetooth-enheter uten navn"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Vis alternativer for sertifisering av trådløs skjerm"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Øk Wi-Fi-loggenivå – vis per SSID RSSI i Wi-Fi-velgeren"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduserer batteriforbruket og forbedrer nettverksytelsen"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Denne av/på-bryteren påvirker bare atferden til MAC-tilfeldiggjøring for klientmodus.\nNår denne modusen er aktivert, kan nettverk som har tilfeldig valgt MAC, få MAC-adressen tilfeldig valgt på nytt under tilknytning, avhengig av når klienten sist ble koblet fra nettverket. Ny tilfeldiggjøring oppstår ikke hvis enheten kobler seg til igjen innen fire timer."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Med datamåling"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Uten datamåling"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Bufferstørrelser for logg"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Vis Appen svarer ikke-dialog for bakgrunnsapper"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Vis varselskanaladvarsler"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Viser advarsler på skjermen når apper publiserer varsler uten en gyldig kanal"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Håndhev snarveier for samtalevarsler"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Krev at varsler støttes av en langvarig delingssnarvei for å vises i samtaledelen"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Tving frem tillatelse for ekstern lagring av apper"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Dette gjør at alle apper kan lagres på eksterne lagringsmedier – uavhengig av manifestverdier"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Tving aktiviteter til å kunne endre størrelse"</string>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index cc26483..6094224 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -161,7 +161,7 @@
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"पिच"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"संश्लेषित बोलीको टोनमा प्रभाव पार्छ"</string>
     <string name="tts_default_lang_title" msgid="4698933575028098940">"भाषा"</string>
-    <string name="tts_lang_use_system" msgid="6312945299804012406">"प्रणाली भाषा प्रयोग गर्नुहोस्"</string>
+    <string name="tts_lang_use_system" msgid="6312945299804012406">"प्रणालीको भाषा प्रयोग गर्नुहोस्"</string>
     <string name="tts_lang_not_selected" msgid="7927823081096056147">"भाषा चयन गरिएको छैन"</string>
     <string name="tts_default_lang_summary" msgid="9042620014800063470">"बोली पाठका लागि भाषा-विशेष आवाज सेट गर्दछ"</string>
     <string name="tts_play_example_title" msgid="1599468547216481684">"एउटा उदाहरणलाई सुन्नुहोस्"</string>
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB डिबग गर्दै"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB जडित हुँदा डिबग मोड"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB डिबग गर्ने प्राधिकरणहरू उल्टाउनुहोस्"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"वायरलेस डिबग गर्ने प्रक्रिया"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"वायरलेस डिबगिङ"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi‑Fi मा जोडिँदा डिबग मोड सक्षम पार्ने कि नपार्ने"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"त्रुटि"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"वायरलेस डिबग गर्ने प्रक्रिया"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"उपलब्ध यन्त्रहरू हेर्न र प्रयोग गर्न वायरलेस डिबग गर्ने प्रक्रिया सक्रिय गर्नुहोस्"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"वायरलेस डिबगिङ"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"उपलब्ध यन्त्रहरू हेर्न र प्रयोग गर्न वायरलेस डिबगिङ सेवा सक्रिय गर्नुहोस्"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR कोडमार्फत यन्त्रको जोडा बनाउनुहोस्"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR कोड स्क्यानर प्रयोग गरी नयाँ यन्त्रहरूको जोडा बनाउनुहोस्"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR कोड स्क्यानर प्रयोग गरी नयाँ यन्त्रहरूको जोडा बनाउनुहोस्"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"जोडा मिलाउने कोडमार्फत यन्त्रको जोडा बनाउनुहोस्"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"छ अङ्कको कोड प्रयोग गरी नयाँ यन्त्रहरूको जोडा बनाउनुहोस्"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"जोडा बनाइएका यन्त्रहरू"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"यन्त्रसँग जोडा बनाउन सकिएन। कि त QR कोड गलत छ कि यन्त्र उही नेटवर्कमा जोडिएको छैन।"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ठेगाना र पोर्ट"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR कोड स्क्यान गर्नुहोस्"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR कोड स्क्यान गरेर Wi‑Fi प्रयोग गरी यन्त्रको जोडा बनाउनुहोस्"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR कोड स्क्यान गरी Wi‑Fi मार्फत यन्त्रको जोडा बनाउनुहोस्"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"कृपया कुनै Wi-Fi मा कनेक्ट गर्नुहोस्"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"बग प्रतिवेदन सर्टकट"</string>
@@ -251,6 +251,8 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ताररहित प्रदर्शन प्रमाणीकरण"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi-Fi वर्बोज लग सक्षम पार्नुहोस्"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi स्क्यान थ्रोटलिङ"</string>
+    <!-- no translation found for wifi_enhanced_mac_randomization (5437378364995776979) -->
+    <skip />
     <string name="mobile_data_always_on" msgid="8275958101875563572">"मोबाइल डेटा सधैँ सक्रिय राख्नुहोस्"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"टेदरिङको लागि हार्डवेयरको प्रवेग"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"नामकरण नगरिएका ब्लुटुथ यन्त्रहरू देखाउनुहोस्"</string>
@@ -283,6 +285,8 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ताररहित प्रदर्शन प्रमाणीकरणका लागि विकल्पहरू देखाउनुहोस्"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi-Fi लग स्तर बढाउनुहोस्, Wi-Fi चयनकर्तामा प्रति SSID RSSI देखाइन्छ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ब्याट्रीको खपत कम गरी नेटवर्कको कार्यसम्पादनमा सुधार गर्दछ"</string>
+    <!-- no translation found for wifi_enhanced_mac_randomization_summary (7925425746373704991) -->
+    <skip />
     <string name="wifi_metered_label" msgid="8737187690304098638">"सशुल्क वाइफाइ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"मिटर नगरिएको"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"लगर बफर आकारहरू"</string>
@@ -300,8 +304,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"उपलब्ध भएमा टेदरिङको लागि हार्डवेयरको प्रवेग प्रयोग गर्नुहोस्"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB डिबग गर्न लागि अनुमति दिने हो?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"युएसबी डिबगिङ विकास प्रयोजनका लागि मात्र निर्मित हुन्छ। यसलाई तपाईँको कम्प्युटर र तपाईँको उपकरणका बीच डेटा प्रतिलिपि गर्न, बिना सूचना तपाईँको उपकरणमा अनुप्रयोगहरू स्थापना गर्न र लग डेटा पढ्नका लागि प्रयोग गर्नुहोस्।"</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"वायरलेस डिबग गर्ने प्रक्रिया सक्षम पार्ने हो?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वायरलेस डिबग गर्ने प्रक्रिया विकास प्रयोजनका लागि मात्रै हो। यसलाई आफ्ना कम्प्युटर र उपकरणका बिच डेटा प्रतिलिपि गर्न, सूचना नदिई आफ्नो उपकरणमा अनुप्रयोगहरू स्थापना गर्न र लगसम्बन्धी डेटा रिड गर्नका लागि प्रयोग गर्नुहोस्।"</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"वायरलेस डिबगिङ सेवा सक्षम पार्ने हो?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"वायरलेस डिबगिङ डिभलपमेन्ट प्रयोजनका लागि मात्रै हो। यसलाई आफ्ना कम्प्युटर र उपकरणका बिच डेटा प्रतिलिपि गर्न, सूचना नदिई आफ्नो उपकरणमा अनुप्रयोगहरू स्थापना गर्न र लग डेटा पढ्न प्रयोग गर्नुहोस्।"</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"तपाईं पहिले नै अधिकृत गर्नुभएका सबै कम्प्यूटरबाट USB डिबग गर्नको लागि पहुँच रद्द गर्ने हो?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"विकास सेटिङहरू अनुमति दिने हो?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"यी सेटिङहरू केवल विकास प्रयोगको लागि विचार गरिएको हो। तिनीहरूले तपाईंको उपकरण र अनुप्रयोगहरूलाई विच्छेदन गर्न वा दुर्व्यवहार गर्न सक्दछ।"</string>
@@ -371,6 +375,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"पृष्ठभूमिका अनुप्रयोगहरूको संवादको प्रतिक्रिया नदिइरहेका अनुप्रयोगहरू प्रदर्शन गर्नुहोस्"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"सूचना च्यानलका चेतावनी देखाउनुहोस्"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"अनुप्रयोगले कुनै मान्य च्यानल बिना सूचना पोस्ट गर्दा स्क्रिनमा चेतावनी देखाउँछ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"कुराकानी नामक स्थानमा मान्य सर्टकटसँग पनि लिंक गरिएका सूचनाहरू मात्र देखाइयोस्"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"कुराकानी नामक स्थानमा सूचनाहरू देखिन सकून् भन्नाका खातिर ती सूचनामा सधैँ सक्रिय रहने (long-lived) सेयरिङ सर्टकट समावेश भएको हुनु पर्छ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"बाह्यमा बल प्रयोगको अनुमति प्राप्त अनुप्रयोगहरू"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"म्यानिफेेस्टका मानहरूको ख्याल नगरी कुनै पनि अनुप्रयोगलाई बाह्य भण्डारणमा लेख्न सकिने खाले बनाउँछ"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"आकार बदल्न योग्य हुने बनाउन गतिविधिहरूलाई बाध्यात्मक बनाउनुहोस्।"</string>
@@ -417,7 +423,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"प्रोटानेमली (रातो, हरियो)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"ट्रिटानोमेली (निलो-पंहेलो)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"रङ्ग सुधार"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"रङ सच्याउने सुविधाले तपाईंलाई आफ्नो यन्त्रमा रङहरू कस्ता देखिन्छन् भन्ने कुरा समायोजन गर्न दिन्छ"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"रंङ सच्याउने सुविधाले तपाईंलाई आफ्नो यन्त्रमा रंङहरू कसरी देखाउने भन्ने कुरा निर्धारण गर्न दिन्छ"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> द्वारा अधिरोहित"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाँकी छ"</string>
@@ -467,9 +473,9 @@
     <string name="remaining_length_format" msgid="4310625772926171089">"<xliff:g id="ID_1">%1$s</xliff:g> बाँकी"</string>
     <string name="screen_zoom_summary_small" msgid="6050633151263074260">"सानो"</string>
     <string name="screen_zoom_summary_default" msgid="1888865694033865408">"पूर्वनिर्धारित"</string>
-    <string name="screen_zoom_summary_large" msgid="4706951482598978984">"ठूलो"</string>
-    <string name="screen_zoom_summary_very_large" msgid="7317423942896999029">"अझ ठूलो"</string>
-    <string name="screen_zoom_summary_extremely_large" msgid="1438045624562358554">"सबैभन्दा ठूलो"</string>
+    <string name="screen_zoom_summary_large" msgid="4706951482598978984">"ठुलो"</string>
+    <string name="screen_zoom_summary_very_large" msgid="7317423942896999029">"अझ ठुलो"</string>
+    <string name="screen_zoom_summary_extremely_large" msgid="1438045624562358554">"सबैभन्दा ठुलो"</string>
     <string name="screen_zoom_summary_custom" msgid="3468154096832912210">"आफू अनुकूल (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string>
     <string name="content_description_menu_button" msgid="6254844309171779931">"मेनु"</string>
     <string name="retail_demo_reset_message" msgid="5392824901108195463">"डेमो मोडमा फ्याक्ट्री रिसेट गर्न पासवर्ड प्रविष्टि गर्नुहोस्"</string>
@@ -529,10 +535,10 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"प्रयोगकर्ता"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"प्रतिबन्धित प्रोफाइल"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"नयाँ प्रयोगकर्ता थप्ने हो?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"तपाईं थप प्रयोगकर्ताहरू सिर्जना गरेर यो यन्त्र अन्य मान्छेहरूसँग साझा रूपमा प्रयोग गर्न सक्नुहुन्छ। हरेक प्रयोगकर्ताको आफ्नै ठाउँ हुन्छ, जसलाई उनीहरू अनुप्रयोग, वालपेपर इत्यादिमार्फत आफू अनुकूल पार्न सक्छन्। प्रयोगकर्ताहरू सबैजनालाई असर पार्ने Wi-Fi जस्ता यन्त्रका सेटिङहरू पनि समायोजन गर्न सक्छन्।\n\nतपाईंले नयाँ प्रयोगकर्ता थप्दा उक्त व्यक्तिले आफ्नो ठाउँ सेटअप गर्नु पर्ने हुन्छ।\n\nकुनै पनि प्रयोगकर्ताले अन्य सबै प्रयोगकर्ताहरूका लागि अनुप्रयोगहरू अद्यावधिक गर्न सक्छन्। पहुँचसम्बन्धी सेटिङ तथा सेवाहरू नयाँ प्रयोगकर्तामा स्थानान्तरण नहुन सक्छन्।"</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"तपाईं थप प्रयोगकर्ताहरू सिर्जना गरेर ती प्रयोगकर्तालाई यो यन्त्र प्रयोग गर्न दिन सक्नुहुन्छ। हरेक प्रयोगकर्ताको आफ्नै ठाउँ हुन्छ। उनीहरू यो ठाउँमा आफ्नै अनुप्रयोग, वालपेपर आदिका लागि प्रयोग गर्न सक्छन्। उनीहरू सबैजनालाई असर पार्ने Wi-Fi जस्ता यन्त्रका सेटिङहरू पनि परिवर्तन गर्न सक्छन्।\n\nतपाईंले नयाँ प्रयोगकर्ता थप्दा उक्त व्यक्तिले आफ्नो ठाउँ सेटअप गर्नु पर्ने हुन्छ।\n\nसबै प्रयोगकर्ता अन्य सबै प्रयोगकर्ताले प्रयोग गर्ने अनुप्रयोगहरू अद्यावधिक गर्न सक्छन्। तर पहुँचसम्बन्धी सेटिङ तथा सेवाहरू नयाँ प्रयोगकर्तामा नसर्न सक्छ।"</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"जब तपाईंले नयाँ प्रयोगकर्ता थप्नुहुन्छ, त्यो व्यक्तिले आफ्नो ठाउँ सेट गर्न आवश्यक छ।\n\nकुनै पनि प्रयोगकर्ताले सबै अन्य प्रयोगकर्ताहरूका लागि अनुप्रयोगहरू अद्यावधिक गर्न सक्छन्।"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"अहिले प्रयोगकर्ता सेटअप गर्ने हो?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"यन्त्र लिन र आफ्नो ठाउँ बनाउन व्यक्ति उपलब्ध छ भन्ने कुराको निश्चित गर्नुहोस्"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"यी व्यक्ति यन्त्र यो यन्त्र चलाउन र आफ्नो ठाउँ सेट गर्न उपलब्ध छन् भन्ने कुरा सुनिश्चित गर्नुहोस्"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"अहिले प्रोफाइल सेटअप गर्ने हो?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"अब सेटअप गर्नुहोस्"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"अहिले होइन"</string>
@@ -540,7 +546,7 @@
     <string name="user_new_user_name" msgid="60979820612818840">"नयाँ प्रयोगकर्ता"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"नयाँ प्रोफाइल"</string>
     <string name="user_info_settings_title" msgid="6351390762733279907">"प्रयोगकर्ता जानकारी"</string>
-    <string name="profile_info_settings_title" msgid="105699672534365099">"प्रोफाइल जानकारी"</string>
+    <string name="profile_info_settings_title" msgid="105699672534365099">"प्रोफाइलको जानकारी"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"निषेधयुक्त प्रोफाइल बनाउनु अघि तपाईँको अनुप्रयोग र व्यक्तिगत डेटा सुरक्षा गर्नाका लागि तपाईँले स्क्रिन लक सेटअप गर्नु पर्दछ ।"</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"लक सेट गर्नुहोस्"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"प्रयोगकर्ता बदलेर <xliff:g id="USER_NAME">%s</xliff:g> पार्नुहोस्"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 57fc87a..c566dc2 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Draadloze foutopsporing"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Schakel draadloze foutopsporing in om beschikbare apparaten te bekijken en te gebruiken"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Apparaat koppelen met QR-code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Nieuwe apparaten koppelen via QR-codescanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Nieuwe apparaten koppelen via QR-codescanner"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Apparaat koppelen met koppelingscode"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Nieuwe apparaten koppelen via een zescijferige code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Gekoppelde apparaten"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Kan het apparaat niet koppelen. De QR-code was onjuist of het apparaat is niet verbonden met hetzelfde netwerk."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-adres en poort"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR-code scannen"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Apparaat koppelen via wifi door een QR-code te scannen"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Apparaat koppelen via wifi door een QR-code te scannen"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Maak verbinding met een wifi-netwerk"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, foutopsporing, ontwikkeling"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Snelle link naar bugrapport"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificering van draadloze weergave"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Uitgebreide wifi-logregistratie insch."</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wifi-scannen beperken"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Via wifi ondersteunde MAC-herschikking"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobiele data altijd actief"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardwareversnelling voor tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth-apparaten zonder namen weergeven"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Opties weergeven voor certificering van draadloze weergave"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Logniveau voor wifi verhogen, weergeven per SSID RSSI in wifi-kiezer"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Verlaagt het batterijverbruik en verbetert de netwerkprestaties"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Deze schakelaar beïnvloedt het gedrag van MAC-herschikking uitsluitend voor de clientmodus.\nAls deze modus is ingeschakeld, worden de MAC-adressen van netwerken die MAC-herschikking hebben ingeschakeld, mogelijk opnieuw in willekeurige volgorde herschikt als verbinding wordt gemaakt. Dit is afhankelijk van wanneer de client voor het laatst de verbinding met het netwerk verbrak. Opnieuw herschikken gebeurt niet als het apparaat binnen vier uur opnieuw verbinding maakt."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Met datalimiet"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Gratis"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Logger-buffergrootten"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Dialoogvenster \'App reageert niet\' weergeven voor achtergrond-apps"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Kanaalwaarschuwingen voor meldingen weergeven"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Geeft een waarschuwing op het scherm weer wanneer een app een melding post zonder geldig kanaal"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Snelkoppelingen voor gespreksmeldingen afdwingen"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Vereisen dat meldingen een langdurige snelkoppeling voor delen krijgen om bij gesprekken te kunnen worden getoond"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Toestaan van apps op externe opslag afdwingen"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Hiermee komt elke app in aanmerking voor schrijven naar externe opslag, ongeacht de manifestwaarden"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Formaat activiteiten geforceerd aanpasbaar maken"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index 3a7f2c5..b3ee2e3 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -86,7 +86,7 @@
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"ଫାଇଲ୍‌ ଟ୍ରାନ୍ସଫର୍‌"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"ଇନ୍‌ପୁଟ୍‌ ଡିଭାଇସ୍"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"ଇଣ୍ଟର୍‌ନେଟ୍‌ ଆକ୍ସେସ୍"</string>
-    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"ଯୋଗାଯୋଗ ସେୟାରିଙ୍ଗ୍"</string>
+    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"ଯୋଗାଯୋଗ ସେୟାରିଂ"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"ଯୋଗାଯୋଗ ସେୟାର୍‌ କରିବା ପାଇଁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"ଇଣ୍ଟର୍‌ନେଟ୍‌ ସଂଯୋଗ ଶେୟାରିଙ୍ଗ"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"ଟେକ୍ସଟ୍ ମେସେଜ୍"</string>
@@ -126,7 +126,7 @@
     <string name="bluetooth_talkback_imaging" msgid="8781682986822514331">"ଇମେଜିଙ୍ଗ"</string>
     <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"ହେଡ୍‌ଫୋନ୍‌"</string>
     <string name="bluetooth_talkback_input_peripheral" msgid="5133944817800149942">"ଇନ୍‌ପୁଟ୍‌ ଉପକରଣ"</string>
-    <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"ବ୍ଲୁଟୂଥ୍‍‌"</string>
+    <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"ବ୍ଲୁଟୁଥ"</string>
     <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"ବାମ ଶ୍ରବଣ ଯନ୍ତ୍ର ପେୟାର୍ କରାଯାଉଛି…"</string>
     <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"ଡାହାଣ ଶ୍ରବଣ ଯନ୍ତ୍ର ପେୟାର୍ କରାଯାଉଛି…"</string>
     <string name="bluetooth_hearingaid_left_battery_level" msgid="7375621694748104876">"ବାମ - <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବ୍ୟାଟେରୀ"</string>
@@ -143,10 +143,10 @@
     <string name="data_usage_uninstalled_apps" msgid="1933665711856171491">"କଢ଼ାଯାଇଥିବା ଆପ୍‌ଗୁଡ଼ିକ"</string>
     <string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"ଆପ୍‌ ଏବଂ ଉପଯୋଗକର୍ତ୍ତା ବାହାର କରାଗଲା"</string>
     <string name="data_usage_ota" msgid="7984667793701597001">"ସିଷ୍ଟମ୍ ଅପ୍‌ଡେଟ୍"</string>
-    <string name="tether_settings_title_usb" msgid="3728686573430917722">"USB ଟିଥରିଙ୍ଗ"</string>
+    <string name="tether_settings_title_usb" msgid="3728686573430917722">"USB ଟିଥରିଂ"</string>
     <string name="tether_settings_title_wifi" msgid="4803402057533895526">"ପୋର୍ଟବଲ୍‌ ହଟସ୍ପଟ୍‌"</string>
-    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"ବ୍ଲୁଟୂଥ ଟିଥରିଙ୍ଗ"</string>
-    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"ଟିଥର୍‌ କରୁଛି"</string>
+    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"ବ୍ଲୁଟୁଥ ଟିଥରିଂ"</string>
+    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"ଟିଥରିଂ"</string>
     <string name="tether_settings_title_all" msgid="8910259483383010470">"ଟିଥରିଙ୍ଗ ଓ ପୋର୍ଟବଲ୍ ହଟ୍‌ସ୍ପଟ୍‌"</string>
     <string name="managed_user_title" msgid="449081789742645723">"ସମସ୍ତ କାର୍ଯ୍ୟ ଆପ୍‌"</string>
     <string name="user_guest" msgid="6939192779649870792">"ଅତିଥି"</string>
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB ଡିବଗ୍‌ ହେଉଛି"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB ସଂଯୁକ୍ତ ହେବାବେଳେ ଡିବଗ୍‌ ମୋଡ୍‌"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB ଡିବଗିଙ୍ଗ ଅଧିକାରକୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"ୱେୟାରଲେସ୍ ଡିବଗିଂ"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"ୱାୟାରଲେସ୍ ଡିବଗିଂ"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"ୱାଇ-ଫାଇ ସଂଯୁକ୍ତ ଥିବା ବେଳେ ଡିବଗ୍ ମୋଡ୍"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"ତ୍ରୁଟି"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"ୱେୟାରଲେସ୍ ଡିବଗିଂ"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକୁ ଦେଖିବାକୁ ଏବଂ ବ୍ୟବହାର କରିବାକୁ ୱେୟାରଲେସ୍ ଡିବଗିଂ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"ୱାୟାରଲେସ୍ ଡିବଗିଂ"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକୁ ଦେଖିବାକୁ ଏବଂ ବ୍ୟବହାର କରିବାକୁ ୱାୟାରଲେସ୍ ଡିବଗିଂ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR କୋଡରେ ଡିଭାଇସକୁ ପେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR କୋଡ୍ ସ୍କାନର୍ ବ୍ୟବହାର କରି ନୂଆ ଡିଭାଇସଗୁଡ଼ିକୁ ପେୟାର୍ କରନ୍ତୁ"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR କୋଡ୍ ସ୍କାନର୍ ବ୍ୟବହାର କରି ନୂଆ ଡିଭାଇସଗୁଡ଼ିକୁ ପେୟାର୍ କରନ୍ତୁ"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ପେୟାରିଂ କୋଡରେ ଡିଭାଇସକୁ ପେୟାର୍ କରନ୍ତୁ"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ଛଅ ଡିଜିଟ୍ କୋଡ୍ ବ୍ୟବହାର କରି ନୂଆ ଡିଭାଇସଗୁଡ଼ିକୁ ପେୟାର୍ କରନ୍ତୁ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ପେୟାର୍ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ଡିଭାଇସରୁ ପେୟାର୍ ହେବାରେ ବିଫଳ ହୋଇଛି। QR କୋଡ୍ ସଠିକ୍ ନଥିଲା ବା ଡିଭାଇସ୍ ସମାନ ନେଟୱାର୍କରେ ସଂଯୋଗ ହୋଇନାହିଁ।"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ଠିକଣା ଓ ପୋର୍ଟ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR କୋଡ୍ ସ୍କାନ୍ କରନ୍ତୁ"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"ଏକ QR କୋଡ୍ ସ୍କାନ୍ କରି ୱାଇ-ଫାଇରେ ଡିଭାଇସ୍ ପେୟାର୍ କରନ୍ତୁ"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"ଏକ QR କୋଡ୍ ସ୍କାନ୍ କରି ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ ଡିଭାଇସ୍ ପେୟାର୍ କରନ୍ତୁ"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"ଦୟାକରି ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କରେ ସଂଯୋଗ କରନ୍ତୁ"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ଡିବଗ୍, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ବଗ୍ ରିପୋର୍ଟ ସର୍ଟକଟ୍‌"</string>
@@ -251,6 +251,8 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ୱାୟରଲେସ୍‌ ଡିସ୍‌ପ୍ଲେ ସାର୍ଟିଫିକେସନ୍"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"ୱାଇ-ଫାଇ ଭର୍ବୋସ୍‌ ଲଗିଙ୍ଗ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ୱାଇ-ଫାଇ ସ୍କାନ୍ ନିୟନ୍ତ୍ରଣ"</string>
+    <!-- no translation found for wifi_enhanced_mac_randomization (5437378364995776979) -->
+    <skip />
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ମୋବାଇଲ୍‌ ଡାଟା ସର୍ବଦା ସକ୍ରିୟ"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ଟିଥରିଙ୍ଗ ହାର୍ଡୱେର ଆକ୍ସିଲିରେସନ୍"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"ବ୍ଲୁଟୂଥ୍‍‌ ଡିଭାଇସ୍‌ଗୁଡ଼ିକୁ ନାମ ବିନା ଦେଖନ୍ତୁ"</string>
@@ -278,11 +280,13 @@
     <string name="private_dns_mode_off" msgid="7065962499349997041">"ଅଫ୍"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"ସ୍ଵଚାଳିତ"</string>
     <string name="private_dns_mode_provider" msgid="3619040641762557028">"ବ୍ୟକ୍ତିଗତ DNS ପ୍ରଦାତା ହୋଷ୍ଟନାମ"</string>
-    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS ପ୍ରଦାନକାରୀଙ୍କ ହୋଷ୍ଟନାମ ପ୍ରବେଶ କରନ୍ତୁ"</string>
+    <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"DNS ପ୍ରଦାନକାରୀଙ୍କ ହୋଷ୍ଟନାମ ଲେଖନ୍ତୁ"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"କନେକ୍ଟ କରିହେଲା ନାହିଁ"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ୱେୟାରଲେସ୍‌ ଡିସ୍‌ପ୍ଲେ ସାର୍ଟିଫିକେସନ୍ ପାଇଁ ବିକଳ୍ପ ଦେଖାନ୍ତୁ"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"ୱାଇ-ଫାଇ ଲଗିଙ୍ଗ ସ୍ତର ବଢ଼ାନ୍ତୁ, ୱାଇ-ଫାଇ ପିକର୍‌ରେ ପ୍ରତି SSID RSSI ଦେଖାନ୍ତୁ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କମ୍ ଏବଂ ନେଟ୍‌ୱାର୍କ କାର୍ଯ୍ୟକ୍ଷମତା ଉନ୍ନତ କରିଥାଏ"</string>
+    <!-- no translation found for wifi_enhanced_mac_randomization_summary (7925425746373704991) -->
+    <skip />
     <string name="wifi_metered_label" msgid="8737187690304098638">"ମପାଯାଉଥିବା"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ମପାଯାଉନଥିବା"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ଲଗର୍‌ ବଫର୍‌ ସାଇଜ୍"</string>
@@ -300,8 +304,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"ଯଦି ଉପଲବ୍ଧ ଥାଏ, ଟିଥରିଙ୍ଗ ହାର୍ଡୱେର୍‌ ଆକ୍ସିଲିରେସନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB ଡିବଗିଙ୍ଗ କରିବେ?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB ଡିବଗିଂ କେବଳ ଡେଭଲପମେଣ୍ଟ ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ଅଟେ। ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର ଏବଂ ଡିଭାଇସ୍‌ ମଧ୍ୟରେ ଡାଟା କପି କରିବାକୁ, ବିନା ବିଜ୍ଞପ୍ତିରେ ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପସ୍‌ ସଂସ୍ଥାପନ କରିବାକୁ, ଏବଂ ଲଗ୍‌ ଡାଟା ପଢିବାକୁ ଏହା ବ୍ୟବହାର କରନ୍ତୁ।"</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"ୱେୟାରଲେସ୍ ଡିବଗିଂ ପାଇଁ ଅନୁମତି ଦେବେ?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ୱେୟାରଲେସ୍ ଡିବଗିଂ କେବଳ ଉନ୍ନତି ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ଅଟେ। ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର ଏବଂ ଡିଭାଇସ୍ ମଧ୍ୟରେ ଡାଟା କପି କରିବାକୁ, ବିନା ବିଜ୍ଞପ୍ତିରେ ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପ୍ସ ଇନଷ୍ଟଲ୍ କରିବାକୁ ଏବଂ ଲଗ୍ ଡାଟା ପଢ଼ିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"ୱାୟାରଲେସ୍ ଡିବଗିଂ ପାଇଁ ଅନୁମତି ଦେବେ?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"ୱାୟାରଲେସ୍ ଡିବଗିଂ କେବଳ ଉନ୍ନତି ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ଅଟେ। ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର ଏବଂ ଡିଭାଇସ୍ ମଧ୍ୟରେ ଡାଟା କପି କରିବାକୁ, ବିନା ବିଜ୍ଞପ୍ତିରେ ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପ୍ସ ଇନଷ୍ଟଲ୍ କରିବାକୁ ଏବଂ ଲଗ୍ ଡାଟା ପଢ଼ିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"ଅଧିକୃତ ସମସ୍ତ କମ୍ପ୍ୟୁଟରରୁ USB ଡିବଗ୍‌ କରିବା ଆକ୍ସେସ୍‌ ପ୍ରତ୍ୟାହାର କରିବେ କି?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"ଡେଭଲପମେଣ୍ଟ ସେଟିଙ୍ଗ ଅନୁମତି ଦେବେ?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"ଏହି ସେଟିଙ୍ଗଗୁଡ଼ିକ କେବଳ ବିକାଶ ବ୍ୟବହାର ପାଇଁ ଉଦ୍ଦିଷ୍ଟ। ସେଗୁଡ଼ିକ କାରଣରୁ ଆପଣଙ୍କ ଡିଭାଇସ୍‌ ଓ ଆପ୍ଲିକେଶନ୍‍‍ଗୁଡ଼ିକ ଠିକ୍‌ ଭାବେ କାମ ନକରିପାରେ।"</string>
@@ -371,6 +375,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ ଆପ୍‌ଗୁଡ଼ିକ ପାଇଁ \"ଆପ୍‌ ଉତ୍ତର ଦେଉନାହିଁ\" ଡାୟଲଗ୍‌ ଦେଖାନ୍ତୁ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ବିଜ୍ଞପ୍ତି ଚେନାଲ୍ ଚେତାବନୀ ଦେଖାନ୍ତୁ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ବୈଧ ଚ୍ୟାନେଲ୍‌ ବିନା ଗୋଟିଏ ଆପ୍‌ ଏକ ବିଜ୍ଞପ୍ତି ପୋଷ୍ଟ କରିବାବେଳେ ଅନ୍‌-ସ୍କ୍ରୀନ୍‌ ସତର୍କତା ଦେଖାଏ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ବାର୍ତ୍ତାଳାପ ବିଜ୍ଞପ୍ତି ପାଇଁ ସର୍ଟକଟ ଲାଗୁ କରନ୍ତୁ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ବାର୍ତ୍ତାଳାପ ବିଭାଗରେ ଦେଖାଯିବା ପାଇଁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଏକ ଦୀର୍ଘ-ସ୍ଥାୟୀ ସେୟାରିଂ ସର୍ଟକଟର ସମର୍ଥନ ଆବଶ୍ୟକ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ଆପ୍‌କୁ ଏକ୍ସଟର୍ନଲ୍ ମେମୋରୀରେ ଫୋର୍ସ୍ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ଯେକୌଣସି ଆପ୍‌କୁ ଏକ୍ସଟର୍ନଲ୍ ଷ୍ଟୋରେଜ୍‌ରେ ଲେଖାଯୋଗ୍ୟ କରନ୍ତୁ, ମେନିଫେଷ୍ଟ ମୂଲ୍ୟ ଯାହା ହୋଇଥାଉ ନା କାହିଁକି"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ୱିଣ୍ଡୋ ହିସାବରେ କାର୍ଯ୍ୟକଳାପର ଆକାର ବଦଳାନ୍ତୁ"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 9802257..138c72d 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -112,8 +112,8 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"ਫਾਈਲ ਟ੍ਰਾਂਸਫਰ ਲਈ ਵਰਤੋ"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"ਇਨਪੁਟ ਲਈ ਵਰਤੋ"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"ਸੁਣਨ ਦੇ ਸਾਧਨਾਂ ਲਈ ਵਰਤੋ"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"ਪੇਅਰ ਕਰੋ"</string>
-    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"ਪੇਅਰ ਕਰੋ"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"ਜੋੜਾਬੱਧ ਕਰੋ"</string>
+    <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"ਰੱਦ ਕਰੋ"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"ਜੋੜਾਬੱਧ ਕਰਨਾ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।"</string>
     <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਪੇਅਰ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
@@ -195,7 +195,7 @@
   </string-array>
     <string name="choose_profile" msgid="343803890897657450">"ਪ੍ਰੋਫਾਈਲ ਚੁਣੋ"</string>
     <string name="category_personal" msgid="6236798763159385225">"ਨਿੱਜੀ"</string>
-    <string name="category_work" msgid="4014193632325996115">"ਦਫ਼ਤਰ"</string>
+    <string name="category_work" msgid="4014193632325996115">"ਕਾਰਜ-ਸਥਾਨ"</string>
     <string name="development_settings_title" msgid="140296922921597393">"ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ"</string>
     <string name="development_settings_enable" msgid="4285094651288242183">"ਵਿਕਾਸਕਾਰ ਵਿਕਲਪਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="development_settings_summary" msgid="8718917813868735095">"ਐਪ ਵਿਕਾਸ ਲਈ ਚੋਣਾਂ ਸੈੱਟ ਕਰੋ"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"ਵਾਇਰਲੈੱਸ ਡੀਬੱਗਿੰਗ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ਉਪਲਬਧ ਡੀਵਾਈਸਾਂ ਨੂੰ ਦੇਖਣ ਅਤੇ ਵਰਤਣ ਲਈ, ਵਾਇਰਲੈੱਸ ਡੀਬੱਗਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR ਕੋਡ ਨਾਲ ਡੀਵਾਈਸ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR ਕੋਡ ਸਕੈਨਰ ਵਰਤ ਕੇ ਨਵੇਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR ਕੋਡ ਸਕੈਨਰ ਵਰਤ ਕੇ ਨਵੇਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"ਜੋੜਾਬੱਧਕਰਨ ਕੋਡ ਨਾਲ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ਛੇ ਅੰਕਾਂ ਵਾਲਾ ਕੋਡ ਵਰਤ ਕੇ ਨਵੇਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"ਜੋੜਾਬੱਧ ਕੀਤੇ ਡੀਵਾਈਸ"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"ਡੀਵਾਈਸ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ। ਜਾਂ ਤਾਂ QR ਕੋਡ ਗਲਤ ਸੀ, ਜਾਂ ਡੀਵਾਈਸ ਉਸੇ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਹੈ।"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ਪਤਾ &amp; ਪੋਰਟ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR ਕੋਡ ਸਕੈਨ ਕਰੋ"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR ਕੋਡ ਸਕੈਨ ਕਰਕੇ ਵਾਈ-ਫਾਈ \'ਤੇ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR ਕੋਡ ਸਕੈਨ ਕਰਕੇ ਵਾਈ-ਫਾਈ \'ਤੇ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"ਕਿਰਪਾ ਕਰਕੇ ਕਿਸੇ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ਡੀਬੱਗ, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ਬੱਗ ਰਿਪੋਰਟ ਸ਼ਾਰਟਕੱਟ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"ਵਾਇਰਲੈੱਸ ਡਿਸਪਲੇ ਪ੍ਰਮਾਣੀਕਰਨ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"ਵਾਈ-ਫਾਈ ਵਰਬੋਸ ਲੌਗਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"ਸੀਮਤ ਵਾਈ‑ਫਾਈ ਸਕੈਨ"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"ਵਾਈ-ਫਾਈ ਵਿਸਤ੍ਰਿਤ MAC ਬੇਤਰਤੀਬਵਾਰ"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ਮੋਬਾਈਲ ਡਾਟਾ ਹਮੇਸ਼ਾਂ ਕਿਰਿਆਸ਼ੀਲ"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ਟੈਦਰਿੰਗ ਹਾਰਡਵੇਅਰ ਐਕਸੈੱਲਰੇਸ਼ਨ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"ਅਨਾਮ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਦਿਖਾਓ"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"ਵਾਇਰਲੈੱਸ ਡਿਸਪਲੇ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਚੋਣਾਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"ਵਾਈ‑ਫਾਈ ਲੌਗਿੰਗ ਪੱਧਰ ਵਧਾਓ, ਵਾਈ‑ਫਾਈ Picker ਵਿੱਚ ਪ੍ਰਤੀ SSID RSSI ਦਿਖਾਓ"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਘਟਾ ਕੇ ਨੈੱਟਵਰਕ ਕਾਰਗੁਜ਼ਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"ਇਹ ਟੌਗਲ ਸਿਰਫ਼ ਕਲਾਇੰਟ ਮੋਡ ਲਈ MAC ਦੇ ਬੇਤਰਤੀਬਵਾਰ ਵਿਵਹਾਰ \'ਤੇ ਅਸਰ ਪਾਉਂਦਾ ਹੈ।\nਜਦੋਂ ਇਸ ਮੋਡ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਜਿਹੜੇ ਵੀ ਨੈੱਟਵਰਕਾਂ ਵਿੱਚ MAC ਬੇਤਰਤੀਬਵਾਰ ਚਾਲੂ ਹੈ ਉਹਨਾਂ ਦੇ MAC ਪਤਿਆਂ ਦਾ ਸਾਂਝੇਦਾਰੀ ਦੌਰਾਨ ਮੁੜ-ਬੇਤਰਤੀਬੀਕਰਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਕਲਾਇੰਟ ਦੇ ਪਿਛਲੀ ਵਾਰ ਨੈੱਟਵਰਕ ਤੋਂ ਡਿਸਕਨੈਕਟ ਹੋਣ \'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਜੇ ਡੀਵਾਈਸ 4 ਘੰਟੇ ਜਾਂ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਮੁੜ-ਕਨੈਕਟ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਮੁੜ-ਬੇਤਰਤੀਬਵਾਰ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ਗੈਰ-ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ਲੌਗਰ ਬਫ਼ਰ ਆਕਾਰ"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"ਬੈਕਗ੍ਰਾਊਂਡ ਐਪਾਂ ਲਈ \'ਐਪ ਪ੍ਰਤਿਕਿਰਿਆ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ\' ਵਿੰਡੋ ਦਿਖਾਓ"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ਸੂਚਨਾ ਚੈਨਲ ਚਿਤਾਵਨੀਆਂ ਦਿਖਾਓ"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ਐਪ ਵੱਲੋਂ ਵੈਧ ਚੈਨਲ ਤੋਂ ਬਿਨਾਂ ਸੂਚਨਾ ਪੋਸਟ ਕਰਨ \'ਤੇ ਸਕ੍ਰੀਨ \'ਤੇ ਚਿਤਾਵਨੀ ਦਿਖਾਉਂਦੀ ਹੈ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"ਗੱਲਬਾਤ ਸੰਬੰਧੀ ਸੂਚਨਾਵਾਂ ਲਈ ਸ਼ਾਰਟਕੱਟ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ਗੱਲਬਾਤ ਸੈਕਸ਼ਨ ਵਿੱਚ ਦਿਸਣ ਲਈ ਚਿਰਸਥਾਈ ਸਾਂਝਾਕਰਨ ਸ਼ਾਰਟਕੱਟ ਨਾਲ ਸੂਚਨਾਵਾਂ ਦਾ ਬੈਕਅੱਪ ਲੈਣਾ ਲੋੜੀਂਦਾ ਹੈ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ਐਪਾਂ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਬਾਹਰੀ ਸਟੋਰੇਜ \'ਤੇ ਆਗਿਆ ਦਿਓ"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ਮੈਨੀਫੈਸਟ ਮੁੱਲਾਂ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ, ਕਿਸੇ ਵੀ ਐਪ ਨੂੰ ਬਾਹਰੀ ਸਟੋਰੇਜ \'ਤੇ ਲਿਖਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ਮੁੜ-ਆਕਾਰ ਬਦਲਣ ਲਈ ਸਰਗਰਮੀਆਂ \'ਤੇ ਜ਼ੋਰ ਦਿਓ"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index 734b257..023b326 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Debugowanie bezprzewodowe"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Aby wyświetlić dostępne urządzenia i ich używać, włącz debugowanie bezprzewodowe"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Sparuj urządzenie przy pomocy kodu QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Sparuj nowe urządzenie, skanując kod QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Sparuj nowe urządzenie, skanując kod QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Sparuj urządzenie przy pomocy kodu parowania"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Sparuj nowe urządzenie przy pomocy 6-cyfrowego kodu"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Sparowane urządzenia"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Nie udało się sparować z urządzeniem. Kod QR jest nieprawidłowy albo urządzenie nie jest podłączone do tej samej sieci."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adres IP i port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Zeskanuj kod QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Sparuj urządzenia przez Wi-Fi, skanując kod QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Sparuj urządzenia przez Wi-Fi, skanując kod QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Połącz się z siecią Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Skrót do zgłoszenia błędu"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Wyświetlacz bezprzewodowy"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Szczegółowy dziennik Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Ograniczanie skanowania Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Randomizacja MAC ulepszona w zakresie Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobilna transmisja danych zawsze aktywna"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Akceleracja sprzętowa tetheringu"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Pokaż urządzenia Bluetooth bez nazw"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Pokaż opcje certyfikacji wyświetlacza bezprzewodowego"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Zwiększ poziom rejestrowania Wi‑Fi, pokazuj według RSSI SSID w selektorze Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Zmniejsza zużycie baterii i zwiększa wydajność sieci"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ten przełącznik wpływa na zachowanie randomizacji MAC tylko w przypadku trybu klienta.\nKiedy ten tryb jest aktywny, adresy MAC dowolnej sieci, która ma włączoną randomizację MAC, podczas powiązywania mogą zostać poddane ponownej randomizacji, w zależności od tego, kiedy klient ostatni raz rozłączył się z siecią. Ponowna randomizacja nie zachodzi, jeśli urządzenie połączy się ponownie w ciągu 4 lub mniejszej liczby godzin."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Użycie danych jest mierzone"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Użycie danych nie jest mierzone"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Rozmiary bufora rejestratora"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Wyświetlaj okno Aplikacja nie odpowiada dla aplikacji w tle"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Pokaż ostrzeżenia kanału powiadomień"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Wyświetla ostrzeżenie, gdy aplikacja publikuje powiadomienie bez prawidłowego kanału"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Wymuszaj skróty do powiadomień o rozmowie"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Wymagaj używania długoterminowych skrótów do udostępniania powiadomień, które pojawiałyby się w sekcji rozmowy"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Wymuś zezwalanie na aplikacje w pamięci zewnętrznej"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Pozwala na zapis aplikacji w pamięci zewnętrznej niezależnie od wartości w pliku manifestu"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Wymuś zmianę rozmiaru okien aktywności"</string>
@@ -534,14 +538,14 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"Z tego urządzenia możesz korzystać wraz z innymi osobami, dodając na nim konta użytkowników. Każdy użytkownik ma własne miejsce na swoje aplikacje, tapety i inne dane. Może też zmieniać ustawienia, które wpływają na wszystkich użytkowników urządzenia (np. Wi‑Fi).\n\nGdy dodasz nowego użytkownika, musi on skonfigurować swoje miejsce na dane.\n\nKażdy użytkownik może aktualizować aplikacje w imieniu wszystkich pozostałych użytkowników. Ułatwienia dostępu i usługi mogą nie zostać przeniesione na konto nowego użytkownika."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Gdy dodasz nowego użytkownika, musi on skonfigurować swoją przestrzeń.\n\nKażdy użytkownik może aktualizować aplikacje wszystkich innych użytkowników."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Skonfigurować ustawienia dla użytkownika?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Upewnij się, że ta osoba jest w pobliżu i może skonfigurować swój profil."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Upewnij się, że ta osoba jest w pobliżu i może skonfigurować swój profil"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Skonfigurować teraz profil?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Skonfiguruj"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Nie teraz"</string>
     <string name="user_add_user_type_title" msgid="551279664052914497">"Dodaj"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Nowy użytkownik"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Nowy profil"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Użytkownik – informacje"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Informacje o użytkowniku"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"Informacje o profilu"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Zanim utworzysz profil z ograniczeniami, musisz skonfigurować ekran blokady, by chronić aplikacje i osobiste dane."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Ustaw blokadę"</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index d98c9ff..0b239a5 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -161,7 +161,7 @@
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Tom de voz"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"Afeta o tom da voz sintetizada"</string>
     <string name="tts_default_lang_title" msgid="4698933575028098940">"Idioma"</string>
-    <string name="tts_lang_use_system" msgid="6312945299804012406">"Usa o idioma do sistema"</string>
+    <string name="tts_lang_use_system" msgid="6312945299804012406">"Usar o idioma do sistema"</string>
     <string name="tts_lang_not_selected" msgid="7927823081096056147">"Idioma não selecionado"</string>
     <string name="tts_default_lang_summary" msgid="9042620014800063470">"Define a voz específica do idioma para o texto falado"</string>
     <string name="tts_play_example_title" msgid="1599468547216481684">"Ouça um exemplo"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuração por Wi-Fi"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver e usar dispositivos disponíveis, ative a depuração por Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Parear o dispositivo com um código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Parear novos dispositivos usando um leitor de código QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Parear novos dispositivos usando um leitor de código QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Parear o dispositivo com um código de pareamento"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Parear novos dispositivos usando um código de seis dígitos"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos pareados"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Falha ao parear o dispositivo. O código QR está incorreto ou o dispositivo não está conectado à mesma rede."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Endereço IP e porta"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Ler código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Parear dispositivo na rede Wi‑Fi fazendo a leitura do código QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Parear dispositivo na rede Wi‑Fi fazendo a leitura do código QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conecte-se a uma rede Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Atalho para relatório de bugs"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificação de Display sem fio"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Ativar registro detalhado de Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitar busca por Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC aleatório melhorado por Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dados móveis sempre ativos"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleração de hardware de tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sem nomes"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostrar opções de certificação de Display sem fio"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumentar o nível de registro de Wi-Fi; mostrar conforme o RSSI do SSID no seletor de Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduz o consumo de bateria e melhora o desempenho da rede"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Essa opção afeta o comportamento de ordem aleatória de MAC somente para o modo cliente.\nQuando esse modo é ativado, todas as redes que tiverem a ordem aleatória de MAC ativada poderão ter a ordem aleatória refeita durante a associação, dependendo de quando o cliente se desconectou da rede pela última vez. A ordem aleatória não será refeita se o dispositivo se reconectar em até quatro horas."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Limitada"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Ilimitada"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamanhos de buffer de logger"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Usar aceleração de hardware de tethering quando disponível"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Permitir a depuração USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"A depuração USB serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permitir a depuração sem fio?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuração sem fio serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permitir a depuração por Wi-Fi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuração por Wi-Fi serve apenas para fins de desenvolvimento. Use para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Revogar o acesso à depuração USB para todos os computadores autorizados?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Ativar as configurações de desenvolvimento?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Essas configurações são destinadas apenas para o uso de desenvolvedores. Elas podem causar a desativação ou mau funcionamento do dispositivo e dos apps contidos nele."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Exibir a caixa de diálogo \"App não responde\" para apps em segundo plano"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostrar avisos de notificações"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Exibir aviso na tela quando um app posta notificação sem canal válido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Usar atalhos para notificações de conversa"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Exigir que as notificações sejam apoiadas por um atalho de compartilhamento de longa duração para que elas possam aparecer na seção de conversa"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forçar permissão de apps em armazenamento externo"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Qualificar apps para gravação em armazenamento externo, independentemente de valores de manifestos"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forçar atividades a serem redimensionáveis"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Até <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"A bateria pode acabar neste horário: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Menos de <xliff:g id="THRESHOLD">%1$s</xliff:g> restante(s)"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index c12f2d7..a008504 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuração sem fios"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver e utilizar dispositivos disponíveis, ative a depuração sem fios."</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Sincronize o dispositivo com o código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Sincronize novos dispositivos com o leitor de códigos QR."</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Sincronize novos dispositivos com o leitor de códigos QR."</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Sincronize dispositivo com código de sincronização"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Sincronize novos dispositivos através do código de seis dígitos."</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos sincronizados"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Falha ao sincronizar o dispositivo. O código QR estava incorreto ou o dispositivo não está ligado à mesma rede."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Porta e endereço IP"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Leia o código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Sincronize o dispositivo através de Wi-Fi ao ler um código QR."</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Sincronize o dispositivo através de Wi-Fi ao ler um código QR."</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Estabeleça ligação a uma rede Wi-Fi."</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, depurar, programador"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Atalho para relatório de erro"</string>
@@ -242,7 +242,7 @@
     <string name="bt_hci_snoop_log_summary" msgid="6808538971394092284">"Capturar os pacotes Bluetooth (ative/desative o Bluetooth após alterar esta definição)"</string>
     <string name="oem_unlock_enable" msgid="5334869171871566731">"Desbloqueio de OEM"</string>
     <string name="oem_unlock_enable_summary" msgid="5857388174390953829">"Permitir o desbloqueio do carregador de arranque"</string>
-    <string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"Pretende permitir o desbloqueio de OEM?"</string>
+    <string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"Permitir o desbloqueio de OEM?"</string>
     <string name="confirm_enable_oem_unlock_text" msgid="854131050791011970">"AVISO: as funcionalidades de proteção do dispositivo não funcionam neste dispositivo enquanto esta definição estiver ativada."</string>
     <string name="mock_location_app" msgid="6269380172542248304">"Selecionar aplicação de localização fictícia"</string>
     <string name="mock_location_app_not_set" msgid="6972032787262831155">"Aplicação de localização fictícia não definida"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificação de display sem fios"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Ativar o registo verboso de Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Controlo da procura de Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Seleção aleatória do MAC otimizado Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dados móveis sempre ativos"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleração de hardware para ligação (à Internet) via telemóvel"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sem nomes"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostrar opções da certificação de display sem fios"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumentar o nível de reg. de Wi-Fi, mostrar por RSSI de SSID no Selec. de Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduz o consumo rápido da bateria e melhora o desempenho da rede"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Este botão ativar/desativar afeta o comportamento da seleção aleatória do MAC apenas para o modo de cliente.\nQuando este modo está ativado, qualquer rede que tenha a seleção aleatória do MAC ativa pode fazer com que os seus endereços MAC sejam novamente selecionados de forma aleatória durante a associação, dependendo de quando o cliente se desligou da rede pela última vez. A nova seleção aleatória não ocorre se a ligação do dispositivo for restabelecida em 4 horas ou menos."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Acesso limitado"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Acesso ilimitado"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamanhos da memória intermédia do registo"</string>
@@ -300,7 +302,7 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Se disponível, utilizar a aceleração de hardware para ligação (à Internet) via telemóvel"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Permitir depuração USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"A depuração USB é utilizada apenas para fins de programação. Utilize-a para copiar dados entre o computador e o aparelho, instalar aplicações no aparelho sem notificação e ler dados de registo."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Pretende permitir a depuração sem fios?"</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permitir a depuração sem fios?"</string>
     <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuração sem fios é utilizada apenas para fins de programação. Utilize-a para copiar dados entre o computador e o dispositivo, instalar apps no dispositivo sem notificação e ler dados de registo."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Revogar acesso à depuração USB de todos os computadores anteriormente autorizados?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Permitir definições de programação?"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Mostrar caixa de diálogo A aplicação não está a responder para aplicações em segundo plano"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostrar avisos do canal de notificações"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Mostra um aviso no ecrã quando uma aplicação publica uma notificação sem o canal ser válido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Aplicar atalhos para notificações de conversas"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Solicitar cópia de seg. das notif. por atalho de partilha de longa duração p/ apresentação na secção de conversas"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forçar permissão de apps no armazenamento externo"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Torna qualquer aplicação elegível para ser gravada no armazenamento externo, independentemente dos valores do manifesto"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forçar as atividades a serem redimensionáveis"</string>
@@ -451,7 +455,7 @@
     <string name="battery_info_status_charging_slow" msgid="3190803837168962319">"Carregamento lento"</string>
     <string name="battery_info_status_discharging" msgid="6962689305413556485">"Não está a carregar"</string>
     <string name="battery_info_status_not_charging" msgid="8330015078868707899">"Ligada à corrente, não é possível carregar neste momento"</string>
-    <string name="battery_info_status_full" msgid="4443168946046847468">"Completo"</string>
+    <string name="battery_info_status_full" msgid="4443168946046847468">"Carregada"</string>
     <string name="disabled_by_admin_summary_text" msgid="5343911767402923057">"Controlado pelo gestor"</string>
     <string name="disabled" msgid="8017887509554714950">"Desativada"</string>
     <string name="external_source_trusted" msgid="1146522036773132905">"Autorizada"</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index d98c9ff..0b239a5 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -161,7 +161,7 @@
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"Tom de voz"</string>
     <string name="tts_default_pitch_summary" msgid="9132719475281551884">"Afeta o tom da voz sintetizada"</string>
     <string name="tts_default_lang_title" msgid="4698933575028098940">"Idioma"</string>
-    <string name="tts_lang_use_system" msgid="6312945299804012406">"Usa o idioma do sistema"</string>
+    <string name="tts_lang_use_system" msgid="6312945299804012406">"Usar o idioma do sistema"</string>
     <string name="tts_lang_not_selected" msgid="7927823081096056147">"Idioma não selecionado"</string>
     <string name="tts_default_lang_summary" msgid="9042620014800063470">"Define a voz específica do idioma para o texto falado"</string>
     <string name="tts_play_example_title" msgid="1599468547216481684">"Ouça um exemplo"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Depuração por Wi-Fi"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para ver e usar dispositivos disponíveis, ative a depuração por Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Parear o dispositivo com um código QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Parear novos dispositivos usando um leitor de código QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Parear novos dispositivos usando um leitor de código QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Parear o dispositivo com um código de pareamento"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Parear novos dispositivos usando um código de seis dígitos"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispositivos pareados"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Falha ao parear o dispositivo. O código QR está incorreto ou o dispositivo não está conectado à mesma rede."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Endereço IP e porta"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Ler código QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Parear dispositivo na rede Wi‑Fi fazendo a leitura do código QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Parear dispositivo na rede Wi‑Fi fazendo a leitura do código QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conecte-se a uma rede Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Atalho para relatório de bugs"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificação de Display sem fio"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Ativar registro detalhado de Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitar busca por Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC aleatório melhorado por Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dados móveis sempre ativos"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Aceleração de hardware de tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Mostrar dispositivos Bluetooth sem nomes"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Mostrar opções de certificação de Display sem fio"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Aumentar o nível de registro de Wi-Fi; mostrar conforme o RSSI do SSID no seletor de Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduz o consumo de bateria e melhora o desempenho da rede"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Essa opção afeta o comportamento de ordem aleatória de MAC somente para o modo cliente.\nQuando esse modo é ativado, todas as redes que tiverem a ordem aleatória de MAC ativada poderão ter a ordem aleatória refeita durante a associação, dependendo de quando o cliente se desconectou da rede pela última vez. A ordem aleatória não será refeita se o dispositivo se reconectar em até quatro horas."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Limitada"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Ilimitada"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Tamanhos de buffer de logger"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Usar aceleração de hardware de tethering quando disponível"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Permitir a depuração USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"A depuração USB serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permitir a depuração sem fio?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuração sem fio serve apenas para fins de desenvolvimento. Use-a para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permitir a depuração por Wi-Fi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"A depuração por Wi-Fi serve apenas para fins de desenvolvimento. Use para copiar dados entre o computador e o dispositivo, instalar apps no seu aparelho sem notificação e ler dados de registro."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Revogar o acesso à depuração USB para todos os computadores autorizados?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Ativar as configurações de desenvolvimento?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Essas configurações são destinadas apenas para o uso de desenvolvedores. Elas podem causar a desativação ou mau funcionamento do dispositivo e dos apps contidos nele."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Exibir a caixa de diálogo \"App não responde\" para apps em segundo plano"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Mostrar avisos de notificações"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Exibir aviso na tela quando um app posta notificação sem canal válido"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Usar atalhos para notificações de conversa"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Exigir que as notificações sejam apoiadas por um atalho de compartilhamento de longa duração para que elas possam aparecer na seção de conversa"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forçar permissão de apps em armazenamento externo"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Qualificar apps para gravação em armazenamento externo, independentemente de valores de manifestos"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forçar atividades a serem redimensionáveis"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Deve durar até por volta de <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Até <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"A bateria pode acabar neste horário: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Menos de <xliff:g id="THRESHOLD">%1$s</xliff:g> restante(s)"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 5860409..b0d78cd 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Remedierea erorilor prin USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Mod de depanare când este conectat USB"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Revoc autorizații remediere a erorilor prin USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Remedierea erorilor prin wireless"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Remedierea erorilor wireless"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Modul de remediere a erorilor când rețeaua Wi-Fi este conectată"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Eroare"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Remedierea erorilor prin wireless"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Remedierea erorilor wireless"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Activați remedierea erorilor wireless pentru a vedea și a folosi dispozitivele disponibile"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Asociați dispozitivul folosind codul QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Asociați dispozitive noi folosind scannerul de coduri QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Asociați dispozitive noi folosind scannerul de coduri QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Asociați dispozitivul folosind codul de conectare"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Asociați dispozitive noi folosind codul din șase cifre"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Dispozitive asociate"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Nu s-a asociat dispozitivul. Codul QR este incorect sau dispozitivul nu este conectat la aceeași rețea."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adresa IP și portul"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Scanați codul QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Asociați dispozitivul prin Wi-Fi scanând un cod QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Asociați dispozitivul prin Wi-Fi scanând un cod QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Conectați-vă la o rețea Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, remedierea erorilor, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Comandă rapidă pentru raportul de erori"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certificare Ecran wireless"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Înregistrare prin Wi-Fi de volume mari de date"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Limitare căutare de rețele Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Randomizare MAC îmbunătățită prin Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Date mobile permanent active"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Accelerare hardware pentru tethering"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Afișați dispozitivele Bluetooth fără nume"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Afișați opțiunile pentru certificarea Ecran wireless"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Măriți niv. de înr. prin Wi‑Fi, afișați în fcț. de SSID RSSI în Selectorul Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Reduce descărcarea bateriei și îmbunătățește performanța rețelei"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Acest comutator influențează comportamentul de randomizare a adresei MAC numai pentru modul client.\nCând este activat acest mod, toate rețelele care au activată randomizarea adresei MAC pot randomiza din nou adresele MAC în timpul asocierii, în funcție de ora ultimei deconectări a clientului de la rețea. Randomizarea nu se repetă dacă dispozitivul se reconectează în decurs de 4 ore."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Contorizată"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Necontorizată"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Dimensiunile memoriei temporare a jurnalului"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Folosiți accelerarea hardware pentru tethering, dacă este disponibilă"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Permiteți remedierea erorilor prin USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Remedierea erorilor prin USB are exclusiv scopuri de dezvoltare. Utilizați-o pentru a copia date de pe computer pe dispozitiv, pentru a instala aplicații pe dispozitiv fără notificare și pentru a citi datele din jurnale."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permiteți remedierea erorilor prin wireless?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Remedierea erorilor prin wireless are exclusiv scopuri de dezvoltare. Folosiți-o pentru a copia date de pe computer pe dispozitiv, pentru a instala aplicații pe dispozitiv fără notificare și pentru a citi datele din jurnale."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Permiteți remedierea erorilor wireless?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Remedierea erorilor wireless are exclusiv scopuri de dezvoltare. Folosiți-o pentru a copia date de pe computer pe dispozitiv, pentru a instala aplicații pe dispozitiv fără notificare și pentru a citi datele din jurnale."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Revocați accesul la remedierea erorilor prin USB de pe toate computerele pe care le-ați autorizat anterior?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Permiteți setările pentru dezvoltare?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Aceste setări sunt destinate exclusiv utilizării pentru dezvoltare. Din cauza lor, este posibil ca dispozitivul dvs. și aplicațiile de pe acesta să nu mai funcționeze sau să funcționeze necorespunzător."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Afișați dialogul Aplicația nu răspunde pentru aplicațiile din fundal"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Afișați avertismentele de pe canalul de notificări"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Afișați avertisment pe ecran când o aplicație postează o notificare fără canal valid"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Comenzi rapide pt. notif. de conversație"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Notificările trebuie susținute de o comandă rapidă veche de trimitere ca să apară în secțiunea conversației"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Forțați accesul aplicațiilor la stocarea externă"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Faceți ca orice aplicație eligibilă să fie scrisă în stocarea externă, indiferent de valorile manifestului"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Forțați redimensionarea activităților"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index ab230b7..a375bdb 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -112,7 +112,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Используется для передачи файлов"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Использовать для ввода"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Использовать для слухового аппарата"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Подключить"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Добавить"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"ДОБАВИТЬ"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Отмена"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Установление соединения обеспечивает доступ к вашим контактам и журналу звонков при подключении."</string>
@@ -194,8 +194,8 @@
     <item msgid="581904787661470707">"Максимальная"</item>
   </string-array>
     <string name="choose_profile" msgid="343803890897657450">"Выбор профиля"</string>
-    <string name="category_personal" msgid="6236798763159385225">"Личные данные"</string>
-    <string name="category_work" msgid="4014193632325996115">"Работа"</string>
+    <string name="category_personal" msgid="6236798763159385225">"Личный профиль"</string>
+    <string name="category_work" msgid="4014193632325996115">"Рабочий профиль"</string>
     <string name="development_settings_title" msgid="140296922921597393">"Для разработчиков"</string>
     <string name="development_settings_enable" msgid="4285094651288242183">"Включить параметры для разработчиков"</string>
     <string name="development_settings_summary" msgid="8718917813868735095">"Настройка параметров для разработчиков"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Отладка по Wi-Fi"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Чтобы посмотреть и использовать доступные устройства, включите отладку по Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Подключить устройство с помощью QR-кода"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Подключение новых устройств с помощью сканера QR-кодов"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Подключение новых устройств с помощью сканера QR-кодов"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Подключить устройство с помощью кода подключения"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Подключение новых устройств с помощью шестизначного кода"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Подключенные устройства"</string>
@@ -230,8 +230,8 @@
     <string name="adb_wireless_verifying_qrcode_text" msgid="6123192424916029207">"Подключение устройства…"</string>
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Не удалось подключить устройство. QR-код неверный, или устройство находится в другой сети."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-адрес и порт"</string>
-    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Сканировать QR-код"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Подключение устройства через Wi‑Fi с использованием QR-кода"</string>
+    <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Отсканируйте QR-код"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Подключение устройства через Wi‑Fi с использованием QR-кода"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Подключите устройство к сети Wi-Fi."</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, отладка, разработчик"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Отчет об ошибке"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Серт. беспроводн. мониторов"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Подробный журнал Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Ограничивать поиск сетей Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Случайные MAC-адреса в сети Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Не отключать мобильный Интернет"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Аппаратное ускорение в режиме модема"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Показывать Bluetooth-устройства без названий"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Показывать параметры сертификации беспроводных мониторов"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Вести подробный журнал, показывать RSSI для каждого SSID при выборе сети"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Уменьшает расход заряда батареи и улучшает работу сети"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Эта настройка влияет на использование случайных MAC-адресов только в клиентском режиме.\nВо время подключения к любой сети происходит повторное создание случайного MAC-адреса в зависимости от того, когда клиент последний раз отключался от сети. Это не происходит, если соединение возобновляется через четыре часа или раньше."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Сеть с тарификацией трафика"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Сеть без тарификации трафика"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Размер буфера журнала"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Уведомлять о том, что приложение, запущенное в фоновом режиме, не отвечает"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Показывать предупреждения канала передачи уведомлений"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Показывать предупреждение о новых уведомлениях приложения вне допустимого канала"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Принудительное использование ярлыков для уведомлений из чатов"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Обязательно дублировать уведомления с помощью долго отображаемых ярлыков, чтобы уведомления появлялись в разделе чатов"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Разрешить сохранение на внешние накопители"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Разрешить сохранение приложений на внешних накопителях (независимо от значений в манифесте)"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Изменение размера в многооконном режиме"</string>
@@ -534,7 +538,7 @@
     <string name="user_add_user_message_long" msgid="1527434966294733380">"Если этим устройством пользуются сразу несколько человек, для каждого из них можно создать отдельный профиль – практически собственное пространство со своими приложениями, обоями и т. д. При этом из профиля можно поменять и настройки устройства, общие для всех, например выбрать сеть Wi-Fi.\n\nКогда вы добавляете нового пользователя, ему нужно настроить свой профиль.\n\nОбновлять общие приложения может любой пользователь, однако специальные возможности настраиваются индивидуально."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"После создания профиля его потребуется настроить.\n\nЛюбой пользователь устройства может обновлять приложения для всех аккаунтов."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Настроить профиль?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Вам потребуется передать устройство пользователю, чтобы он мог настроить свое личное пространство."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Вам потребуется передать устройство пользователю, чтобы он мог настроить свой профиль."</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Настроить профиль?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Настроить"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Не сейчас"</string>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index d87e288..d22a643 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"නොරැහැන් දෝෂාවේක්ෂණය"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"ලබා ගත හැකි උපාංග බැලීමට, නොරැහැන් දෝෂාවේක්ෂණය ක්‍රියාත්මක කරන්න"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR කේතය සමගින් උපාංගය යුගල කරන්න"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR කේත ස්කෑනරය භාවිතයෙන් නව උපාංග යුගල කරන්න"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR කේත ස්කෑනරය භාවිතයෙන් නව උපාංග යුගල කරන්න"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"යුගල කිරීමේ කේතය සමගින් උපාංගය යුගල කරන්න"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ඉලක්කම් හයක කේතය භාවිතයෙන් නව උපාංග යුගල කරන්න"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"යුගල කළ උපාංග"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"උපාංගය යුගල කිරීමට අසමත් විය. QR කේතය වැරදිය නැතහොත් එකම ජාලයට සම්බන්ධ කර නැත."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP ලිපිනය &amp; තොට"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR කේතය ස්කෑන් කරන්න"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR කේතය ස්කෑන් කිරීමෙන් Wi‑Fi හරහා උපාංගය යුගල කරන්න"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR කේතය ස්කෑන් කිරීමෙන් Wi‑Fi හරහා උපාංගය යුගල කරන්න"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"කරුණාකර Wi-Fi ජාලයකට සම්බන්ධ වන්න"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, දෝෂාවෙක්ෂණ, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"දෝෂය වාර්තා කිරීමේ කෙටිමඟ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"නොරැහැන් සංදර්ශක සහතිකය"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"විස්තරාත්මක Wi‑Fi ලොග් කිරීම සබල කරන්න"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi ස්කෑන් අවකරණය"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi-Fi‑වැඩිදියුණු කළ MAC සසම්භාවීකරණය"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"ජංගම දත්ත සැමවිට ක්‍රියාකාරීය"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ටෙදරින් දෘඪාංග ත්වරණය"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"නම් නොමැති බ්ලූටූත් උපාංග පෙන්වන්න"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"නොරැහැන් සංදර්ශක සහතිකය සඳහා විකල්ප පෙන්වන්න"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi ලොග් මට්ටම වැඩි කරන්න, Wi‑Fi තෝරනයෙහි SSID RSSI අනුව පෙන්වන්න"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"බැටරි බැසීම අඩු කරන අතර ජාල කාර්ය සාධනය වැඩි දියුණු කරයි"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"මෙම ටොගලය සේවාලාභී ප්‍රකාරය සඳහා පමණක් MAC සසම්භාවීකරණ හැසිරීමට බලපායි.\nමෙම ප්‍රකාරය සක්‍රිය කර ඇති විට, MAC සසම්භාවීකරණය සබල කර ඇති ඕනෑම ජාලයකට, සේවාලාභියා අවසන් වරට ජාලයෙන් විසන්ධි වූයේ කවදාද යන්න මත පදනම්ව සම්බන්ධය අතරතුර ඔවුන්ගේ MAC ලිපින යළි සසම්භාවිකරණය කර තිබිය හැකිය. උපාංගය පැය 4කින් හෝ ඊට අඩු කාලයකදී නැවත සම්බන්ධ වන්නේ නම් යළි සසම්භාවිකරණය සිදු නොවේ."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"මනිනු ලැබේ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"මනින්නේ නැත"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ලෝගයේ අන්තරාවක ප්‍රමාණය"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"පසුබිම් යෙදුම්වලට යෙදුම ප්‍රතිචාර නොදක්වයි කවුළුව සංදර්ශනය කරන්න"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"දැනුම්දීම් නාලිකා අනතුරු ඇඟවීම් පෙන්."</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"යෙදුමක් වලංගු නාලිකාවකින් තොරව දැනුම්දීමක් පළ කරන විට තිරය-මත අනතුරු ඇඟවීමක් සංදර්ශනය කරයි."</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"සංවාද දැනුම් දීම් සඳහා කෙටිමං බලාත්මක කරන්න"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"සංවාද කොටසේ පෙනී සිටීම පිණිස දිගු කාලයක් පවතින බෙදා ගැනීමේ කෙටිමඟක් මඟින් දැනුම් දීම් අවහිර කිරීමට අවශ්‍ය වේ"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"බාහිර මත යෙදුම් ඉඩ දීම බල කරන්න"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"මැනිෆෙස්ට් අගයන් නොසලකා, ඕනෑම යෙදුමක් බාහිර ගබඩාවට ලිවීමට සුදුසුකම් ලබා දෙයි"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"ක්‍රියාකාරකම් ප්‍රතිප්‍රමාණ කළ හැකි බවට බල කරන්න"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index 73cfce1..c6ea18b 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Bezdrôtové ladenie"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Ak chcete zobraziť a používať dostupné zariadenia, zapnite bezdrôtové ladenie"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Spárovať zariadenie pomocou QR kódu"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Spárujte nové zariadenia pomocou skenera QR kódov"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Spárujte nové zariadenia pomocou skenera QR kódov"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Spárovať zariadenie pomocou párovacieho kódu"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Spárujte nové zariadenia pomocou šesťmiestneho kódu"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Spárované zariadenia"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Zariadenie sa nepodarilo spárovať. Buď bol QR kód nesprávny, alebo zariadenie nie je pripojené k rovnakej sieti."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adresa IP a port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Naskenujte QR kód"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Spárujte zariadenie cez sieť Wi-Fi naskenovaním QR kódu"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Spárujte zariadenie cez sieť Wi-Fi naskenovaním QR kódu"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Pripojte sa k sieti Wi‑Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, ladenie, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Skratka hlásenia chyby"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifikácia bezdrôtového zobrazenia"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Podrobné denníky Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Pribrzdenie vyhľadávania sietí Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Zlepš. randomizácia adr. MAC prip. Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobilné dáta ponechať vždy aktívne"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardvérová akcelerácia tetheringu"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Zobrazovať zariadenia Bluetooth bez názvov"</string>
@@ -277,12 +278,13 @@
     <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Výber súkromného režimu DNS"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Vypnuté"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Automaticky"</string>
-    <string name="private_dns_mode_provider" msgid="3619040641762557028">"Súkromný názov hostiteľa poskytovateľa DNS"</string>
+    <string name="private_dns_mode_provider" msgid="3619040641762557028">"Názov hostiteľa poskytovateľa súkromného DNS"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"Zadajte názov hostiteľa poskytovateľa DNS"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"Nepodarilo sa pripojiť"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Zobraziť možnosti certifikácie bezdrôtového zobrazenia"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Zvýšiť úroveň denníkov Wi‑Fi, zobrazovať podľa SSID RSSI pri výbere siete Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Znižuje používanie batérie a zlepšuje výkon siete"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Tento prepínač ovplyvňuje správanie randomizácie adresy MAC len pre režim klienta.\nKeď je tento režim aktivovaný, všetky siete s povolenou randomizáciou adresy MAC môžu mať svoje adresy MAC počas spájania opätovne randomizované v závislosti od toho, kedy sa klient od siete naposledy odpojil. Opätovná randomizácia nenastane, ak sa zariadenie znova pripojí do štyroch hodín."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Merané"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Bez merania dát"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Vyrovnávacia pamäť nástroja denníkov"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Zobrazovať dialógové okno „Aplikácia nereaguje“ pre aplikácie na pozadí"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Zobraziť hlásenia kanála upozornení"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Zobrazuje varovné hlásenie na obrazovke, keď aplikácia zverejní upozornenie bez platného kanála"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Vynútiť skratky pre upozornenia na konverzácie"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Vyžadovať zastúpenie upozornení dlhodobou skratkou na zdieľanie, aby sa zobrazili v sekcii konverzácie"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Vynútiť povolenie aplikácií na externom úložisku"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Umožňuje zapísať akúkoľvek aplikáciu do externého úložiska bez ohľadu na hodnoty v manifeste"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Vynútiť možnosť zmeny veľkosti aktivít"</string>
@@ -476,7 +480,7 @@
     <string name="retail_demo_reset_next" msgid="3688129033843885362">"Ďalej"</string>
     <string name="retail_demo_reset_title" msgid="1866911701095959800">"Vyžaduje sa heslo"</string>
     <string name="active_input_method_subtypes" msgid="4232680535471633046">"Aktívne metódy vstupu"</string>
-    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Použiť jazyky systému"</string>
+    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Jazyky systému"</string>
     <string name="failed_to_open_app_settings_toast" msgid="764897252657692092">"Nastavenia aplikácie <xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g> sa nepodarilo otvoriť"</string>
     <string name="ime_security_warning" msgid="6547562217880551450">"Pri tejto metóde vstupu sa môže zhromažďovať zadávaný text vrátane osobných údajov, ako sú heslá alebo čísla kreditných kariet. Táto metóda je poskytovaná aplikáciou <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Chcete použiť túto metódu vstupu?"</string>
     <string name="direct_boot_unaware_dialog_message" msgid="7845398276735021548">"Poznámka: Po reštartovaní sa táto aplikácia spustí až vtedy, keď odomknete telefón"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 8e3782c..1c83a7f 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -78,7 +78,7 @@
     <string name="bluetooth_connected_no_headset_no_a2dp_battery_level" msgid="8477440576953067242">"Povezano (brez telefona ali predstavnosti), raven napolnjenosti akumulatorja je <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> <xliff:g id="ACTIVE_DEVICE">%2$s</xliff:g>"</string>
     <string name="bluetooth_active_battery_level" msgid="3450745316700494425">"Aktivna, akumulator na <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_active_battery_level_untethered" msgid="2706188607604205362">"Aktivno, L: napolnjenost akumulatorja je <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: napolnjenost akumulatorja je <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
-    <string name="bluetooth_battery_level" msgid="2893696778200201555">"Akumulator na <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_battery_level" msgid="2893696778200201555">"Baterija na <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered" msgid="4002282355111504349">"L: napolnjenost akumulatorja je <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: napolnjenost akumulatorja je <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_active_no_battery_level" msgid="4155462233006205630">"Aktivna"</string>
     <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"Zvok predstavnosti"</string>
@@ -86,7 +86,7 @@
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"Prenos datoteke"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Vnosna naprava"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Internetni dostop"</string>
-    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"Dajanje stikov v skupno rabo"</string>
+    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"Deljenje stikov"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"Uporabi za dajanje stikov v skupno rabo"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Skupna raba internetne povezave"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"Sporočila SMS"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Brezžično odpravljanje napak"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Če si želite ogledati in uporabljati razpoložljive naprave, vklopite brezžično odpravljanje napak"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Seznanjanje naprave s kodo QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Seznanjanje novih naprav z optičnim bralnikom kod QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Seznanitev novih naprav z optičnim bralnikom kod QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Seznanjanje naprave s kodo za seznanjanje"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Seznanjanje novih naprav s šestmestno kodo"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Seznanjene naprave"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Seznanitev naprave ni uspela. Koda QR je nepravilna ali pa naprava ni povezana v isto omrežje."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Naslov IP in vrata"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Optično branje kode QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Seznanitev naprave prek Wi‑Fi-ja z optičnim branjem kode QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Seznanitev naprave prek Wi‑Fi-ja z optičnim branjem kode QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Vzpostavite povezavo z omrežjem Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, odpravljanje napak, razvoj"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Bližnjica za poročanje o napakah"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Potrdilo brezžičnega zaslona"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Omogoči podrobno zapisovanje dnevnika za Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Omejevanje iskanja omrežij Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Naključen naslov MAC s podporo Wi‑Fi‑ja"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Prenos podatkov v mobilnem omrežju je vedno aktiven"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Strojno pospeševanje za internetno povezavo prek mobilnega telefona"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Prikaži naprave Bluetooth brez imen"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Pokaži možnosti za potrdilo brezžičnega zaslona"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Povečaj raven zapisovanja dnevnika za Wi-Fi; v izbirniku Wi‑Fi-ja pokaži glede na SSID RSSI"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Zmanjša porabo energije akumulatorja in izboljša delovanje omrežja"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"To stikalo vpliva na dodeljevanje naključnega naslova MAC samo v načinu odjemalca.\nKo je ta način aktiviran, se omrežjem, pri katerih je omogočeno naključno dodeljevanje naslova MAC, med povezovanjem morda dodeli nov naključen naslov MAC, kar je odvisno od tega, kdaj je odjemalec nazadnje prekinil povezavo z omrežjem. Dodelitev novega naključnega naslova se ne izvede, če naprava znova vzpostavi povezavo po največ štirih urah."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Omejen prenos podatkov"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Z neomejenim prenosom podatkov"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Velikosti medpomnilnikov zapisovalnika dnevnika"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Prikaz pogovornega okna za neodzivanje aplikacij v ozadju"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Pokaži opozorila kanala za obvestila"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Na zaslonu se pokaže opozorilo, ko aplikacija objavi obvestilo brez veljavnega kanala"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Uveljavitev bližnjic za obvestila pogovora"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Zahteva, da obvestila podpira dolgotrajna bližnjica za deljenje, da se prikažejo v razdelku s pogovorom"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Vsili omogočanje aplikacij v zunanji shrambi"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Poskrbi, da je ne glede na vrednosti v manifestu mogoče vsako aplikacijo zapisati v zunanjo shrambo"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Vsili spremembo velikosti za aktivnosti"</string>
@@ -531,7 +535,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Uporabnik"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Omejen profil"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Dodajanje novega uporabnika?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"To napravo lahko daste v skupno rabo z drugimi tako, da ustvarite dodatne uporabnike. Vsak ima svoj prostor, ki ga lahko prilagodi z aplikacijami, ozadji in drugim. Uporabniki lahko tudi prilagodijo nastavitve naprave, ki vplivajo na vse, na primer nastavitve omrežja Wi-Fi.\n\nKo dodate novega uporabnika, mora ta nastaviti svoj prostor.\n\nVsak uporabnik lahko posodobi aplikacije za vse druge uporabnike. Nastavitve in storitve funkcij za ljudi s posebnimi potrebami morda ne bodo prenesene v prostor novega uporabnika."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"To napravo lahko delite z drugimi tako, da ustvarite dodatne uporabnike. Vsak ima svoj prostor, ki ga lahko prilagodi z aplikacijami, ozadji in drugim. Uporabniki lahko tudi prilagodijo nastavitve naprave, ki vplivajo na vse, na primer nastavitve omrežja Wi-Fi.\n\nKo dodate novega uporabnika, mora ta nastaviti svoj prostor.\n\nVsak uporabnik lahko posodobi aplikacije za vse druge uporabnike. Nastavitve in storitve funkcij za ljudi s posebnimi potrebami morda ne bodo prenesene v prostor novega uporabnika."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Ko dodate novega uporabnika, mora ta nastaviti svoj prostor.\n\nVsak uporabnik lahko posodobi aplikacije za vse druge uporabnike."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Želite uporabnika nastaviti zdaj?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Prepričajte se, da ima oseba čas za nastavitev svojega prostora."</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index 6d1e80a..2a50f58 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Korrigjimi i USB-së"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Korrigjo gabimet e modalitetit kur UBS-ja është e lidhur"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Anulo autorizimet e korrigjimeve të gabimeve të USB-së"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Korrigjimi me valë"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Korrigjimi përmes Wi-Fi"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Regjimi i korrigjimit kur Wi‑Fi është i lidhur"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Gabim"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Korrigjimi me valë"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Për të parë dhe përdorur pajisjet e disponueshme, aktivizo korrigjimin me valë"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Korrigjimi përmes Wi-Fi"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Për të parë dhe përdorur pajisjet e disponueshme, aktivizo korrigjimin përmes Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Çifto pajisjen me kod QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Çifto pajisjet e reja duke përdorur skanerin e kodeve QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Çifto pajisjet e reja duke përdorur skanerin e kodeve QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Çifto pajisjen me kodin e çiftimit"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Çifto pajisjet e reja duke përdorur kodin me gjashtë shifra"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Pajisjet e çiftuara"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Çiftimi i pajisjes dështoi. Ose kodi QR nuk ishte i saktë, ose pajisja nuk është e lidhur me të njëjtin rrjet."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Adresa e IP-së dhe porta"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skano kodin QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Çifto pajisjen përmes Wi‑Fi duke skanuar një kod QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Çifto pajisjen përmes Wi‑Fi duke skanuar një kod QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Lidhu me një rrjet Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, korrigjimi, zhvilluesi"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Shkurtorja e raportit të defektit në kod"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifikimi i ekranit valor"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Aktivizo hyrjen Wi-Fi Verbose"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Përshpejtimi i skanimit të Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Renditja e rastësishme e adresave MAC të përmirësuara me Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Të dhënat celulare gjithmonë aktive"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Përshpejtimi i harduerit për ndarjen e lidhjes (internet)"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Shfaq pajisjet me Bluetooth pa emra"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Shfaq opsionet për certifikimin e ekranit valor"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Rrit nivelin regjistrues të Wi‑Fi duke shfaqur SSID RSSI-në te Zgjedhësi i Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Zvogëlon shkarkimin e baterisë dhe përmirëson cilësinë e funksionimit të rrjetit"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Ky ndryshim ndikon te sjellja e renditjes së rastësishme të adresave MAC vetëm për modalitetin e klientit.\nKur aktivizohet ky modalitet, çdo rrjet që ka të aktivizuar renditjen e rastësishme të adresave MAC mund t\'i rirendisë adresat e veta MAC gjatë shoqërimit, në varësi të kohës kur është shkëputur klienti për herë të fundit nga rrjeti. Rirenditja e rastësishme nuk ndodh nëse pajisja lidhet brenda 4 orëve ose më pak."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Me matje"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Pa matje"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Madhësitë e regjistruesit"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Përdor përshpejtimin e harduerit për ndarjen e lidhjes (internet) nëse është i disponueshëm"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Të lejohet korrigjimi i USB-së?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Korrigjuesi i USB-së është vetëm për qëllime zhvillimore. Përdore për të kopjuar të dhëna mes kompjuterit dhe pajisjes tënde, për të instaluar aplikacione në pajisjen tënde pa asnjë njoftim si dhe për të lexuar të dhënat e ditarit."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Të lejohet korrigjimi me valë?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Korrigjimi me valë është vetëm për qëllime zhvillimore. Përdore për të kopjuar të dhëna mes kompjuterit dhe pajisjes sate, për të instaluar aplikacione në pajisjen tënde pa asnjë njoftim si dhe për të lexuar të dhënat e regjistrit."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Të lejohet korrigjimi përmes Wi-Fi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Korrigjimin përmes Wi-Fi është vetëm për qëllime zhvillimore. Përdore për të kopjuar të dhëna mes kompjuterit dhe pajisjes sate, për të instaluar aplikacione në pajisjen tënde pa asnjë njoftim si dhe për të lexuar të dhënat e regjistrit."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Të bllokohet qasja për korrigjim të USB-së nga të gjithë kompjuterët që ke autorizuar më parë?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Të lejohen cilësimet e zhvillimit?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Këto cilësime janë të projektuara vetëm për përdorim në programim. Ato mund të shkaktojnë që pajisja dhe aplikacionet në të, të mos punojnë ose të veprojnë në mënyrë të gabuar."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Shfaq raportet ANR (Aplikacioni nuk përgjigjet) për aplikacionet në sfond"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Shfaq paralajmërimet e kanalit të njoftimeve"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Shfaq paralajmërimin në ekran kur një aplikacion poston një njoftim pa një kanal të vlefshëm"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Zbato shkurtoret për njoftimet e bisedave"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kërko që informacionet të mbështeten nga një shkurtore ndarjeje afatgjatë që ato të shfaqen në seksionin e bashkëbisedimit"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Detyro lejimin në hapësirën e jashtme"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Bën që çdo aplikacion të jetë i përshtatshëm për t\'u shkruar në hapësirën ruajtëse të jashtme, pavarësisht nga vlerat e manifestit"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Detyro madhësinë e ndryshueshme për aktivitetet"</string>
@@ -443,7 +447,7 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"Tableti mund të fiket së shpejti (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Pajisja mund të fiket së shpejti (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> të mbetura për karikimin"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"<xliff:g id="TIME">%1$s</xliff:g> të mbetura deri në karikim"</string>
     <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> deri sa të karikohen"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"I panjohur"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"Po karikohet"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 775b7d5..45dbd36 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Бежично отклањање грешака"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Да бисте видели и користили доступне уређаје, укључите бежично отклањање грешака"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Упарите уређај помоћу QR кода"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Упарите нове уређаје помоћу читача QR кода"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Упарите нове уређаје помоћу читача QR кода"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Упарите уређај помоћу кода за упаривање"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Упарите нове уређаје помоћу шестоцифреног кода"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Упарени уређаји"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Упаривање уређаја није успело. QR кôд је погрешан или уређај није повезан са истом мрежом."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP адреса и порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Скенирај QR кôд"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Упарите уређај помоћу Wi‑Fi мреже или тако што ћете скенирати QR кôд"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Упарите уређај помоћу Wi‑Fi мреже тако што ћете скенирати QR кôд"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Повежите се на Wi-Fi мрежу"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, отклањање грешака, програмер"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Пречица за извештај о грешкама"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Сертификација бежичног екрана"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Омогући детаљнију евиденцију за Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Успоравање Wi-Fi скенирања"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Насумично MAC разврставање по Wi‑Fi‑ју"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Мобилни подаци су увек активни"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Хардверско убрзање привезивања"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Прикажи Bluetooth уређаје без назива"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Приказ опција за сертификацију бежичног екрана"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Повећава ниво евидентирања за Wi‑Fi. Приказ по SSID RSSI-у у бирачу Wi‑Fi мреже"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Смањује потрошњу батерије и побољшава учинак мреже"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Овај прекидач утиче на понашање насумичног разврставања MAC адреса само за режим клијента.\nКада се овај режим активира, за мреже на којима је омогућено насумично разврставање MAC адреса може да дође до поновног насумичног разврставања MAC адреса током повезивања, у зависности од тога када се клијент пре тога искључио са мреже. До поновног насумичног разврставања не долази ако се уређај поново повеже за 4 сата или мање."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Са ограничењем"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Без ограничења"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Величине бафера података у програму за евидентирање"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Прикажи дијалог Апликација не реагује за апликације у позадини"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Приказуј упозорења због канала за обавештења"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Приказује упозорење на екрану када апликација постави обавештење без важећег канала"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Примењуј пречице за обавештења о конверзацијама"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Захтева да обавештења имају и дугорочну пречицу за дељење како би се појављивала у одељку за конверзације"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Принудно дозволи апликације у спољној"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Омогућава уписивање свих апликација у спољну меморију, без обзира на вредности манифеста"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Принудно омогући промену величине активности"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index e40ba29..efb4ddc 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Trådlös felsökning"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Aktivera trådlös felsökning om du vill se tillgängliga enheter"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Parkoppla enheten med en QR-kod"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Koppla nya enheter med QR-kodsläsare"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Parkoppla nya enheter med QR-kodsläsare"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Koppla enheten med en kopplingskod"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Koppla nya enheter med en sexsiffrig kod"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Kopplade enheter"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Det gick inte att parkoppla enheten. Antingen var det fel QR-kod eller är enheten inte ansluten till samma nätverk."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-adress och port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skanna QR-kod"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Parkoppla enheten via Wi-Fi genom att skanna en QR-kod"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Parkoppla enheten via Wi-Fi genom att skanna en QR-kod"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Anslut till ett Wi-Fi-nätverk"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev, felsöka, felsökning"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Genväg till felrapport"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certifiering för Wi-Fi-skärmdelning"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Aktivera utförlig loggning för Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Begränsning av Wi-Fi-sökning"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi‑förstärkt MAC-slumpgenerering"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobildata alltid aktiverad"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Maskinvaruacceleration för internetdelning"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Visa namnlösa Bluetooth-enheter"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Visa certifieringsalternativ för Wi-Fi-skärmdelning"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Öka loggningsnivån för Wi-Fi, visa per SSID RSSI i Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Sänker batteriförbrukningen och förbättrar nätverksprestandan"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Detta läge påverkar endast MAC-slumpgenereringens beteende för klientläget.\nNär läget aktiveras kan alla nätverk som har MAC-slumpgenerering aktiverat få sina adresser slumpgenererade på nytt under kopplingen, beroende på när klienten senast kopplade från nätverket. Det sker ingen ny slumpgenerering om enheten återansluter inom fyra timmar."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Med datapriser"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Utan datapriser"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Buffertstorlekar för logg"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Visa dialogrutan om att appen inte svarar för bakgrundsappar"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Visa varningar om aviseringskanal"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Visa varningar på skärmen när en app lägger upp en avisering utan en giltig kanal"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Kräv genvägar för konversationsaviseringar"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kräv att aviseringar har en långlivad delningsgenväg för att få visas i konversationsavsnittet"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Tillåt appar i externt lagringsutrymme"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Allar appar kan skrivas till extern lagring, oavsett manifestvärden"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Framtvinga storleksanpassning för aktiviteter"</string>
@@ -476,7 +480,7 @@
     <string name="retail_demo_reset_next" msgid="3688129033843885362">"Nästa"</string>
     <string name="retail_demo_reset_title" msgid="1866911701095959800">"Lösenord krävs"</string>
     <string name="active_input_method_subtypes" msgid="4232680535471633046">"Aktiva inmatningsmetoder"</string>
-    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Använda systemspråk"</string>
+    <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Använd systemspråk"</string>
     <string name="failed_to_open_app_settings_toast" msgid="764897252657692092">"Det gick inte att öppna inställningarna för <xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g>"</string>
     <string name="ime_security_warning" msgid="6547562217880551450">"Den här inmatningsmetoden kan samla all text som du skriver, inklusive personliga uppgifter som lösenord och kreditkortsnummer. Den kommer från appen <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Vill du använda inmatningsmetoden?"</string>
     <string name="direct_boot_unaware_dialog_message" msgid="7845398276735021548">"Obs! När du har startat om enheten måste du låsa upp mobilen innan du kan starta den här appen"</string>
@@ -539,8 +543,8 @@
     <string name="user_add_user_type_title" msgid="551279664052914497">"Lägg till"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"Ny användare"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"Ny profil"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"Användarinfo"</string>
-    <string name="profile_info_settings_title" msgid="105699672534365099">"Profilinfo"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"Användarinformation"</string>
+    <string name="profile_info_settings_title" msgid="105699672534365099">"Profilinformation"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"Innan du skapar en begränsad profil måste du konfigurera ett skärmlås för att skydda dina appar och personliga data."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Konfigurera lås"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"Byt till <xliff:g id="USER_NAME">%s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index 815896d..a0254cb 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Utatuzi usiotumia waya"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Ili kungalia na kutumia vifaa vinavyopatikana, washa utatuzi usiotumia waya"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Oanisha kifaa ukitumia msimbo wa QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Oanisha vifaa vipya ukitumia Kichanganuzi cha Msimbo wa QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Oanisha vifaa vipya ukitumia kichanganuzi cha Msimbo wa QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Oanisha kifaa ukitumia msimbo wa kuoanisha"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Oanisha vifaa vipya ukitumia msimbo wa tarakimu sita"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Vifaa vilivyooanishwa"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Imeshindwa kuoanisha kifaa. Huenda msimbo wa QR haukuwa sahihi au kifaa hakijaunganishwa kwenye mtandao mmoja."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Anwani ya IP na Mlango"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Changanua msimbo wa QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Oanisha kifaa kupitia Wi-Fi kwa kuchanganua Msimbo wa QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Oanisha kifaa kupitia Wi-Fi kwa kuchanganua msimbo wa QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Tafadhali unganisha kwenye mtandao wa Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, tatua, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Njia ya mkato ya kuripoti hitilafu"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Chaguo za cheti cha kuonyesha pasiwaya"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Washa Uwekaji kumbukumbu za WiFi kutumia Sauti"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Kudhibiti utafutaji wa Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Kuweka nasibu kwenye MAC iliyoimarishwa na Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Iendelee kutumia data ya simu"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Kuongeza kasi kwa kutumia maunzi ili kusambaza mtandao"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Onyesha vifaa vya Bluetooth visivyo na majina"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Onyesha chaguo za cheti cha kuonyesha pasiwaya"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Ongeza hatua ya uwekaji kumbukumbu ya Wi-Fi, onyesha kwa kila SSID RSSI kwenye Kichukuzi cha Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Hupunguza matumizi ya chaji ya betri na kuboresha utendaji wa mtandao"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Hali hii ya kugeuza huathiri utendaji wa kuweka nasibu kwenye anwani ya MAC katika hali ya kiteja pekee.\nWakati hali hii imewashwa, mitandao yoyote ambapo kipengele cha unasibu wa MAC kimewashwa inaweza kuruhusu anwani zao za MAC kuwekwa nasibu tena wakati wa ushirikiano, kulingana na mara ya mwisho kiteja kilipoacha kuunganisha kwenye mtandao. Tukio la kuweka unasibu tena halitokei ikiwa kifaa kitaunganisha tena baada ya muda usiozidi saa nne."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Mtandao unapima data"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Mtandao usiopima data"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Ukubwa wa kiweka bafa ya kumbukumbu"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Onyesha kidirisha cha Programu Kutorejesha Majibu kwa programu zinazotumika chinichini"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Onyesha arifa za maonyo ya kituo"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Huonyesha onyo kwenye skrini programu inapochapisha arifa bila kituo sahihi."</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Tekeleza njia za mkato za arifa za mazungumzo"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Weka mipangilio ili nakala za arifa zihifadhiwe kwa njia ya zamani ya mkato ya kushiriki ili zionekane katika sehemu ya mazungumzo"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Lazima uruhusu programu kwenye hifadhi ya nje"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Huruhusu programu yoyote iwekwe kwenye hifadhi ya nje, bila kujali thamani za faili ya maelezo"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Lazimisha shughuli ziweze kubadilishwa ukubwa"</string>
@@ -443,8 +447,8 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"Huenda kompyuta kibao ikazima hivi karibuni (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Huenda kifaa kikazima hivi karibuni (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"Zimesalia <xliff:g id="TIME">%1$s</xliff:g> hadi ijae chaji"</string>
-    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> hadi ijae chaji"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"Imebakisha <xliff:g id="TIME">%1$s</xliff:g> ijae chaji"</string>
+    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ijae chaji"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"Haijulikani"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"Inachaji"</string>
     <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Inachaji kwa kasi"</string>
@@ -483,7 +487,7 @@
     <string name="ims_reg_title" msgid="8197592958123671062">"Hali ya usajili wa IMS"</string>
     <string name="ims_reg_status_registered" msgid="884916398194885457">"Imesajiliwa"</string>
     <string name="ims_reg_status_not_registered" msgid="2989287366045704694">"Haijasajiliwa"</string>
-    <string name="status_unavailable" msgid="5279036186589861608">"Hapatikani"</string>
+    <string name="status_unavailable" msgid="5279036186589861608">"Haipatikani"</string>
     <string name="wifi_status_mac_randomized" msgid="466382542497832189">"Imechagua anwani ya MAC kwa nasibu"</string>
     <plurals name="wifi_tether_connected_summary" formatted="false" msgid="6317236306047306139">
       <item quantity="other">Imeunganisha vifaa %1$d</item>
@@ -529,7 +533,7 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"Mtumiaji"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"Wasifu uliozuiwa"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"Ungependa kuongeza mtumiaji?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"Unaweza kutumia kifaa hiki pamoja na watu wengine kwa kuongeza watumiaji wa ziada. Kila mtumiaji ana nafasi yake mwenyewe, ambayo anaweza kuweka programu, mandhari na vipengee vingine anavyopenda. Watumiaji pia wanaweza kurekebisha mipangilio ya kifaa inayoathiri kila mtu kama vile Wi-Fi.\n\nUnapomwongeza mtumiaji mpya, mtu huyo anahitaji kujitayarishia nafasi yake.\n\nMtumiaji yeyote anaweza kuwasasishia watumiaji wengine wote programu. Huenda mipangilio na huduma za walio na matatizo ya kuona na kusikia zisihamishiwe mtumiaji mgeni."</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"Unaweza kutumia kifaa hiki pamoja na watu wengine kwa kuongeza watumiaji wa ziada. Kila mtumiaji ana nafasi yake mwenyewe, ambayo anaweza kuweka programu, mandhari na vipengee vingine anavyopenda. Watumiaji pia wanaweza kurekebisha mipangilio ya kifaa inayoathiri kila mtu kama vile Wi-Fi.\n\nUnapomwongeza mtumiaji mpya, mtu huyo anahitaji kujitayarishia nafasi yake.\n\nMtumiaji yeyote anaweza kuwasasishia watumiaji wengine wote programu. Huenda mipangilio na huduma za ufikivu zisihamishiwe mtumiaji mgeni."</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"Mtumiaji mpya utakayemwongeza atahitaji kuongeza akaunti yake.\n\nMtumiaji yoyote anaweza kusasisha programu kwa niaba ya wengine wote."</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Mtumiaji aongezwe sasa?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Hakikisha kuwa mtu huyu anaweza kuchukua kifaa na kuweka mapendeleo yake"</string>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index 5080c31..8d251ac 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB பிழைதிருத்தம்"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB இணைக்கப்பட்டிருக்கும்போது பிழைத்திருத்தப் பயன்முறையை அமை"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB பிழைத்திருத்த அங்கீகரிப்புகளை நிராகரி"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"வயர்லெஸ் பிழைதிருத்தம்"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"வைஃபை பிழைதிருத்தம்"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"வைஃபையை இணைக்கும்போது பிழைதிருத்தப் பயன்முறை இயக்கப்படும்"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"பிழை"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"வயர்லெஸ் பிழைதிருத்தம்"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"கிடைக்கும் சாதனங்களைப் பார்க்கவும் பயன்படுத்தவும் வயர்லெஸ் பிழைதிருத்தத்தை ஆன் செய்யவும்"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"வைஃபை பிழைதிருத்தம்"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"கிடைக்கும் சாதனங்களைப் பார்க்கவும் பயன்படுத்தவும் வைஃபை பிழைதிருத்தத்தை ஆன் செய்யவும்"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR குறியீட்டின் மூலம் சாதனத்தை இணைத்தல்"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR குறியீடு ஸ்கேனரைப் பயன்படுத்தி புதிய சாதனங்களை இணைக்கலாம்"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR குறியீடு ஸ்கேனரைப் பயன்படுத்தி புதிய சாதனங்களை இணைக்கலாம்"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"இணைத்தல் குறியீட்டின் மூலம் சாதனத்தை இணைத்தல்"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ஆறு இலக்கக் குறியீட்டைப் பயன்படுத்தி புதிய சாதனங்களை இணைக்கலாம்"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"இணைக்கப்பட்ட சாதனங்கள்"</string>
@@ -231,9 +231,8 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"சாதனத்துடன் இணைக்க முடியவில்லை. தவறான QR குறியீடாகவோ சாதனம் அதே நெர்வொர்க்குடன் இணைக்கப்படாமலோ இருக்கலாம்."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP முகவரி &amp; போர்ட்"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR குறியீட்டை ஸ்கேன் செய்தல்"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR குறியீட்டை ஸ்கேன் செய்வதன் மூலம் சாதனத்தை வைஃபை மூலம் இணைக்கலாம்"</string>
-    <!-- no translation found for adb_wireless_no_network_msg (2365795244718494658) -->
-    <skip />
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR குறியீட்டை ஸ்கேன் செய்வதன் மூலம் சாதனத்தை வைஃபை மூலம் இணைக்கலாம்"</string>
+    <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"வைஃபை நெட்வொர்க்குடன் இணைக்கவும்"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"பிழைப் புகாருக்கான ஷார்ட்கட்"</string>
     <string name="bugreport_in_power_summary" msgid="1885529649381831775">"பிழை அறிக்கையைப் பெற பவர் மெனுவில் விருப்பத்தைக் காட்டு"</string>
@@ -252,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"வயர்லெஸ் காட்சிக்கான சான்றிதழ்"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"வைஃபை அதிவிவர நுழைவை இயக்கு"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"வைஃபை ஸ்கேனிங்கை வரம்பிடுதல்"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"வைஃபை மேம்படுத்திய MAC ரேண்டம் ஆக்குதல்"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"மொபைல் டேட்டாவை எப்போதும் இயக்கத்திலேயே வை"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"வன்பொருள் விரைவுப்படுத்துதல் இணைப்பு முறை"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"பெயர்கள் இல்லாத புளூடூத் சாதனங்களைக் காட்டு"</string>
@@ -284,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"வயர்லெஸ் காட்சி சான்றுக்கான விருப்பங்களைக் காட்டு"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"வைஃபை நுழைவு அளவை அதிகரித்து, வைஃபை தேர்வுக் கருவியில் ஒவ்வொன்றிற்கும் SSID RSSI ஐ காட்டுக"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"பேட்டரி தீர்ந்துபோவதைக் குறைத்து நெட்வொர்க்கின் செயல்திறனை மேம்படுத்தும்"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"கிளையண்ட் பயன்முறைக்கான MAC ரேண்டம் ஆக்குதலை மட்டுமே இந்த நிலைமாற்றி பாதிக்கும்.\nஇந்தப் பயன்முறை இயக்கப்பட்டால் நெட்வொர்க்கிலிருந்து கிளையண்ட் கடைசியாக எப்போது துண்டிக்கப்பட்டது என்பதைப் பொறுத்து, MAC ரேண்டம் ஆக்குதல் இயக்கப்பட்டிருக்கும் நெட்வொர்க்குகள் இணைக்கப்படும்போது தங்கள் MAC முகவரிகளை மீண்டும் ரேண்டம் ஆக்கக்கூடும். சாதனம் 4 மணிநேரத்திலோ அதற்கு முன்னரோ மீண்டும் இணைக்கப்பட்டால் மீண்டும் ரேண்டம் ஆக்குதல் நிகழாது."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"கட்டண நெட்வொர்க்"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"கட்டணமில்லா நெட்வொர்க்"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"லாகர் பஃபர் அளவுகள்"</string>
@@ -301,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"வன்பொருள் விரைவுப்படுத்துதல் இணைப்பு முறை கிடைக்கும் போது, அதைப் பயன்படுத்தும்"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB பிழைதிருத்தத்தை அனுமதிக்கவா?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB பிழைதிருத்தம் மேம்படுத்தல் நோக்கங்களுக்காக மட்டுமே. அதை உங்கள் கணினி மற்றும் சாதனத்திற்கு இடையில் தரவை நகலெடுக்கவும், அறிவிப்பு இல்லாமல் உங்கள் சாதனத்தில் ஆப்ஸை நிறுவவும், பதிவு தரவைப் படிக்கவும் பயன்படுத்தவும்."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"வயர்லெஸ் பிழைதிருத்தத்தை அனுமதிக்கவா?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"\'வயர்லெஸ் பிழைதிருத்தம்\' டெவெலப்மெண்ட் நோக்கங்களுக்காக மட்டுமே. அதை உங்கள் கம்ப்யூட்டருக்கும் சாதனத்திற்கும் இடையே தரவை நகலெடுக்கவும், உங்கள் சாதனத்தில் அறிவிப்பின்றி ஆப்ஸை நிறுவவும், பதிவுத் தரவைப் படிக்கவும் பயன்படுத்தவும்."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"வைஃபை பிழைதிருத்தத்தை அனுமதிக்கவா?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"\'வைஃபை பிழைதிருத்தம்\' டெவெலப்மெண்ட் நோக்கங்களுக்காக மட்டுமே. அதை உங்கள் கம்ப்யூட்டருக்கும் சாதனத்திற்கும் இடையே தரவை நகலெடுக்கவும், உங்கள் சாதனத்தில் அறிவிப்பின்றி ஆப்ஸை நிறுவவும், பதிவுத் தரவைப் படிக்கவும் பயன்படுத்தவும்."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"நீங்கள் ஏற்கனவே அனுமதித்த எல்லா கணினிகளிலிருந்தும் USB பிழைத்திருத்தத்திற்கான அணுகலைத் திரும்பப்பெற வேண்டுமா?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"மேம்பட்ட அமைப்புகளை அனுமதிக்கவா?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"இந்த அமைப்பு மேம்பட்டப் பயன்பாட்டிற்காக மட்டுமே. உங்கள் சாதனம் மற்றும் அதில் உள்ள பயன்பாடுகளைச் சிதைக்கும் அல்லது தவறாகச் செயல்படும் வகையில் பாதிப்பை ஏற்படுத்தும்."</string>
@@ -372,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"பின்புல ஆப்ஸுக்கு, ஆப்ஸ் பதிலளிக்கவில்லை என்ற செய்தியைக் காட்டும்"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"அறிவிப்புச் சேனல் எச்சரிக்கைகளைக் காட்டு"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ஆப்ஸானது சரியான சேனல் இல்லாமல் அறிவிப்பை இடுகையிடும் போது, திரையில் எச்சரிக்கையைக் காட்டும்"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"உரையாடல் அறிவிப்புகளுக்கான ஷார்ட்கட்களை செயல்படுத்து"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"அறிவிப்புகளானது உரையாடல் பிரிவில் தோன்ற வேண்டும் எனில் அவை நீண்ட காலம் செயல்பாட்டில் இருந்த பகிர்தலுக்கான ஷார்ட்கட் ஆதரவைக் கொண்டிருக்க வேண்டும்"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"ஆப்ஸை வெளிப்புறச் சேமிப்பிடத்தில் அனுமதி"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"மேனிஃபெஸ்ட் மதிப்புகளைப் பொருட்படுத்தாமல், எல்லா ஆப்ஸையும் வெளிப்புறச் சேமிப்பிடத்தில் எழுத அனுமதிக்கும்"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"செயல்பாடுகளை அளவுமாறக்கூடியதாக அமை"</string>
@@ -418,7 +421,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"நிறம் அடையாளங்காண முடியாமை (சிவப்பு-பச்சை)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"நிறம் அடையாளங்காண முடியாமை (நீலம்-மஞ்சள்)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"வண்ணத்திருத்தம்"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"வண்ணத் திருத்தத்தைப் பயன்படுத்தி உங்கள் சாதனத்தில் வண்ணம் காண்பிக்கப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"கலர் கரெக்‌ஷனைப் பயன்படுத்தி உங்கள் சாதனத்தில் வண்ணங்கள் காண்பிக்கப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> மூலம் மேலெழுதப்பட்டது"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"கிட்டத்தட்ட <xliff:g id="TIME_REMAINING">%1$s</xliff:g> மீதமுள்ளது"</string>
@@ -432,8 +435,7 @@
     <string name="power_discharge_by" msgid="4113180890060388350">"<xliff:g id="TIME">%1$s</xliff:g> வரை பயன்படுத்த முடியும் (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only" msgid="92545648425937000">"<xliff:g id="TIME">%1$s</xliff:g> வரை பயன்படுத்த முடியும்"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"<xliff:g id="TIME">%1$s</xliff:g> வரை"</string>
-    <!-- no translation found for power_suggestion_battery_run_out (6332089307827787087) -->
-    <skip />
+    <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"<xliff:g id="TIME">%1$s</xliff:g>க்கு பேட்டரி காலியாகிவிடக்கூடும்"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"<xliff:g id="THRESHOLD">%1$s</xliff:g>க்கும் குறைவாகவே பயன்படுத்த முடியும்"</string>
     <string name="power_remaining_less_than_duration" msgid="1812668275239801236">"<xliff:g id="THRESHOLD">%1$s</xliff:g>க்கும் குறைவாகவே பயன்படுத்த முடியும் (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_more_than_subtext" msgid="7919119719242734848">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g>க்கும் மேல் பயன்படுத்த முடியும் (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
@@ -511,32 +513,21 @@
     <string name="media_transfer_this_device_name" msgid="2716555073132169240">"மொபைல் ஸ்பீக்கர்"</string>
     <string name="profile_connect_timeout_subtext" msgid="4043408193005851761">"இணைப்பதில் சிக்கல். சாதனத்தை ஆஃப் செய்து மீண்டும் ஆன் செய்யவும்"</string>
     <string name="media_transfer_wired_device_name" msgid="4447880899964056007">"வயருடன்கூடிய ஆடியோ சாதனம்"</string>
-    <!-- no translation found for help_label (3528360748637781274) -->
-    <skip />
-    <!-- no translation found for storage_category (2287342585424631813) -->
-    <skip />
-    <!-- no translation found for shared_data_title (1017034836800864953) -->
-    <skip />
-    <!-- no translation found for shared_data_summary (5516326713822885652) -->
-    <skip />
+    <string name="help_label" msgid="3528360748637781274">"உதவியும் கருத்தும்"</string>
+    <string name="storage_category" msgid="2287342585424631813">"சேமிப்பகம்"</string>
+    <string name="shared_data_title" msgid="1017034836800864953">"பகிரப்பட்ட தரவு"</string>
+    <string name="shared_data_summary" msgid="5516326713822885652">"பகிரப்பட்ட தரவைப் பார்க்கலாம், மாற்றலாம்"</string>
     <string name="shared_data_no_blobs_text" msgid="3108114670341737434">"இந்தப் பயனருடன் பகிரப்பட்ட தரவு எதுவும் இல்லை."</string>
     <string name="shared_data_query_failure_text" msgid="3489828881998773687">"பகிரப்பட்ட தரவைப் பெறுவதில் பிழை. மீண்டும் முயலவும்."</string>
-    <!-- no translation found for blob_id_text (8680078988996308061) -->
-    <skip />
-    <!-- no translation found for blob_expires_text (7882727111491739331) -->
-    <skip />
+    <string name="blob_id_text" msgid="8680078988996308061">"பகிர்ந்த தரவு ஐடி: <xliff:g id="BLOB_ID">%d</xliff:g>"</string>
+    <string name="blob_expires_text" msgid="7882727111491739331">"<xliff:g id="DATE">%s</xliff:g> அன்று காலாவதியாகும்"</string>
     <string name="shared_data_delete_failure_text" msgid="3842701391009628947">"பகிரப்பட்ட தரவை நீக்குவதில் பிழை."</string>
     <string name="shared_data_no_accessors_dialog_text" msgid="8903738462570715315">"இந்தப் பகிரப்பட்ட தரவிற்காகப் பெறப்பட்ட ஒப்பந்தங்கள் எதுவும் இல்லை. இதை நீக்க விரும்புகிறீர்களா?"</string>
-    <!-- no translation found for accessor_info_title (8289823651512477787) -->
-    <skip />
-    <!-- no translation found for accessor_no_description_text (7510967452505591456) -->
-    <skip />
-    <!-- no translation found for accessor_expires_text (4625619273236786252) -->
-    <skip />
-    <!-- no translation found for delete_blob_text (2819192607255625697) -->
-    <skip />
-    <!-- no translation found for delete_blob_confirmation_text (7807446938920827280) -->
-    <skip />
+    <string name="accessor_info_title" msgid="8289823651512477787">"தரவைப் பகிர்ந்துகொள்ளும் ஆப்ஸ்"</string>
+    <string name="accessor_no_description_text" msgid="7510967452505591456">"ஆப்ஸ் எந்த விளக்கத்தையும் வழங்கவில்லை."</string>
+    <string name="accessor_expires_text" msgid="4625619273236786252">"<xliff:g id="DATE">%s</xliff:g> அன்று குத்தகை காலாவதியாகும்"</string>
+    <string name="delete_blob_text" msgid="2819192607255625697">"பகிரப்பட்ட தரவை நீக்கு"</string>
+    <string name="delete_blob_confirmation_text" msgid="7807446938920827280">"பகிரப்பட்ட இந்தத் தரவை நிச்சயமாக நீக்க வேண்டுமா?"</string>
     <string name="user_add_user_item_summary" msgid="5748424612724703400">"பயனர்கள் தங்களுக்குச் சொந்தமான ஆப்ஸ் மற்றும் உள்ளடக்கத்தை வைத்திருக்க வேண்டும்"</string>
     <string name="user_add_profile_item_summary" msgid="5418602404308968028">"உங்கள் கணக்கிலிருந்து ஆப்ஸ் மற்றும் உள்ளடக்கத்திற்கான அணுகலை நீங்கள் வரையறுக்கலாம்"</string>
     <string name="user_add_user_item_title" msgid="2394272381086965029">"பயனர்"</string>
@@ -556,12 +547,8 @@
     <string name="profile_info_settings_title" msgid="105699672534365099">"சுயவிவரத் தகவல்"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"நீங்கள் வரையறுக்கப்பட்டச் சுயவிவரத்தை உருவாக்குவதற்கு முன்பு, உங்கள் ஆப்ஸ் மற்றும் தனிப்பட்ட தரவைப் பாதுகாக்கும் வகையில் நீங்கள் திரைப் பூட்டை அமைக்க வேண்டும்."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"பூட்டை அமை"</string>
-    <!-- no translation found for user_switch_to_user (6975428297154968543) -->
-    <skip />
-    <!-- no translation found for guest_new_guest (3482026122932643557) -->
-    <skip />
-    <!-- no translation found for guest_exit_guest (5908239569510734136) -->
-    <skip />
-    <!-- no translation found for guest_nickname (6332276931583337261) -->
-    <skip />
+    <string name="user_switch_to_user" msgid="6975428297154968543">"<xliff:g id="USER_NAME">%s</xliff:g>க்கு மாறு"</string>
+    <string name="guest_new_guest" msgid="3482026122932643557">"கெஸ்ட்டைச் சேர்"</string>
+    <string name="guest_exit_guest" msgid="5908239569510734136">"கெஸ்ட்டை அகற்று"</string>
+    <string name="guest_nickname" msgid="6332276931583337261">"கெஸ்ட்"</string>
 </resources>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index 0e763dd..c51c042 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -86,7 +86,7 @@
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"ఫైల్ బదిలీ"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"ఇన్‌పుట్ పరికరం"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"ఇంటర్నెట్ యాక్సెస్"</string>
-    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"పరిచయ భాగస్వామ్యం"</string>
+    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"కాంటాక్ట్ షేరింగ్"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"పరిచయ భాగస్వామ్యం కోసం ఉపయోగించు"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"ఇంటర్నెట్ కనెక్షన్ భాగస్వామ్యం"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"వచన సందేశాలు"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"వైర్‌లెస్ డీబగ్గింగ్"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"అందుబాటులో వున్న పరికరాలను చూడటానికి, ఉపయోగించడానికి, వైర్‌లెస్ డీబగ్గింగ్‌ను ఆన్ చేయండి"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR కోడ్‌తో పరికరాన్ని పెయిర్ చేయండి"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR కోడ్ స్కానర్‌ను ఉపయోగించి కొత్త పరికరాలను పెయిర్ చేయండి"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR కోడ్ స్కానర్‌ను ఉపయోగించి కొత్త పరికరాలను పెయిర్ చేయండి"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"పెయిరింగ్ కోడ్‌తో పరికరాన్ని పెయిర్ చేయండి"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"ఆరు అంకెల కోడ్‌ను ఉపయోగించి కొత్త పరికరాలను పెయిర్ చేయండి"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"పెయిర్ చేయబడిన పరికరాలు"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"పరికరాన్ని పెయిర్ చేయడం విఫలమైంది. QR కోడ్ తప్పుగా ఉండడం గాని, లేదా పరికరం అదే నెట్‌వర్క్‌కు కనెక్ట్ అయి లేకపోవడం గాని జరిగింది."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP చిరునామా &amp; పోర్ట్"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR కోడ్‌ను స్కాన్ చేయండి"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"పరికరాన్ని Wi-Fi ద్వారా పెయిర్ చేయడానికి QR కోడ్‌ను స్కాన్ చేయండి"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR కోడ్‌ను స్కాన్ చేయడం ద్వారా Wi-Fiని ఉపయోగించి పరికరాన్ని పెయిర్ చెయ్యండి"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"దయచేసి Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేయండి"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, డీబగ్, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"బగ్ నివేదిక షార్ట్‌కట్"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"వైర్‌లెస్ ప్రదర్శన ప్రామాణీకరణ"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Wi‑Fi విశదీకృత లాగింగ్‌ను ప్రారంభించండి"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi స్కాన్ కుదింపు"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi ద్వారా మెరుగయిన MAC ర్యాండమైజేషన్"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"మొబైల్ డేటాని ఎల్లప్పుడూ యాక్టివ్‌గా ఉంచు"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"టెథెరింగ్ హార్డ్‌వేర్ వేగవృద్ధి"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"పేర్లు లేని బ్లూటూత్ పరికరాలు  చూపించు"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"వైర్‌లెస్ ప్రదర్శన సర్టిఫికెట్ కోసం ఎంపికలను చూపు"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi‑Fi ఎంపికలో SSID RSSI ప్రకారం చూపబడే Wi‑Fi లాగింగ్ స్థాయిని పెంచండి"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"బ్యాటరీ శక్తి వినియోగాన్ని తగ్గించి &amp; నెట్‌వర్క్ పనితీరును మెరుగుపరుస్తుంది"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"క్లయింట్ మోడ్‌లో మాత్రమే MAC ర్యాండమైజేషన్ ప్రవర్తనను ఈ టోగుల్ ప్రభావితం చేస్తుంది.\nఈ మోడ్‌ను యాక్టివేట్ చేసినప్పుడు, క్లయింట్ చివరిసారిగా నెట్‌వర్క్ నుండి ఎప్పుడు డిస్‌కనెక్ట్ చేసారనే దానిని బట్టి, అనుబంధం జరిగేటప్పుడు MAC ర్యాండమైజేషన్ ఎనేబుల్ చేయబడిన ఏ నెట్‌వర్క్‌లు అయినా వాటి MAC చిరునామాలను తిరిగి ర్యాండమైజేషన్ చేయవచ్చు. పరికరం 4 గంటలు లేదా అంతకన్నా తక్కువ సమయంలో మళ్లీ కనెక్ట్ చేయబడితే తిరిగి ర్యాండమైజేషన్ చేయడమనేది జరగదు."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"గణించబడుతోంది"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"గణించబడటం లేదు"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"లాగర్ బఫర్ పరిమాణాలు"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"నేపథ్య యాప్‌ల కోసం యాప్ ప్రతిస్పందించడం లేదు అనే డైలాగ్‌ను చూపు"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"ఛానెల్ హెచ్చరికల నోటిఫికేషన్‌‌ను చూపు"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"చెల్లుబాటు అయ్యే ఛానెల్ లేకుండా యాప్ నోటిఫికేషన్‌ను పోస్ట్ చేస్తున్నప్పుడు స్క్రీన్‌పై హెచ్చరికను చూపిస్తుంది"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"సంభాషణ నోటిఫికేషన్‌లకు షార్ట్‌కట్‌ల అమలు"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"సంభాషణల విభాగంలో కనిపించడానికి చిరకాలం నిలిచిపోయే భాగస్వామ్య సత్వరమార్గం ద్వారా నోటిఫికేషన్‌లకు మద్దతు ఉండాలి."</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"యాప్‌లను బాహ్య నిల్వలో తప్పనిసరిగా అనుమతించు"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"ఏ యాప్‌ని అయినా మానిఫెస్ట్ విలువలతో సంబంధం లేకుండా బాహ్య నిల్వలో సేవ్ చేయడానికి అనుమతిస్తుంది"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"కార్య‌క‌లాపాల విండోల ప‌రిమాణం మార్చ‌గ‌లిగేలా నిర్బంధించు"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index b24f006d..7ab86e8 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -23,7 +23,7 @@
     <string name="wifi_fail_to_scan" msgid="2333336097603822490">"ไม่สามารถสแกนหาเครือข่าย"</string>
     <string name="wifi_security_none" msgid="7392696451280611452">"ไม่มี"</string>
     <string name="wifi_remembered" msgid="3266709779723179188">"บันทึกแล้ว"</string>
-    <string name="wifi_disconnected" msgid="7054450256284661757">"เลิกเชื่อมต่อแล้ว"</string>
+    <string name="wifi_disconnected" msgid="7054450256284661757">"ยกเลิกการเชื่อมต่อแล้ว"</string>
     <string name="wifi_disabled_generic" msgid="2651916945380294607">"ปิดอยู่"</string>
     <string name="wifi_disabled_network_failure" msgid="2660396183242399585">"การกำหนดค่า IP ล้มเหลว"</string>
     <string name="wifi_disabled_by_recommendation_provider" msgid="1302938248432705534">"ไม่ได้เชื่อมต่อเนื่องจากเครือข่ายคุณภาพต่ำ"</string>
@@ -35,7 +35,7 @@
     <string name="wifi_not_in_range" msgid="1541760821805777772">"ไม่อยู่ในพื้นที่ให้บริการ"</string>
     <string name="wifi_no_internet_no_reconnect" msgid="821591791066497347">"จะไม่เชื่อมต่อโดยอัตโนมัติ"</string>
     <string name="wifi_no_internet" msgid="1774198889176926299">"เข้าถึงอินเทอร์เน็ตไม่ได้"</string>
-    <string name="saved_network" msgid="7143698034077223645">"บันทึกโดย <xliff:g id="NAME">%1$s</xliff:g> แล้ว"</string>
+    <string name="saved_network" msgid="7143698034077223645">"บันทึกโดย<xliff:g id="NAME">%1$s</xliff:g> แล้ว"</string>
     <string name="connected_via_network_scorer" msgid="7665725527352893558">"เชื่อมต่ออัตโนมัติผ่าน %1$s แล้ว"</string>
     <string name="connected_via_network_scorer_default" msgid="7973529709744526285">"เชื่อมต่ออัตโนมัติผ่านผู้ให้บริการการจัดอันดับเครือข่าย"</string>
     <string name="connected_via_passpoint" msgid="7735442932429075684">"เชื่อมต่อผ่าน %1$s แล้ว"</string>
@@ -93,8 +93,8 @@
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"การเข้าถึงซิม"</string>
     <string name="bluetooth_profile_a2dp_high_quality" msgid="4739440941324792775">"เสียง HD: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="2477639096903834374">"เสียง HD"</string>
-    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"เครื่องช่วยการได้ยิน"</string>
-    <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="8191273236809964030">"เชื่อมต่อกับเครื่องช่วยการได้ยินแล้ว"</string>
+    <string name="bluetooth_profile_hearing_aid" msgid="58154575573984914">"เครื่องช่วยฟัง"</string>
+    <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="8191273236809964030">"เชื่อมต่อกับเครื่องช่วยฟังแล้ว"</string>
     <string name="bluetooth_a2dp_profile_summary_connected" msgid="7422607970115444153">"เชื่อมต่อกับระบบเสียงของสื่อแล้ว"</string>
     <string name="bluetooth_headset_profile_summary_connected" msgid="2420981566026949688">"เชื่อมต่อกับระบบเสียงของโทรศัพท์แล้ว"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2393521801478157362">"เชื่อมต่อกับเซิร์ฟเวอร์สำหรับโอนไฟล์แล้ว"</string>
@@ -111,7 +111,7 @@
     <string name="bluetooth_headset_profile_summary_use_for" msgid="808970643123744170">"ใช้สำหรับระบบเสียงของโทรศัพท์"</string>
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"ใช้สำหรับการโอนไฟล์"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"ใช้สำหรับการป้อนข้อมูล"</string>
-    <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"ใช้สำหรับเครื่องช่วยการได้ยิน"</string>
+    <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"ใช้สำหรับเครื่องช่วยฟัง"</string>
     <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"จับคู่อุปกรณ์"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"จับคู่อุปกรณ์"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"ยกเลิก"</string>
@@ -127,8 +127,8 @@
     <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"หูฟัง"</string>
     <string name="bluetooth_talkback_input_peripheral" msgid="5133944817800149942">"อุปกรณ์อินพุต"</string>
     <string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"บลูทูธ"</string>
-    <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"กำลังจับคู่กับเครื่องช่วยการได้ยินข้างซ้าย…"</string>
-    <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"กำลังจับคู่กับเครื่องช่วยการได้ยินข้างขวา…"</string>
+    <string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"กำลังจับคู่กับเครื่องช่วยฟังข้างซ้าย…"</string>
+    <string name="bluetooth_hearingaid_right_pairing_message" msgid="2655347721696331048">"กำลังจับคู่กับเครื่องช่วยฟังข้างขวา…"</string>
     <string name="bluetooth_hearingaid_left_battery_level" msgid="7375621694748104876">"ข้างซ้าย - แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_hearingaid_right_battery_level" msgid="1850094448499089312">"ข้างขวา - แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="accessibility_wifi_off" msgid="1195445715254137155">"Wi-Fi ปิดอยู่"</string>
@@ -149,13 +149,13 @@
     <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"การปล่อยสัญญาณ"</string>
     <string name="tether_settings_title_all" msgid="8910259483383010470">"การปล่อยสัญญาณและฮอตสปอต"</string>
     <string name="managed_user_title" msgid="449081789742645723">"แอปการทำงานทั้งหมด"</string>
-    <string name="user_guest" msgid="6939192779649870792">"ผู้เข้าร่วม"</string>
+    <string name="user_guest" msgid="6939192779649870792">"ผู้ใช้ชั่วคราว"</string>
     <string name="unknown" msgid="3544487229740637809">"ไม่ทราบ"</string>
     <string name="running_process_item_user_label" msgid="3988506293099805796">"ผู้ใช้: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
     <string name="launch_defaults_some" msgid="3631650616557252926">"ตั้งค่าเริ่มต้นไว้บางส่วน"</string>
     <string name="launch_defaults_none" msgid="8049374306261262709">"ไม่ได้ตั้งค่าเริ่มต้น"</string>
     <string name="tts_settings" msgid="8130616705989351312">"การตั้งค่าการอ่านออกเสียงข้อความ"</string>
-    <string name="tts_settings_title" msgid="7602210956640483039">"เอาต์พุตการอ่านออกเสียง"</string>
+    <string name="tts_settings_title" msgid="7602210956640483039">"เอาต์พุตการอ่านออกเสียงข้อความ"</string>
     <string name="tts_default_rate_title" msgid="3964187817364304022">"ความเร็วของคำพูด"</string>
     <string name="tts_default_rate_summary" msgid="3781937042151716987">"ความเร็วในการพูดข้อความ"</string>
     <string name="tts_default_pitch_title" msgid="6988592215554485479">"ความสูง-ต่ำของเสียง"</string>
@@ -196,7 +196,7 @@
     <string name="choose_profile" msgid="343803890897657450">"เลือกโปรไฟล์"</string>
     <string name="category_personal" msgid="6236798763159385225">"ส่วนตัว"</string>
     <string name="category_work" msgid="4014193632325996115">"ที่ทำงาน"</string>
-    <string name="development_settings_title" msgid="140296922921597393">"สำหรับนักพัฒนาซอฟต์แวร์"</string>
+    <string name="development_settings_title" msgid="140296922921597393">"ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์"</string>
     <string name="development_settings_enable" msgid="4285094651288242183">"เปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์"</string>
     <string name="development_settings_summary" msgid="8718917813868735095">"ตั้งค่าตัวเลือกสำหรับการพัฒนาแอปพลิเคชัน"</string>
     <string name="development_settings_not_available" msgid="355070198089140951">"ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ไม่สามารถใช้ได้สำหรับผู้ใช้นี้"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"การแก้ไขข้อบกพร่องผ่าน Wi-Fi"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"หากต้องการดูและใช้อุปกรณ์ที่มีอยู่ ให้เปิดการแก้ไขข้อบกพร่องผ่าน Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"จับคู่อุปกรณ์ด้วยคิวอาร์โค้ด"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"จับคู่อุปกรณ์เครื่องใหม่โดยใช้เครื่องมือสแกนคิวอาร์โค้ด"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"จับคู่อุปกรณ์เครื่องใหม่โดยใช้เครื่องมือสแกนคิวอาร์โค้ด"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"จับคู่อุปกรณ์ด้วยรหัสการจับคู่"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"จับคู่อุปกรณ์เครื่องใหม่โดยใช้รหัสตัวเลข 6 หลัก"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"อุปกรณ์ที่จับคู่"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"จับคู่อุปกรณ์ไม่สำเร็จ คิวอาร์โค้ดไม่ถูกต้อง หรืออุปกรณ์ไม่ได้เชื่อมต่อกับเครือข่ายเดียวกัน"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"ที่อยู่ IP และพอร์ต"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"สแกนคิวอาร์โค้ด"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"จับคู่อุปกรณ์ผ่าน Wi‑Fi ด้วยการสแกนคิวอาร์โค้ด"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"จับคู่อุปกรณ์ผ่าน Wi‑Fi ด้วยการสแกนคิวอาร์โค้ด"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"โปรดเชื่อมต่อกับเครือข่าย Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, แก้ไขข้อบกพร่อง, พัฒนา"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"ทางลัดรายงานข้อบกพร่อง"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"การรับรองการแสดงผลแบบไร้สาย"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"เปิดใช้การบันทึกรายละเอียด Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"การควบคุมการสแกนหา Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"การสุ่ม MAC เพื่อเพิ่มความปลอดภัย Wi-Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"เปิดใช้เน็ตมือถือเสมอ"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"การเร่งฮาร์ดแวร์การเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"แสดงอุปกรณ์บลูทูธที่ไม่มีชื่อ"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"แสดงตัวเลือกสำหรับการรับรองการแสดงผล แบบไร้สาย"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"เพิ่มระดับการบันทึก Wi‑Fi แสดงต่อ SSID RSSI ในตัวเลือก Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"ลดการเปลืองแบตเตอรี่และเพิ่มประสิทธิภาพเครือข่าย"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"การตั้งค่านี้ส่งผลต่อลักษณะการสุ่ม MAC ในโหมดไคลเอ็นต์เท่านั้น\nเมื่อเปิดใช้งานโหมดนี้ ทุกเครือข่ายที่มีการเปิดใช้การสุ่ม MAC อาจสุ่มที่อยู่ MAC ซ้ำในระหว่างการเชื่อมโยง ทั้งนี้ขึ้นอยู่กับว่าไคลเอ็นต์ยกเลิกการเชื่อมต่อกับเครือข่ายครั้งสุดท้ายเมื่อใด การสุ่มซ้ำจะไม่เกิดขึ้นหากอุปกรณ์เชื่อมต่ออีกครั้งภายในไม่เกิน 4 ชั่วโมง"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"มีการวัดปริมาณอินเทอร์เน็ต"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"ไม่มีการวัดปริมาณอินเทอร์เน็ต"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"ขนาดบัฟเฟอร์ของตัวบันทึก"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"แสดงกล่องโต้ตอบ \"แอปไม่ตอบสนอง\" สำหรับแอปพื้นหลัง"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"แสดงคำเตือนจากช่องทางการแจ้งเตือน"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"แสดงคำเตือนบนหน้าจอเมื่อแอปโพสต์การแจ้งเตือนโดยไม่มีช่องทางที่ถูกต้อง"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"บังคับใช้ทางลัดสำหรับการแจ้งเตือนการสนทนา"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"ต้องทำให้การแจ้งเตือนปรากฏในส่วนการสนทนาได้อีกถ้ามีการปิดไปโดยใช้ทางลัดการแชร์ที่แสดงอยู่ตลอด"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"บังคับให้แอปสามารถใช้ที่เก็บภายนอก"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"เขียนแอปในพื้นที่เก็บข้อมูลภายนอกได้ โดยไม่คำนึงถึงค่าไฟล์ Manifest"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"บังคับให้กิจกรรมปรับขนาดได้"</string>
@@ -443,11 +447,11 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"แท็บเล็ตอาจปิดเครื่องในไม่ช้า (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"อุปกรณ์อาจปิดเครื่องในไม่ช้า (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"เหลือ <xliff:g id="TIME">%1$s</xliff:g> จนกว่าจะชาร์จ"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"เหลือ <xliff:g id="TIME">%1$s</xliff:g> จนกว่าจะชาร์จเต็ม"</string>
     <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> จนกว่าจะชาร์จ"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"ไม่ทราบ"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"กำลังชาร์จ"</string>
-    <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"กำลังชาร์จเร็ว"</string>
+    <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"กำลังชาร์จอย่างเร็ว"</string>
     <string name="battery_info_status_charging_slow" msgid="3190803837168962319">"กำลังชาร์จอย่างช้าๆ"</string>
     <string name="battery_info_status_discharging" msgid="6962689305413556485">"ไม่ได้ชาร์จ"</string>
     <string name="battery_info_status_not_charging" msgid="8330015078868707899">"เสียบอยู่ ไม่สามารถชาร์จได้ในขณะนี้"</string>
@@ -546,5 +550,5 @@
     <string name="user_switch_to_user" msgid="6975428297154968543">"เปลี่ยนเป็น <xliff:g id="USER_NAME">%s</xliff:g>"</string>
     <string name="guest_new_guest" msgid="3482026122932643557">"เพิ่มผู้เข้าร่วม"</string>
     <string name="guest_exit_guest" msgid="5908239569510734136">"นำผู้เข้าร่วมออก"</string>
-    <string name="guest_nickname" msgid="6332276931583337261">"ผู้เข้าร่วม"</string>
+    <string name="guest_nickname" msgid="6332276931583337261">"ผู้ใช้ชั่วคราว"</string>
 </resources>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index 8d70718..d3af398 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -112,7 +112,7 @@
     <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Ginagamit para sa paglilipat ng file"</string>
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Gamitin para sa input"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Gamitin para sa Mga Hearing Aid"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Pares"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Ipares"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"IPARES"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Kanselahin"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Nagbibigay ang pagpapares ng access sa iyong mga contact at history ng tawag kapag nakakonekta."</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Wireless na pag-debug"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Para makita at magamit ang mga available na device, i-on ang wireless na pag-debug"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Magpares ng device gamit ang QR code"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Magpares ng mga bagong device gamit ang QR code Scanner"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Magpares ng mga bagong device gamit ang pang-scan ng QR code"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Pinapares ang device gamit ang code ng pagpapares"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Magpares ng mga bagong device gamit ang six digit na code"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Mga nakapares na device"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Hindi nagawang ipares ang device. Hindi tama ang QR code, o hindi nakakonekta ang device sa parehong network."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP address at Port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"I-scan ang QR code"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Ipares ang device gamit ang Wi‑Fi sa pamamagitan ng pag-scan ng isang QR Code"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Magpares ng device gamit ang Wi‑Fi sa pamamagitan ng pag-scan ng isang QR code"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Kumonekta sa Wi-Fi network"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debug, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Shortcut ng ulat sa bug"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Certification ng wireless display"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"I-enable ang Pagla-log sa Wi‑Fi Verbose"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Pag-throttle ng pag-scan ng Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"MAC randomization na pinahusay ng Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Palaging aktibo ang mobile data"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hardware acceleration para sa pag-tether"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Ipakita ang mga Bluetooth device na walang pangalan"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Ipakita ang mga opsyon para sa certification ng wireless display"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Pataasin ang antas ng Wi‑Fi logging, ipakita sa bawat SSID RSSI sa Wi‑Fi Picker"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Binabawasan ang pagkaubos ng baterya at pinapahusay ang performance ng network"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Nakakaapekto ang toggle na ito sa pag-kilos ng pag-randomize ng MAC para lang sa client mode.\nKapag na-activate ang mode na ito, baka ma-randomize ulit ang MAC address ng anumang network na naka-enable ang pag-randomize sa MAC habang nagaganap ang pag-uugnay, depende kung kailan huling nadiskonekta ang client sa network. Hindi nangyayari ang pag-randomize ulit kung kumonekta ulit ang device sa loob ng 4 na oras o mas maaga."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Nakametro"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Hindi Nakametro"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Mga laki ng buffer ng Logger"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Ipakita ang dialog na Hindi Tumutugon ang App para sa mga app sa background"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Ipakita ang mga babala sa notification channel"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Nagpapakita ng babala sa screen kapag nag-post ang app ng notification nang walang wastong channel"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Magpatupad ng mga shortcut para sa mga notification ng pag-uusap"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Ipa-back up ang mga notification gamit ang long-lived na shortcut sa pagbabahagi para lumabas sa seksyong pag-uusap"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Puwersahang payagan ang mga app sa external"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Ginagawang kwalipikado ang anumang app na mailagay sa external na storage, anuman ang mga value ng manifest"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Sapilitang gawing resizable ang mga aktibidad"</string>
diff --git a/packages/SettingsLib/res/values-tr/arrays.xml b/packages/SettingsLib/res/values-tr/arrays.xml
index 7ce6c24..cea17e5 100644
--- a/packages/SettingsLib/res/values-tr/arrays.xml
+++ b/packages/SettingsLib/res/values-tr/arrays.xml
@@ -249,7 +249,7 @@
   <string-array name="debug_hw_overdraw_entries">
     <item msgid="1968128556747588800">"Kapalı"</item>
     <item msgid="3033215374382962216">"Fazla çizilen alanları göster"</item>
-    <item msgid="3474333938380896988">"Alanları renk körlüğüne uygun olarak göster"</item>
+    <item msgid="3474333938380896988">"Alanları Döteranomaliye uygun olarak göster"</item>
   </string-array>
   <string-array name="app_process_limit_entries">
     <item msgid="794656271086646068">"Standart sınır"</item>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index 3579957..039df1a 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Kablosuz hata ayıklama"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Mevcut cihazları görmek ve kullanmak için kablosuz hata ayıklamayı açın"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Cihazı QR kodu ile eşle"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Yeni cihazları QR kodu Tarayıcıyı kullanarak eşleyin"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Yeni cihazları QR kodu tarayıcıyı kullanarak eşleyin"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Eşleme kodu ile cihaz eşleme"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Yeni cihazları altı basamaklı kodu kullanarak eşleyin"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Eşlenen cihazlar"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Cihaz eşlenemedi. QR kodu hatalı ya da cihaz aynı ağa bağlı değil."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP adresi ve Bağlantı noktası"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR kodunu tara"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR kodu tarayarak kablosuz ağ üzerinden cihaz eşleyin"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR kodu tarayarak kablosuz ağ üzerinden cihaz eşleyin"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Lütfen Kablosuz bir ağa bağlanın"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, hata ayıklama, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Hata raporu kısayolu"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Kablosuz ekran sertifikası"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Kablosuz Ayrıntılı Günlük Kaydını etkinleştir"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Kablosuz ağ taramasını kısma"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Kablosuz için geliştirilmiş MAC rastgele seçimi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobil veri her zaman etkin"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tethering donanım hızlandırıcısı"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Adsız Bluetooth cihazlarını göster"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Kablosuz ekran sertifikası seçeneklerini göster"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Kablosuz günlük kaydı seviyesini artır. Kablosuz Seçici\'de her bir SSID RSSI için göster."</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Pili daha az harcar ve ağ performansını iyileştirir"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Bu geçiş, yalnızca istemci modu için MAC rastgele hale getirme davranışını etkiler.\nBu mod etkinleştirildiğinde, MAC rastgele seçimi etkin olan tüm ağların MAC adresleri, istemcinin ağla bağlantısının en son kesildiği zamana bağlı olarak ilişkilendirme sırasında yeniden rastgele seçilebilir. Cihaz 4 saat veya daha kısa süre içinde tekrar bağlanırsa yeniden rastgele hale getirme gerçekleşmez."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Sayaçlı"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Sayaçsız"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Günlük Kaydedici arabellek boyutları"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Arka plan uygulamalar için Uygulama Yanıt Vermiyor mesajını göster"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Bildirim kanalı uyarılarını göster"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Bir uygulama geçerli kanal olmadan bildirim yayınladığında ekranda uyarı gösterir"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Görüşme bildirimleri için kısayolları zorunlu kıl"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Bildirimlerin, görüşme bölümünde görünebilmesi için uzun ömürlü paylaşma kısayolu ile desteklenmesini gerektir"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Harici birimdeki uygulamalara izin vermeye zorla"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Manifest değerlerinden bağımsız olarak uygulamaları harici depolamaya yazmak için uygun hale getirir"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Etkinlikleri yeniden boyutlandırılabilmeye zorla"</string>
@@ -413,9 +417,9 @@
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB\'yi kullan"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Devre dışı"</string>
     <string name="daltonizer_mode_monochromacy" msgid="362060873835885014">"Tam renk körlüğü"</string>
-    <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Yeşil renk körlüğü (kırmızı-yeşil)"</string>
-    <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Kırmızı renk körlüğü (kırmızı-yeşil)"</string>
-    <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Mavi renk körlüğü (mavi-sarı)"</string>
+    <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Döteranomali (kırmızı-yeşil)"</string>
+    <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomali (kırmızı-yeşil)"</string>
+    <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomali (mavi-sarı)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Renk düzeltme"</string>
     <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Renk düzeltme, renklerin cihazınızda nasıl görüntüleneceğini düzenlemenize olanak sağlar."</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> tarafından geçersiz kılındı"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index 5dae4f0..60aa1a9 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"Налагодження USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Вмикати налагодження, коли телефон підключено через USB"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"Скасувати доступ до налагодження USB"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Бездротове налагодження"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Налагодження через Wi-Fi"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Вмикати режим налагодження, коли пристрій підключено до мережі Wi-Fi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Помилка"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Бездротове налагодження"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Щоб переглядати та використовувати доступні пристрої, увімкніть бездротове налагодження"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Налагодження через Wi-Fi"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Щоб переглядати та використовувати доступні пристрої, увімкніть налагодження через Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Підключати пристрій за допомогою QR-коду"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Підключати нові пристрої за допомогою сканера QR-кодів"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Підключати нові пристрої за допомогою сканера QR-кодів"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Підключати пристрій за допомогою коду підключення"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Підключати нові пристрої за допомогою шестизначного коду"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Підключені пристрої"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Не вдалося підключитися до пристрою. Надано неправильний QR-код або пристрій не підключено до тієї ж мережі."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP-адреса та порт"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Сканувати QR-код"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Підключати пристрій через Wi‑Fi за допомогою QR-коду"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Підключати пристрій через Wi‑Fi за допомогою QR-коду"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Підключіть пристрій до мережі Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, налагодження, розробка"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Ярлик звіту про помилки"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Сертифікація бездрот. екрана"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Докладний запис у журнал Wi-Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Зменшити радіус пошуку мереж Wi‑Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Довільний вибір MAC-адрес із Wi‑Fi"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Не вимикати мобільне передавання даних"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Апаратне прискорення під час використання телефона в режимі модема"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Показувати пристрої Bluetooth без назв"</string>
@@ -273,16 +274,17 @@
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality" msgid="3233402355917446304">"Кодек для аудіо Bluetooth LDAC: якість відтворення"</string>
     <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"Активувати LDAC для аудіо Bluetooth\nВибір кодека: якість відтворення"</string>
     <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"Трансляція: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string>
-    <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Приватна DNS"</string>
-    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Режим приватної системи DNS"</string>
+    <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"Приватний DNS-сервер"</string>
+    <string name="select_private_dns_configuration_dialog_title" msgid="3731422918335951912">"Режим приватного DNS-сервера"</string>
     <string name="private_dns_mode_off" msgid="7065962499349997041">"Вимкнено"</string>
     <string name="private_dns_mode_opportunistic" msgid="1947864819060442354">"Автоматично"</string>
-    <string name="private_dns_mode_provider" msgid="3619040641762557028">"Ім’я хосту приватного постачальника послуг DNS"</string>
+    <string name="private_dns_mode_provider" msgid="3619040641762557028">"Ім’я хосту постачальника приватного DNS-сервера"</string>
     <string name="private_dns_mode_provider_hostname_hint" msgid="6564868953748514595">"Введіть ім’я хосту постачальника послуг DNS"</string>
     <string name="private_dns_mode_provider_failure" msgid="8356259467861515108">"Не вдалося під’єднатися"</string>
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Показати параметри сертифікації бездротового екрана"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Показувати в журналі RSSI для кожного SSID під час вибору Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Зменшує споживання заряду акумулятора й підвищує ефективність роботи мережі"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Цей перемикач впливає на поведінку довільного вибору MAC-адрес лише для клієнтського режиму.\nКоли цей режим активовано, MAC-адреси мереж із довільним вибором цих адрес переназначаються під час зв\'язування залежно від часу останнього відключення клієнта від мережі. Повторний довільний вибір адрес не відбувається, якщо пристрій знову підключається протягом 4 годин."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"З тарифікацією трафіку"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Без тарифікації трафіку"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Розміри буфера журналу"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Якщо доступно, вмикати апаратне прискорення під час використання телефона в режимі модема"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Дозвол. налагодж. USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Налагодження USB застосовується лише з метою розробки. Його можна використовувати для копіювання даних між комп’ютером і пристроєм, встановлення програм на вашому пристрої без сповіщення та читання даних журналу."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Дозволити бездротове налагодження?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Бездротове налагодження застосовується лише з метою розробки. Його можна використовувати, щоб копіювати дані між комп\'ютером і пристроєм, встановлювати додатки на пристрої без сповіщення та переглядати дані журналу."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Дозволити налагодження через Wi-Fi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Налагодження через Wi-Fi застосовується лише з метою розробки. Його можна використовувати, щоб копіювати дані між комп\'ютером і пристроєм, встановлювати додатки на пристрої без сповіщення та переглядати дані журналу."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"Скасувати доступ до налагодження USB для всіх комп’ютерів, які раніше отримали таке право?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Дозволити налаштування розробки?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Ці налаштування застосовуються лише з метою розробки. Вони можуть спричиняти вихід з ладу або неправильне функціонування вашого пристрою чи програм у ньому."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Показувати вікно \"Додаток не відповідає\" для додатків у фоновому режимі"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Показувати застереження про канал"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"З’являється застереження, коли додаток надсилає сповіщення через недійсний канал"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Використовувати ярлики для сповіщень про чати"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Вимагати для сповіщень постійних ярликів доступу, щоб показувати їх у розділі чатів"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Примусово записувати додатки в зовнішню пам’ять"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Можна записувати додатки в зовнішню пам’ять, незалежно від значень у маніфесті"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Примусово масштабувати активність"</string>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index ce25f2f..df1e46f 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"وائرلیس ڈیبگنگ"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"دستیاب آلات کو دیکھنے اور استعمال کرنے کے لیے، وائرلیس ڈیبگنگ آن کریں"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"‏QR کوڈ کے ذریعے آلہ کا جوڑا بنائیں"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"‏QR کوڈ اسکینر کا استعمال کر کے نئے آلہ کا جوڑا بنائیں"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"‏QR کوڈ اسکینر کا استعمال کر کے نئے آلات کا جوڑا بنائیں"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"جوڑا بنانے کے کوڈ کے ذریعے آلہ کا جوڑا بنائیں"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"چھ ہندسوں کا کوڈ استعمال کر کے نئے آلات کا جوڑا بنائیں"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"جوڑا بنائے گئے آلات"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"‏آلہ کا جوڑا بنانے میں ناکام۔ یا تو QR کوڈ غلط تھا، یا آلہ اسی نیٹ ورک سے منسلک نہیں ہے۔"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"‏IP پتہ اور پورٹ"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"‏QR کوڈ اسکین کریں"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"‏QR کوڈ اسکین کر کے Wi-Fi پر آلہ کا جوڑا بنائیں"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"‏QR کوڈ اسکین کر کے Wi-Fi پر آلہ کا جوڑا بنائیں"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"‏براہ کرم ایک Wi-Fi نیٹ ورک سے منسلک ہوں"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"‏adb، ڈیبگ، dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"بگ رپورٹ کا شارٹ کٹ"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"وائرلیس ڈسپلے سرٹیفیکیشن"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"‏Wi‑Fi وربوس لاگنگ فعال کریں"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"‏Wi‑Fi اسکین کو زبردستی روکا جا رہا ہے"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"‏بہتر Wi-Fi ‏ MAC رینڈمائزیشن"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"موبائل ڈیٹا ہمیشہ فعال رکھیں"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"ٹیدرنگ ہارڈویئر سرعت کاری"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"بغیر نام والے بلوٹوتھ آلات دکھائیں"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"وائرلیس ڈسپلے سرٹیفیکیشن کیلئے اختیارات دکھائیں"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"‏Wi‑Fi لاگنگ لیول میں اضافہ کریں، Wi‑Fi منتخب کنندہ میں فی SSID RSSI دکھائیں"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"بیٹری ڈرین کم کرتا ہے اور نیٹ ورک کارکردگی کو بہتر بناتا ہے"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"‏یہ ٹوگل صرف کلائنٹ وضع کے لئے MAC کی رینڈمائزیشن کو متاثر کرتا ہے۔\nجب یہ وضع فعال کی جاتی ہے، تو کسی بھی نیٹ ورکس میں جو MAC رینڈمائزیشن کو فعال کرتا ہے ان کے MAC ایڈریسز ایسوسی ایشن کے دوران دوبارہ رینڈمائز ہو سکتے ہیں، اس پر منحصر ہے کہ کلائنٹ کب آخری بار نیٹ ورک سے غیر منسلک ہوا۔ اگر آلہ 4 گھنٹوں یا اس سے کم وقت میں دوبارہ منسلک ہو، تو پھر دوبارہ رینڈمائزیشن کا امکان نہیں ہوتا ہے۔"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"میٹرڈ"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"غیر میٹر شدہ"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"لاگر بفر کے سائز"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"پس منظر کی ایپس کیلئے \'ایپ جواب نہیں دے رہی ہے\' ڈائلاگ ڈسپلے کریں"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"چینل کی اطلاعی تنبیہات دکھائیں"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"کسی ایپ کی طرف سے درست چینل کے بغیر اطلاع پوسٹ ہونے پر آن اسکرین تنبیہ ڈسپلے کرتا ہے"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"بات چیت کی اطلاعات کے لیے شارٹ کٹس نافذ کریں"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"بات چیت کے سیکشن میں ظاہر ہونے کے لئے اطلاعات کو طویل مدت والے شیئرنگ شارٹ کٹ کے ذریعے حمایت کی ضرورت ہے"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"بیرونی پر ایپس کو زبردستی اجازت دیں"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"‏manifest اقدار سے قطع نظر، کسی بھی ایپ کو بیرونی اسٹوریج پر لکھے جانے کا اہل بناتا ہے"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"سرگرمیوں کو ری سائز ایبل بنائیں"</string>
@@ -534,7 +538,7 @@
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"صارف کو ابھی سیٹ اپ کریں؟"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"یقینی بنائیں کہ وہ شخص آلہ لینے اور اپنی جگہ کو سیٹ اپ کرنے کیلئے دستیاب ہے"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"پروفائل کو ابھی ترتیب دیں؟"</string>
-    <string name="user_setup_button_setup_now" msgid="1708269547187760639">"ابھی ترتیب دیں"</string>
+    <string name="user_setup_button_setup_now" msgid="1708269547187760639">"ابھی سیٹ اپ کریں"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"ابھی نہیں"</string>
     <string name="user_add_user_type_title" msgid="551279664052914497">"شامل کریں"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"نیا صارف"</string>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index 07f3a6e..d1caa711 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -206,13 +206,13 @@
     <string name="enable_adb" msgid="8072776357237289039">"USB orqali nosozliklarni aniqlash"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"USB orqali kompyuterga ulanganda tuzatish rejimi yoqilsin"</string>
     <string name="clear_adb_keys" msgid="3010148733140369917">"USB orqali nosozliklarni tuzatishni taqiqlash"</string>
-    <string name="enable_adb_wireless" msgid="6973226350963971018">"Simsiz nosozliklarni aniqlash"</string>
+    <string name="enable_adb_wireless" msgid="6973226350963971018">"Wi-Fi orqali debagging"</string>
     <string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi‑Fi tarmoqqa ulanganda nosozliklarni aniqlash rejimi"</string>
     <string name="adb_wireless_error" msgid="721958772149779856">"Xato"</string>
-    <string name="adb_wireless_settings" msgid="2295017847215680229">"Simsiz nosozliklarni aniqlash"</string>
-    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Mavjud qurilmalarni koʻrish va ulardan foydalanish uchun simsiz nosozliklarni aniqlash funksiyasini yoqing"</string>
+    <string name="adb_wireless_settings" msgid="2295017847215680229">"Wi-Fi orqali debagging"</string>
+    <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Mavjud qurilmalarni koʻrish va ulardan foydalanish uchun Wi-Fi orqali debagging funksiyasini yoqing"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"QR kod yordamida qurilmani ulang"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"QR kod skaneri yordamida yangi qurilmalarni ulash mumkin"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"QR kod skaneri yordamida yangi qurilmalarni ulang"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Ulanish kodi yordamida qurilmani ulang"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Olti xonali kod yordamida yangi qurilmalarni ulash mumkin"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Ulangan qurilmalar"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Qurilma ulanmadi. QR kod xato yoki qurilma bir xil tarmoqqa ulanmagan."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP manzil va port"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"QR kodni skanerlash"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"QR kodni skanerlab, Wi-Fi orqali qurilmani ulang"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"QR kodni skanerlab, Wi-Fi orqali qurilmani ulang"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi tarmoqqa ulaning"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, debag, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Xatoliklar hisoboti"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Simsiz monitor sertifikatlari"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Batafsil Wi-Fi jurnali"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi tarmoqni taqsimlab skanlash"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi tarmoqdagi tasodifiy MAC manzil"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobil internet doim yoniq tursin"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"Modem rejimida apparatli tezlashtirish"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bluetooth qurilmalarini nomlarisiz ko‘rsatish"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Simsiz monitorlarni sertifikatlash parametrini ko‘rsatish"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Wi-Fi ulanishini tanlashda har bir SSID uchun jurnalda ko‘rsatilsin"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Batareya sarfini tejaydi va tarmoq samaradorligini oshiradi"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Bu sozlama faqat mijoz rejimida tasodifiy MAC manzillardan foydalanishga taʼsir qiladi.\nHar qanday tarmoqqa ulanishda mijoz oxirgi marta tarmoqdan qachon uzilganiga qarab tasodifiy MAC manzili qayta yaratiladi. Agar ulanish 4 soat yoki kamroq davom etsa, tasodifiy MAC manzili qayta yaratilmaydi."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Trafik hisoblanadigan tarmoq"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Trafik hisobi yuritilmaydigan tarmoq"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Jurnal buferi hajmi"</string>
@@ -300,8 +302,8 @@
     <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Modem rejimida apparatli tezlashtirishdan foydalanish (agar mavjud bo‘lsa)"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"USB orqali nosozliklarni tuzatishga ruxsat berilsinmi?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"USB orqali nosozliklarni aniqlash faqat dasturlash maqsadlarida yoqiladi. Undan maʼlumotlarni qurilmangiz va kompyuter o‘rtasida ko‘chirish, ilovalarni xabarnomasiz o‘rnatish va jurnal maʼlumotlarini o‘qish uchun foydalaniladi."</string>
-    <string name="adbwifi_warning_title" msgid="727104571653031865">"Simsiz nosozliklarni aniqlashga ruxsat berilsinmi?"</string>
-    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Simsiz nosozliklarni aniqlash faqat dasturlash maqsadlarida yoqiladi. Undan maʼlumotlarni qurilmangiz va kompyuter oʻrtasida koʻchirish, ilovalarni bildirishnomasiz oʻrnatish va jurnal maʼlumotlarini oʻqish uchun foydalaniladi."</string>
+    <string name="adbwifi_warning_title" msgid="727104571653031865">"Wi-Fi orqali debagging uchun ruxsat berilsinmi?"</string>
+    <string name="adbwifi_warning_message" msgid="8005936574322702388">"Wi-Fi orqali debagging faqat dasturlash maqsadlarida yoqiladi. Undan maʼlumotlarni qurilmangiz va kompyuter oʻrtasida koʻchirish, ilovalarni bildirishnomasiz oʻrnatish va jurnal maʼlumotlarini oʻqish uchun foydalaniladi."</string>
     <string name="adb_keys_warning_message" msgid="2968555274488101220">"USB orqali nosozliklarni tuzatishga berilgan ruxsat siz hisobingizga kirgan barcha kompyuterlar uchun bekor qilinsinmi?"</string>
     <string name="dev_settings_warning_title" msgid="8251234890169074553">"Dasturlash sozlamalariga ruxsat berilsinmi?"</string>
     <string name="dev_settings_warning_message" msgid="37741686486073668">"Bu sozlamalar faqat dasturlash maqsadlariga mo‘ljallangan. Shuning uchun, ular qurilmangizga va undagi ilovalariga shikast yetkazib, noto‘g‘ri ishlashiga sabab bo‘lishi mumkin."</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Ilova javob bermayotgani haqida xabar qilish"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Xabarlar kanali ogohlantirishlarini ko‘rsatish"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Yaroqli kanalsiz yuborilgan yangi ilova xabarnomalari haqida ogohlantirishlarni ko‘rsatish"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Suhbat bildirishnomalari uchun yorliqlardan majburiy foydalanish"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Bildirishnoma suhbat qismida chiqishi uchun uzoq koʻrinadigan belgilar yordamida ularni nusxalash kerak"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Tashqi xotira qurilmasidagi ilova dasturlariga majburiy ruxsat berish"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Manifest qiymatidan qat’i nazar istalgan ilovani tashqi xotiraga saqlash imkonini beradi"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Harakatlarni moslashuvchan o‘lchamga keltirish"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index 10ac60d..1d78d33 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -86,8 +86,8 @@
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"Chuyển tệp"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Thiết bị đầu vào"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Truy cập Internet"</string>
-    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"Chia sẻ liên hệ"</string>
-    <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"Sử dụng để chia sẻ liên hệ"</string>
+    <string name="bluetooth_profile_pbap" msgid="7064307749579335765">"Chia sẻ người liên hệ"</string>
+    <string name="bluetooth_profile_pbap_summary" msgid="2955819694801952056">"Sử dụng để chia sẻ người liên hệ"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Chia sẻ kết nối internet"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"Tin nhắn văn bản"</string>
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"Truy cập SIM"</string>
@@ -99,7 +99,7 @@
     <string name="bluetooth_headset_profile_summary_connected" msgid="2420981566026949688">"Đã kết nối với âm thanh điện thoại"</string>
     <string name="bluetooth_opp_profile_summary_connected" msgid="2393521801478157362">"Đã kết nối với máy chủ chuyển tệp"</string>
     <string name="bluetooth_map_profile_summary_connected" msgid="4141725591784669181">"Đã kết nối với bản đồ"</string>
-    <string name="bluetooth_sap_profile_summary_connected" msgid="1280297388033001037">"Được kết nối với SAP"</string>
+    <string name="bluetooth_sap_profile_summary_connected" msgid="1280297388033001037">"Đã kết nối với SAP"</string>
     <string name="bluetooth_opp_profile_summary_not_connected" msgid="3959741824627764954">"Chưa kết nối với máy chủ chuyển tệp"</string>
     <string name="bluetooth_hid_profile_summary_connected" msgid="3923653977051684833">"Đã kết nối với thiết bị nhập"</string>
     <string name="bluetooth_pan_user_profile_summary_connected" msgid="380469653827505727">"Đã kết nối với thiết bị để truy cập Internet"</string>
@@ -143,11 +143,11 @@
     <string name="data_usage_uninstalled_apps" msgid="1933665711856171491">"Ứng dụng đã xóa"</string>
     <string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"Ứng dụng và người dùng bị xóa"</string>
     <string name="data_usage_ota" msgid="7984667793701597001">"Bản cập nhật hệ thống"</string>
-    <string name="tether_settings_title_usb" msgid="3728686573430917722">"Chia sẻ kết nối Internet qua USB"</string>
+    <string name="tether_settings_title_usb" msgid="3728686573430917722">"Chia sẻ Internet qua USB"</string>
     <string name="tether_settings_title_wifi" msgid="4803402057533895526">"Điểm phát sóng di động"</string>
-    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Chia sẻ kết nối Internet qua Bluetooth"</string>
-    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Đang dùng làm điểm truy cập Internet"</string>
-    <string name="tether_settings_title_all" msgid="8910259483383010470">"USB Internet &amp; điểm truy cập di động"</string>
+    <string name="tether_settings_title_bluetooth" msgid="916519902721399656">"Chia sẻ Internet qua Bluetooth"</string>
+    <string name="tether_settings_title_usb_bluetooth" msgid="1727111807207577322">"Chia sẻ Internet"</string>
+    <string name="tether_settings_title_all" msgid="8910259483383010470">"Chia sẻ Internet và điểm phát sóng di động"</string>
     <string name="managed_user_title" msgid="449081789742645723">"Tất cả ứng dụng làm việc"</string>
     <string name="user_guest" msgid="6939192779649870792">"Khách"</string>
     <string name="unknown" msgid="3544487229740637809">"Không xác định"</string>
@@ -201,7 +201,7 @@
     <string name="development_settings_summary" msgid="8718917813868735095">"Đặt tùy chọn cho phát triển ứng dụng"</string>
     <string name="development_settings_not_available" msgid="355070198089140951">"Tùy chọn dành cho nhà phát triển không khả dụng cho người dùng này"</string>
     <string name="vpn_settings_not_available" msgid="2894137119965668920">"Cài đặt VPN không khả dụng cho người dùng này"</string>
-    <string name="tethering_settings_not_available" msgid="266821736434699780">"Cài đặt cách chia sẻ kết nối không khả dụng cho người dùng này"</string>
+    <string name="tethering_settings_not_available" msgid="266821736434699780">"Các tùy chọn cài đặt của tính năng chia sẻ Internet không có sẵn cho người dùng này"</string>
     <string name="apn_settings_not_available" msgid="1147111671403342300">"Cài đặt tên điểm truy cập không khả dụng cho người dùng này"</string>
     <string name="enable_adb" msgid="8072776357237289039">"Gỡ lỗi qua USB"</string>
     <string name="enable_adb_summary" msgid="3711526030096574316">"Bật chế độ gỡ lỗi khi kết nối USB"</string>
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Gỡ lỗi qua Wi-Fi"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Để xem và sử dụng các thiết bị có sẵn, hãy bật tính năng gỡ lỗi qua Wi-Fi"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Ghép nối thiết bị bằng mã QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Ghép nối các thiết bị mới bằng Trình quét mã QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Ghép nối các thiết bị mới bằng trình quét mã QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Ghép nối thiết bị bằng mã ghép nối"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Ghép nối các thiết bị mới bằng mã gồm 6 chữ số"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Thiết bị được ghép nối"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Không ghép nối được thiết bị. Mã QR không chính xác hoặc bạn không kết nối thiết bị với cùng một mạng."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Địa chỉ IP và cổng"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Quét mã QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Ghép nối thiết bị qua Wi-Fi bằng cách quét mã QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Ghép nối thiết bị qua Wi-Fi bằng cách quét mã QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Hãy kết nối mạng Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, gỡ lỗi, nhà phát triển"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Phím tắt báo cáo lỗi"</string>
@@ -251,8 +251,9 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Chứng nhận hiển thị không dây"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Bật ghi nhật ký chi tiết Wi‑Fi"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Hạn chế quét tìm Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Sử dụng địa chỉ MAC Wi‑Fi ngẫu nhiên"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Dữ liệu di động luôn hoạt động"</string>
-    <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tăng tốc phần cứng khi chia sẻ kết nối"</string>
+    <string name="tethering_hardware_offload" msgid="4116053719006939161">"Tăng tốc phần cứng khi chia sẻ Internet"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Hiển thị các thiết bị Bluetooth không có tên"</string>
     <string name="bluetooth_disable_absolute_volume" msgid="1452342324349203434">"Vô hiệu hóa âm lượng tuyệt đối"</string>
     <string name="bluetooth_enable_gabeldorsche" msgid="9131730396242883416">"Bật tính năng Gabeldorsche"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Hiển thị tùy chọn chứng nhận hiển thị không dây"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"Tăng mức ghi nhật ký Wi‑Fi, hiển thị mỗi SSID RSSI trong bộ chọn Wi‑Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Giảm hao pin và cải thiện hiệu suất mạng"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Thao tác bật/tắt này chỉ ảnh hưởng đến hành vi tạo địa chỉ MAC ngẫu nhiên ở chế độ máy khách.\nKhi bạn kích hoạt chế độ này, tất cả các mạng đã bật tính năng tạo địa chỉ MAC ngẫu nhiên có thể tạo lại địa chỉ MAC ngẫu nhiên của chúng trong quá trình liên kết, tùy thuộc vào lần gần đây nhất máy khách ngắt kết nối với mạng. Các mạng này sẽ không thể tạo ngẫu nhiên lại nếu thiết bị kết nối lại trong vòng 4 giờ."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Đo lượng dữ liệu"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Không đo lượng dữ liệu"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Kích thước bộ đệm của trình ghi nhật ký"</string>
@@ -297,7 +299,7 @@
     <string name="allow_mock_location_summary" msgid="179780881081354579">"Cho phép vị trí mô phỏng"</string>
     <string name="debug_view_attributes" msgid="3539609843984208216">"Cho phép kiểm tra thuộc tính của chế độ xem"</string>
     <string name="mobile_data_always_on_summary" msgid="1112156365594371019">"Luôn bật dữ liệu di động ngay cả khi Wi-Fi đang hoạt động (để chuyển đổi mạng nhanh)."</string>
-    <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Sử dụng tính năng tăng tốc phần cứng khi chia sẻ kết nối nếu có"</string>
+    <string name="tethering_hardware_offload_summary" msgid="7801345335142803029">"Sử dụng tính năng tăng tốc phần cứng khi chia sẻ Internet nếu có"</string>
     <string name="adb_warning_title" msgid="7708653449506485728">"Cho phép gỡ lỗi qua USB?"</string>
     <string name="adb_warning_message" msgid="8145270656419669221">"Gỡ lỗi USB chỉ dành cho mục đích phát triển. Hãy sử dụng tính năng này để sao chép dữ liệu giữa máy tính và thiết bị của bạn, cài đặt ứng dụng trên thiết bị của bạn mà không thông báo và đọc dữ liệu nhật ký."</string>
     <string name="adbwifi_warning_title" msgid="727104571653031865">"Bật tính năng gỡ lỗi qua Wi-Fi?"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Hiện hộp thoại Ứng dụng không phản hồi cho các ứng dụng nền"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Hiện cảnh báo kênh thông báo"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Hiện cảnh báo trên màn hình khi ứng dụng đăng thông báo mà không có kênh hợp lệ"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Áp dụng lối tắt cho thông báo của cuộc trò chuyện"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Để xuất hiện trong phần cuộc trò chuyện, thông báo phải có sự hỗ trợ của lối tắt chia sẻ lâu dài"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Buộc cho phép các ứng dụng trên bộ nhớ ngoài"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Cho phép ghi mọi ứng dụng đủ điều kiện vào bộ nhớ ngoài, bất kể giá trị tệp kê khai là gì"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Buộc các hoạt động có thể thay đổi kích thước"</string>
@@ -416,8 +420,8 @@
     <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Mù màu xanh lục nhẹ (đỏ-xanh lục)"</string>
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Mù màu đỏ không hoàn toàn (đỏ-xanh lục)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Mù màu (xanh lam-vàng)"</string>
-    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Sửa màu"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Với chế độ hiệu chỉnh màu sắc, bạn có thể điều chỉnh cách các màu hiển thị trên thiết bị"</string>
+    <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Chỉnh màu"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"Với chế độ chỉnh màu, bạn có thể điều chỉnh cách các màu hiển thị trên thiết bị"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Bị ghi đè bởi <xliff:g id="TITLE">%1$s</xliff:g>"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"Còn khoảng <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -426,10 +430,10 @@
     <string name="power_discharging_duration_enhanced" msgid="1800465736237672323">"Còn khoảng <xliff:g id="TIME_REMAINING">%1$s</xliff:g> dựa trên mức sử dụng của bạn (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <!-- no translation found for power_remaining_duration_only_short (7438846066602840588) -->
     <skip />
-    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string>
-    <string name="power_discharge_by" msgid="4113180890060388350">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_enhanced" msgid="563438403581662942">"Pin sẽ hết vào khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Pin sẽ hết vào khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string>
+    <string name="power_discharge_by" msgid="4113180890060388350">"Pin sẽ hết vào khoảng <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"Pin sẽ hết vào khoảng <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Cho đến <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"Điện thoại có thể hết pin vào <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"Còn lại không đến <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
@@ -443,8 +447,8 @@
     <string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7703677921000858479">"Máy tính bảng có thể sắp tắt (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Thiết bị có thể sắp tắt (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
     <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
-    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"Còn <xliff:g id="TIME">%1$s</xliff:g> nữa là sạc xong"</string>
-    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> nữa là sạc xong"</string>
+    <string name="power_remaining_charging_duration_only" msgid="7415639699283965818">"Còn <xliff:g id="TIME">%1$s</xliff:g> nữa là sạc đầy"</string>
+    <string name="power_charging_duration" msgid="5005740040558984057">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> nữa là sạc đầy"</string>
     <string name="battery_info_status_unknown" msgid="268625384868401114">"Không xác định"</string>
     <string name="battery_info_status_charging" msgid="4279958015430387405">"Đang sạc"</string>
     <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Đang sạc nhanh"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index c24f72d..5c65dff 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"无线调试"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"要查看和使用可用的设备,请开启无线调试"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"使用二维码配对设备"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"使用二维码扫描器配对新设备"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"使用二维码扫描器配对新设备"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"使用配对码配对设备"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"使用六位数验证码配对新设备"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"已配对的设备"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"无法配对设备。可能是因为二维码不正确,或者设备未连接到同一网络。"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP 地址和端口"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"扫描二维码"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"扫描二维码即可通过 WLAN 配对设备"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"扫描二维码即可通过 WLAN 配对设备"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"请连接到 WLAN 网络"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, 调试, debug, 开发, dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"错误报告快捷方式"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"无线显示认证"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"启用 WLAN 详细日志记录功能"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"WLAN 扫描调节"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"WLAN 增强型随机分配 MAC 地址功能"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"始终开启移动数据网络"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"网络共享硬件加速"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"显示没有名称的蓝牙设备"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"显示无线显示认证选项"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"提升 WLAN 日志记录级别(在 WLAN 选择器中显示每个 SSID 的 RSSI)"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"降低耗电量以及改善网络性能"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"此切换开关仅会影响客户端模式的 MAC 地址随机分配行为。\n此模式开启后,系统可能会为已启用随机分配 MAC 地址功能的所有网络在关联期间重新随机分配 MAC 地址,具体取决于客户端上次断开网络连接的时间。如果设备在 4 小时或更短时间内重新连接到网络,系统便不会执行重新随机分配操作。"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"按流量计费"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"不按流量计费"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"日志记录器缓冲区大小"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"为后台应用显示“应用无响应”对话框"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"显示通知渠道警告"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"当应用未经有效渠道发布通知时,在屏幕上显示警告"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"强制执行会话通知快捷方式"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"要求通知必须有长期共享快捷方式支持,才能显示在会话部分中"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"强制允许将应用写入外部存储设备"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"允许将任何应用写入外部存储设备(无论清单值是什么)"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"强制将活动设为可调整大小"</string>
@@ -464,7 +468,7 @@
     <item msgid="7529124349186240216">"100%"</item>
   </string-array>
     <string name="charge_length_format" msgid="6941645744588690932">"<xliff:g id="ID_1">%1$s</xliff:g>前"</string>
-    <string name="remaining_length_format" msgid="4310625772926171089">"还剩 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="remaining_length_format" msgid="4310625772926171089">"还需 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="screen_zoom_summary_small" msgid="6050633151263074260">"小"</string>
     <string name="screen_zoom_summary_default" msgid="1888865694033865408">"默认"</string>
     <string name="screen_zoom_summary_large" msgid="4706951482598978984">"大"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index a4c2336..3720581 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"無線偵錯"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"如要查看並使用可用的裝置,請開啟無線偵錯"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"使用二維條碼配對裝置"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"使用二維條碼掃瞄器配對新裝置"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"使用二維條碼掃瞄器配對新裝置"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"使用配對碼配對裝置"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"使用六位數的配對碼配對新裝置"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"已配對的裝置"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"無法配對裝置,可能是二維條碼錯誤,或裝置未連線至相同的網絡。"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP 位址和連接埠"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"掃瞄二維條碼"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"掃瞄二維條碼即可透過 Wi-Fi 配對裝置"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"掃瞄二維條碼即可透過 Wi-Fi 配對裝置"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"請連線至 Wi-Fi 網絡"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, 偵錯, 開發"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"錯誤舉報捷徑"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"無線螢幕分享認證"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"啟用 Wi‑Fi 詳細記錄"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi‑Fi 掃瞄限流"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi-Fi 強化 MAC 隨機處理"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"一律保持啟用流動數據"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"網絡共享硬件加速"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"顯示沒有名稱的藍牙裝置"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"顯示無線螢幕分享認證的選項"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"讓 Wi‑Fi 記錄功能升級,在 Wi‑Fi 選擇器中依每個 SSID RSSI 顯示 Wi‑Fi 詳細紀錄"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"減低耗電量並改善網絡表現"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"此切換只會影響用戶端模式的 MAC 隨機處理。\n啟動此模式後,視乎用戶端上次中斷網絡連線的時間,系統可能會重新為任何已啟用 MAC 隨機處理的網絡在關聯期間隨機處理其 MAC 地址。如裝置在 4 小時或以內重新連線,系統便不會重新進行隨機處理。"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"按用量收費"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"不限數據用量收費"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"記錄器緩衝區空間"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"為背景應用程式顯示「應用程式無回應」對話框"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"顯示通知渠道警告"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"當應用程式未經有效渠道發佈通知時,在螢幕上顯示警告"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"執行對話通知捷徑"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"通知必須採用永久共用捷徑,以便在對話部分中顯示"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"強制允許應用程式寫入到外部儲存空間"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"在任何資訊清單值下,允許將所有符合資格的應用程式寫入到外部儲存完間"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"強制將活動設為可調整尺寸"</string>
@@ -417,7 +421,7 @@
     <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"紅色弱視 (紅綠)"</string>
     <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"藍色弱視 (藍黃)"</string>
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"色彩校正"</string>
-    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"你可以用色彩校正調整裝置顯示嘅顏色"</string>
+    <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1284746051652993443">"色彩校正功能讓您調整裝置顯示的顏色"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"已由「<xliff:g id="TITLE">%1$s</xliff:g>」覆寫"</string>
     <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"還有大約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -429,7 +433,7 @@
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"根據您的使用情況 (<xliff:g id="LEVEL">%2$s</xliff:g>),電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"根據您的使用情況,電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"電量大約可用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"還可用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"電池電量可能將於<xliff:g id="TIME">%1$s</xliff:g>耗盡"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"剩餘電量時間少於 <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
@@ -529,17 +533,17 @@
     <string name="user_add_user_item_title" msgid="2394272381086965029">"使用者"</string>
     <string name="user_add_profile_item_title" msgid="3111051717414643029">"限制存取的個人檔案"</string>
     <string name="user_add_user_title" msgid="5457079143694924885">"新增使用者?"</string>
-    <string name="user_add_user_message_long" msgid="1527434966294733380">"您可以建立其他使用者,與他人共用這部裝置。每位使用者都有專屬的空間,並可使用應用程式、桌布等項目自訂個人空間。此外,使用者也可以調整會影響所有人的裝置設定,例如 Wi‑Fi 設定。\n\n新增的使用者需要自行設定個人空間。\n\n任何使用者都可以為所有其他使用者更新應用程式。無障礙功能設定和服務可能無法轉移至新的使用者。"</string>
+    <string name="user_add_user_message_long" msgid="1527434966294733380">"您可以建立其他使用者,與他人共用這部裝置。每位使用者都有屬於自己的空間,並可以自訂應用程式、桌布等等。此外,使用者也可以調整會影響所有人的裝置設定,例如 Wi‑Fi 設定。\n\n新加入的使用者需要自行設定個人空間。\n\n任何使用者都可以為所有其他使用者更新應用程式。無障礙功能設定和服務則未必適用於新的使用者。"</string>
     <string name="user_add_user_message_short" msgid="3295959985795716166">"新增的使用者需要自行設定個人空間。\n\n任何使用者都可以為其他所有使用者更新應用程式。"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"立即設定使用者?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"請確定對方現在可以使用裝置設定自己的空間"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"請確保對方現在可以在裝置上設定自己的空間"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"立即設定個人檔案?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"立即設定"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"暫時不要"</string>
     <string name="user_add_user_type_title" msgid="551279664052914497">"新增"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"新使用者"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"新個人檔案"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"使用者資訊"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"使用者資料"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"個人檔案資料"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"建立限制存取的個人檔案前,您必須先設定上鎖畫面來保護您的應用程式和個人資料。"</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"設定上鎖畫面"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index 5183df3..9337b59 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"無線偵錯"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"如要查看並使用可用的裝置,請開啟無線偵錯"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"使用 QR 圖碼配對裝置"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"使用 QR 圖碼掃描器配對新裝置"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"使用 QR 圖碼掃描器配對新裝置"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"使用配對碼配對裝置"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"使用六位數的配對碼配對新裝置"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"已配對的裝置"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"無法配對裝置。可能是QR 圖碼錯誤,或是裝置未連上相同的網路。"</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"IP 位址和通訊埠"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"掃描 QR 圖碼"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"掃描 QR 圖碼即可透過 Wi-Fi 配對裝置"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"掃描 QR 圖碼即可透過 Wi-Fi 配對裝置"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"請連上 Wi-Fi 網路"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"ADB, 偵錯, 開發"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"錯誤回報捷徑"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"無線螢幕分享認證"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"啟用 Wi‑Fi 詳細記錄設定"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"Wi-Fi 掃描調節"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Wi‑Fi 加強型 MAC 隨機化"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"行動數據連線一律保持啟用狀態"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"數據連線硬體加速"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"顯示沒有名稱的藍牙裝置"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"顯示無線螢幕分享認證的選項"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"讓 Wi‑Fi 記錄功能升級,在 Wi‑Fi 選擇器中依每個 SSID RSSI 顯示 Wi‑Fi 詳細記錄"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"降低耗電量以及改善網路效能"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"這個切換鈕只會影響用戶端模式的 MAC 隨機化行為。\n這個模式開啟時,任何已啟用 MAC 隨機化的網路可能會在建立關聯時重新將 MAC 位址隨機化 (取決於用戶端上次中斷連線的時間)。如果裝置在 4 個小時內重新連線,就不會進行重新隨機化作業。"</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"計量付費"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"非計量付費"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"記錄器緩衝區空間"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"為背景應用程式顯示「應用程式無回應」對話方塊"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"顯示通知管道警告"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"當應用程式未經有效管道發布通知時,在畫面上顯示警告"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"強制執行對話通知捷徑"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"要求通知必須有永久分享捷徑支援,才能顯示在對話部分中"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"強制允許將應用程式寫入外部儲存空間"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"允許將任何應用程式寫入外部儲存空間 (無論資訊清單值為何)"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"將活動強制設為可調整大小"</string>
@@ -429,7 +433,7 @@
     <string name="power_discharge_by_enhanced" msgid="563438403581662942">"根據你的使用情形,目前電量為 <xliff:g id="LEVEL">%2$s</xliff:g>,預估可持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"根據你的使用情形,預估可持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"目前電量 <xliff:g id="LEVEL">%2$s</xliff:g>,預估還能持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
-    <string name="power_discharge_by_only" msgid="92545648425937000">"預估還能持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_only" msgid="92545648425937000">"預估電力大約可使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_short" msgid="5883041507426914446">"還能持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"電池電力可能於<xliff:g id="TIME">%1$s</xliff:g> 前耗盡"</string>
     <string name="power_remaining_less_than_duration_only" msgid="5802195288324091585">"電池可用時間不到 <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index eb4ace6..a552446 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -212,7 +212,7 @@
     <string name="adb_wireless_settings" msgid="2295017847215680229">"Ukulungisa amaphutha okungenantambo"</string>
     <string name="adb_wireless_list_empty_off" msgid="1713707973837255490">"Ukubona futhi usebenzise amadivayisi atholakalayo, vula ukulungisa amaphutha okungenantambo"</string>
     <string name="adb_pair_method_qrcode_title" msgid="6982904096137468634">"Bhangqa idivayisi ngekhodi ye-QR"</string>
-    <string name="adb_pair_method_qrcode_summary" msgid="3729901496856458634">"Bhangqa amadivayisi amasha usebenzisa iskena sekhodi ye-QR"</string>
+    <string name="adb_pair_method_qrcode_summary" msgid="7130694277228970888">"Bhangqa amadivayisi amasha usebenzisa isiphequluli sekhodi ye-QR"</string>
     <string name="adb_pair_method_code_title" msgid="1122590300445142904">"Bhangqa idivayisi ngekhodi yokumatanisa"</string>
     <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Bhangqa amadivayisi amasha usebenzisa ikhodi yamadijithi ayisithupha"</string>
     <string name="adb_paired_devices_title" msgid="5268997341526217362">"Amadivaysi abhangqene"</string>
@@ -231,7 +231,7 @@
     <string name="adb_qrcode_pairing_device_failed_msg" msgid="6936292092592914132">"Yehlulekile ukubhangqa idivayisi. Kungenzeka ukuthi ikhodi ye-QR kade ingalungile, noma idivayisi ayixhunyiwe kunethiwekhi efanayo."</string>
     <string name="adb_wireless_ip_addr_preference_title" msgid="8335132107715311730">"Ikheli le-IP nembobo"</string>
     <string name="adb_wireless_qrcode_pairing_title" msgid="1906409667944674707">"Skena ikhodi ye-QR"</string>
-    <string name="adb_wireless_qrcode_pairing_description" msgid="8578868049289910131">"Bhangqa idivayisi nge-Wi‑Fi ngokuskena ikhodi ye-QR"</string>
+    <string name="adb_wireless_qrcode_pairing_description" msgid="6014121407143607851">"Bhangqa idivayisi nge-Wi‑Fi ngokuskena ikhodi ye-QR"</string>
     <string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Sicela uxhume kunethiwekhi ye-Wi-Fi"</string>
     <string name="keywords_adb_wireless" msgid="6507505581882171240">"i-adb, ukulungisa amaphutha, i-dev"</string>
     <string name="bugreport_in_power" msgid="8664089072534638709">"Isinqamuleli sombiko wesiphazamisi"</string>
@@ -251,6 +251,7 @@
     <string name="wifi_display_certification" msgid="1805579519992520381">"Ukunikezwa isitifiketi sokubukeka okungenantambo"</string>
     <string name="wifi_verbose_logging" msgid="1785910450009679371">"Nika amandlaukungena kwe-Wi-Fi Verbose"</string>
     <string name="wifi_scan_throttling" msgid="2985624788509913617">"I-throttling yokuskena kwe-Wi-Fi"</string>
+    <string name="wifi_enhanced_mac_randomization" msgid="5437378364995776979">"Okungahleliwe kwe-Wi-Fi ethuthukisiwe ye-MAC"</string>
     <string name="mobile_data_always_on" msgid="8275958101875563572">"Idatha yeselula ihlala isebenza"</string>
     <string name="tethering_hardware_offload" msgid="4116053719006939161">"I-Tethering hardware acceleration"</string>
     <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Bonisa amadivayisi e-Bluetooth ngaphandle kwamagama"</string>
@@ -283,6 +284,7 @@
     <string name="wifi_display_certification_summary" msgid="8111151348106907513">"Bonisa izinketho zokunikeza isitifiketi ukubukeka okungenantambo"</string>
     <string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"khuphula izinga lokungena le-Wi-Fi, bonisa nge-SSID RSSI engayodwana kusikhethi se-Wi-Fi"</string>
     <string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"Yehlisa ukuphela kwebhethri futhi ithuthukise ukusebenza kwenethiwekhi"</string>
+    <string name="wifi_enhanced_mac_randomization_summary" msgid="7925425746373704991">"Lokhu kuguqula kuthinta ukuziphatha kokungahleliwe kwe-MAC kwemodi yeklayenti kuphela.\nLapho le modi yenziwe yasebenza, noma yimaphi amanethiwekhi anokungahleliwe kwe-MAC okunikwe amandla angase abe nekheli lawo le-MAC libe okungahleliwe kabusha phakathi nokuhlobana, kuya ngokuthi iklayenti igcine nini ukunqamula kusuka kunethiwekhi. Ukwenza kube okungahleliwe kabusha akuveli uma idivayisi ixhuma kabusha emahoreni angu-4 noma ngaphansi."</string>
     <string name="wifi_metered_label" msgid="8737187690304098638">"Kulinganisiwe"</string>
     <string name="wifi_unmetered_label" msgid="6174142840934095093">"Akulinganiselwa"</string>
     <string name="select_logd_size_title" msgid="1604578195914595173">"Amasayizi weloga ngebhafa"</string>
@@ -371,6 +373,8 @@
     <string name="show_all_anrs_summary" msgid="8562788834431971392">"Uhlelo lokusebenza lwesibonisi aluphenduli kungxoxo yezinhlelo zokusebenza zangemuva"</string>
     <string name="show_notification_channel_warnings" msgid="3448282400127597331">"Bonisa izexwayiso zesiteshi sesaziso"</string>
     <string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Ibonisa isexwayiso esikusikrini uma uhlelo lokusebenza luthumela isaziso ngaphandle kwesiteshi esivumelekile"</string>
+    <string name="enforce_shortcuts_for_conversations" msgid="7040735163945040763">"Phoqelela izinqamuleli zezaziso zengxoxo"</string>
+    <string name="enforce_shortcuts_for_conversations_summary" msgid="1860168037282467862">"Kudinga ukuba izaziso zisekelwe yisinqamuleli sokwabelana sesikhathi eside ukuze zivele esigabeni sengxoxo"</string>
     <string name="force_allow_on_external" msgid="9187902444231637880">"Phoqelela ukuvumela izinhlelo zokusebenza ngaphandle"</string>
     <string name="force_allow_on_external_summary" msgid="8525425782530728238">"Yenza noma uluphi uhlelo lokusebenza lifaneleke ukuthi libhalwe kusitoreji sangaphandle, ngaphandle kwamavelu we-manifest"</string>
     <string name="force_resizable_activities" msgid="7143612144399959606">"Imisebenzi yamandla izonikezwa usayizi omusha"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
index 3024b84..a62d76f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
@@ -401,6 +401,11 @@
         }
 
         private List<MediaDevice> buildDisconnectedBluetoothDevice() {
+            if (mBluetoothAdapter == null) {
+                Log.w(TAG, "buildDisconnectedBluetoothDevice() BluetoothAdapter is null");
+                return new ArrayList<>();
+            }
+
             final List<BluetoothDevice> bluetoothDevices =
                     mBluetoothAdapter.getMostRecentlyConnectedDevices();
             final CachedBluetoothDeviceManager cachedDeviceManager =
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
index 7ddd64c..206c859 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
@@ -691,4 +691,28 @@
         assertThat(mLocalMediaManager.mMediaDevices).hasSize(7);
         verify(mCallback).onDeviceListUpdate(any());
     }
+
+    @Test
+    public void onDeviceListAdded_bluetoothAdapterIsNull_noDisconnectedDeviceAdded() {
+        final List<MediaDevice> devices = new ArrayList<>();
+        final MediaDevice device1 = mock(MediaDevice.class);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        final MediaDevice device3 = mock(MediaDevice.class);
+        mLocalMediaManager.mPhoneDevice = mock(PhoneMediaDevice.class);
+        devices.add(device1);
+        devices.add(device2);
+        mLocalMediaManager.mMediaDevices.add(device3);
+        mLocalMediaManager.mMediaDevices.add(mLocalMediaManager.mPhoneDevice);
+
+        mShadowBluetoothAdapter = null;
+
+        when(mLocalMediaManager.mPhoneDevice.getId()).thenReturn("test_phone_id");
+
+        assertThat(mLocalMediaManager.mMediaDevices).hasSize(2);
+        mLocalMediaManager.registerCallback(mCallback);
+        mLocalMediaManager.mMediaDeviceCallback.onDeviceListAdded(devices);
+
+        assertThat(mLocalMediaManager.mMediaDevices).hasSize(2);
+        verify(mCallback).onDeviceListUpdate(any());
+    }
 }
diff --git a/packages/SettingsProvider/res/values-eu/strings.xml b/packages/SettingsProvider/res/values-eu/strings.xml
index 7ca91d8..e7d2c67 100644
--- a/packages/SettingsProvider/res/values-eu/strings.xml
+++ b/packages/SettingsProvider/res/values-eu/strings.xml
@@ -20,6 +20,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label" msgid="4567566098528588863">"Ezarpenen biltegia"</string>
-    <string name="wifi_softap_config_change" msgid="5688373762357941645">"Sare publikoaren ezarpenak aldatu dira"</string>
+    <string name="wifi_softap_config_change" msgid="5688373762357941645">"Wifi-gunearen ezarpenak aldatu dira"</string>
     <string name="wifi_softap_config_change_summary" msgid="8946397286141531087">"Sakatu hau xehetasunak ikusteko"</string>
 </resources>
diff --git a/packages/SettingsProvider/res/values-ky/strings.xml b/packages/SettingsProvider/res/values-ky/strings.xml
index e5b82c69..8058b4d 100644
--- a/packages/SettingsProvider/res/values-ky/strings.xml
+++ b/packages/SettingsProvider/res/values-ky/strings.xml
@@ -20,6 +20,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label" msgid="4567566098528588863">"Жөндөөлөрдү сактоо"</string>
-    <string name="wifi_softap_config_change" msgid="5688373762357941645">"Хотспот жөндөөлөрү өзгөрдү"</string>
+    <string name="wifi_softap_config_change" msgid="5688373762357941645">"Байланыш түйүнү  жөндөөлөрү өзгөрдү"</string>
     <string name="wifi_softap_config_change_summary" msgid="8946397286141531087">"Чоо-жайын билүү үчүн басыңыз"</string>
 </resources>
diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
index 01a2b69..03f6df0 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -101,7 +101,8 @@
                     Settings.System.MIN_REFRESH_RATE, // depends on hardware capabilities
                     Settings.System.PEAK_REFRESH_RATE, // depends on hardware capabilities
                     Settings.System.SCREEN_BRIGHTNESS_FLOAT,
-                    Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT
+                    Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT,
+                    Settings.System.MULTI_AUDIO_FOCUS_ENABLED // form-factor/OEM specific
                     );
 
     private static final Set<String> BACKUP_BLACKLISTED_GLOBAL_SETTINGS =
diff --git a/packages/SystemUI/res/anim/control_state_list_animator.xml b/packages/SystemUI/res/anim/control_state_list_animator.xml
new file mode 100644
index 0000000..a20a925
--- /dev/null
+++ b/packages/SystemUI/res/anim/control_state_list_animator.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2020 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true">
+        <set>
+            <objectAnimator
+                android:interpolator="@interpolator/control_state"
+                android:duration="50"
+                android:propertyName="scaleX"
+                android:valueTo="0.97"
+                android:valueType="floatType" />
+            <objectAnimator
+                android:interpolator="@interpolator/control_state"
+                android:duration="50"
+                android:propertyName="scaleY"
+                android:valueTo="0.97"
+                android:valueType="floatType" />
+
+        </set>
+    </item>
+    <item>
+        <set>
+            <objectAnimator
+                android:interpolator="@interpolator/control_state"
+                android:duration="250"
+                android:propertyName="scaleX"
+                android:valueTo="1"
+                android:valueType="floatType" />
+            <objectAnimator
+                android:interpolator="@interpolator/control_state"
+                android:duration="250"
+                android:propertyName="scaleY"
+                android:valueTo="1"
+                android:valueType="floatType" />
+        </set>
+    </item>
+</selector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable-nodpi/star_outline.xml b/packages/SystemUI/res/drawable-nodpi/star_outline.xml
deleted file mode 100644
index 13983c6..0000000
--- a/packages/SystemUI/res/drawable-nodpi/star_outline.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2020 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:pathData="M 11.99 6.491 L 13.15 9.377 L 13.713 10.776 L 15.148 10.902 L 18.103 11.167 L 15.854 13.221 L 14.766 14.216 L 15.089 15.703 L 15.759 18.74 L 13.222 17.127 L 11.99 16.321 L 10.758 17.102 L 8.222 18.715 L 8.891 15.678 L 9.215 14.191 L 8.126 13.196 L 5.877 11.141 L 8.832 10.877 L 10.267 10.751 L 10.83 9.352 L 11.99 6.491 M 11.99 0.027 L 8.628 8.382 L 0.027 9.15 L 6.559 15.111 L 4.597 23.97 L 11.99 19.27 L 19.383 23.97 L 17.421 15.111 L 23.953 9.15 L 15.352 8.382 Z"
-        android:fillColor="#FFFFFFFF"/>
-</vector>
diff --git a/packages/SystemUI/res/drawable/control_background.xml b/packages/SystemUI/res/drawable/control_background.xml
index 29b4efa..cf298b7 100644
--- a/packages/SystemUI/res/drawable/control_background.xml
+++ b/packages/SystemUI/res/drawable/control_background.xml
@@ -17,7 +17,8 @@
 */
 -->
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-  <item>
+  <item
+      android:id="@+id/background">
     <shape>
       <solid android:color="@color/control_default_background" />
       <corners android:radius="@dimen/control_corner_radius" />
diff --git a/packages/SystemUI/res/drawable/ic_create_bubble.xml b/packages/SystemUI/res/drawable/ic_create_bubble.xml
index 1947f58..d58e9a3 100644
--- a/packages/SystemUI/res/drawable/ic_create_bubble.xml
+++ b/packages/SystemUI/res/drawable/ic_create_bubble.xml
@@ -14,16 +14,12 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24"
-        android:viewportHeight="24">
-    <path
-        android:pathData="M12,3c-4.97,0 -9,4.03 -9,9c0,1.39 0.32,2.69 0.88,3.86l1.53,-1.53C5.15,13.6 5,12.82 5,12c0,-3.86 3.14,-7 7,-7s7,3.14 7,7s-3.14,7 -7,7c-0.83,0 -1.62,-0.15 -2.35,-0.42l-1.53,1.53C9.3,20.67 10.61,21 12,21c4.97,0 9,-4.03 9,-9C21,7.03 16.97,3 12,3z"
-        android:fillColor="#000000"/>
-    <path
-        android:pathData="M12.99,15.99l2,0l0,-7l-7,0l0,2l3.59,0l-8.79,8.8l1.41,1.41l8.79,-8.79z"
-        android:fillColor="#000000"/>
-</vector>
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M22,12C22,12 22,12 22,12C22,12 22,12 22,12c0,0.56 -0.06,1.1 -0.15,1.64l-1.97,-0.33c0.15,-0.91 0.15,-1.84 -0.02,-2.75c-0.01,-0.03 -0.01,-0.07 -0.02,-0.1c-0.03,-0.18 -0.08,-0.36 -0.13,-0.54c-0.02,-0.08 -0.04,-0.16 -0.06,-0.24c-0.04,-0.14 -0.09,-0.27 -0.14,-0.41c-0.04,-0.12 -0.08,-0.24 -0.13,-0.35c-0.04,-0.09 -0.08,-0.18 -0.13,-0.27c-0.07,-0.15 -0.14,-0.3 -0.22,-0.45c-0.03,-0.05 -0.06,-0.09 -0.08,-0.14c-0.72,-1.26 -1.77,-2.31 -3.03,-3.03c-0.05,-0.03 -0.09,-0.06 -0.14,-0.08c-0.15,-0.08 -0.3,-0.15 -0.45,-0.22c-0.09,-0.04 -0.18,-0.09 -0.27,-0.13c-0.11,-0.05 -0.23,-0.09 -0.35,-0.13c-0.14,-0.05 -0.27,-0.1 -0.41,-0.14c-0.08,-0.02 -0.16,-0.04 -0.23,-0.06c-0.18,-0.05 -0.36,-0.1 -0.54,-0.13c-0.03,-0.01 -0.07,-0.01 -0.1,-0.01c-0.95,-0.17 -1.93,-0.17 -2.88,0c-0.03,0.01 -0.07,0.01 -0.1,0.01c-0.18,0.04 -0.36,0.08 -0.54,0.13C9.85,4.3 9.77,4.32 9.69,4.34C9.55,4.38 9.42,4.44 9.28,4.49C9.17,4.53 9.05,4.57 8.93,4.61C8.84,4.65 8.75,4.7 8.66,4.74c-0.15,0.07 -0.3,0.14 -0.45,0.22C8.16,4.98 8.12,5.01 8.07,5.04C5.64,6.42 4,9.02 4,12c0,2.74 1.39,5.16 3.49,6.6c0.01,0.01 0.03,0.02 0.04,0.03c0.16,0.11 0.33,0.2 0.49,0.3c0.06,0.04 0.12,0.08 0.19,0.11c0.13,0.07 0.27,0.13 0.4,0.19c0.11,0.05 0.21,0.1 0.32,0.15c0.1,0.04 0.2,0.07 0.29,0.11c0.15,0.06 0.31,0.11 0.46,0.16c0.05,0.02 0.11,0.03 0.17,0.04c1.11,0.31 2.27,0.35 3.4,0.18l0.35,1.98c-0.54,0.09 -1.08,0.14 -1.62,0.14V22c-0.65,0 -1.28,-0.07 -1.9,-0.19c-0.01,0 -0.01,0 -0.02,0c-0.25,-0.05 -0.49,-0.11 -0.73,-0.18c-0.08,-0.02 -0.16,-0.04 -0.23,-0.06c-0.19,-0.06 -0.37,-0.13 -0.55,-0.19c-0.13,-0.05 -0.26,-0.09 -0.39,-0.14c-0.13,-0.05 -0.25,-0.12 -0.38,-0.18c-0.18,-0.08 -0.35,-0.16 -0.53,-0.25c-0.07,-0.04 -0.14,-0.08 -0.21,-0.13c-0.22,-0.12 -0.43,-0.25 -0.64,-0.39c-0.01,-0.01 -0.02,-0.02 -0.04,-0.03c-0.51,-0.35 -1,-0.74 -1.45,-1.2l0,0C3.12,17.26 2,14.76 2,12c0,-2.76 1.12,-5.26 2.93,-7.07l0,0c0.45,-0.45 0.93,-0.84 1.44,-1.19C6.39,3.73 6.4,3.72 6.42,3.71c0.2,-0.14 0.41,-0.26 0.62,-0.38c0.08,-0.05 0.15,-0.09 0.23,-0.14c0.17,-0.09 0.33,-0.16 0.5,-0.24c0.13,-0.06 0.27,-0.13 0.4,-0.19C8.3,2.71 8.42,2.67 8.55,2.63c0.19,-0.07 0.38,-0.14 0.58,-0.2c0.07,-0.02 0.14,-0.03 0.21,-0.05C10.18,2.14 11.07,2 12,2c0.65,0 1.29,0.07 1.91,0.19c0,0 0,0 0,0c0.25,0.05 0.5,0.11 0.75,0.18c0.07,0.02 0.14,0.03 0.22,0.06c0.19,0.06 0.38,0.13 0.57,0.2c0.12,0.05 0.25,0.09 0.37,0.14c0.14,0.06 0.27,0.12 0.4,0.18c0.17,0.08 0.34,0.16 0.51,0.25c0.08,0.04 0.15,0.09 0.23,0.14c0.21,0.12 0.42,0.24 0.62,0.38c0.01,0.01 0.03,0.02 0.04,0.03c0.51,0.35 0.99,0.74 1.45,1.19c0.24,0.24 0.47,0.49 0.68,0.75c0.04,0.04 0.06,0.09 0.1,0.13c0.17,0.22 0.34,0.45 0.5,0.68c0.01,0.01 0.02,0.03 0.03,0.04c0.69,1.05 1.17,2.21 1.42,3.44c0,0 0,0.01 0,0.01c0.06,0.29 0.1,0.58 0.13,0.87c0.01,0.04 0.01,0.09 0.02,0.13C21.98,11.32 22,11.66 22,12zM18.5,15c-1.93,0 -3.5,1.57 -3.5,3.5s1.57,3.5 3.5,3.5s3.5,-1.57 3.5,-3.5S20.43,15 18.5,15z"/>
+</vector>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/ic_stop_bubble.xml b/packages/SystemUI/res/drawable/ic_stop_bubble.xml
new file mode 100644
index 0000000..11bc741
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_stop_bubble.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2020 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M21.98,18.32l-3.3,-3.3C20.47,15.11 21.89,16.53 21.98,18.32zM8.66,4.74C8.75,4.7 8.84,4.65 8.93,4.61c0.11,-0.05 0.23,-0.09 0.35,-0.13c0.14,-0.05 0.27,-0.1 0.41,-0.14C9.77,4.32 9.85,4.3 9.92,4.28c0.18,-0.05 0.36,-0.1 0.54,-0.13c0.03,-0.01 0.07,-0.01 0.1,-0.01c0.95,-0.17 1.93,-0.17 2.88,0c0.03,0.01 0.07,0.01 0.1,0.01c0.18,0.04 0.36,0.08 0.54,0.13c0.08,0.02 0.16,0.04 0.23,0.06c0.14,0.04 0.27,0.09 0.41,0.14c0.12,0.04 0.23,0.08 0.35,0.13c0.09,0.04 0.18,0.09 0.27,0.13c0.15,0.07 0.3,0.14 0.45,0.22c0.05,0.03 0.09,0.06 0.14,0.08c1.26,0.72 2.31,1.77 3.03,3.03c0.03,0.05 0.06,0.09 0.08,0.14c0.08,0.15 0.15,0.3 0.22,0.45c0.04,0.09 0.09,0.18 0.13,0.27c0.05,0.11 0.09,0.23 0.13,0.35c0.05,0.13 0.1,0.27 0.14,0.41c0.02,0.08 0.04,0.16 0.06,0.24c0.05,0.18 0.1,0.36 0.13,0.54c0.01,0.03 0.01,0.07 0.02,0.1c0.16,0.91 0.17,1.84 0.02,2.75l1.97,0.33C21.94,13.1 22,12.56 22,12c0,0 0,0 0,0s0,0 0,0c0,-0.34 -0.02,-0.68 -0.05,-1.01c0,-0.04 -0.01,-0.09 -0.02,-0.13c-0.03,-0.29 -0.07,-0.58 -0.13,-0.87c0,0 0,-0.01 0,-0.01c-0.25,-1.23 -0.73,-2.39 -1.42,-3.44c-0.01,-0.01 -0.02,-0.03 -0.03,-0.04c-0.15,-0.23 -0.32,-0.46 -0.5,-0.68c-0.03,-0.04 -0.06,-0.09 -0.1,-0.13c-0.21,-0.26 -0.44,-0.51 -0.68,-0.75c-0.45,-0.45 -0.94,-0.84 -1.45,-1.19c-0.01,-0.01 -0.03,-0.02 -0.04,-0.03c-0.2,-0.14 -0.41,-0.26 -0.62,-0.38c-0.08,-0.04 -0.15,-0.09 -0.23,-0.14c-0.17,-0.09 -0.34,-0.17 -0.51,-0.25c-0.13,-0.06 -0.26,-0.13 -0.4,-0.18c-0.12,-0.05 -0.25,-0.09 -0.37,-0.14c-0.19,-0.07 -0.38,-0.14 -0.57,-0.2c-0.07,-0.02 -0.14,-0.04 -0.22,-0.06c-0.25,-0.07 -0.5,-0.13 -0.75,-0.18c0,0 0,0 0,0C13.29,2.07 12.65,2 12,2c-0.93,0 -1.82,0.14 -2.67,0.37C9.26,2.39 9.19,2.41 9.12,2.43c-0.2,0.06 -0.39,0.13 -0.58,0.2C8.42,2.67 8.3,2.71 8.18,2.76c-0.14,0.06 -0.27,0.12 -0.4,0.19C7.61,3.03 7.44,3.1 7.27,3.19C7.19,3.24 7.12,3.29 7.04,3.33C7.03,3.34 7.02,3.34 7.01,3.35l1.48,1.48C8.55,4.8 8.6,4.77 8.66,4.74zM2.71,1.29L1.29,2.71l2.97,2.97C2.85,7.4 2,9.6 2,12c0,2.76 1.12,5.26 2.93,7.07l0,0c0.45,0.45 0.94,0.85 1.45,1.2c0.01,0.01 0.02,0.02 0.04,0.03c0.21,0.14 0.42,0.27 0.64,0.39c0.07,0.04 0.14,0.09 0.21,0.13c0.17,0.09 0.35,0.17 0.53,0.25c0.13,0.06 0.25,0.12 0.38,0.18c0.13,0.05 0.26,0.1 0.39,0.14c0.18,0.07 0.36,0.14 0.55,0.19c0.08,0.02 0.16,0.04 0.23,0.06c0.24,0.07 0.48,0.13 0.73,0.18c0.01,0 0.01,0 0.02,0C10.72,21.93 11.35,22 12,22v-0.01c0.54,0 1.08,-0.05 1.62,-0.14l-0.35,-1.98c-1.13,0.18 -2.29,0.13 -3.4,-0.18c-0.06,-0.02 -0.11,-0.03 -0.17,-0.04c-0.16,-0.05 -0.31,-0.11 -0.46,-0.16c-0.1,-0.04 -0.2,-0.07 -0.29,-0.11c-0.11,-0.05 -0.22,-0.1 -0.32,-0.15c-0.13,-0.06 -0.27,-0.12 -0.4,-0.19c-0.06,-0.03 -0.13,-0.08 -0.19,-0.11c-0.17,-0.1 -0.33,-0.19 -0.49,-0.3c-0.01,-0.01 -0.03,-0.02 -0.04,-0.03C5.39,17.16 4,14.74 4,12c0,-1.85 0.64,-3.54 1.7,-4.89l9.73,9.73C15.16,17.33 15,17.9 15,18.5c0,1.93 1.57,3.5 3.5,3.5c0.6,0 1.17,-0.16 1.66,-0.43l1.13,1.13l1.41,-1.41L2.71,1.29z"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable-nodpi/star_filled.xml b/packages/SystemUI/res/interpolator/control_state.xml
similarity index 67%
rename from packages/SystemUI/res/drawable-nodpi/star_filled.xml
rename to packages/SystemUI/res/interpolator/control_state.xml
index 62802d3..66106d4 100644
--- a/packages/SystemUI/res/drawable-nodpi/star_filled.xml
+++ b/packages/SystemUI/res/interpolator/control_state.xml
@@ -14,14 +14,9 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-
-<vector
+<pathInterpolator
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-    <path
-        android:pathData="M 11.99 0.027 L 8.628 8.382 L 0.027 9.15 L 6.559 15.111 L 4.597 23.97 L 11.99 19.27 L 19.383 23.97 L 17.421 15.111 L 23.953 9.15 L 15.352 8.382 Z"
-        android:fillColor="#FFFFFFFF"/>
-</vector>
+    android:controlX1="0"
+    android:controlY1="0"
+    android:controlX2="1"
+    android:controlY2="1"/>
diff --git a/packages/SystemUI/res/layout/app_ops_info.xml b/packages/SystemUI/res/layout/app_ops_info.xml
index 8342a2a..667c857 100644
--- a/packages/SystemUI/res/layout/app_ops_info.xml
+++ b/packages/SystemUI/res/layout/app_ops_info.xml
@@ -62,30 +62,35 @@
         style="@style/TextAppearance.NotificationInfo.Secondary" />
 
     <!-- Settings and Done buttons -->
-    <LinearLayout
+    <RelativeLayout
+        android:id="@+id/bottom_buttons"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/notification_guts_button_spacing"
-        android:layout_marginBottom="@dimen/notification_guts_button_spacing"
-        android:gravity="end"
-        android:orientation="horizontal">
-
+        android:gravity="center_vertical"
+        android:paddingStart="4dp"
+        android:paddingEnd="4dp">
         <TextView
             android:id="@+id/settings"
             android:text="@string/notification_appops_settings"
             android:layout_width="wrap_content"
-            android:layout_height="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_toStartOf="@+id/ok"
+            android:gravity="center_vertical"
             android:background="@drawable/ripple_drawable"
+            android:layout_marginEnd="8dp"
+            android:minWidth="@dimen/min_clickable_item_size"
+            android:minHeight="@dimen/min_clickable_item_size"
             style="@style/TextAppearance.NotificationInfo.Button"/>
         <TextView
             android:id="@+id/ok"
             android:text="@string/notification_appops_ok"
             android:layout_width="wrap_content"
-            android:layout_height="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentEnd="true"
+            android:gravity="end|center_vertical"
             android:background="@drawable/ripple_drawable"
-            android:minWidth="48dp"
-            android:layout_marginStart="8dp"
-            android:layout_marginEnd="-8dp"
+            android:minWidth="@dimen/min_clickable_item_size"
+            android:minHeight="@dimen/min_clickable_item_size"
             style="@style/TextAppearance.NotificationInfo.Button"/>
-    </LinearLayout>
+    </RelativeLayout>
 </com.android.systemui.statusbar.notification.row.AppOpsInfo>
diff --git a/packages/SystemUI/res/layout/controls_base_item.xml b/packages/SystemUI/res/layout/controls_base_item.xml
index 55c9083..fd75d91 100644
--- a/packages/SystemUI/res/layout/controls_base_item.xml
+++ b/packages/SystemUI/res/layout/controls_base_item.xml
@@ -24,6 +24,7 @@
     android:clickable="false"
     android:focusable="true"
     android:screenReaderFocusable="true"
+    android:stateListAnimator="@anim/control_state_list_animator"
     android:layout_marginLeft="@dimen/control_base_item_margin"
     android:layout_marginRight="@dimen/control_base_item_margin"
     android:background="@drawable/control_background">
@@ -100,7 +101,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom|end"
-        android:button="@drawable/controls_btn_star"
         android:background="@android:color/transparent"
         android:clickable="false"
         android:selectable="false"
diff --git a/packages/SystemUI/res/layout/global_actions_grid_item_v2.xml b/packages/SystemUI/res/layout/global_actions_grid_item_v2.xml
index 72cc2dd..477ec6a 100644
--- a/packages/SystemUI/res/layout/global_actions_grid_item_v2.xml
+++ b/packages/SystemUI/res/layout/global_actions_grid_item_v2.xml
@@ -28,6 +28,7 @@
     android:paddingRight="@dimen/global_actions_grid_item_side_margin"
     android:layout_marginRight="@dimen/control_base_item_margin"
     android:layout_marginLeft="@dimen/control_base_item_margin"
+    android:stateListAnimator="@anim/control_state_list_animator"
     android:background="@drawable/control_background">
     <LinearLayout
         android:layout_width="@dimen/global_actions_grid_item_width"
diff --git a/packages/SystemUI/res/layout/global_actions_grid_v2.xml b/packages/SystemUI/res/layout/global_actions_grid_v2.xml
index 59c4d01..1c4ec64 100644
--- a/packages/SystemUI/res/layout/global_actions_grid_v2.xml
+++ b/packages/SystemUI/res/layout/global_actions_grid_v2.xml
@@ -12,34 +12,45 @@
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:theme="@style/qs_theme"
-      android:gravity="top"
       android:clipChildren="false"
       android:clipToPadding="false"
       android:layout_marginTop="@dimen/global_actions_top_margin"
+      android:layout_marginStart="@dimen/global_actions_side_margin"
   >
     <LinearLayout
         android:id="@android:id/list"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/global_actions_side_margin"
-        android:layout_marginRight="@dimen/global_actions_side_margin"
         android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
         android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
         android:paddingTop="@dimen/global_actions_grid_vertical_padding"
         android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
         android:orientation="horizontal"
-        android:gravity="left"
+        android:gravity="left | center_vertical"
         android:translationZ="@dimen/global_actions_translate"
-    />
+    >
+      <RelativeLayout
+          android:id="@+id/global_actions_overflow_button"
+          android:layout_width="48dp"
+          android:layout_height="48dp"
+      >
+        <ImageView
+            android:src="@drawable/ic_more_vert"
+            android:layout_centerInParent="true"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:tint="@color/control_more_vert"
+        />
+      </RelativeLayout>
+    </LinearLayout>
   </com.android.systemui.globalactions.GlobalActionsFlatLayout>
 
   <com.android.systemui.globalactions.MinHeightScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingBottom="@dimen/global_actions_grid_container_shadow_offset"
-    android:layout_marginBottom="@dimen/global_actions_grid_container_negative_shadow_offset"
-    android:orientation="vertical"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:paddingBottom="@dimen/global_actions_grid_container_shadow_offset"
+      android:layout_marginBottom="@dimen/global_actions_grid_container_negative_shadow_offset"
+      android:orientation="vertical"
   >
     <LinearLayout
         android:id="@+id/global_actions_grid_root"
diff --git a/packages/SystemUI/res/layout/notification_conversation_info.xml b/packages/SystemUI/res/layout/notification_conversation_info.xml
index 9dc502e..f8a96e7 100644
--- a/packages/SystemUI/res/layout/notification_conversation_info.xml
+++ b/packages/SystemUI/res/layout/notification_conversation_info.xml
@@ -108,7 +108,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    style="@style/TextAppearance.NotificationImportanceChannel"/>
+                    style="@style/TextAppearance.NotificationImportanceChannelGroup"/>
             </LinearLayout>
             <TextView
                 android:id="@+id/delegate_name"
diff --git a/packages/SystemUI/res/layout/notification_info.xml b/packages/SystemUI/res/layout/notification_info.xml
index 5b36382..e8e0133 100644
--- a/packages/SystemUI/res/layout/notification_info.xml
+++ b/packages/SystemUI/res/layout/notification_info.xml
@@ -84,7 +84,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    style="@style/TextAppearance.NotificationImportanceChannel"/>
+                    style="@style/TextAppearance.NotificationImportanceChannelGroup"/>
             </LinearLayout>
             <TextView
                 android:id="@+id/delegate_name"
diff --git a/packages/SystemUI/res/drawable-nodpi/controls_btn_star.xml b/packages/SystemUI/res/layout/photo_preview_overlay.xml
similarity index 63%
rename from packages/SystemUI/res/drawable-nodpi/controls_btn_star.xml
rename to packages/SystemUI/res/layout/photo_preview_overlay.xml
index cfe7838..9210996 100644
--- a/packages/SystemUI/res/drawable-nodpi/controls_btn_star.xml
+++ b/packages/SystemUI/res/layout/photo_preview_overlay.xml
@@ -14,12 +14,6 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp">
-    <item android:state_checked="true"
-          android:drawable="@drawable/star_filled"
-          android:tint="@color/control_primary_text"/>
-    <item android:drawable="@drawable/star_outline"
-          android:tint="@color/control_primary_text"/>
-</selector>
+
+<!-- empty stub -->
+<merge />
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/priority_onboarding_half_shell.xml b/packages/SystemUI/res/layout/priority_onboarding_half_shell.xml
new file mode 100644
index 0000000..ccb4f78
--- /dev/null
+++ b/packages/SystemUI/res/layout/priority_onboarding_half_shell.xml
@@ -0,0 +1,194 @@
+<!--
+  ~ 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
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/onboarding_half_shell_container"
+    android:orientation="vertical"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_horizontal|bottom"
+    android:paddingStart="4dp"
+    android:paddingEnd="4dp"
+    >
+
+    <LinearLayout
+        android:id="@+id/half_shell"
+        android:layout_width="@dimen/qs_panel_width"
+        android:layout_height="wrap_content"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp"
+        android:paddingStart="16dp"
+        android:paddingEnd="16dp"
+        android:orientation="vertical"
+        android:gravity="bottom"
+        android:layout_gravity="center_horizontal|bottom"
+        android:background="@drawable/rounded_bg_full"
+        >
+
+        <!--  We have a known number of rows that can be shown; just design them all here -->
+        <LinearLayout
+            android:id="@+id/show_at_top_tip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="4dp"
+            android:orientation="horizontal"
+            >
+            <ImageView
+                android:id="@+id/bell_icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center_vertical"
+                android:src="@drawable/ic_notifications_alert"
+                android:tint="?android:attr/colorControlNormal" />
+
+            <TextView
+                android:id="@+id/show_at_top_text"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:gravity="center_vertical|start"
+                android:textSize="15sp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:text="@string/priority_onboarding_show_at_top_text"
+                style="@style/TextAppearance.NotificationInfo"
+                />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/show_avatar_tip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="4dp"
+            android:orientation="horizontal"
+            >
+            <ImageView
+                android:id="@+id/avatar_icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center_vertical"
+                android:src="@drawable/ic_person"
+                android:tint="?android:attr/colorControlNormal" />
+
+            <TextView
+                android:id="@+id/avatar_text"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:gravity="center_vertical|start"
+                android:textSize="15sp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:text="@string/priority_onboarding_show_avatar_text"
+                style="@style/TextAppearance.NotificationInfo"
+                />
+
+        </LinearLayout>
+
+        <!-- These rows show optionally -->
+
+        <LinearLayout
+            android:id="@+id/floating_bubble_tip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="4dp"
+            android:orientation="horizontal"
+            >
+
+            <ImageView
+                android:id="@+id/bubble_icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center_vertical"
+                android:src="@drawable/ic_create_bubble"
+                android:tint="?android:attr/colorControlNormal" />
+
+            <TextView
+                android:id="@+id/bubble_text"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:gravity="center_vertical|start"
+                android:textSize="15sp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:text="@string/priority_onboarding_appear_as_bubble_text"
+                style="@style/TextAppearance.NotificationInfo"
+                />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/ignore_dnd_tip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="4dp"
+            android:orientation="horizontal"
+            >
+
+            <ImageView
+                android:id="@+id/dnd_icon"
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center_vertical"
+                android:src="@drawable/moon"
+                android:tint="?android:attr/colorControlNormal" />
+
+            <TextView
+                android:id="@+id/dnd_text"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:paddingStart="16dp"
+                android:paddingEnd="16dp"
+                android:gravity="center_vertical|start"
+                android:textSize="15sp"
+                android:ellipsize="end"
+                android:maxLines="1"
+                android:text="@string/priority_onboarding_ignores_dnd_text"
+                style="@style/TextAppearance.NotificationInfo"
+                />
+
+        </LinearLayout>
+
+        <!-- Bottom button container -->
+        <RelativeLayout
+            android:id="@+id/button_container"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:padding="4dp"
+            android:orientation="horizontal"
+            >
+            <TextView
+                android:id="@+id/done_button"
+                android:text="@string/priority_onboarding_done_button_title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentEnd="true"
+                android:gravity="end|center_vertical"
+                android:minWidth="@dimen/notification_importance_toggle_size"
+                android:minHeight="@dimen/notification_importance_toggle_size"
+                android:maxWidth="125dp"
+                style="@style/TextAppearance.NotificationInfo.Button"/>
+
+        </RelativeLayout>
+
+    </LinearLayout>
+</FrameLayout>
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 115b4a8..1d4b982 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -66,6 +66,8 @@
         <include layout="@layout/ambient_indication"
             android:id="@+id/ambient_indication_container" />
 
+        <include layout="@layout/photo_preview_overlay" />
+
         <ViewStub
             android:id="@+id/keyguard_user_switcher"
             android:layout="@layout/keyguard_user_switcher"
diff --git a/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl b/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
index 716e127..e4b6e07 100644
--- a/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
+++ b/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
@@ -3,74 +3,9 @@
 // The actual wallpaper texture.
 uniform sampler2D uTexture;
 
-// The 85th percenile for the luminance histogram of the image (a value between 0 and 1).
-// This value represents the point in histogram that includes 85% of the pixels of the image.
-uniform float uPer85;
-
-// Reveal is the animation value that goes from 1 (the image is hidden) to 0 (the image is visible).
-uniform float uReveal;
-
-// The opacity of locked screen (constant value).
-uniform float uAod2Opacity;
 varying vec2 vTextureCoordinates;
 
-/*
- * Calculates the relative luminance of the pixel.
- */
-vec3 luminosity(vec3 color) {
-    float lum = 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
-    return vec3(lum);
-}
-
-vec4 transform(vec3 diffuse) {
-    // Getting the luminance for this pixel
-    vec3 lum = luminosity(diffuse);
-
-    /*
-     * while the reveal > per85, it shows the luminance image (B&W image)
-     * then when moving passed that value, the image gets colored.
-     */
-    float trans = smoothstep(0., uPer85, uReveal);
-    diffuse = mix(diffuse, lum, trans);
-
-    // 'lower' value represents the capped 'reveal' value to the range [0, per85]
-    float selector = step(uPer85, uReveal);
-    float lower = mix(uReveal, uPer85, selector);
-
-    /*
-     * Remaps image:
-     * - from reveal=1 to reveal=per85 => lower=per85, diffuse=luminance
-     *   That means that remaps black and white image pixel
-     *   from a possible values of [0,1] to [per85, 1] (if the pixel is darker than per85,
-     *   it's gonna be black, if it's between per85 and 1, it's gonna be gray
-     *   and if it's 1 it's gonna be white).
-     * - from reveal=per85 to reveal=0 => lower=reveal, 'diffuse' changes from luminance to color
-     *   That means that remaps each image pixel color (rgb)
-     *   from a possible values of [0,1] to [lower, 1] (if the pixel color is darker than 'lower',
-     *   it's gonna be 0, if it's between 'lower' and 1, it's gonna be remap to a value
-     *   between 0 and 1 and if it's 1 it's gonna be 1).
-     * - if reveal=0 => lower=0, diffuse=color image
-     *   The image is shown as it is, colored.
-     */
-    vec3 remaps = smoothstep(lower, 1., diffuse);
-
-    // Interpolate between diffuse and remaps using reveal to avoid over saturation.
-    diffuse = mix(diffuse, remaps, uReveal);
-
-    /*
-     * Fades in the pixel value:
-     * - if reveal=1 => fadeInOpacity=0
-     * - from reveal=1 to reveal=per85 => 0<=fadeInOpacity<=1
-     * - if reveal>per85 => fadeInOpacity=1
-     */
-    float fadeInOpacity = 1. - smoothstep(uPer85, 1., uReveal);
-    diffuse *= uAod2Opacity * fadeInOpacity;
-
-    return vec4(diffuse.r, diffuse.g, diffuse.b, 1.);
-}
-
 void main() {
     // gets the pixel value of the wallpaper for this uv coordinates on screen.
-    vec4 fragColor = texture2D(uTexture, vTextureCoordinates);
-    gl_FragColor = transform(fragColor.rgb);
+    gl_FragColor = texture2D(uTexture, vTextureCoordinates);
 }
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index efa2879..8342ccd 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Kan weens beperkte bergingspasie nie skermkiekie stoor nie"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Die program of jou organisasie laat nie toe dat skermkiekies geneem word nie"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Maak skermkiekie toe"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Maak skermkiekie oop"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Skermkiekievoorskou"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Skermopnemer"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Deurlopende kennisgewing vir \'n skermopnamesessie"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Begin opname?"</string>
@@ -418,7 +418,7 @@
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4063448287758262485">"Tot sonsopkoms"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="3584738542293528235">"Aan om <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"Tot <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"Donker-tema"</string>
+    <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"Donkertema"</string>
     <string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterybespaarder"</string>
     <string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Aan met sonsondergang"</string>
     <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Tot sonsopkoms"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Borrel"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Help jou om te fokus sonder klank of vibrasie."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Kry jou aandag met klank of vibrasie."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Trek jou aandag met klank of vibrasie. Gesprekke van <xliff:g id="APP_NAME">%1$s</xliff:g> af verskyn by verstek in \'n borrel."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Hou jou aandag met \'n swewende kortpad na hierdie inhoud toe."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Verskyn boaan die gespreksafdeling en lyk soos \'n borrel."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alle gesprekke van <xliff:g id="APP_NAME_0">%1$s</xliff:g> af sal by verstek borrels word. Bestuur in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Instellings"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioriteit"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Geen onlangse borrels nie"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Stelselnavigasie is opgedateer. Gaan na Instellings toe om veranderinge te maak."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Gaan na Instellings toe om stelselnavigasie op te dateer"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Bystandmodus"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Vergrotingoorleggervenster"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Vergrotingvenster"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Vergrotingvensterkontroles"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontroles"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Kies kontroles om toegang vanaf die aan/af-kieslys te kry"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Hou en sleep om kontroles te herrangskik"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alle kontroles is verwyder"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Die lys met alle kontroles kon nie gelaai word nie."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Ander"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Voeg by toestelkontroles"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 96934b1..aacd994 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ባለው ውሱን የማከማቻ ቦታ ምክንያት ቅጽበታዊ ገጽ ዕይታን ማስቀመጥ አይችልም"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ቅጽበታዊ ገጽ እይታዎችን ማንሳት በመተግበሪያው ወይም በእርስዎ ድርጅት አይፈቀድም"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ቅጽበታዊ ገጽ እይታን አሰናብት"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ቅጽበታዊ ገጽ እይታን ክፈት"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"የቅጽበታዊ ገጽ ዕይታ ቅድመ-ዕይታ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"የማያ መቅጃ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ለአንድ የማያ ገጽ ቀረጻ ክፍለ-ጊዜ በመካሄድ ያለ ማሳወቂያ"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"መቅረጽ ይጀመር?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"አረፋ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ያለ ድምፅ ወይም ንዝረት እርስዎ ትኩረት እንዲያደርጉ ያግዛል።"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ከድምፅ ወይም ንዝረት ጋር የእርስዎን ትኩረት ይስባል።"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"በድምጽ ወይም ንዝረት የእርስዎን ትኩረት ይስባል። የ<xliff:g id="APP_NAME">%1$s</xliff:g> አረፋ ውይይቶች በነባሪነት።"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ለዚህ ይዞታ ከተንሳፋፊ አቋራጭ ጋር የእርስዎን ትኩረት ያቆያል።"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"በውይይት ክፍል አናት ላይ ይታያል እና እንደ አረፋ ብቅ ይላል"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"በነባሪነት ከ<xliff:g id="APP_NAME_0">%1$s</xliff:g> አረፋ ሁሉም ውይይቶች። በ<xliff:g id="APP_NAME_1">%2$s</xliff:g> ውስጥ ያቀናብሩ።"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ቅንብሮች"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ቅድሚያ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ምንም የቅርብ ጊዜ አረፋዎች የሉም"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"የስርዓት ዳሰሳ ተዘምኗል። ለውጦችን ለማድረግ ወደ ቅንብሮች ይሂዱ።"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"የስርዓት ዳሰሳን ለማዘመን ወደ ቅንብሮች ይሂዱ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ተጠባባቂ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"የማጉያ ንብርብር መስኮት"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"የማጉያ መስኮት"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"የማጉያ መስኮት መቆጣጠሪያዎች"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"መቆጣጠሪያዎች"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ከኃይል ምናሌ ላይ ለመድረስ መቆጣጠሪያዎችን ይምረጡ"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"መቆጣጠሪያዎችን ዳግም ለማስተካከል ይያዙ እና ይጎትቱ"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"ሁሉም መቆጣጠሪያዎች ተወግደዋል"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"የሁሉም መቆጣጠሪያዎች ዝርዝር ሊጫን አልተቻለም።"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ሌላ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ወደ የመሣሪያ መቆጣጠሪያዎች ያክሉ"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index de8a07b..2410ca6 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"يتعذر حفظ لقطة الشاشة لأن مساحة التخزين المتاحة محدودة."</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"يحظر التطبيق أو تحظر مؤسستك التقاط لقطات شاشة"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"إغلاق لقطة الشاشة"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"فتح لقطة الشاشة"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"مسجّل الشاشة"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"إشعار مستمر لجلسة تسجيل شاشة"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"هل تريد بدء التسجيل؟"</string>
@@ -296,8 +297,8 @@
     <string name="accessibility_quick_settings_flashlight_on" msgid="3785616827729850766">"تفعيل الفلاش."</string>
     <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3782375441381402599">"تم إيقاف الفلاش."</string>
     <string name="accessibility_quick_settings_flashlight_changed_on" msgid="4747870681508334200">"تم تفعيل الفلاش."</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"تم إيقاف انعكاس اللون."</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"تم تفعيل انعكاس اللون."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"تم إيقاف \"قلب الألوان\"."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"تم تفعيل \"قلب الألوان\"."</string>
     <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"تم إيقاف نقطة اتصال الجوّال."</string>
     <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"تم تفعيل نقطة اتصال الجوّال."</string>
     <string name="accessibility_casting_turned_off" msgid="1387906158563374962">"توقف إرسال الشاشة."</string>
@@ -432,7 +433,7 @@
     <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"حتى شروق الشمس"</string>
     <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"تفعيل الوضع في <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"حتى <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="quick_settings_nfc_label" msgid="1054317416221168085">"‏الاتصالات قصيرة المدى (NFC)"</string>
+    <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"تم إيقاف الاتصال القريب المدى"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"تم تفعيل الاتصال القريب المدى"</string>
     <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"تسجيل الشاشة"</string>
@@ -719,9 +720,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"فقاعة"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"يساعدك هذا الإشعار على التركيز بدون صوت أو اهتزاز."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"يلفت هذا الإشعار انتباهك باستخدام الصوت والاهتزاز."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"يلفت هذا الإشعار انتباهك باستخدام الصوت والاهتزاز. تظهر المحادثات من <xliff:g id="APP_NAME">%1$s</xliff:g> كفقاعات تلقائيًا."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"يلفِت هذا الإشعار انتباهك لهذا المحتوى باستخدام اختصار عائم."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"تظهر كفقاعة محادثة في أعلى قسم المحادثات"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"تظهر كل المحادثات من تطبيق <xliff:g id="APP_NAME_0">%1$s</xliff:g> كفقاعات محادثات تلقائيًا. يمكنك إدارة هذا الإعداد في <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"الإعدادات"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"الأولوية"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ليس هناك فقاعات محادثات"</string>
@@ -982,7 +983,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"التطبيقات التي تعمل في الخلفية"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"انقر للحصول على تفاصيل حول البطارية واستخدام البيانات"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"هل تريد إيقاف بيانات الجوّال؟"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"‏لن تتمكّن من الدخول إلى البيانات أو الإنترنت من خلال <xliff:g id="CARRIER">%s</xliff:g>. ولن يتوفر اتصال الإنترنت إلا عبر Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"‏لن تتمكّن من استخدام البيانات أو الإنترنت من خلال <xliff:g id="CARRIER">%s</xliff:g>. ولن يتوفر اتصال الإنترنت إلا عبر Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"مشغّل شبكة الجوّال"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"لا يمكن للإعدادات التحقق من ردك لأن هناك تطبيقًا يحجب طلب الإذن."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"هل تريد السماح لتطبيق <xliff:g id="APP_0">%1$s</xliff:g> بعرض شرائح <xliff:g id="APP_2">%2$s</xliff:g>؟"</string>
@@ -1022,6 +1023,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"تم تحديث التنقل داخل النظام. لإجراء التغييرات، يُرجى الانتقال إلى \"الإعدادات\"."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"الانتقال إلى \"الإعدادات\" لتعديل التنقل داخل النظام"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"وضع الاستعداد"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"نافذة تراكب التكبير"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"نافذة التكبير"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"عناصر التحكم في نافذة التكبير"</string>
@@ -1040,10 +1051,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"عناصر التحكّم"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"اختيار عناصر التحكّم التي تريد الوصول إليها من قائمة التشغيل"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"اضغط مع الاستمرار واسحب لإعادة ترتيب عناصر التحكّم."</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"تمت إزالة كل عناصر التحكّم."</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"تعذّر تحميل قائمة كل عناصر التحكّم."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"غير ذلك"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"إضافة إلى عناصر التحكم في الأجهزة"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index f32757c..9ea949e 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"সঞ্চয়াগাৰত সীমিত খালী ঠাই থকাৰ বাবে স্ক্ৰীণশ্বট ছেভ কৰিব পৰা নগ\'ল"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"এপটোৱে বা আপোনাৰ প্ৰতিষ্ঠানে স্ক্ৰীণশ্বট ল\'বলৈ অনুমতি নিদিয়ে"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"স্ক্ৰীনশ্বট অগ্ৰাহ্য কৰক"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"স্ক্ৰীনশ্বট খোলক"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"স্ক্ৰীনশ্বটৰ পূৰ্বদৰ্শন"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"স্ক্ৰীন ৰেকৰ্ডাৰ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"স্ক্রীণ ৰেকৰ্ডিং ছেশ্বন চলি থকা সময়ত পোৱা জাননী"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ৰেকৰ্ড কৰা আৰম্ভ কৰিবনে?"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"বাবল"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"কোনো ধ্বনি অথবা কম্পন অবিহনে আপোনাক মনোযোগ দিয়াত সহায় কৰে।"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ধ্বনি অথবা কম্পনৰ জৰিয়তে আপোনাৰ মনোযোগ আকৰ্ষণ কৰে।"</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"উপঙি থকা এটা শ্বৰ্টকাটৰ জৰিয়তে এই সমলখিনিৰ প্ৰতি আপোনাক মনোযোগী কৰি ৰাখে।"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"বাৰ্তালাপ শাখাটোৰ শীৰ্ষত দেখুৱায় আৰু এটা বাবল হিচাপে প্ৰদর্শন হয়।"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>ৰ সকলো বাৰ্তালাপ ডিফ’ল্ট হিচাপে বাবল হয়। <xliff:g id="APP_NAME_1">%2$s</xliff:g>ত পৰিচালনা কৰক।"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ছেটিংসমূহ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"অগ্ৰাধিকাৰ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"কোনো শেহতীয়া bubbles নাই"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"ছিষ্টেম নেভিগেশ্বন আপডে’ট কৰা হ’ল। সলনি কৰিবলৈ ছেটিংসমূহ-লৈ যাওক।"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ছিষ্টেম নেভিগেশ্বন আপডে’ট কৰিবলৈ ছেটিংসমূহ-লৈ যাওক"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ষ্টেণ্ডবাই"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"বিবৰ্ধন অ’ভাৰলে’ৰ ৱিণ্ড’"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"বিবৰ্ধন ৱিণ্ড’"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"বিবৰ্ধন ৱিণ্ড’ৰ নিয়ন্ত্ৰণসমূহ"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"নিয়ন্ত্ৰণসমূহ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"পাৱাৰ মেনুখনৰ পৰা এক্সেছ পাবলৈ নিয়ন্ত্ৰণসমূহ বাছনি কৰক"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"নিয়ন্ত্ৰণসমূহ পুনৰ সজাবলৈ ধৰি ৰাখক আৰু টানি আনি এৰক"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"সকলো নিয়ন্ত্ৰণ আঁতৰোৱা হৈছে"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"নিয়ন্ত্ৰণসমূহৰ সম্পূর্ণ সূচীখন ল’ড কৰিব পৰা নগ’ল।"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"অন্য"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ডিভাইচৰ নিয়ন্ত্ৰণসমূহত যোগ দিয়ক"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index b06a8ea..8e14f9c 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Yaddaş ehtiyatının az olması səbəbindən skrinşotu yadda saxlamaq olmur"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Skrinşot çəkməyə tətbiq və ya təşkilat tərəfindən icazə verilmir"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ekran şəklini ötürün"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ekran şəklini açın"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ekran şəklinə önbaxış"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekran Yazıcısı"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ekranın video çəkimi ərzində silinməyən bildiriş"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Yazmağa başlanılsın?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Performansı azaldır və arxa fon datasını məhdudlaşdırır"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Batareya Qənaətini deaktiv edin"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> tətbiqinin yazma və ya yayım zamanı ekranda görünən və ya cihazdan oxudulan bütün məlumatlara girişi olacaq. Bura parollar, ödəniş detalları, fotolar, mesajlar və oxudulan audio kimi məlumatlar daxildir."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Bu funksiyanı təmin edən xidmətin yazma və ya yayım zamanı ekranda görünən və ya cihazdan oxudulan bütün məlumatlara girişi olacaq. Bura parollar, ödəniş detalları, fotolar, mesajlar və oxudulan audio kimi məlumatlar daxildir."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Bu funksiyanı təmin edən xidmətin yazma və ya yayım zamanı ekranda görünən və ya cihazdan oxudulan bütün bilgilərə girişi olacaq. Buraya parollar, ödəniş detalları, fotolar, mesajlar və oxudulan audio kimi məlumatlar daxildir."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Yazma və ya yayımlama başladılsın?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ilə yazma və ya yayımlama başladılsın?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Daha göstərmə"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Qabarcıq"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Səs və ya vibrasiya olmadan fokuslanmağınıza kömək edir."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Səs və ya vibrasiya ilə diqqətinizi çəkir."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Səs və ya vibrasiya ilə diqqətinizi çəkir. <xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqindən söhbətlərdə defolt olaraq qabarcıq çıxır."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Bu məzmuna üzən qısayol ilə diqqətinizi cəlb edir."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Söhbət bölməsinin yuxarısında göstərilir və yumrucuq kimi görünür."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Defolt olaraq, <xliff:g id="APP_NAME_0">%1$s</xliff:g> tətbiqindən gələn söhbətlər yumrucuq şəklində göstərilir. <xliff:g id="APP_NAME_1">%2$s</xliff:g> tətbiqində idarə edin."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ayarlar"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Yumrucuqlar yoxdur"</string>
@@ -848,7 +848,7 @@
     <string name="left_icon" msgid="5036278531966897006">"Sol ikona"</string>
     <string name="right_icon" msgid="1103955040645237425">"Sağ ikona"</string>
     <string name="drag_to_add_tiles" msgid="8933270127508303672">"Mozaika əlavə etmək üçün basıb saxlayaraq çəkin"</string>
-    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Mozaikaları yenidən təşkil etmək üçün basıb saxlayın və çəkin"</string>
+    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"İkonları yenidən düzənləmək üçün saxlayaraq dartın"</string>
     <string name="drag_to_remove_tiles" msgid="4682194717573850385">"Silmək üçün bura sürüşdürün"</string>
     <string name="drag_to_remove_disabled" msgid="933046987838658850">"Minimum <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> mozaika lazımdır"</string>
     <string name="qs_edit" msgid="5583565172803472437">"Redaktə edin"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Sistem naviqasiyası yeniləndi. Dəyişiklik etmək üçün Ayarlara daxil olun."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Sistem naviqasiyasını yeniləmək üçün Ayarlara keçin"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Gözləmə rejimi"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Böyütmə Üst-üstə Düşən Pəncərəsi"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Böyütmə Pəncərəsi"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Böyütmə Pəncərəsi Kontrolları"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Nizamlayıcılar"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Enerji menyusundan daxil olacağınız nizamlayıcıları seçin"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Nizamlayıcıları yenidən tənzimləmək üçün tutub sürüşdürün"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Bütün nizamlayıcılar silindi"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Bütün nizamlayıcıların siyahısı yüklənmədi."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Digər"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Cihaz nizamlayıcılarına əlavə edin"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 702c8990..da7f61b 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Punjenje preko USB-a nije uspelo"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Koristite punjač koji ste dobili uz uređaj"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Podešavanja"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Želite li da uključite Uštedu baterije?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Želite da uključite Uštedu baterije?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"O Uštedi baterije"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Uključi"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Uključi Uštedu baterije"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Čuvanje snimka ekrana nije uspelo zbog ograničenog memorijskog prostora"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Aplikacija ili organizacija ne dozvoljavaju pravljenje snimaka ekrana"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Odbacite snimak ekrana"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otvorite snimak ekrana"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pregled snimka ekrana"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Snimač ekrana"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Obaveštenje o sesiji snimanja ekrana je aktivno"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Želite da započnete snimanje?"</string>
@@ -710,9 +710,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Oblačić"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomaže vam da se koncentrišete bez zvuka ili vibracije."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Privlači vam pažnju pomoću zvuka ili vibracije."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Privlači vam pažnju pomoću zvuka ili vibriranja. Konverzacije iz aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> se podrazumevano prikazuju u oblačićima."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Privlači vam pažnju pomoću plutajuće prečice do ovog sadržaja."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Prikazuje se u vrhu odeljka konverzacije i kao oblačić."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Sve konverzacije iz aplikacije <xliff:g id="APP_NAME_0">%1$s</xliff:g> se podrazumevano prikazuju u oblačićima. Upravljajte u aplikaciji <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Podešavanja"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nema nedavnih oblačića"</string>
@@ -966,7 +966,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Zameni"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Aplikacije pokrenute u pozadini"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Dodirnite za detalje o bateriji i potrošnji podataka"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Želite li da isključite mobilne podatke?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Želite da isključite mobilne podatke?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nećete imati pristup podacima ili internetu preko mobilnog operatera <xliff:g id="CARRIER">%s</xliff:g>. Internet će biti dostupan samo preko Wi-Fi veze."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"mobilni operater"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Podešavanja ne mogu da verifikuju vaš odgovor jer aplikacija skriva zahtev za dozvolu."</string>
@@ -1007,6 +1007,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigacija sistema je ažurirana. Da biste uneli izmene, idite u Podešavanja."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Idite u Podešavanja da biste ažurirali navigaciju sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Stanje pripravnosti"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Preklopni prozor za uvećanje"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Prozor za uvećanje"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrole prozora za uvećanje"</string>
@@ -1022,10 +1032,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrole"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Odaberite kontrole kojima ćete pristupati iz menija napajanja"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Zadržite i prevucite da biste promenili raspored kontrola"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Sve kontrole su uklonjene"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Učitavanje liste svih kontrola nije uspelo."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Drugo"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Dodajte u kontrole uređaja"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index f976b36..c19fde3 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Немагчыма захаваць здымак экрана, бо мала месца ў сховішчы"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Рабіць здымкі экрана не дазваляе праграма ці ваша арганізацыя"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Адхіліць здымак экрана"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Адкрыць здымак экрана"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Перадпрагляд здымка экрана"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Запіс экрана"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Бягучае апавяшчэнне для сеанса запісу экрана"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Пачаць запіс?"</string>
@@ -231,7 +231,7 @@
     <string name="accessibility_cell_data_on" msgid="691666434519443162">"Мабільная перадача даных уключана"</string>
     <string name="cell_data_off_content_description" msgid="9165555931499878044">"Мабільная перадача даных выключана"</string>
     <string name="not_default_data_content_description" msgid="6757881730711522517">"Не зададзена для выкарыстання даных"</string>
-    <string name="cell_data_off" msgid="4886198950247099526">"Выключаны"</string>
+    <string name="cell_data_off" msgid="4886198950247099526">"Выключана"</string>
     <string name="accessibility_bluetooth_tether" msgid="6327291292208790599">"Сувязь па Bluetooth."</string>
     <string name="accessibility_airplane_mode" msgid="1899529214045998505">"Рэжым палёту."</string>
     <string name="accessibility_vpn_on" msgid="8037549696057288731">"VPN уключана."</string>
@@ -305,8 +305,8 @@
     <string name="accessibility_quick_settings_work_mode_on" msgid="2779253456042059110">"Рэжым працы ўкл."</string>
     <string name="accessibility_quick_settings_work_mode_changed_off" msgid="6256690740556798683">"Рэжым працы выключаны."</string>
     <string name="accessibility_quick_settings_work_mode_changed_on" msgid="1105258550138313384">"Рэжым працы ўключаны."</string>
-    <string name="accessibility_quick_settings_data_saver_changed_off" msgid="4910847127871603832">"Эканомія трафіку адключана."</string>
-    <string name="accessibility_quick_settings_data_saver_changed_on" msgid="6370606590802623078">"Эканомія трафіку ўключана."</string>
+    <string name="accessibility_quick_settings_data_saver_changed_off" msgid="4910847127871603832">"Эканомія трафіка адключана."</string>
+    <string name="accessibility_quick_settings_data_saver_changed_on" msgid="6370606590802623078">"Эканомія трафіка ўключана."</string>
     <string name="accessibility_quick_settings_sensor_privacy_changed_off" msgid="7608378211873807353">"Прыватнасць датчыкаў выключана."</string>
     <string name="accessibility_quick_settings_sensor_privacy_changed_on" msgid="4267393685085328801">"Прыватнасць датчыкаў уключана."</string>
     <string name="accessibility_brightness" msgid="5391187016177823721">"Яркасць дысплэя"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Усплывальнае апавяшчэнне"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Не адцягвае ўвагу дзякуючы выключаным гуку і вібрацыі."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Прыцягвае ўвагу гукам і вібрацыяй."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Прыцягвае ўвагу гукам і вібрацыяй. Размовы ў праграме \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" аўтаматычна паяўляюцца ў выглядзе ўсплывальных апавяшчэнняў."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Прыцягвае ўвагу да гэтага змесціва ўсплывальнай кнопкай."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Паказваецца ўверсе раздзела размоў у выглядзе ўсплывальнага апавяшчэння."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Усе размовы з праграмы \"<xliff:g id="APP_NAME_0">%1$s</xliff:g>\" стандартна паказваюцца ў выглядзе ўсплывальных апавяшчэнняў. Кіраваць імі можна ў праграме \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\"."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Налады"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Прыярытэт"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Няма нядаўніх усплывальных апавяшчэнняў"</string>
@@ -824,9 +824,9 @@
     <string name="accessibility_long_click_tile" msgid="210472753156768705">"Адкрыць налады"</string>
     <string name="accessibility_status_bar_headphones" msgid="1304082414912647414">"Навушнікі падключаны"</string>
     <string name="accessibility_status_bar_headset" msgid="2699275863720926104">"Гарнітура падлучана"</string>
-    <string name="data_saver" msgid="3484013368530820763">"Эканомія трафіку"</string>
-    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"Эканомія трафіку ўключана"</string>
-    <string name="accessibility_data_saver_off" msgid="58339669022107171">"Эканомія трафіку адключана"</string>
+    <string name="data_saver" msgid="3484013368530820763">"Эканомія трафіка"</string>
+    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"Эканомія трафіка ўключана"</string>
+    <string name="accessibility_data_saver_off" msgid="58339669022107171">"Эканомія трафіка адключана"</string>
     <string name="switch_bar_on" msgid="1770868129120096114">"Уключана"</string>
     <string name="switch_bar_off" msgid="5669805115416379556">"Выключана"</string>
     <string name="tile_unavailable" msgid="3095879009136616920">"Недаступна"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Навігацыя ў сістэме абноўлена. Каб унесці змяненні, перайдзіце ў Налады."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Перайдзіце ў Налады, каб абнавіць параметры навігацыі ў сістэме"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Рэжым чакання"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Акно-накладка з павелічэннем"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Акно павелічэння"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Налады акна павелічэння"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Сродкі кіравання"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Выберыце элементы кіравання, да якіх вы хочаце мець доступ з меню сілкавання"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Каб змяніць парадак элементаў кіравання, утрымлівайце і перацягвайце іх"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Усе элементы кіравання выдалены"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Не ўдалося загрузіць спіс усіх сродкаў кіравання."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Іншае"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Дадаць у элементы кіравання прыладай"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index d838c2b..5c21653 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Екранната снимка не може да се запази поради ограничено място в хранилището"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Правенето на екранни снимки не е разрешено от приложението или организацията ви"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Отхвърляне на екранната снимка"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Отваряне на екранната снимка"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Визуализация на екранната снимка"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Запис на екрана"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Текущо известие за сесия за записване на екрана"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Да се стартира ли записът?"</string>
@@ -424,7 +424,7 @@
     <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До изгрев"</string>
     <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ще се включи в <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="quick_settings_nfc_label" msgid="1054317416221168085">"КБП"</string>
+    <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"КБП е деактивирана"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"КБП е активирана"</string>
     <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Записване на екрана"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Балонче"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Помага ви да се фокусирате без звук или вибриране."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Привлича вниманието ви със звук или вибриране."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Привлича вниманието ви със звук или вибриране. Разговорите от <xliff:g id="APP_NAME">%1$s</xliff:g> се показват като балончета по подразбиране."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Задържа вниманието ви посредством плаващ пряк път към това съдържание."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Показва се като балонче в горната част на секцията с разговори."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Всички разговори от <xliff:g id="APP_NAME_0">%1$s</xliff:g> се показват като балончета по подразбиране. Управлявайте тази настройка от <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Настройки"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Приоритет"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Няма скорошни балончета"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Режимът за навигиране в системата е актуализиран. За да извършите промени, отворете настройките."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Отворете настройките, за да актуализирате режима за навигиране в системата"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Режим на готовност"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Прозорец с наслагване за ниво на мащаба"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Прозорец за ниво на мащаба"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Контроли за прозореца за ниво на мащаба"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Контроли"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Избиране на контроли, които да са достъпни в менюто за захранване"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Задръжте и плъзнете, за да пренаредите контролите"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Всички контроли са премахнати"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Списъкът с всички контроли не бе зареден."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Друго"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Добавяне към контролите за устройството"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 095bee6..6f12900 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"বেশি জায়গা নেই তাই স্ক্রিনশটটি সেভ করা যাবে না৷"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"এই অ্যাপ বা আপনার প্রতিষ্ঠান স্ক্রিনশট নেওয়ার অনুমতি দেয়নি"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"স্ক্রিনশট বাতিল করুন"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"স্ক্রিনশট খুলুন"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"স্ক্রিনশটের প্রিভিউ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"স্ক্রিন রেকর্ডার"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"স্ক্রিন রেকর্ডিং সেশন চলার বিজ্ঞপ্তি"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"রেকর্ডিং শুরু করবেন?"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"বাবল"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"সাউন্ড বা ভাইব্রেশন ছাড়া ফোকাস করতে আপনাকে সাহায্য করে।"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"সাউন্ড বা ভাইব্রেশনের সাহায্যে দৃষ্টি আকর্ষণ করে।"</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ফ্লোটিং শর্টকাট ব্যবহার করে এই কন্টেন্টে আপনার দৃষ্টি আকর্ষণ করে রাখে।"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"কথোপকথন বিভাগের উপরে বাবল হিসেবে দেখা যায়।"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"ডিফল্ট হিসেবে <xliff:g id="APP_NAME_0">%1$s</xliff:g>-এর সব কথোপকথন বাবলের মধ্যে দেখুন। <xliff:g id="APP_NAME_1">%2$s</xliff:g>-এ ম্যানেজ করুন।"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"সেটিংস"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"অগ্রাধিকার"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"কোনও সাম্প্রতিক বাবল নেই"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"সিস্টেম নেভিগেশন আপডেট হয়েছে। পরিবর্তন করার জন্য সেটিংসে যান।"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"সিস্টেম নেভিগেশন আপডেট করতে সেটিংসে যান"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"স্ট্যান্ডবাই"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ওভারলে উইন্ডো বড় করে দেখা"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"উইন্ডো বড় করে দেখা"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"উইন্ডো কন্ট্রোল বড় করে দেখা"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"নিয়ন্ত্রণ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"যেসব কন্ট্রোল অ্যাক্সেস করতে চান সেগুলি পাওয়ার মেনু থেকে বেছে নিন"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"কন্ট্রোলগুলিকে আবার সাজানোর জন্য ধরে রেখে টেনে আনুন"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"সমস্ত কন্ট্রোল সরানো হয়েছে"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"সব কন্ট্রোলের তালিকা লোড করা যায়নি।"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"অন্য"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ডিভাইস কন্ট্রোলে যোগ করুন"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index 6d05242..29b435f 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Snimak ekrana se ne može sačuvati zbog manjka prostora za pohranu"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Ova aplikacija ili vaša organizacija ne dozvoljavaju snimanje ekrana"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Odbacite snimak ekrana"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otvorite snimak ekrana"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pregled snimka ekrana"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Snimač ekrana"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Obavještenje za sesiju snimanja ekrana je u toku"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Započeti snimanje?"</string>
@@ -712,9 +712,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Oblačić"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomaže vam da se koncentrirate bez zvuka ili vibracije."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Privlači vašu pažnju pomoću zvuka ili vibracije."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Privlači vašu pažnju pomoću zvuka ili vibracije. Razgovori iz oblačića u aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadana opcija."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Privlači vašu pažnju pomoću plutajuće prečice do ovog sadržaja."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Prikazuje se na vrhu odjeljka za razgovor u vidu oblačića."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Prema zadanim postavkama, svi razgovori iz aplikacije <xliff:g id="APP_NAME_0">%1$s</xliff:g> pojavljuju se u oblačićima. Upravljajte ovim postavkama u aplikaciji <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Postavke"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nema nedavnih oblačića"</string>
@@ -1009,6 +1009,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigiranje sistemom je ažurirano. Da izvršite promjene, idite u Postavke."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Idite u Postavke da ažurirate navigiranje sistemom"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Stanje mirovanja"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Preklopni prozor za uvećavanje"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Prozor za uvećavanje"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrole prozora za uvećavanje"</string>
@@ -1024,10 +1034,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrole"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Izaberite kontrole za pristup iz menija napajanja"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Držite i prevucite da preuredite kontrole"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Sve kontrole su uklonjene"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Učitavanje liste svih kontrola nije uspjelo."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Drugo"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Dodajte u kontrole uređaja"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 638282d..3a859cb 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"La captura de pantalla no es pot desar perquè no hi ha prou espai d\'emmagatzematge"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"L\'aplicació o la teva organització no permeten fer captures de pantalla"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ignora la captura de pantalla"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Obre la captura de pantalla"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Previsualització de la captura de pantalla"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Gravadora de pantalla"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificació en curs d\'una sessió de gravació de la pantalla"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Vols iniciar la gravació?"</string>
@@ -296,8 +296,8 @@
     <string name="accessibility_quick_settings_flashlight_on" msgid="3785616827729850766">"Llanterna encesa."</string>
     <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3782375441381402599">"Llanterna apagada."</string>
     <string name="accessibility_quick_settings_flashlight_changed_on" msgid="4747870681508334200">"Llanterna encesa."</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"La inversió dels colors està desactivada."</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"La inversió dels colors està activada."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"La inversió de colors està desactivada."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"La inversió de colors està activada."</string>
     <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"El punt d\'accés mòbil està desactivat."</string>
     <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"El punt d\'accés mòbil està activat."</string>
     <string name="accessibility_casting_turned_off" msgid="1387906158563374962">"S\'ha aturat l\'emissió de la pantalla."</string>
@@ -427,7 +427,7 @@
     <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"L\'NFC està desactivada"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"L\'NFC està activada"</string>
-    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Gravació de la pantalla"</string>
+    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Gravació de pantalla"</string>
     <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Inicia"</string>
     <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Atura"</string>
     <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Llisca cap amunt per canviar d\'aplicació"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bombolla"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"T\'ajuda a concentrar-te sense so ni vibració."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Atrau la teva atenció amb so i vibració."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Atrau la teva atenció amb so i vibració. Les converses de l\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g> es mostren com a bombolles de manera predeterminada."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Atrau la teva atenció amb una drecera flotant a aquest contingut."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Es mostra com a bombolla a la part superior de la secció de converses."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Totes les converses de l\'aplicació <xliff:g id="APP_NAME_0">%1$s</xliff:g> es mostren com a bombolles de manera predeterminada. Gestiona-ho a <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Configuració"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritat"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No hi ha bombolles recents"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"S\'ha actualitzat el sistema de navegació. Per fer canvis, ves a Configuració."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Ves a Configuració per actualitzar el sistema de navegació"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"En espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Finestra superposada d\'ampliació"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Finestra d\'ampliació"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Finestra de controls d\'ampliació"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controls"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Selecciona els controls per accedir-hi des del menú d\'engegada"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantén premut i arrossega per reorganitzar els controls"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"S\'han suprimit tots els controls"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"No s\'ha pogut carregar la llista completa de controls."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Altres"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Afegeix als controls del dispositiu"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index c519282..a09e9db 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Snímek obrazovky kvůli nedostatku místa v úložišti nelze uložit"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Aplikace nebo organizace zakazuje pořizování snímků obrazovky"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Zavřít snímek obrazovky"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otevřít snímek obrazovky"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Náhled snímku obrazovky"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Rekordér obrazovky"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Trvalé oznámení o relaci nahrávání"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Spustit nahrávání?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bublina"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomáhá vám soustředit se vypnutím zvuku a vibrací."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Upozorňuje vás pomocí zvuku a vibrací."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Upozorňuje vás pomocí zvuku a vibrací. Konverzace z aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> ve výchozím nastavení bublají."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Přitahuje pozornost pomocí plovoucí zkratky k tomuto obsahu."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Zobrazuje se v horní části sekce konverzace a má podobu bubliny."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Všechny konverzace z aplikace <xliff:g id="APP_NAME_0">%1$s</xliff:g> automaticky zobrazovat jako bubliny. Nastavení lze spravovat v aplikaci <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Nastavení"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorita"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Žádné nedávné bubliny"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systémová navigace byla aktualizována. Chcete-li provést změny, přejděte do Nastavení."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Přejděte do Nastavení a aktualizujte systémovou navigaci"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Pohotovostní režim"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Překryvné zvětšovací okno"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Zvětšovací okno"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Ovládací prvky zvětšovacího okna"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Ovládací prvky"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Vyberte ovládací prvky, které budou zobrazeny v nabídce vypínače"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Ovládací prvky můžete uspořádat podržením a přetažením"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Všechny ovládací prvky byly odstraněny"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Načtení seznamu všech ovládacích prvků se nezdařilo."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Jiné"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Přidání ovládacích prvků zařízení"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index c6dac99..e134c8e 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Enheden kan ikke oplades via USB"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Brug den oplader, der fulgte med din enhed"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Indstillinger"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Vil du aktivere Batterisparefunktion?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Vil du slå Batterisparefunktion til?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Om Batterisparefunktion"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Aktivér"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Aktivér batterisparefunktion"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Screenshottet kan ikke gemmes, fordi der er begrænset lagerplads"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Appen eller din organisation tillader ikke, at du tager screenshots"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Luk screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Åbn screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Forhåndsvisning af screenshot"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Skærmoptagelse"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Konstant notifikation om skærmoptagelse"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Vil du starte optagelse?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Boble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ingen lyde eller vibrationer, der forstyrrer dig."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Fanger din opmærksomhed med lyd eller vibration."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Fanger din opmærksomhed med lyd eller vibration. Samtaler fra <xliff:g id="APP_NAME">%1$s</xliff:g> vises som standard i bobler."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Fastholder din opmærksomhed med en svævende genvej til indholdet."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Vises som en boble øverst i samtalesektionen."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alle samtaler fra <xliff:g id="APP_NAME_0">%1$s</xliff:g> vises som standard i bobler. Administrer i <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Indstillinger"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Ingen seneste bobler"</string>
@@ -961,8 +961,8 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Erstat"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apps, der kører i baggrunden"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Tryk for at se info om batteri- og dataforbrug"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Vil du deaktivere mobildata?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Du vil ikke have data- eller internetadgang via <xliff:g id="CARRIER">%s</xliff:g>. Der vil kunne være adgang til internettet via Wi-Fi."</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Vil du slå mobildata fra?"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Du vil ikke have data- eller internetadgang via <xliff:g id="CARRIER">%s</xliff:g>. Der vil kun være adgang til internettet via Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"dit mobilselskab"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Indstillinger kan ikke bekræfte dit svar, da en app dækker for en anmodning om tilladelse."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Vil du give <xliff:g id="APP_0">%1$s</xliff:g> tilladelse til at vise eksempler fra <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systemnavigationen blev opdateret. Gå til Indstillinger for at foretage ændringer."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Gå til Indstillinger for at opdatere systemnavigationen"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Vindue med overlejret forstørrelse"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Vindue med forstørrelse"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Vindue med forstørrelsesstyring"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Betjeningselementer"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Vælg, hvilke indstillinger der skal være i menuen for afbryderknappen"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Flyt rundt på styringselementer ved at holde dem nede og trække"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alle styringselementerne blev fjernet"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Listen over styringselementer kunne ikke indlæses."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Andre"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Føj til styring af enheder"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 8426895..de89269 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Speichern des Screenshots aufgrund von zu wenig Speicher nicht möglich"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Die App oder deine Organisation lässt das Erstellen von Screenshots nicht zu"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Screenshot schließen"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Screenshot öffnen"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Screenshotvorschau"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Bildschirmaufzeichnung"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Fortlaufende Benachrichtigung für eine Bildschirmaufzeichnung"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Aufzeichnung starten?"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Benachrichtigungen werden ohne Ton oder Vibration angekündigt, um deine Konzentration nicht zu stören."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Benachrichtigungen werden mit einem Ton oder einer Vibration angekündigt."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Du wirst mit einer unverankerten Verknüpfung darauf aufmerksam gemacht."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Wird oben im Bereich für Unterhaltungen als Bubble angezeigt."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alle Unterhaltungen von <xliff:g id="APP_NAME_0">%1$s</xliff:g> standardmäßig als Bubble anzeigen. In der App \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\" verwalten."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Einstellungen"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorität"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Keine kürzlich geschlossenen Bubbles"</string>
@@ -848,7 +849,7 @@
     <string name="left_icon" msgid="5036278531966897006">"Linkes Symbol"</string>
     <string name="right_icon" msgid="1103955040645237425">"Rechtes Symbol"</string>
     <string name="drag_to_add_tiles" msgid="8933270127508303672">"Zum Hinzufügen von Kacheln Kachel halten und ziehen"</string>
-    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Zum Verschieben der Kacheln Kachel halten und ziehen"</string>
+    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Zum Verschieben Kachel halten und ziehen"</string>
     <string name="drag_to_remove_tiles" msgid="4682194717573850385">"Zum Entfernen hierher ziehen"</string>
     <string name="drag_to_remove_disabled" msgid="933046987838658850">"Du brauchst mindestens <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> Kacheln"</string>
     <string name="qs_edit" msgid="5583565172803472437">"Bearbeiten"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systemsteuerungseinstellungen wurden angepasst. Änderungen kannst du in den Einstellungen vornehmen."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Gehe zu den Einstellungen, um die Systemsteuerung anzupassen"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Overlay-Vergrößerungsfenster"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Vergrößerungsfenster"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Einstellungen für Vergrößerungsfenster"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Steuerelemente"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Karten auswählen, auf die man über das Ein-/Aus-Menü zugreifen kann"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Zum Verschieben von Steuerelementen halten und ziehen"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alle Steuerelemente entfernt"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Fehler beim Laden der Liste mit Steuerelementen."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Andere"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Zur Gerätesteuerung hinzufügen"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index dc026e4..cc3ee45 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -45,7 +45,7 @@
     <string name="status_bar_settings_notifications" msgid="5285316949980621438">"Ειδοποιήσεις"</string>
     <string name="bluetooth_tethered" msgid="4171071193052799041">"Έγινε σύνδεση μέσω Bluetooth"</string>
     <string name="status_bar_input_method_settings_configure_input_methods" msgid="2972273031043777851">"Ρύθμιση μεθόδων εισαγωγής"</string>
-    <string name="status_bar_use_physical_keyboard" msgid="4849251850931213371">"Φυσικό πληκτρολόγιο"</string>
+    <string name="status_bar_use_physical_keyboard" msgid="4849251850931213371">"Κανονικό πληκτρολόγιο"</string>
     <string name="usb_device_permission_prompt" msgid="4414719028369181772">"Να επιτρέπεται η πρόσβαση της εφαρμογής <xliff:g id="APPLICATION">%1$s</xliff:g> στη συσκευή <xliff:g id="USB_DEVICE">%2$s</xliff:g>;"</string>
     <string name="usb_device_permission_prompt_warn" msgid="2309129784984063656">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g> να έχει πρόσβαση στη συσκευή <xliff:g id="USB_DEVICE">%2$s</xliff:g>;\nΔεν έχει εκχωρηθεί άδεια εγγραφής σε αυτήν την εφαρμογή, αλλά μέσω αυτής της συσκευής USB θα μπορεί να εγγράφει ήχο."</string>
     <string name="usb_accessory_permission_prompt" msgid="717963550388312123">"Να επιτρέπεται η πρόσβαση της εφαρμογής <xliff:g id="APPLICATION">%1$s</xliff:g> στο αξεσουάρ <xliff:g id="USB_ACCESSORY">%2$s</xliff:g>;"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Αδύνατη η αποθήκευση του στιγμιότυπου οθόνης λόγω περιορισμένου αποθηκευτικού χώρου"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Η λήψη στιγμιότυπων οθόνης δεν επιτρέπεται από την εφαρμογή ή τον οργανισμό σας"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Παράβλεψη στιγμιότυπου οθόνης"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Άνοιγμα στιγμιότυπου οθόνης"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Προεπισκόπηση στιγμιότυπου οθόνης"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Εγγραφή οθόνης"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ειδοποίηση σε εξέλιξη για μια περίοδο λειτουργίας εγγραφής οθόνης"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Έναρξη εγγραφής;"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Φούσκα"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Σας βοηθά να συγκεντρωθείτε χωρίς ήχο και δόνηση."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Τραβά την προσοχή σας με ήχο ή δόνηση."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Τραβά την προσοχή σας με ήχο ή δόνηση. Οι συζητήσεις από την εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> εμφανίζονται σε συννεφάκι από προεπιλογή."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Κρατάει την προσοχή σας με μια κινούμενη συντόμευση προς αυτό το περιεχόμενο."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Εμφανίζεται στο επάνω μέρος της ενότητας συζήτησης ως συννεφάκι."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Όλες οι συζητήσεις από την εφαρμογή <xliff:g id="APP_NAME_0">%1$s</xliff:g> εμφανίζονται από προεπιλογή ως συννεφάκια. Διαχείριση στην εφαρμογή <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ρυθμίσεις"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Προτεραιότητα"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Δεν υπάρχουν πρόσφατα συννεφάκια"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Η πλοήγηση συστήματος ενημερώθηκε. Για να κάνετε αλλαγές, μεταβείτε στις Ρυθμίσεις."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Μεταβείτε στις Ρυθμίσεις για να ενημερώσετε την πλοήγηση συστήματος"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Κατάσταση αναμονής"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Παράθυρο επικάλυψης μεγέθυνσης"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Παράθυρο μεγέθυνσης"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Στοιχεία ελέγχου παραθύρου μεγέθυνσης"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Στοιχεία ελέγχου"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Επιλέξτε τα στοιχεία ελέγχου στα οποία θα έχετε πρόσβαση από το μενού λειτουργίας."</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Κρατήστε και σύρετε για αναδιάταξη των στοιχείων ελέγχου"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Όλα τα στοιχεία ελέγχου καταργήθηκαν"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Ανεπιτυχής φόρτωση λίστας όλων των στοιχ. ελέγχου."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Άλλο"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Προσθήκη στα στοιχεία ελέγχου συσκευής"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index bbaa283..69109a7 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Can\'t save screenshot due to limited storage space"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Taking screenshots isn\'t allowed by the app or your organisation"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dismiss screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Open screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Screenshot preview"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Screen Recorder"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ongoing notification for a screen record session"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Start recording?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Reduces performance and background data"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Turn off Battery Saver"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information such as passwords, payment details, photos, messages and audio that you play."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Start recording or casting?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"Start recording or casting with <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Don\'t show again"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Helps you focus without sound or vibration."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Gets your attention with sound or vibration."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Gets your attention with sound or vibration. Conversations from <xliff:g id="APP_NAME">%1$s</xliff:g> bubble by default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Keeps your attention with a floating shortcut to this content."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Shows at top of conversation section and appears as a bubble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"All conversations from <xliff:g id="APP_NAME_0">%1$s</xliff:g> bubble by default. Manage in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Settings"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priority"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No recent bubbles"</string>
@@ -1002,6 +1002,11 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"System navigation updated. To make changes, go to Settings."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Go to Settings to update system navigation"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <string name="priority_onboarding_show_at_top_text" msgid="1678400241025513541">"Show at top of conversation section"</string>
+    <string name="priority_onboarding_show_avatar_text" msgid="5756291381124091508">"Show profile picture on lock screen"</string>
+    <string name="priority_onboarding_appear_as_bubble_text" msgid="4227039772250263122">"Appear as a floating bubble on top of apps"</string>
+    <string name="priority_onboarding_ignores_dnd_text" msgid="2918952762719600529">"Interrupt Do Not Disturb"</string>
+    <string name="priority_onboarding_done_button_title" msgid="4569550984286506007">"OK"</string>
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification overlay window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Magnification window"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Magnification window controls"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index 55bc582..fdcad12 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Can\'t save screenshot due to limited storage space"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Taking screenshots isn\'t allowed by the app or your organisation"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dismiss screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Open screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Screenshot preview"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Screen Recorder"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ongoing notification for a screen record session"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Start recording?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Reduces performance and background data"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Turn off Battery Saver"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information such as passwords, payment details, photos, messages and audio that you play."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Start recording or casting?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"Start recording or casting with <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Don\'t show again"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Helps you focus without sound or vibration."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Gets your attention with sound or vibration."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Gets your attention with sound or vibration. Conversations from <xliff:g id="APP_NAME">%1$s</xliff:g> bubble by default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Keeps your attention with a floating shortcut to this content."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Shows at top of conversation section and appears as a bubble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"All conversations from <xliff:g id="APP_NAME_0">%1$s</xliff:g> bubble by default. Manage in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Settings"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priority"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No recent bubbles"</string>
@@ -1002,6 +1002,11 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"System navigation updated. To make changes, go to Settings."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Go to Settings to update system navigation"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <string name="priority_onboarding_show_at_top_text" msgid="1678400241025513541">"Show at top of conversation section"</string>
+    <string name="priority_onboarding_show_avatar_text" msgid="5756291381124091508">"Show profile picture on lock screen"</string>
+    <string name="priority_onboarding_appear_as_bubble_text" msgid="4227039772250263122">"Appear as a floating bubble on top of apps"</string>
+    <string name="priority_onboarding_ignores_dnd_text" msgid="2918952762719600529">"Interrupt Do Not Disturb"</string>
+    <string name="priority_onboarding_done_button_title" msgid="4569550984286506007">"OK"</string>
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification overlay window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Magnification window"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Magnification window controls"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index bbaa283..69109a7 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Can\'t save screenshot due to limited storage space"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Taking screenshots isn\'t allowed by the app or your organisation"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dismiss screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Open screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Screenshot preview"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Screen Recorder"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ongoing notification for a screen record session"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Start recording?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Reduces performance and background data"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Turn off Battery Saver"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information such as passwords, payment details, photos, messages and audio that you play."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Start recording or casting?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"Start recording or casting with <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Don\'t show again"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Helps you focus without sound or vibration."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Gets your attention with sound or vibration."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Gets your attention with sound or vibration. Conversations from <xliff:g id="APP_NAME">%1$s</xliff:g> bubble by default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Keeps your attention with a floating shortcut to this content."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Shows at top of conversation section and appears as a bubble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"All conversations from <xliff:g id="APP_NAME_0">%1$s</xliff:g> bubble by default. Manage in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Settings"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priority"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No recent bubbles"</string>
@@ -1002,6 +1002,11 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"System navigation updated. To make changes, go to Settings."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Go to Settings to update system navigation"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <string name="priority_onboarding_show_at_top_text" msgid="1678400241025513541">"Show at top of conversation section"</string>
+    <string name="priority_onboarding_show_avatar_text" msgid="5756291381124091508">"Show profile picture on lock screen"</string>
+    <string name="priority_onboarding_appear_as_bubble_text" msgid="4227039772250263122">"Appear as a floating bubble on top of apps"</string>
+    <string name="priority_onboarding_ignores_dnd_text" msgid="2918952762719600529">"Interrupt Do Not Disturb"</string>
+    <string name="priority_onboarding_done_button_title" msgid="4569550984286506007">"OK"</string>
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification overlay window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Magnification window"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Magnification window controls"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index bbaa283..69109a7 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Can\'t save screenshot due to limited storage space"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Taking screenshots isn\'t allowed by the app or your organisation"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dismiss screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Open screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Screenshot preview"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Screen Recorder"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ongoing notification for a screen record session"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Start recording?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Reduces performance and background data"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Turn off Battery Saver"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information, such as passwords, payment details, photos, messages and audio that you play."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"The service providing this function will have access to all of the information that is visible on your screen or played from your device while recording or casting. This includes information such as passwords, payment details, photos, messages and audio that you play."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Start recording or casting?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"Start recording or casting with <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Don\'t show again"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Helps you focus without sound or vibration."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Gets your attention with sound or vibration."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Gets your attention with sound or vibration. Conversations from <xliff:g id="APP_NAME">%1$s</xliff:g> bubble by default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Keeps your attention with a floating shortcut to this content."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Shows at top of conversation section and appears as a bubble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"All conversations from <xliff:g id="APP_NAME_0">%1$s</xliff:g> bubble by default. Manage in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Settings"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priority"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No recent bubbles"</string>
@@ -1002,6 +1002,11 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"System navigation updated. To make changes, go to Settings."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Go to Settings to update system navigation"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <string name="priority_onboarding_show_at_top_text" msgid="1678400241025513541">"Show at top of conversation section"</string>
+    <string name="priority_onboarding_show_avatar_text" msgid="5756291381124091508">"Show profile picture on lock screen"</string>
+    <string name="priority_onboarding_appear_as_bubble_text" msgid="4227039772250263122">"Appear as a floating bubble on top of apps"</string>
+    <string name="priority_onboarding_ignores_dnd_text" msgid="2918952762719600529">"Interrupt Do Not Disturb"</string>
+    <string name="priority_onboarding_done_button_title" msgid="4569550984286506007">"OK"</string>
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification overlay window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Magnification window"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Magnification window controls"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index 046f5cd..2ad3809 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎Can\'t save screenshot due to limited storage space‎‏‎‎‏‎"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎Taking screenshots isn\'t allowed by the app or your organization‎‏‎‎‏‎"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎Dismiss screenshot‎‏‎‎‏‎"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎Open screenshot‎‏‎‎‏‎"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎Screenshot preview‎‏‎‎‏‎"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎Screen Recorder‎‏‎‎‏‎"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎Ongoing notification for a screen record session‎‏‎‎‏‎"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎Start Recording?‎‏‎‎‏‎"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎Bubble‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎Helps you focus without sound or vibration.‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎Gets your attention with sound or vibration.‎‏‎‎‏‎"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎Gets your attention with sound or vibration. Conversations from ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ bubble by default.‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎Keeps your attention with a floating shortcut to this content.‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎Shows at top of conversation section and appears as a bubble.‎‏‎‎‏‎"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎All conversations from ‎‏‎‎‏‏‎<xliff:g id="APP_NAME_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ bubble by default. Manage in ‎‏‎‎‏‏‎<xliff:g id="APP_NAME_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎Settings‎‏‎‎‏‎"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎Priority‎‏‎‎‏‎"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‎No recent bubbles‎‏‎‎‏‎"</string>
@@ -1002,6 +1002,11 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎System navigation updated. To make changes, go to Settings.‎‏‎‎‏‎"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎Go to Settings to update system navigation‎‏‎‎‏‎"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎Standby‎‏‎‎‏‎"</string>
+    <string name="priority_onboarding_show_at_top_text" msgid="1678400241025513541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎Show at top of conversation section‎‏‎‎‏‎"</string>
+    <string name="priority_onboarding_show_avatar_text" msgid="5756291381124091508">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎Show profile picture on lock screen‎‏‎‎‏‎"</string>
+    <string name="priority_onboarding_appear_as_bubble_text" msgid="4227039772250263122">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‎‏‎‎Appear as a floating bubble on top of apps‎‏‎‎‏‎"</string>
+    <string name="priority_onboarding_ignores_dnd_text" msgid="2918952762719600529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎Interrupt Do Not Disturb‎‏‎‎‏‎"</string>
+    <string name="priority_onboarding_done_button_title" msgid="4569550984286506007">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎Got it‎‏‎‎‏‎"</string>
     <string name="magnification_overlay_title" msgid="6584179429612427958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎Magnification Overlay Window‎‏‎‎‏‎"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎Magnification Window‎‏‎‎‏‎"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎Magnification Window Controls‎‏‎‎‏‎"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 4cc643b..d18b88c 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"No se puede cargar mediante USB"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Usa el cargador que se incluyó con el dispositivo"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Configuración"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"¿Activar el Ahorro de batería?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"¿Deseas activar Ahorro de batería?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Acerca del Ahorro de batería"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Activar"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Activar el Ahorro de batería"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"No se puede guardar la captura de pantalla debido a que no hay suficiente espacio de almacenamiento"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"La app o tu organización no permiten las capturas de pantalla"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Descartar captura de pantalla"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abrir captura de pantalla"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Vista previa de la captura de pantalla"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Grabadora de pantalla"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificación constante para una sesión de grabación de pantalla"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"¿Comenzar grabación?"</string>
@@ -384,7 +384,7 @@
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"Dispositivo sin nombre"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"Listo para transmitir"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"No hay dispositivos disponibles"</string>
-    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"La red Wi-Fi no está conectada"</string>
+    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Red Wi-Fi no conectada"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"Brillo"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"AUTOMÁTICO"</string>
     <string name="quick_settings_inversion_label" msgid="5078769633069667698">"Invertir colores"</string>
@@ -397,7 +397,7 @@
     <string name="quick_settings_tethering_label" msgid="5257299852322475780">"Compartir conexión"</string>
     <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"Hotspot"</string>
     <string name="quick_settings_hotspot_secondary_label_transient" msgid="7585604088079160564">"Activando…"</string>
-    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Ahorro de datos sí"</string>
+    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Ahorro de datos act."</string>
     <plurals name="quick_settings_hotspot_secondary_label_num_devices" formatted="false" msgid="3142308865165871976">
       <item quantity="other">%d dispositivos</item>
       <item quantity="one">%d dispositivo</item>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Cuadro"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Te ayuda a concentrarte sin sonar ni vibrar."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Capta tu atención con sonido o vibración."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Capta tu atención con sonido o vibración. Conversaciones de la burbuja de <xliff:g id="APP_NAME">%1$s</xliff:g> de forma predeterminada."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Retiene tu atención con un acceso directo flotante a este contenido."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Aparece como una burbuja en la parte superior de la sección de la conversación."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Todas las conversaciones de <xliff:g id="APP_NAME_0">%1$s</xliff:g> se muestran como burbujas de forma predeterminada. Administra esta opción en <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Configuración"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridad"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No hay burbujas recientes"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apps que se ejecutan en segundo plano"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Presiona para obtener información sobre el uso de datos y de la batería"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"¿Deseas desactivar los datos móviles?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"No tendrás acceso a datos ni Internet de <xliff:g id="CARRIER">%s</xliff:g>. Internet solo estará disponible mediante Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"No tendrás acceso a datos móviles ni a Internet a través de <xliff:g id="CARRIER">%s</xliff:g>. Solo podrás conectarte a Internet mediante Wi‑Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"tu proveedor"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Como una app está bloqueando una solicitud de permiso, Configuración no puede verificar tu respuesta."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"¿Permitir que <xliff:g id="APP_0">%1$s</xliff:g> muestre fragmentos de <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Se actualizó el sistema de navegación. Para hacer cambios, ve a Configuración."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Ve a Configuración para actualizar la navegación del sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"En espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Ventana superpuesta de ampliación"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Ventana de ampliación"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Controles de ampliación de la ventana"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controles"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Elige los controles a los que quieres acceder desde el menú de encendido"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantén presionado y arrastra para reorganizar los controles"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Se quitaron todos los controles"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"No se cargó la lista completa de controles."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Otros"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Agregar a controles del dispositivo"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 80dca34..90787d0 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"No se puede guardar la captura de pantalla porque no hay espacio de almacenamiento suficiente"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"La aplicación o tu organización no permiten realizar capturas de pantalla"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Cerrar captura de pantalla"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abrir captura de pantalla"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Vista previa de captura de pantalla"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Grabación de pantalla"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificación continua de una sesión de grabación de la pantalla"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"¿Empezar a grabar?"</string>
@@ -384,7 +384,7 @@
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"Dispositivo sin nombre"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"Listo para enviar"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"No hay dispositivos disponibles"</string>
-    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi‑Fi sin conexión"</string>
+    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi‑Fi no conectado"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"Brillo"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"AUTO"</string>
     <string name="quick_settings_inversion_label" msgid="5078769633069667698">"Invertir colores"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Burbuja"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Te ayuda a concentrarte sin sonido ni vibración."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Llama tu atención con sonido o vibración."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Llama tu atención con sonido o vibración. Las conversaciones de <xliff:g id="APP_NAME">%1$s</xliff:g> aparecen como burbujas de forma predeterminada."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Llama tu atención con un acceso directo flotante a este contenido."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Aparece en la parte superior de la sección de una conversación en forma de burbuja."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Todas las conversaciones de <xliff:g id="APP_NAME_0">%1$s</xliff:g> se organizan en burbujas de forma predeterminada. Gestionar en <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ajustes"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridad"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"No hay burbujas recientes"</string>
@@ -961,8 +961,8 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Reemplazar"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Aplicaciones que se están ejecutando en segundo plano"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Toca para ver información detallada sobre el uso de datos y de la batería"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"¿Quieres desactivar los datos móviles?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"No tendrás conexión a Internet ni de datos móviles a través de <xliff:g id="CARRIER">%s</xliff:g>. Solo podrás conectarte a Internet mediante una red Wi‑Fi."</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"¿Desactivar datos móviles?"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"No tendrás acceso a datos móviles ni a Internet a través de <xliff:g id="CARRIER">%s</xliff:g>. Solo podrás conectarte a Internet mediante Wi‑Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"tu operador"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Una aplicación impide ver una solicitud de permiso, por lo que Ajustes no puede verificar tu respuesta."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"¿Permitir que <xliff:g id="APP_0">%1$s</xliff:g> muestre fragmentos de <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Se ha actualizado la navegación del sistema. Para hacer cambios, ve a Ajustes."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Ve a Ajustes para actualizar la navegación del sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"En espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Ventana de superposición de ampliación"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Ventana de ampliación"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Ventana de controles de ampliación"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controles"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Elige los controles a los que acceder desde el menú de encendido"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantén pulsado y arrastra un control para reubicarlo"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Todos los controles quitados"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"No se ha podido cargar la lista de los controles."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Otros"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Añadir a controles del dispositivo"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index aab4693..a2b687e 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Piiratud salvestusruumi tõttu ei saa ekraanipilti salvestada"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Rakendus või teie organisatsioon ei luba ekraanipilte jäädvustada"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Sule ekraanipilt"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ava ekraanipilt"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ekraanipildi eelvaade"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekraanisalvesti"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Pooleli märguanne ekraanikuva salvestamise seansi puhul"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Kas alustada salvestamist?"</string>
@@ -427,7 +427,7 @@
     <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC on keelatud"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC on lubatud"</string>
-    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekraanikirje"</string>
+    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekraanisalvestus"</string>
     <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Alustage"</string>
     <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Peatage"</string>
     <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Rakenduste vahetamiseks pühkige üles"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Mull"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Aitab teil keskenduda (heli või vibreerimine puudub)."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Haarab heli või vibreerimisega teie tähelepanu."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Haarab heli või vibreerimisega teie tähelepanu. Rakenduse <xliff:g id="APP_NAME">%1$s</xliff:g> vestlused kuvatakse vaikimisi mullis."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Hoiab teie tähelepanu hõljuva otseteega selle sisu juurde."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Kuvatakse vestluste jaotise ülaosas mullina."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Kõik rakenduse <xliff:g id="APP_NAME_0">%1$s</xliff:g> vestlused kuvatakse vaikimisi mullina. Halda rakenduses <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Seaded"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioriteet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Hiljutisi mulle pole"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Süsteemis navigeerimine on värskendatud. Muutmiseks avage jaotis Seaded."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Süsteemi navigeerimise värskendamiseks avage jaotis Seaded"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Ooterežiim"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Suurendamisakna ülekate"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Suurendamisaken"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Suurendamisakna juhtelemendid"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Juhtnupud"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Valige toitemenüüs saadaolevad juhtelemendid"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Juhtnuppude ümberpaigutamiseks hoidke neid all ja lohistage"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Kõik juhtnupud eemaldati"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Kõikide juhtelementide loendit ei saanud laadida."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Muu"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Seadme juhtelementide hulka lisamine"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 56c2f7c..590cfaf 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Ezin da gorde pantaila-argazkia ez delako gelditzen tokirik"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Aplikazioak edo erakundeak ez du onartzen pantaila-argazkiak ateratzea"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Baztertu pantaila-argazkia"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ireki pantaila-argazkia"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pantaila-argazkiaren aurrebista"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Pantaila-grabagailua"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Pantailaren grabaketa-saioaren jakinarazpen jarraitua"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Grabatzen hasi nahi duzu?"</string>
@@ -298,8 +298,8 @@
     <string name="accessibility_quick_settings_flashlight_changed_on" msgid="4747870681508334200">"Flasha aktibatu egin da."</string>
     <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"Koloreen alderantzikatzea desaktibatu egin da."</string>
     <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"Koloreen alderantzikatzea aktibatu egin da."</string>
-    <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"Konexioa partekatzeko aukera desaktibatu egin da."</string>
-    <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"Konexioa partekatzeko aukera aktibatu egin da."</string>
+    <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"Wifi-gune mugikorra desaktibatu egin da."</string>
+    <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"Wifi-gune mugikorra aktibatu egin da."</string>
     <string name="accessibility_casting_turned_off" msgid="1387906158563374962">"Pantaila igortzeari utzi zaio."</string>
     <string name="accessibility_quick_settings_work_mode_off" msgid="562749867895549696">"Desaktibatuta dago lan modua."</string>
     <string name="accessibility_quick_settings_work_mode_on" msgid="2779253456042059110">"Aktibatuta dago lan modua."</string>
@@ -395,7 +395,7 @@
     <string name="quick_settings_connected_battery_level" msgid="1322075669498906959">"Konektatuta. Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="quick_settings_connecting" msgid="2381969772953268809">"Konektatzen…"</string>
     <string name="quick_settings_tethering_label" msgid="5257299852322475780">"Konexioa partekatzea"</string>
-    <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"Sare publikoa"</string>
+    <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"Wifi-gunea"</string>
     <string name="quick_settings_hotspot_secondary_label_transient" msgid="7585604088079160564">"Aktibatzen…"</string>
     <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Datu-aurrezlea aktibatuta"</string>
     <plurals name="quick_settings_hotspot_secondary_label_num_devices" formatted="false" msgid="3142308865165871976">
@@ -656,7 +656,7 @@
     <string name="alarm_template" msgid="2234991538018805736">"ordua: <xliff:g id="WHEN">%1$s</xliff:g>"</string>
     <string name="alarm_template_far" msgid="3561752195856839456">"data: <xliff:g id="WHEN">%1$s</xliff:g>"</string>
     <string name="accessibility_quick_settings_detail" msgid="544463655956179791">"Ezarpen bizkorrak: <xliff:g id="TITLE">%s</xliff:g>."</string>
-    <string name="accessibility_status_bar_hotspot" msgid="2888479317489131669">"Sare publikoa"</string>
+    <string name="accessibility_status_bar_hotspot" msgid="2888479317489131669">"Wifi-gunea"</string>
     <string name="accessibility_managed_profile" msgid="4703836746209377356">"Work profila"</string>
     <string name="tuner_warning_title" msgid="7721976098452135267">"Dibertsioa batzuentzat, baina ez guztientzat"</string>
     <string name="tuner_warning" msgid="1861736288458481650">"Sistemako erabiltzaile-interfazearen konfiguratzaileak Android erabiltzaile-interfazea moldatzeko eta pertsonalizatzeko modu gehiago eskaintzen dizkizu. Baliteke eginbide esperimental horiek hurrengo kaleratzeetan aldatuta, etenda edo desagertuta egotea. Kontuz erabili."</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Burbuila"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ez du egiten soinu edo dardararik, arretarik gal ez dezazun."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Arreta erakartzen du soinua eta dardara eginda."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Arreta erakartzen du soinua eta dardara eginda. Modu lehenetsian, <xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioko elkarrizketak burbuila gisa agertzen dira."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Eduki honetarako lasterbide gainerakor bat eskaintzen dizu, arretarik gal ez dezazun."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Elkarrizketa-atalaren goialdean agertzen da, burbuila gisa."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Erakutsi burbuila gisa <xliff:g id="APP_NAME_0">%1$s</xliff:g> aplikazioko elkarrizketa guztiak modu lehenetsian. Kudeatu <xliff:g id="APP_NAME_1">%2$s</xliff:g> aplikazioan."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ezarpenak"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Lehentasuna"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Ez dago azkenaldiko burbuilarik"</string>
@@ -971,7 +971,7 @@
     <string name="slice_permission_checkbox" msgid="4242888137592298523">"Eman aplikazio guztien zatiak erakusteko baimena <xliff:g id="APP">%1$s</xliff:g> aplikazioari"</string>
     <string name="slice_permission_allow" msgid="6340449521277951123">"Baimendu"</string>
     <string name="slice_permission_deny" msgid="6870256451658176895">"Ukatu"</string>
-    <string name="auto_saver_title" msgid="6873691178754086596">"Sakatu bateria-aurrezlea noiz aktibatu antolatzeko"</string>
+    <string name="auto_saver_title" msgid="6873691178754086596">"Sakatu bateria-aurrezlea noiz aktibatu programatzeko"</string>
     <string name="auto_saver_text" msgid="3214960308353838764">"Aktibatu aurrezlea bateria agortzeko arriskua dagoenean"</string>
     <string name="no_auto_saver_action" msgid="7467924389609773835">"Ez"</string>
     <string name="auto_saver_enabled_title" msgid="4294726198280286333">"Bateria-aurrezlea aktibatu da"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Eguneratu da sistemaren nabigazioa. Aldaketak egiteko, joan Ezarpenak atalera."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Sistemaren nabigazioa eguneratzeko, joan Ezarpenak atalera"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Egonean"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Lupa-leiho gainjarria"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Lupa-leihoa"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Lupa-leihoaren aukerak"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrolatzeko aukerak"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Aukeratu itzaltzeko menutik atzitu nahi dituzun kontrolatzeko aukerak"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Kontrolatzeko aukerak antolatzeko, eduki itzazu sakatuta, eta arrastatu"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Kontrolatzeko aukera guztiak kendu dira"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Ezin izan da kargatu kontrol guztien zerrenda."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Beste bat"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Gehitu gailua kontrolatzeko aukeretan"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index a343bdf..a6e12bc 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -76,18 +76,18 @@
     <string name="learn_more" msgid="4690632085667273811">"بیشتر بدانید"</string>
     <string name="compat_mode_on" msgid="4963711187149440884">"بزرگ‌نمایی برای پر کردن صفحه"</string>
     <string name="compat_mode_off" msgid="7682459748279487945">"گسترده کردن برای پر کردن صفحه"</string>
-    <string name="global_action_screenshot" msgid="2760267567509131654">"عکس صفحه‌نمایش"</string>
+    <string name="global_action_screenshot" msgid="2760267567509131654">"نماگرفت"</string>
     <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"تصویری ارسال کرد"</string>
-    <string name="screenshot_saving_ticker" msgid="6519186952674544916">"در حال ذخیره عکس صفحه‌نمایش..."</string>
-    <string name="screenshot_saving_title" msgid="2298349784913287333">"درحال ذخیره عکس صفحه‌نمایش…"</string>
-    <string name="screenshot_saved_title" msgid="8893267638659083153">"عکس صفحه‌نمایش ذخیره شد"</string>
+    <string name="screenshot_saving_ticker" msgid="6519186952674544916">"در حال ذخیره نماگرفت..."</string>
+    <string name="screenshot_saving_title" msgid="2298349784913287333">"درحال ذخیره نماگرفت…"</string>
+    <string name="screenshot_saved_title" msgid="8893267638659083153">"نماگرفت ذخیره شد"</string>
     <string name="screenshot_saved_text" msgid="7778833104901642442">"برای مشاهده عکس صفحه‌نمایشتان ضربه بزنید"</string>
-    <string name="screenshot_failed_title" msgid="3259148215671936891">"عکس صفحه‌نمایش ذخیره نشد"</string>
-    <string name="screenshot_failed_to_save_unknown_text" msgid="1506621600548684129">"دوباره عکس صفحه‌نمایش بگیرید"</string>
-    <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"به دلیل محدود بودن فضای ذخیره‌سازی نمی‌توان عکس صفحه‌نمایش را ذخیره کرد"</string>
-    <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"برنامه یا سازمان شما اجازه نمی‌دهند عکس صفحه‌نمایش بگیرید."</string>
+    <string name="screenshot_failed_title" msgid="3259148215671936891">"نماگرفت ذخیره نشد"</string>
+    <string name="screenshot_failed_to_save_unknown_text" msgid="1506621600548684129">"دوباره نماگرفت بگیرید"</string>
+    <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"به دلیل محدود بودن فضای ذخیره‌سازی نمی‌توان نماگرفت را ذخیره کرد"</string>
+    <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"برنامه یا سازمان شما اجازه نمی‌دهند نماگرفت بگیرید."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"رد کردن نماگرفت"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"باز کردن نماگرفت"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"پیش‌نمایش نماگرفت"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"ضبط‌کننده صفحه‌نمایش"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"اعلان درحال انجام برای جلسه ضبط صفحه‌نمایش"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ضبط شروع شود؟"</string>
@@ -379,10 +379,10 @@
     <string name="quick_settings_wifi_on_label" msgid="2489928193654318511">"‏Wi-Fi روشن"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="483130889414601732">"‏هیچ شبکه Wi-Fi موجود نیست"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7501659015509357887">"روشن کردن…"</string>
-    <string name="quick_settings_cast_title" msgid="2279220930629235211">"فرستادن صفحه نمایش"</string>
+    <string name="quick_settings_cast_title" msgid="2279220930629235211">"فرستادن محتوای صفحه"</string>
     <string name="quick_settings_casting" msgid="1435880708719268055">"در حال فرستادن"</string>
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"دستگاه بدون نام"</string>
-    <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"آماده برای فرستادن"</string>
+    <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"آماده برای ارسال محتوا"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"دستگاهی موجود نیست"</string>
     <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"‏Wi-Fi وصل نیست"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"روشنایی"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"حباب"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"به شما کمک می‌کند بدون صدا یا لرزش تمرکز کنید."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"با صدا یا لرزش توجه شما را جلب می‌کند."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"با صدا یا لرزش توجه شما را جلب می‌کند. مکالمه‌های <xliff:g id="APP_NAME">%1$s</xliff:g> به‌طور پیش‌فرض در حباب نشان داده می‌شوند."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"با میان‌بری شناور به این محتوا، توجه‌تان را جلب می‌کند."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"در بالای بخش مکالمه نمایش داده می‌شود و به‌صورت ابزارک اعلان نمایان می‌شود."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"همه مکالمه‌های <xliff:g id="APP_NAME_0">%1$s</xliff:g>، به‌طور پیش‌فرض در حباب نمایش داده می‌شوند. در <xliff:g id="APP_NAME_1">%2$s</xliff:g> مدیریت کنید."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"تنظیمات"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"اولویت"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"هیچ ابزارک اعلان جدیدی وجود ندارد"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"برنامه‌هایی که در پس‌زمینه اجرا می‌شوند"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"برای جزئیات مربوط به مصرف باتری و داده، ضربه بزنید"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"داده تلفن همراه خاموش شود؟"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"‏نمی‌توانید ازطریق <xliff:g id="CARRIER">%s</xliff:g> به داده یا اینترنت دسترسی داشته باشید. اینترنت فقط ازطریق Wi-Fi دردسترس خواهد بود."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"‏نمی‌توانید ازطریق <xliff:g id="CARRIER">%s</xliff:g> به داده یا اینترنت دسترسی داشته باشید. اینترنت فقط ازطریق Wi-Fi در دسترس خواهد بود."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"شرکت مخابراتی شما"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"چون برنامه‌ای درحال ایجاد تداخل در درخواست مجوز است، «تنظیمات» نمی‌تواند پاسخ شما را تأیید کند."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"به <xliff:g id="APP_0">%1$s</xliff:g> اجازه داده شود تکه‌های <xliff:g id="APP_2">%2$s</xliff:g> را نشان دهد؟"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"پیمایش سیستم به‌روزرسانی شد. برای انجام تغییرات به «تنظیمات» بروید."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"برای به‌روزرسانی پیمایش سیستم، به «تنظیمات» بروید"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"آماده‌به‌کار"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"پنجره همپوشانی بزرگ‌نمایی"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"پنجره بزرگ‌نمایی"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"کنترل‌های پنجره بزرگ‌نمایی"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"کنترل‌ها"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"برای دسترسی از منوی روشن/خاموش، کنترل‌ها را انتخاب کنید"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"برای تغییر دادن ترتیب کنترل‌ها، آن‌ها را نگه دارید و بکشید"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"همه کنترل‌ها برداشته شده‌اند"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"فهرست همه کنترل‌ها را نمی‌توان بارگیری کرد."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"موارد دیگر"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"افزودن به کنترل‌های دستگاه"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index c082c75..e15547a 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Kuvakaappauksen tallennus epäonnistui, sillä tallennustilaa ei ole riittävästi"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Sovellus tai organisaatio ei salli kuvakaappauksien tallentamista."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Hylkää kuvakaappaus"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Avaa kuvakaappaus"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Kuvakaappauksen esikatselu"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Näytön tallentaja"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Pysyvä ilmoitus näytön tallentamisesta"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Aloitetaanko tallennus?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Kupla"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Keskittyminen on helpompaa ilman ääntä tai värinää."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Kiinnittää huomion äänellä tai värinällä"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Kiinnittää huomion äänellä tai värinällä. Näistä keskusteluista (<xliff:g id="APP_NAME">%1$s</xliff:g>) syntyy oletuksena kuplia."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Kelluva sisällön pikakuvake säilyttää huomiosi"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Näkyy keskusteluosion yläosassa kuplana"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Kaikki sovelluksen <xliff:g id="APP_NAME_0">%1$s</xliff:g> keskustelut näytetään oletuksena kuplina. Muuta asetuksia sovelluksessa <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Asetukset"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Tärkeä"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Ei viimeaikaisia kuplia"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Järjestelmän navigointitapa vaihdettu. Voit muuttaa sitä asetuksista."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Vaihda järjestelmän navigointitapaa asetuksista"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Virransäästötila"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Suurennuksen peittoikkuna"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Suurennusikkuna"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Suurennusikkunan ohjaimet"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Säätimet"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Valitse säätimet, joita käytetään virtavalikosta"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Järjestele säätimiä koskettamalla pitkään ja vetämällä"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Kaikki säätimet poistettu"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Kaikkien säätimien luetteloa ei voitu ladata."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Muu"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Lisää laitteen säätimiin"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 82879f1..7372031 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -28,15 +28,15 @@
     <string name="battery_low_percent_format" msgid="4276661262843170964">"<xliff:g id="PERCENTAGE">%s</xliff:g> restants"</string>
     <string name="battery_low_percent_format_hybrid" msgid="3985614339605686167">"Il reste <xliff:g id="PERCENTAGE">%1$s</xliff:g>, environ <xliff:g id="TIME">%2$s</xliff:g> en fonction de votre usage"</string>
     <string name="battery_low_percent_format_hybrid_short" msgid="5917433188456218857">"Il reste <xliff:g id="PERCENTAGE">%1$s</xliff:g>, environ <xliff:g id="TIME">%2$s</xliff:g>"</string>
-    <string name="battery_low_percent_format_saver_started" msgid="4968468824040940688">"<xliff:g id="PERCENTAGE">%s</xliff:g> restants. La fonction Économie d\'énergie est activée."</string>
+    <string name="battery_low_percent_format_saver_started" msgid="4968468824040940688">"<xliff:g id="PERCENTAGE">%s</xliff:g> restants. La fonction Économiseur de pile est activée."</string>
     <string name="invalid_charger" msgid="4370074072117767416">"Impossible de charger l\'appareil par USB. Servez-vous du chargeur fourni avec celui-ci."</string>
     <string name="invalid_charger_title" msgid="938685362320735167">"Impossible de charger l\'appareil par USB"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Servez-vous du chargeur fourni avec votre appareil"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Paramètres"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Activer la fonction Économie d\'énergie?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Activer l\'économiseur de pile?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"À propos du mode Économiseur de pile"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Activer"</string>
-    <string name="battery_saver_start_action" msgid="4553256017945469937">"Activer la fonction Économie d\'énergie"</string>
+    <string name="battery_saver_start_action" msgid="4553256017945469937">"Activer la fonction Économiseur de pile"</string>
     <string name="status_bar_settings_settings_button" msgid="534331565185171556">"Paramètres"</string>
     <string name="status_bar_settings_wifi_button" msgid="7243072479837270946">"Wi-Fi"</string>
     <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"Rotation auto de l\'écran"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Impossible d\'enregistrer la capture d\'écran, car l\'espace de stockage est limité"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"L\'application ou votre organisation n\'autorise pas les saisies d\'écran"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Fermer la capture d\'écran"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ouvrir la capture d\'écran"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Aperçu de la capture d\'écran"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Enregistreur d\'écran"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notification en cours pour une session d\'enregistrement d\'écran"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Commencer l\'enregistrement?"</string>
@@ -496,9 +496,9 @@
     <string name="user_remove_user_title" msgid="9124124694835811874">"Supprimer l\'utilisateur?"</string>
     <string name="user_remove_user_message" msgid="6702834122128031833">"Toutes les applications et les données de cet utilisateur seront supprimées."</string>
     <string name="user_remove_user_remove" msgid="8387386066949061256">"Supprimer"</string>
-    <string name="battery_saver_notification_title" msgid="8419266546034372562">"La fonction Économie d\'énergie est activée"</string>
+    <string name="battery_saver_notification_title" msgid="8419266546034372562">"Économiseur de pile activé"</string>
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Réduire les performances et de fond"</string>
-    <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Désactiver la fonction Économie d\'énergie"</string>
+    <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Désactiver la fonction Économiseur de pile"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> aura accès à toute l\'information visible sur votre écran ou qui joue sur votre appareil durant l\'enregistrement ou la diffusion. Cela comprend des renseignements comme les mots de passe, les détails du paiement, les photos, les messages et l\'audio que vous faites jouer."</string>
     <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Le service offrant cette fonction aura accès à toute l\'information qui est visible sur votre écran ou sur ce qui joue sur votre appareil durant l\'enregistrement ou la diffusion. Cela comprend des renseignements comme les mots de passe, les détails du paiement, les photos, les messages et le contenu audio que vous faites jouer."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Commencer à enregistrer ou à diffuser?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bulle"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Vous aider à vous concentrer, sans son ni vibration."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Attire votre attention à l\'aide de sons et de vibrations."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Attire votre attention à l\'aide de sons et de vibrations. Conversations des bulles de <xliff:g id="APP_NAME">%1$s</xliff:g> par défaut."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Garde votre attention à l\'aide d\'un raccourci flottant vers ce contenu."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"S\'affiche en haut de la section des conversations sous forme de bulle."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Par défaut, toutes les conversations <xliff:g id="APP_NAME_0">%1$s</xliff:g> s\'affichent sous forme de bulles. Vous pouvez gérer cela dans <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Paramètres"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorité"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Aucune bulle récente"</string>
@@ -759,8 +759,8 @@
       <item quantity="other">%d minutes</item>
     </plurals>
     <string name="battery_panel_title" msgid="5931157246673665963">"Utilisation de la pile"</string>
-    <string name="battery_detail_charging_summary" msgid="8821202155297559706">"Le mode Économie d\'énergie n\'est pas accessible pendant la charge"</string>
-    <string name="battery_detail_switch_title" msgid="6940976502957380405">"Économie d\'énergie"</string>
+    <string name="battery_detail_charging_summary" msgid="8821202155297559706">"Le mode Économiseur de pile n\'est pas accessible pendant la charge"</string>
+    <string name="battery_detail_switch_title" msgid="6940976502957380405">"Économiseur de pile"</string>
     <string name="battery_detail_switch_summary" msgid="3668748557848025990">"Réduit les performances et les données en arrière-plan"</string>
     <string name="keyboard_key_button_template" msgid="8005673627272051429">"Bouton <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="keyboard_key_home" msgid="3734400625170020657">"Accueil"</string>
@@ -971,11 +971,11 @@
     <string name="slice_permission_checkbox" msgid="4242888137592298523">"Autoriser <xliff:g id="APP">%1$s</xliff:g> à afficher des tranches de n\'importe quelle application"</string>
     <string name="slice_permission_allow" msgid="6340449521277951123">"Autoriser"</string>
     <string name="slice_permission_deny" msgid="6870256451658176895">"Refuser"</string>
-    <string name="auto_saver_title" msgid="6873691178754086596">"Toucher pour activer la fonction Économie d\'énergie"</string>
+    <string name="auto_saver_title" msgid="6873691178754086596">"Toucher pour activer la fonction Économiseur de pile"</string>
     <string name="auto_saver_text" msgid="3214960308353838764">"Activer si la pile est susceptible de s\'épuiser totalement"</string>
     <string name="no_auto_saver_action" msgid="7467924389609773835">"Non merci"</string>
-    <string name="auto_saver_enabled_title" msgid="4294726198280286333">"La fonction Économie d\'énergie est activée"</string>
-    <string name="auto_saver_enabled_text" msgid="7889491183116752719">"La fonction Économie d\'énergie s\'activera automatiquement une fois que la pile sera en dessous de <xliff:g id="PERCENTAGE">%d</xliff:g> %%."</string>
+    <string name="auto_saver_enabled_title" msgid="4294726198280286333">"La fonction Économiseur de pile est activée"</string>
+    <string name="auto_saver_enabled_text" msgid="7889491183116752719">"La fonction Économiseur de pile s\'activera automatiquement une fois que la pile sera en dessous de <xliff:g id="PERCENTAGE">%d</xliff:g> %%."</string>
     <string name="open_saver_setting_action" msgid="2111461909782935190">"Paramètres"</string>
     <string name="auto_saver_okay_action" msgid="7815925750741935386">"OK"</string>
     <string name="heap_dump_tile_name" msgid="2464189856478823046">"Copier mémoire SysUI"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"La navigation système a été mise à jour. Pour apporter des modifications, accédez au menu Paramètres."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Accédez au menu Paramètres pour mettre à jour la navigation système"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Veille"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Fenêtre d\'agrandissement superposée"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Fenêtre d\'agrandissement"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Commandes pour la fenêtre d\'agrandissement"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 4193499..22830bc 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Impossible d\'enregistrer la capture d\'écran, car l\'espace de stockage est limité"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Les captures d\'écran ne sont pas autorisées par l\'application ni par votre organisation"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Fermer la capture d\'écran"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ouvrir la capture d\'écran"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Aperçu de la capture d\'écran"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Enregistreur d\'écran"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notification en cours pour une session d\'enregistrement de l\'écran"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Démarrer l\'enregistrement ?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bulle"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Sans sons ni vibrations, vous aide à vous concentrer."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Attire votre attention à l\'aide de sons ou de vibrations."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Attire votre attention à l\'aide de sons ou de vibrations. Les conversations provenant de <xliff:g id="APP_NAME">%1$s</xliff:g> s\'affichent sous forme de bulles par défaut."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Attire votre attention à l\'aide d\'un raccourci flottant vers ce contenu."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"S\'affiche en haut de la section des conversations et apparaît sous forme de bulle."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Par défaut, toutes les conversations <xliff:g id="APP_NAME_0">%1$s</xliff:g> s\'affichent sous forme de bulles. Vous pouvez gérer cela dans <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Paramètres"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritaire"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Aucune bulle récente"</string>
@@ -978,7 +978,7 @@
     <string name="auto_saver_enabled_text" msgid="7889491183116752719">"L\'économiseur de batterie s\'active automatiquement lorsque l\'autonomie de la batterie est inférieure à <xliff:g id="PERCENTAGE">%d</xliff:g> %%."</string>
     <string name="open_saver_setting_action" msgid="2111461909782935190">"Paramètres"</string>
     <string name="auto_saver_okay_action" msgid="7815925750741935386">"OK"</string>
-    <string name="heap_dump_tile_name" msgid="2464189856478823046">"Copier le tas SysUI"</string>
+    <string name="heap_dump_tile_name" msgid="2464189856478823046">"Copier mémoire SysUI"</string>
     <string name="sensor_privacy_mode" msgid="4462866919026513692">"Capteurs désactivés"</string>
     <string name="device_services" msgid="1549944177856658705">"Services pour l\'appareil"</string>
     <string name="music_controls_no_title" msgid="4166497066552290938">"Sans titre"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigation système mise à jour. Pour apporter des modifications, accédez aux paramètres."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Accédez aux paramètres pour mettre à jour la navigation système"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Mode Veille imminent"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Fenêtre de superposition de l\'agrandissement"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Fenêtre d\'agrandissement"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Fenêtre des commandes d\'agrandissement"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Commandes"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Sélectionnez les commandes auxquelles vous souhaitez accéder depuis le menu de démarrage"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Appuyer et faire glisser pour réorganiser les commandes"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Toutes les commandes ont été supprimées"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Impossible de charger toutes les commandes."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Autre"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Ajouter aux commandes de l\'appareil"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index dec9c71..1f2b827 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Non se puido gardar a captura de pantalla porque o espazo de almacenamento é limitado"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"A aplicación ou a túa organización non permite realizar capturas de pantalla"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ignora a captura de pantalla"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abre a captura de pantalla"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Vista previa da captura de pantalla"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Gravadora da pantalla"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificación en curso sobre unha sesión de gravación de pantalla"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Queres iniciar a gravación?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Burbulla"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Axúdache a centrarte sen son nin vibración."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Chama a túa atención con son ou vibración."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Chama a túa atención con son ou vibración. Conversas desde a burbulla da aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> de forma predeterminada."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mantén a túa atención cun atallo flotante a este contido."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Móstrase na parte superior da sección da conversa en forma de burbulla."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Móstranse burbullas con todas as conversas de <xliff:g id="APP_NAME_0">%1$s</xliff:g> de forma predeterminada. Xestiona a configuración en <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Configuración"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridade"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Non hai burbullas recentes"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Actualizouse a navegación do sistema. Para facer cambios, vai a Configuración."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Para actualizar a navegación do sistema, vai a Configuración"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Modo de espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Ampliación da ventá de superposición"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Ventá de superposición"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Controis de ampliación da ventá"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controis"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Escolle os controis para acceder desde o menú de acendido"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Para reorganizar os controis, mantenos premidos e arrástraos"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Quitáronse todos os controis"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Non se puido cargar a lista de todos os controis."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Outra"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Engadir ao control de dispositivos"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index b0ebf7a..72120ce 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"મર્યાદિત સ્ટોરેજ સ્પેસને કારણે સ્ક્રીનશૉટ સાચવી શકાતો નથી"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ઍપ્લિકેશન કે તમારી સંસ્થા દ્વારા સ્ક્રીનશૉટ લેવાની મંજૂરી નથી"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"સ્ક્રીનશૉટ છોડી દો"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"સ્ક્રીનશૉટ ખોલો"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"સ્ક્રીનશૉટનો પ્રીવ્યૂ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"સ્ક્રીન રેકૉર્ડર"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"સ્ક્રીન રેકોર્ડિંગ સત્ર માટે ચાલુ નોટિફિકેશન"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"રેકૉર્ડિંગ શરૂ કરીએ?"</string>
@@ -349,7 +349,7 @@
     <string name="quick_settings_bluetooth_off_label" msgid="6375098046500790870">"બ્લૂટૂથ બંધ"</string>
     <string name="quick_settings_bluetooth_detail_empty_text" msgid="5760239584390514322">"કોઈ જોડી કરેલ ઉપકરણો ઉપલબ્ધ નથી"</string>
     <string name="quick_settings_bluetooth_secondary_label_battery_level" msgid="4182034939479344093">"<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%s</xliff:g> બૅટરી"</string>
-    <string name="quick_settings_bluetooth_secondary_label_audio" msgid="780333390310051161">"ઑડિઓ"</string>
+    <string name="quick_settings_bluetooth_secondary_label_audio" msgid="780333390310051161">"ઑડિયો"</string>
     <string name="quick_settings_bluetooth_secondary_label_headset" msgid="2332093067553000852">"હૅડસેટ"</string>
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ઇનપુટ"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"શ્રવણ યંત્રો"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"બબલ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"તમને સાઉન્ડ અથવા વાઇબ્રેશન વિના ફોકસ કરવામાં સહાય કરે છે."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"સાઉન્ડ અથવા વાઇબ્રેશન વિના તમારું ધ્યાન દોરે છે."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ફ્લોટિંગ શૉર્ટકટથી આ કન્ટેન્ટ પર તમારું ધ્યાન દોરી રાખે છે."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"વાતચીત વિભાગની ટોચ પર બતાવે છે અને બબલ તરીકે દેખાય છે."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>ની બધી વાતચીતને ડિફૉલ્ટ તરીકે બબલ કરવામાં આવે છે. <xliff:g id="APP_NAME_1">%2$s</xliff:g>માં મેનેજ કરો."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"સેટિંગ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"પ્રાધાન્યતા"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"તાજેતરના કોઈ બબલ નથી"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"સિસ્ટમ નૅવિગેશન અપડેટ કર્યું. ફેરફારો કરવા માટે, સેટિંગ પર જાઓ."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"સિસ્ટમ નૅવિગેશનને અપડેટ કરવા માટે સેટિંગ પર જાઓ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"સ્ટૅન્ડબાય"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"વિસ્તૃતીકરણ ઓવરલે વિંડો"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"વિસ્તૃતીકરણ વિંડો"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"વિસ્તૃતીકરણ વિંડોના નિયંત્રણો"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"નિયંત્રણો"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"પાવર મેનૂમાંથી ઍક્સેસ કરવા માટેના નિયંત્રણોને પસંદ કરો"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"નિયંત્રણોને ફરીથી ગોઠવવા માટે તેમને હોલ્ડ કરીને ખેંચો"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"બધા નિયંત્રણો કાઢી નાખ્યા"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"બધા નિયંત્રણોની સૂચિ લોડ કરી શકાઈ નથી."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"અન્ય"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ડિવાઇસનાં નિયંત્રણોમાં ઉમેરો"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index cdfa4f7..d0e6003 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"मेमोरी कम होने की वजह से स्क्रीनशॉट सेव नहीं किया जा सका"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ऐप्लिकेशन या आपका संगठन स्क्रीनशॉट लेने की अनुमति नहीं देता"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"स्क्रीनशॉट खारिज करें"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"स्क्रीनशॉट खोलें"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"स्क्रीनशॉट की झलक"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"स्क्रीन रिकॉर्डर"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"स्क्रीन रिकॉर्ड सेशन के लिए जारी सूचना"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"रिकॉर्डिंग शुरू करना चाहते हैं?"</string>
@@ -514,7 +514,7 @@
     <string name="notification_section_header_conversations" msgid="821834744538345661">"बातचीत"</string>
     <string name="accessibility_notification_section_header_gentle_clear_all" msgid="6490207897764933919">"बिना आवाज़ की सभी सूचनाएं हटाएं"</string>
     <string name="dnd_suppressing_shade_text" msgid="5588252250634464042">"\'परेशान न करें\' सुविधा के ज़रिए कुछ समय के लिए सूचनाएं दिखाना रोक दिया गया है"</string>
-    <string name="media_projection_action_text" msgid="3634906766918186440">"अब शुरू करें"</string>
+    <string name="media_projection_action_text" msgid="3634906766918186440">"अभी शुरू करें"</string>
     <string name="empty_shade_text" msgid="8935967157319717412">"कोई सूचना नहीं मिली"</string>
     <string name="profile_owned_footer" msgid="2756770645766113964">"प्रोफ़ाइल को मॉनीटर किया जा सकता है"</string>
     <string name="vpn_footer" msgid="3457155078010607471">"नेटवर्क को मॉनीटर किया जा सकता है"</string>
@@ -584,7 +584,7 @@
     <string name="accessibility_volume_settings" msgid="1458961116951564784">"साउंड सेटिंग"</string>
     <string name="accessibility_volume_expand" msgid="7653070939304433603">"विस्तार करें"</string>
     <string name="accessibility_volume_collapse" msgid="2746845391013829996">"छोटा करें"</string>
-    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"मीडिया में अपने आप कैप्शन जोड़ें"</string>
+    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"ऑडियो-वीडियो पहचानकर अपने-आप कैप्शन बनना"</string>
     <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"कैप्शन सलाह बंद करें"</string>
     <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"कैप्शन ऊपर लगाएं"</string>
     <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"चालू करें"</string>
@@ -709,9 +709,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"बबल"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"आवाज़ या वाइब्रेशन न होने की वजह से आप काम में ध्यान लगा पाते हैं."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"आवाज़ या वाइब्रेशन होने की वजह से आपका ध्यान सूचनाओं पर जाता है."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"आवाज़ या वाइब्रेशन होने की वजह से आपका ध्यान सूचनाओं पर जाता है. <xliff:g id="APP_NAME">%1$s</xliff:g> में होने वाली बातचीत डिफ़ॉल्ट रूप से बबल के तौर पर दिखती है."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"फ़्लोट करने वाले शॉर्टकट की मदद से इस सामग्री पर आपका ध्यान बना रहता है."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"यह बातचीत सेक्शन में सबसे ऊपर और एक बबल के तौर पर दिखती है."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> में हुई सभी बातचीत डिफ़ॉल्ट रूप से बबल की जाती हैं. <xliff:g id="APP_NAME_1">%2$s</xliff:g> में प्रबंधित करें."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"सेटिंग"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"प्राथमिकता"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"हाल ही के बबल्स मौजूद नहीं हैं"</string>
@@ -964,7 +964,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"बैकग्राउंड में चल रहे ऐप्लिकेशन"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"बैटरी और डेटा खर्च की जानकारी के लिए छूएं"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"मोबाइल डेटा बंद करना चाहते हैं?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"आप <xliff:g id="CARRIER">%s</xliff:g> के ज़रिए डेटा या इंटरनेट इस्तेमाल नहीं कर पाएंगे. इंटरनेट सिर्फ़ वाई-फ़ाई का इस्तेमाल करके चलेगा."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"आप <xliff:g id="CARRIER">%s</xliff:g> से डेटा या इंटरनेट का इस्तेमाल नहीं कर पाएंगे. इंटरनेट सिर्फ़ वाई-फ़ाई से चलेगा."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"आपको मोबाइल और इंटरनेट सेवा देने वाली कंपनी"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"ऐप की वजह से मंज़ूरी के अनुरोध को समझने में दिक्कत हो रही है, इसलिए सेटिंग से आपके जवाब की पुष्टि नहीं हो पा रही है."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> को <xliff:g id="APP_2">%2$s</xliff:g> के हिस्से (स्लाइस) दिखाने की मंज़ूरी दें?"</string>
@@ -1004,6 +1004,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"सिस्टम नेविगेशन अपडेट हो गया. बदलाव करने के लिए \'सेटिंग\' पर जाएं."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"सिस्टम नेविगेशन अपडेट करने के लिए \'सेटिंग\' में जाएं"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"स्टैंडबाई"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification Overlay Window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"स्क्रीन को बड़ा करके दिखाने वाली विंडो"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"स्क्रीन को बड़ा करके दिखाने वाली विंडो के नियंत्रण"</string>
@@ -1018,10 +1028,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"कंट्राेल"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"पावर मेन्यू से ऐक्सेस करने के लिए कंट्रोल चुनें"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"कंट्रोल का क्रम फिर से बदलने के लिए उन्हें दबाकर रखें और खींचें"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"सभी कंट्रोल हटा दिए गए"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"सभी कंट्रोल की सूची लोड नहीं हो सकी."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"अन्य"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"डिवाइस के कंट्रोल में जोड़ें"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index fd4aa6c..cbffb1f 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Punjenje putem USB-a nije moguće"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Koristite punjač koji ste dobili s uređajem"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Postavke"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Želite li uključiti Štednju baterije?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Uključiti Štednju baterije?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"O Štednji baterije"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Uključi"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Uključite Štednju baterije"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Zaslon nije snimljen zbog ograničenog prostora za pohranu"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Aplikacija ili vaša organizacija ne dopuštaju snimanje zaslona"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Odbacivanje snimke zaslona"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otvaranje snimke zaslona"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pregled snimke zaslona"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Snimač zaslona"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Tekuća obavijest za sesiju snimanja zaslona"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Želite li započeti snimanje?"</string>
@@ -398,7 +398,7 @@
     <string name="quick_settings_tethering_label" msgid="5257299852322475780">"Dijeljenje veze"</string>
     <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"Žarišna točka"</string>
     <string name="quick_settings_hotspot_secondary_label_transient" msgid="7585604088079160564">"Uključivanje…"</string>
-    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Ušteda podat. uklj."</string>
+    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Štednja pod. prom. uklj."</string>
     <plurals name="quick_settings_hotspot_secondary_label_num_devices" formatted="false" msgid="3142308865165871976">
       <item quantity="one">%d uređaj</item>
       <item quantity="few">%d uređaja</item>
@@ -515,7 +515,7 @@
     <string name="notification_section_header_conversations" msgid="821834744538345661">"Razgovori"</string>
     <string name="accessibility_notification_section_header_gentle_clear_all" msgid="6490207897764933919">"Izbriši sve bešumne obavijesti"</string>
     <string name="dnd_suppressing_shade_text" msgid="5588252250634464042">"Značajka Ne uznemiravaj pauzirala je Obavijesti"</string>
-    <string name="media_projection_action_text" msgid="3634906766918186440">"Započni sad"</string>
+    <string name="media_projection_action_text" msgid="3634906766918186440">"Započni"</string>
     <string name="empty_shade_text" msgid="8935967157319717412">"Nema obavijesti"</string>
     <string name="profile_owned_footer" msgid="2756770645766113964">"Profil se možda nadzire"</string>
     <string name="vpn_footer" msgid="3457155078010607471">"Mreža se možda nadzire"</string>
@@ -710,9 +710,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Oblačić"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomaže vam da se usredotočite bez zvučnih signala i vibracija."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Privlači vašu pažnju zvučnim signalima ili vibracijama."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Privlači vašu pažnju zvučnim signalima ili vibracijama. Razgovori iz aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> prikazuju se u oblačiću prema zadanim postavkama."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Održava vam pozornost pomoću plutajućeg prečaca ovom sadržaju."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Prikazuje se pri vrhu odjeljka razgovora kao oblačić."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Svi razgovori iz aplikacije <xliff:g id="APP_NAME_0">%1$s</xliff:g> prema zadanim se postavkama pojavljuju u oblačiću. Upravljajte u aplikaciji <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Postavke"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nema nedavnih oblačića"</string>
@@ -966,7 +966,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Zamijeni"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Izvođenje aplikacija u pozadini"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Dodirnite da biste vidjeli pojedinosti o potrošnji baterije i podatkovnom prometu"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Želite li isključiti mobilne podatke?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Isključiti mobilne podatke?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nećete imati pristup mobilnim podacima ili internetu putem operatera <xliff:g id="CARRIER">%s</xliff:g>. Internet će biti dostupan samo putem Wi-Fija."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"vaš mobilni operater"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Budući da aplikacija prekriva zahtjev za dopuštenje, Postavke ne mogu potvrditi vaš odgovor."</string>
@@ -1007,6 +1007,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Ažurirana je navigacija sustavom. Možete je promijeniti u Postavkama."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Navigaciju sustavom možete ažurirati u Postavkama"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Stanje mirovanja"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Prozor preklapanja povećavanja"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Prozor za povećavanje"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrole prozora za povećavanje"</string>
@@ -1022,10 +1032,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrole"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Odaberite kontrole kojima želite pristupati iz izbornika napajanja"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Zadržite i povucite da biste promijenili raspored kontrola"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Sve su kontrole uklonjene"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Popis svih kontrola nije se učitao."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Drugo"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Dodavanje kontrolama uređaja"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 76c3445..480228b 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Nem menthet képernyőképet, mert kevés a tárhely"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Az alkalmazás vagy az Ön szervezete nem engedélyezi képernyőkép készítését"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Képernyőkép elvetése"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Képernyőkép megnyitása"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Képernyőkép előnézete"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Képernyőrögzítő"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Folyamatban lévő értesítés képernyőrögzítési munkamenethez"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Elindítja a felvételt?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Buborék"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Hangjelzés és rezgés nélkül segít a koncentrálásban."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Figyelemfelkeltő a hangjelzésnek és rezgésnek köszönhetően."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Figyelemfelkeltő a hangjelzésnek és rezgésnek köszönhetően. A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazásban lévő beszélgetések alapértelmezés szerint buborékban jelennek meg."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"A tartalomra mutató lebegő parancsikon segítségével tartja fenn az Ön figyelmét."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"A beszélgetések szakaszának tetején, buborékként jelenik meg."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"A(z) <xliff:g id="APP_NAME_0">%1$s</xliff:g> összes beszélgetése buborékként jelenik meg alapértelmezés szerint. Ezt a következőben kezelheti: <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Beállítások"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritás"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nincsenek buborékok a közelmúltból"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"A háttérben még futnak alkalmazások"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Koppintson az akkumulátor- és adathasználat részleteinek megtekintéséhez"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Kikapcsolja a mobiladatokat?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nem lesz adat-, illetve internet-hozzáférése <xliff:g id="CARRIER">%s</xliff:g> szolgáltatón keresztül. Az internethez csak Wi-Fi-n keresztül csatlakozhat."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nem lesz adat-, illetve internet-hozzáférése a(z) <xliff:g id="CARRIER">%s</xliff:g> szolgáltatón keresztül. Az internethez csak Wi-Fi-n keresztül csatlakozhat."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"saját mobilszolgáltató"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Mivel az egyik alkalmazás eltakarja az engedélykérést, a Beállítások alkalmazás nem tudja ellenőrizni az Ön válaszát."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Engedélyezi a(z) <xliff:g id="APP_0">%1$s</xliff:g> alkalmazásnak, hogy részleteket mutasson a(z) <xliff:g id="APP_2">%2$s</xliff:g> alkalmazásból?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"A rendszer-navigáció módja megváltozott. Módosításához nyissa meg a Beállításokat."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"A rendszer-navigációs lehetőségeket a Beállításokban módosíthatja"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Készenléti mód"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Nagyítási fedvény ablaka"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Nagyítás ablaka"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Nagyítási vezérlők ablaka"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Vezérlők"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"A bekapcsológomb menüjéből hozzáférhető vezérlők kiválasztása"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Tartsa lenyomva, és húzza a vezérlők átrendezéséhez"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Minden vezérlő eltávolítva"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Nem sikerült betölteni az összes vezérlő listáját."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Más"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Hozzáadás az eszközvezérlőkhöz"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index d625bb3..0bf29ed 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Չհաջողվեց պահել սքրինշոթը անբավարար հիշողության պատճառով"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Հավելվածը կամ ձեր կազմակերպությունը չի թույլատրում սքրինշոթի ստացումը"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Փակել սքրինշոթը"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Բացել սքրինշոթը"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Սքրինշոթի նախատեսք"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Էկրանի տեսագրիչ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Էկրանի տեսագրման աշխատաշրջանի ընթացիկ ծանուցում"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Սկսե՞լ տեսագրումը"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Պղպջակ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ծանուցումները գալիս են առանց ձայնի և թրթռոցի։"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Ծանուցումները գալիս են ձայնով կամ թրթռոցով։"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Ծանուցումները գալիս են ձայնով կամ թրթռոցով։ <xliff:g id="APP_NAME">%1$s</xliff:g>-ի զրույցներն ըստ կանխադրման հայտնվում են ամպիկների տեսքով։"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Լողացող դյուրանցման միջոցով ձեր ուշադրությունն է գրավում բովանդակության նկատմամբ"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Ցուցադրվում է «Խոսակցություններ» բաժնում և հայտնվում է ամպիկի տեսքով։"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> հավելվածի բոլոր խոսակցություններն ըստ կանխադրման ցուցադրվում են ամպիկի տեսքով։ Փոփոխելու համար անցեք <xliff:g id="APP_NAME_1">%2$s</xliff:g>։"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Կարգավորումներ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Կարևոր"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Վերջին ամպիկներ չկան"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Համակարգի նավիգացիան թարմացվեց: Փոփոխություններ անելու համար անցեք կարգավորումներ:"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Թարմացրեք համակարգի նավիգացիան կարգավորումներում"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Սպասման ռեժիմ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Խոշորացման պատուհանի վրադրում"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Խոշորացման պատուհան"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Խոշորացման պատուհանի կառավարման տարրեր"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 3f6cbb4..ddcbcab 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Tidak dapat menyimpan screenshot karena ruang penyimpanan terbatas"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Mengambil screenshot tidak diizinkan oleh aplikasi atau organisasi"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Menutup screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Membuka screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pratinjau screenshot"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Perekam Layar"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notifikasi yang sedang berjalan untuk sesi rekaman layar"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Mulai Merekam?"</string>
@@ -305,8 +305,8 @@
     <string name="accessibility_quick_settings_work_mode_on" msgid="2779253456042059110">"Mode kerja aktif."</string>
     <string name="accessibility_quick_settings_work_mode_changed_off" msgid="6256690740556798683">"Mode kerja dinonaktifkan."</string>
     <string name="accessibility_quick_settings_work_mode_changed_on" msgid="1105258550138313384">"Mode kerja diaktifkan."</string>
-    <string name="accessibility_quick_settings_data_saver_changed_off" msgid="4910847127871603832">"Penghemat Kuota nonaktif."</string>
-    <string name="accessibility_quick_settings_data_saver_changed_on" msgid="6370606590802623078">"Penghemat Kuota diaktifkan."</string>
+    <string name="accessibility_quick_settings_data_saver_changed_off" msgid="4910847127871603832">"Penghemat Data nonaktif."</string>
+    <string name="accessibility_quick_settings_data_saver_changed_on" msgid="6370606590802623078">"Penghemat Data diaktifkan."</string>
     <string name="accessibility_quick_settings_sensor_privacy_changed_off" msgid="7608378211873807353">"Privasi Sensor dinonaktifkan."</string>
     <string name="accessibility_quick_settings_sensor_privacy_changed_on" msgid="4267393685085328801">"Privasi Sensor diaktifkan."</string>
     <string name="accessibility_brightness" msgid="5391187016177823721">"Kecerahan tampilan"</string>
@@ -397,7 +397,7 @@
     <string name="quick_settings_tethering_label" msgid="5257299852322475780">"Menambatkan"</string>
     <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"Hotspot"</string>
     <string name="quick_settings_hotspot_secondary_label_transient" msgid="7585604088079160564">"Mengaktifkan…"</string>
-    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Penghemat Kuota aktif"</string>
+    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"Penghemat Data aktif"</string>
     <plurals name="quick_settings_hotspot_secondary_label_num_devices" formatted="false" msgid="3142308865165871976">
       <item quantity="other">%d perangkat</item>
       <item quantity="one">%d perangkat</item>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Balon"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Membantu Anda tetap fokus tanpa suara atau getaran."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Menarik perhatian Anda dengan suara atau getaran."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Menarik perhatian Anda dengan suara atau getaran. Percakapan dari balon <xliff:g id="APP_NAME">%1$s</xliff:g> secara default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Menjaga perhatian dengan pintasan floating ke konten ini."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Muncul di atas bagian percakapan dan ditampilkan sebagai balon."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Semua percakapan <xliff:g id="APP_NAME_0">%1$s</xliff:g> menggunakan balon secara default. Kelola di <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Setelan"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritas"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Tidak ada balon baru-baru ini"</string>
@@ -814,9 +814,9 @@
     <string name="accessibility_long_click_tile" msgid="210472753156768705">"Buka setelan"</string>
     <string name="accessibility_status_bar_headphones" msgid="1304082414912647414">"Headphone terhubung"</string>
     <string name="accessibility_status_bar_headset" msgid="2699275863720926104">"Headset terhubung"</string>
-    <string name="data_saver" msgid="3484013368530820763">"Penghemat Kuota"</string>
-    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"Penghemat Kuota aktif"</string>
-    <string name="accessibility_data_saver_off" msgid="58339669022107171">"Penghemat Kuota nonaktif"</string>
+    <string name="data_saver" msgid="3484013368530820763">"Penghemat Data"</string>
+    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"Penghemat Data aktif"</string>
+    <string name="accessibility_data_saver_off" msgid="58339669022107171">"Penghemat Data nonaktif"</string>
     <string name="switch_bar_on" msgid="1770868129120096114">"Aktif"</string>
     <string name="switch_bar_off" msgid="5669805115416379556">"Nonaktif"</string>
     <string name="tile_unavailable" msgid="3095879009136616920">"Tidak tersedia"</string>
@@ -961,7 +961,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Ganti"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Aplikasi yang sedang berjalan di latar belakang"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Ketuk untuk melihat detail penggunaan baterai dan data"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Nonaktifkan kuota?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Nonaktifkan data seluler?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Anda tidak akan dapat mengakses data atau internet melalui <xliff:g id="CARRIER">%s</xliff:g>. Internet hanya akan tersedia melalui Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"Operator Seluler Anda"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Karena sebuah aplikasi menghalangi permintaan izin, Setelan tidak dapat memverifikasi respons Anda."</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigasi sistem diupdate. Untuk melakukan perubahan, buka Setelan."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Buka Setelan untuk mengupdate navigasi sistem"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Siaga"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Jendela Overlay Pembesaran"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Jendela Pembesaran"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrol Jendela Pembesaran"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrol"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Pilih kontrol yang akan diakses dari menu daya"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Tahan &amp; tarik untuk mengatur ulang kontrol"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Semua kontrol dihapus"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Daftar semua kontrol tidak dapat dimuat."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Lainnya"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Tambahkan ke kontrol perangkat"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 2dad050..b9c8c05 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Ekki tókst að vista skjámynd vegna takmarkaðs geymslupláss"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Forritið eða fyrirtækið þitt leyfir ekki skjámyndatöku"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Loka skjámynd"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Opna skjámynd"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Forskoðun skjámyndar"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Skjáupptaka"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Áframhaldandi tilkynning fyrir skjáupptökulotu"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Hefja upptöku?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"Dregur úr afköstum og bakgrunnsgögnum"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"Slökkva á rafhlöðusparnaði"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> mun hafa aðgang að öllum upplýsingum sem sjást á skjánum eða eru spilaðar í tækinu á meðan upptaka eða útsending er í gangi. Þar á meðal eru upplýsingar á borð við aðgangsorð, greiðsluupplýsingar, myndir, skilaboð og hljóð sem þú spilar."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Þjónustan sem býður upp á þennan eiginleika mun hafa aðgang að öllum upplýsingum sem sjást á skjánum eða eru spilaðar í tækinu á meðan upptaka eða útsending er í gangi. Þar á meðal eru upplýsingar á borð við aðgangsorð, greiðsluupplýsingar, myndir, skilaboð og hljóð sem þú spilar."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Þjónustan sem býður upp á þennan eiginleika fær aðgang að öllum upplýsingum sem sjást á skjánum eða eru spilaðar í tækinu á meðan upptaka eða útsending er í gangi, þar á meðal aðgangsorði, greiðsluupplýsingum, myndum, skilaboðum og hljóðefni sem þú spilar."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Viltu hefja upptöku eða útsendingu?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"Viltu hefja upptöku eða útsendingu með <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"Ekki sýna þetta aftur"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Blaðra"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Auðveldar þér að einbeita þér án hljóðs eða titrings."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Fangar athygli þína með hljóði eða titringi."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Fangar athygli þína með hljóði eða titringi. Samtöl á <xliff:g id="APP_NAME">%1$s</xliff:g> birtast sjálfkrafa í blöðru."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Fangar athygli þína með fljótandi flýtileið á þetta efni."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Sýnt sem blaðra efst í samtali."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Öll samtöl frá <xliff:g id="APP_NAME_0">%1$s</xliff:g> birtast sjálfkrafa í blöðru. Stjórna í <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Áfram"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Forgangur"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Engar nýlegar blöðrur"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Kerfisstjórnun uppfærð. Þú getur breytt þessu í stillingunum."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Farðu í stillingar til að uppfæra kerfisstjórnun"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Biðstaða"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Stækkun yfirglugga"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Stækkunargluggi"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Stækkunarstillingar glugga"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Stýringar"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Veldu hvaða stýringar birtast í aflrofavalmyndinni"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Haltu og dragðu til að endurraða stýringum"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Allar stýringar fjarlægðar"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Ekki tókst að hlaða lista yfir allar stýringar."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Annað"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Bæta við tækjastýringar"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 587e94b..5f815d1 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Impossibile salvare lo screenshot a causa dello spazio di archiviazione limitato"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"L\'acquisizione di screenshot non è consentita dall\'app o dall\'organizzazione"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ignora screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Apri screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Anteprima screenshot"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Registrazione dello schermo"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notifica costante per una sessione di registrazione dello schermo"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Avviare la registrazione?"</string>
@@ -210,7 +210,7 @@
     <string name="accessibility_three_bars" msgid="819417766606501295">"Tre barre."</string>
     <string name="accessibility_signal_full" msgid="5920148525598637311">"Massimo segnale."</string>
     <string name="accessibility_desc_on" msgid="2899626845061427845">"ON"</string>
-    <string name="accessibility_desc_off" msgid="8055389500285421408">"OFF"</string>
+    <string name="accessibility_desc_off" msgid="8055389500285421408">"Off"</string>
     <string name="accessibility_desc_connected" msgid="3082590384032624233">"Connesso."</string>
     <string name="accessibility_desc_connecting" msgid="8011433412112903614">"Connessione in corso."</string>
     <string name="data_connection_gprs" msgid="2752584037409568435">"GPRS"</string>
@@ -231,7 +231,7 @@
     <string name="accessibility_cell_data_on" msgid="691666434519443162">"Dati mobili attivati"</string>
     <string name="cell_data_off_content_description" msgid="9165555931499878044">"Dati mobili disattivati"</string>
     <string name="not_default_data_content_description" msgid="6757881730711522517">"Non impostato per l\'utilizzo dei dati"</string>
-    <string name="cell_data_off" msgid="4886198950247099526">"OFF"</string>
+    <string name="cell_data_off" msgid="4886198950247099526">"Off"</string>
     <string name="accessibility_bluetooth_tether" msgid="6327291292208790599">"Tethering Bluetooth."</string>
     <string name="accessibility_airplane_mode" msgid="1899529214045998505">"Modalità aereo."</string>
     <string name="accessibility_vpn_on" msgid="8037549696057288731">"VPN attiva."</string>
@@ -427,7 +427,7 @@
     <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC non attiva"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC attiva"</string>
-    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Registrazione dello schermo"</string>
+    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Registrazione schermo"</string>
     <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Inizia"</string>
     <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Interrompi"</string>
     <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Scorri verso l\'alto per passare ad altre app"</string>
@@ -680,7 +680,7 @@
     <string name="do_not_silence_block" msgid="4361847809775811849">"Non silenziare e non bloccare"</string>
     <string name="tuner_full_importance_settings" msgid="1388025816553459059">"Controlli di gestione delle notifiche"</string>
     <string name="tuner_full_importance_settings_on" msgid="917981436602311547">"On"</string>
-    <string name="tuner_full_importance_settings_off" msgid="5580102038749680829">"OFF"</string>
+    <string name="tuner_full_importance_settings_off" msgid="5580102038749680829">"Off"</string>
     <string name="power_notification_controls_description" msgid="1334963837572708952">"I controlli di gestione delle notifiche ti consentono di impostare un livello di importanza compreso tra 0 e 5 per le notifiche di un\'app. \n\n"<b>"Livello 5"</b>" \n- Mostra in cima all\'elenco di notifiche \n- Consenti l\'interruzione a schermo intero \n- Visualizza sempre \n\n"<b>"Livello 4"</b>" \n- Impedisci l\'interruzione a schermo intero \n- Visualizza sempre \n\n"<b>"Livello 3"</b>" \n- Impedisci l\'interruzione a schermo intero \n- Non visualizzare mai \n\n"<b>"Livello 2"</b>" \n- Impedisci l\'interruzione a schermo intero \n- Non visualizzare mai \n- Non emettere mai suoni e vibrazioni \n\n"<b>"Livello 1"</b>" \n- Impedisci l\'interruzione a schermo intero \n- Non visualizzare mai \n- Non emettere mai suoni e vibrazioni \n- Nascondi da schermata di blocco e barra di stato \n- Mostra in fondo all\'elenco di notifiche \n\n"<b>"Livello 0"</b>" \n- Blocca tutte le notifiche dell\'app"</string>
     <string name="notification_header_default_channel" msgid="225454696914642444">"Notifiche"</string>
     <string name="notification_channel_disabled" msgid="928065923928416337">"Non vedrai più queste notifiche"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Fumetto"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Favorisce la tua concentrazione grazie all\'assenza di suono o vibrazione."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Richiama la tua attenzione con suono o vibrazione."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Richiama la tua attenzione con suono o vibrazione. Conversazioni dalla bolla <xliff:g id="APP_NAME">%1$s</xliff:g> per impostazione predefinita."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mantiene la tua attenzione con una scorciatoia mobile a questi contenuti."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Appare in cima alla sezione delle conversazioni sotto forma di bolla."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Per impostazione predefinita, tutte le conversazioni di <xliff:g id="APP_NAME_0">%1$s</xliff:g> vengono mostrate come bolle. Gestisci in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Impostazioni"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorità"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nessuna bolla recente"</string>
@@ -818,7 +818,7 @@
     <string name="accessibility_data_saver_on" msgid="5394743820189757731">"Risparmio dati attivo"</string>
     <string name="accessibility_data_saver_off" msgid="58339669022107171">"Risparmio dati disattivato"</string>
     <string name="switch_bar_on" msgid="1770868129120096114">"On"</string>
-    <string name="switch_bar_off" msgid="5669805115416379556">"OFF"</string>
+    <string name="switch_bar_off" msgid="5669805115416379556">"Off"</string>
     <string name="tile_unavailable" msgid="3095879009136616920">"Non disponibile"</string>
     <string name="nav_bar" msgid="4642708685386136807">"Barra di navigazione"</string>
     <string name="nav_bar_layout" msgid="4716392484772899544">"Layout"</string>
@@ -847,8 +847,8 @@
     <string name="right_keycode" msgid="2480715509844798438">"Keycode destra"</string>
     <string name="left_icon" msgid="5036278531966897006">"Icona sinistra"</string>
     <string name="right_icon" msgid="1103955040645237425">"Icona destra"</string>
-    <string name="drag_to_add_tiles" msgid="8933270127508303672">"Tieni premuto e trascina per aggiungere riquadri"</string>
-    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Tieni premuto e trascina per riordinare i riquadri"</string>
+    <string name="drag_to_add_tiles" msgid="8933270127508303672">"Tieni premuto e trascina per aggiungere icone"</string>
+    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Tieni premuto e trascina per riordinare le icone"</string>
     <string name="drag_to_remove_tiles" msgid="4682194717573850385">"Trascina qui per rimuovere"</string>
     <string name="drag_to_remove_disabled" msgid="933046987838658850">"Occorrono almeno <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> schede"</string>
     <string name="qs_edit" msgid="5583565172803472437">"Modifica"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigazione del sistema aggiornata. Per apportare modifiche, usa le Impostazioni."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Usa le Impostazioni per aggiornare la navigazione del sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Finestra overlay ingrandimento"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Finestra ingrandimento"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Finestra controlli di ingrandimento"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controlli"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Seleziona i controlli a cui accedere dal menu di accensione"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Tieni premuto e trascina per riordinare i controlli"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Tutti i controlli sono stati rimossi"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Impossibile caricare l\'elenco di tutti i controlli."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Altro"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Aggiungi ai controlli del dispositivo"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index b6f445d..fe94f6a 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"לא היה מספיק מקום לשמור את צילום המסך"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"האפליקציה או הארגון שלך אינם מתירים ליצור צילומי מסך"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"סגירת צילום מסך"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"פתיחת צילום מסך"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"מקליט המסך"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"התראה מתמשכת לסשן הקלטת מסך"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"להתחיל את ההקלטה?"</string>
@@ -713,9 +714,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"בועה"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"עוזרת להתרכז ללא צלילים או רטט."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"מעוררת תשומת לב באמצעות צלילים או רטט."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"מעוררת תשומת לב באמצעות קיצור דרך צף לתוכן הזה."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"מוצגת בחלק העליון של קטע השיחה ומופיעה כבועה."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"כל השיחות מהאפליקציה <xliff:g id="APP_NAME_0">%1$s</xliff:g> מופיעות בבועות כברירת מחדל. ניתן לנהל באפליקציה <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"הגדרות"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"עדיפות"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"אין בועות מהזמן האחרון"</string>
@@ -1012,6 +1014,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"הניווט במערכת עודכן. אפשר לערוך שינויים דרך ההגדרות."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"יש לעבור להגדרות כדי לעדכן את הניווט במערכת"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"המתנה"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"חלון ליצירת שכבת-על להגדלה"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"חלון הגדלה"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"בקרות של חלון ההגדלה"</string>
@@ -1028,10 +1040,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"פקדים"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"יש לבחור פקדים לגישה מתפריט ההפעלה"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"יש ללחוץ לחיצה ארוכה ולגרור כדי לארגן מחדש את הפקדים"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"כל הפקדים הוסרו"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"לא ניתן היה לטעון את הרשימה של כל הפקדים."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"אחר"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"הוספה לפקדי המכשיר"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 8a2b923..94e80a6 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -57,11 +57,11 @@
     <string name="label_view" msgid="6815442985276363364">"表示"</string>
     <string name="always_use_device" msgid="210535878779644679">"<xliff:g id="USB_DEVICE">%2$s</xliff:g> を接続したら常に <xliff:g id="APPLICATION">%1$s</xliff:g> を起動する"</string>
     <string name="always_use_accessory" msgid="1977225429341838444">"<xliff:g id="USB_ACCESSORY">%2$s</xliff:g> を接続したら常に <xliff:g id="APPLICATION">%1$s</xliff:g> を起動する"</string>
-    <string name="usb_debugging_title" msgid="8274884945238642726">"USBデバッグを許可しますか?"</string>
+    <string name="usb_debugging_title" msgid="8274884945238642726">"USB デバッグを許可しますか?"</string>
     <string name="usb_debugging_message" msgid="5794616114463921773">"このパソコンのRSAキーのフィンガープリント:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
-    <string name="usb_debugging_always" msgid="4003121804294739548">"このパソコンからのUSBデバッグを常に許可する"</string>
+    <string name="usb_debugging_always" msgid="4003121804294739548">"このパソコンからの USB デバッグを常に許可する"</string>
     <string name="usb_debugging_allow" msgid="1722643858015321328">"許可"</string>
-    <string name="usb_debugging_secondary_user_title" msgid="7843050591380107998">"USBデバッグは許可されていません"</string>
+    <string name="usb_debugging_secondary_user_title" msgid="7843050591380107998">"USB デバッグは許可されていません"</string>
     <string name="usb_debugging_secondary_user_message" msgid="3740347841470403244">"このデバイスに現在ログインしているユーザーでは、USB デバッグを ON にすることはできません。この機能を使用するには、メインユーザーに切り替えてください。"</string>
     <string name="wifi_debugging_title" msgid="7300007687492186076">"このネットワークでワイヤレス デバッグを許可しますか?"</string>
     <string name="wifi_debugging_message" msgid="5461204211731802995">"ネットワーク名(SSID)\n<xliff:g id="SSID_0">%1$s</xliff:g>\n\nWi‑Fi アドレス(BSSID)\n<xliff:g id="BSSID_1">%2$s</xliff:g>"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"空き容量が足りないため、スクリーンショットを保存できません"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"スクリーンショットの作成はアプリまたは組織で許可されていません"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"スクリーンショットを閉じます"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"スクリーンショットを開きます"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"スクリーンショットのプレビュー"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"スクリーン レコーダー"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"画面の録画セッション中の通知"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"録画を開始しますか?"</string>
@@ -384,7 +384,7 @@
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"名前のないデバイス"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"キャスト準備完了"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"利用可能なデバイスがありません"</string>
-    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi-Fi に接続されていません"</string>
+    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi-Fi 未接続"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"画面の明るさ"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"自動"</string>
     <string name="quick_settings_inversion_label" msgid="5078769633069667698">"色を反転"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"バブル"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"音やバイブレーションが作動しないため、通知に煩わされずに済みます。"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"音やバイブレーションで通知をお知らせします。"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"音やバイブレーションで通知をお知らせします。デフォルトでは <xliff:g id="APP_NAME">%1$s</xliff:g> からの会話がふきだしで表示されます。"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"このコンテンツのフローティング ショートカットで通知をお知らせします。"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"会話セクションの一番上にバブルとして表示されます。"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"デフォルトでは <xliff:g id="APP_NAME_0">%1$s</xliff:g> からのすべての会話がバブルで表示されます。[<xliff:g id="APP_NAME_1">%2$s</xliff:g>] で管理します。"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"設定"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"優先度"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"最近閉じたバブルはありません"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"システム ナビゲーションを更新しました。変更するには [設定] に移動してください。"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"システム ナビゲーションを更新するには [設定] に移動してください"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"スタンバイ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"拡大オーバーレイ ウィンドウ"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"拡大ウィンドウ"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"拡大ウィンドウ コントロール"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index 99b10c1..dd3c267 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ეკრანის ანაბეჭდის შენახვა ვერ მოხერხდა შეზღუდული მეხსიერების გამო"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ეკრანის ანაბეჭდების შექმნა არ არის ნებადართული აპის ან თქვენი ორგანიზაციის მიერ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ეკრანის ანაბეჭდის დახურვა"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ეკრანის ანაბეჭდის გახსნა"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ეკრანის ანაბეჭდის გადახედვა"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"ეკრანის ჩამწერი"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"უწყვეტი შეტყობინება ეკრანის ჩაწერის სესიისთვის"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"დაიწყოს ჩაწერა?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ბუშტი"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"გეხმარებათ ფოკუსირებაში ხმის ან ვიბრაციის უქონლობის გამო."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"იპყრობს თქვენს ყურადღებას ხმით ან ვიბრაციით."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"იპყრობს თქვენს ყურადღებას ხმით ან ვიბრაციით. მიმოწერები <xliff:g id="APP_NAME">%1$s</xliff:g>-ის ბუშტიდან, ნაგულისხმევად."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"იპყრობს თქვენს ყურადღებას ამ კონტენტის მოლივლივე მალსახმობით."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"გამოჩნდება საუბრის სექციის ზედა ნაწილში ბუშტის სახით."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"ყველა საუბარი <xliff:g id="APP_NAME_0">%1$s</xliff:g>-დან ნაგულისხმევად გამოჩნდება ბუშტის სახით. <xliff:g id="APP_NAME_1">%2$s</xliff:g>-ში მართვა."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"პარამეტრები"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"პრიორიტეტი"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ბოლო დროს გამოყენებული ბუშტები არ არის"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"სისტემური ნავიგაცია განახლდა. ცვლილებების შესატანად გადადით პარამეტრებზე."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"სისტემური ნავიგაციის გასაახლებლად გადადით პარამეტრებზე"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"მოლოდინის რეჟიმი"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"გადიდების გადაფარვის ფანჯარა"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"გადიდების ფანჯარა"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"გადიდების კონტროლის ფანჯარა"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"მართვის საშუალებები"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"აირჩიეთ მართვის საშუალებები ელკვების მენიუდან"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"მართვის საშუალებების გადაწყობა შეგიძლიათ მათი ჩავლებით გადატანით"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"მართვის ყველა საშუალება ამოიშალა"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"მართვის ყველა საშუალების სია ვერ ჩაიტვირთა."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"სხვა"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"მოწყობილ. მართვის საშუალებებში დამატება"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index dd8ecc4..d88e79d 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"USB арқылы зарядтау мүмкін емес"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Құрылғымен бірге берілген зарядтау құралын пайдаланыңыз"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Параметрлер"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Battery Saver функциясы қосылсын ба?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Battery Saver функциясын қосу керек пе?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Battery Saver туралы ақпарат"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Қосу"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Battery saver функциясын қосу"</string>
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Жадтағы шектеулі бос орынға байланысты скриншот сақталмайды"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Қолданба немесе ұйым скриншоттар түсіруге рұқсат етпейді"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Скриншотты жабу"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Скриншотты ашу"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"Экран жазғыш"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Экранды бейнеге жазудың ағымдағы хабарландыруы"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Жазу басталсын ба?"</string>
@@ -707,9 +708,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Көпіршік"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Хабарландырулар келгенде, дыбыс шықпайды не дірілдемейді"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Хабарландырулар келгенде, дыбыс шығады не дірілдейді"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Хабарландырулар келгенде, дыбыс шығады не дірілдейді <xliff:g id="APP_NAME">%1$s</xliff:g> чаттары әдепкісінше қалқымалы етіп көрсетіледі."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Осы мазмұнға бекітілген қалқымалы таңбашамен назарыңызды өзіне тартады."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Сөйлесу бөлімінің жоғарғы жағында және қалқыма хабар түрінде көрсетіледі."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Барлық <xliff:g id="APP_NAME_0">%1$s</xliff:g> әңгімесінің қалқыма хабарлары әдепкісінше көрсетіледі. <xliff:g id="APP_NAME_1">%2$s</xliff:g> арқылы басқарыңыз."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Параметрлер"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Маңыздылығы"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Жақындағы қалқыма хабарлар жоқ"</string>
@@ -903,7 +904,7 @@
     <string name="pip_phone_expand" msgid="1424988917240616212">"Жаю"</string>
     <string name="pip_phone_minimize" msgid="9057117033655996059">"Кішірейту"</string>
     <string name="pip_phone_close" msgid="8801864042095341824">"Жабу"</string>
-    <string name="pip_phone_settings" msgid="5687538631925004341">"Реттеулер"</string>
+    <string name="pip_phone_settings" msgid="5687538631925004341">"Параметрлер"</string>
     <string name="pip_phone_dismiss_hint" msgid="5825740708095316710">"Жабу үшін төмен қарай сүйреңіз"</string>
     <string name="pip_menu_title" msgid="6365909306215631910">"Mәзір"</string>
     <string name="pip_notification_title" msgid="8661573026059630525">"<xliff:g id="NAME">%s</xliff:g> \"суреттегі сурет\" режимінде"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Жүйе навигациясы жаңартылды. Өзгерту енгізу үшін \"Параметрлер\" бөліміне өтіңіз."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Жүйе навигациясын жаңарту үшін \"Параметрлер\" бөліміне өтіңіз."</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Күту режимі"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Ұлғайту терезесін қабаттастыру"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Ұлғайту терезесі"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Ұлғайту терезесінің басқару элементтері"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Басқару элементтері"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"\"Қуат\" мәзірінен пайдалануға болатын басқару элементтерін таңдаңыз."</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Басқару элементтерінің ретін өзгерту үшін оларды басып тұрып сүйреңіз."</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Барлық басқару элементтері өшірілді."</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Барлық басқару элементі тізімі жүктелмеді."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Басқа"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Құрылғыны басқару элементтеріне қосу"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index 53e9c0e..fb430a6 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"មិនអាច​រក្សាទុក​រូបថតអេក្រង់​បានទេ ​ដោយសារ​ទំហំផ្ទុក​មានកម្រិតទាប"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ការថត​រូបអេក្រង់​មិនត្រូវ​បាន​អនុញ្ញាត​ដោយ​កម្មវិធី​នេះ ឬ​ស្ថាប័ន​របស់អ្នក"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ច្រានចោល​រូបថត​អេក្រង់"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"បើក​រូបថត​អេក្រង់"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ការមើល​រូបថត​អេក្រង់​សាកល្បង"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"មុខងារថត​អេក្រង់"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ការជូនដំណឹង​ដែល​កំពុង​ដំណើរការ​សម្រាប់​រយៈពេលប្រើ​ការថត​សកម្មភាព​អេក្រង់"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ចាប់ផ្តើម​ថត​ឬ?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ពពុះ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ជួយឱ្យ​អ្នក​ផ្តោតអារម្មណ៍ ដោយមិនឮសំឡេង ឬ​ការញ័រ។"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ធ្វើឱ្យ​អ្នក​ចាប់អារម្មណ៍​តាមរយៈ​សំឡេង ឬ​ការញ័រ។"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"ធ្វើឱ្យ​អ្នក​ចាប់អារម្មណ៍​តាមរយៈ​សំឡេង ឬ​ការញ័រ។ ការសន្ទនា​ពី​ពពុះ <xliff:g id="APP_NAME">%1$s</xliff:g> តាម​លំនាំដើម​។"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ធ្វើឱ្យអ្នក​ចាប់អារម្មណ៍​ដោយប្រើ​ផ្លូវកាត់​អណ្ដែត​សម្រាប់ខ្លឹមសារនេះ។"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"បង្ហាញ​នៅខាងលើផ្នែកសន្ទនា និង​បង្ហាញជាពពុះ។"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"ការសន្ទនា​ទាំងអស់​ពី <xliff:g id="APP_NAME_0">%1$s</xliff:g> បង្ហាញជា​ពពុះតាមលំនាំដើម។ គ្រប់គ្រង​នៅក្នុង <xliff:g id="APP_NAME_1">%2$s</xliff:g>។"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ការកំណត់"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"អាទិភាព"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"មិនមាន​ពពុះ​ថ្មីៗ​ទេ"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"បានធ្វើ​បច្ចុប្បន្នភាព​ការរុករកក្នុង​ប្រព័ន្ធ។ ដើម្បីធ្វើការផ្លាស់ប្ដូរ សូមចូលទៅ​កាន់ការកំណត់។"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ចូល​ទៅកាន់​ការកំណត់ ដើម្បី​ធ្វើបច្ចុប្បន្នភាព​ការរុករក​ក្នុង​ប្រព័ន្ធ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ផ្អាក​ដំណើរការ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"វិនដូ​ត្រួតគ្នា​លើ​ការពង្រីក"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"វិនដូ​ការពង្រីក"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"វិនដូគ្រប់គ្រង​​ការពង្រីក"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"ការគ្រប់គ្រង"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ជ្រើសរើស​ការគ្រប់គ្រង ដើម្បី​ចូលប្រើ​ពីម៉ឺនុយ​ថាមពល"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ចុច​ឱ្យ​ជាប់ រួចអូស​ដើម្បី​រៀបចំ​ការគ្រប់គ្រង​ឡើងវិញ"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"បាន​លុបការគ្រប់គ្រងទាំងអស់ហើយ"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"មិនអាច​ផ្ទុក​បញ្ជី​នៃការគ្រប់គ្រង​ទាំងអស់​បានទេ។"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ផ្សេងៗ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"បញ្ចូល​ទៅក្នុងការ​គ្រប់គ្រង​ឧបករណ៍"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index 3b8d86e..f5569bb 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ಪರಿಮಿತ ಸಂಗ್ರಹಣೆ ಸ್ಥಳದ ಕಾರಣದಿಂದಾಗಿ ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಉಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಸಂಸ್ಥೆಯು ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳನ್ನು ತೆಗೆಯುವುದನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ವಜಾಗೊಳಿಸಿ"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ತೆರೆಯಿರಿ"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ಸ್ಕ್ರೀನ್‍ಶಾಟ್‍ನ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"ಸ್ಕ್ರೀನ್ ರೆಕಾರ್ಡರ್"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ಸ್ಕ್ರೀನ್ ರೆಕಾರ್ಡಿಂಗ್ ಸೆಶನ್‌ಗಾಗಿ ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಅಧಿಸೂಚನೆ"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ರೆಕಾರ್ಡಿಂಗ್ ಪ್ರಾರಂಭಿಸಬೇಕೆ?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ಬಬಲ್"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ಶಬ್ದ ಅಥವಾ ವೈಬ್ರೇಷನ್ ಇರದಂತೆ ನಿಮಗೆ ಗಮನಹರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ಧ್ವನಿ ಅಥವಾ ವೈಬ್ರೇಷನ್ ಮೂಲಕ ನಿಮ್ಮ ಗಮನವನ್ನು ಸೆಳೆಯುತ್ತದೆ."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"ಧ್ವನಿ ಅಥವಾ ವೈಬ್ರೇಷನ್ ಮೂಲಕ ನಿಮ್ಮ ಗಮನವನ್ನು ಸೆಳೆಯುತ್ತದೆ. ಡಿಫಾಲ್ಟ್ ಆಗಿ, <xliff:g id="APP_NAME">%1$s</xliff:g> ನ ಬಬಲ್ ಸಂಭಾಷಣೆಗಳು."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ಈ ವಿಷಯಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಿ ಕೊಂಡೊಯ್ಯುವ ಶಾರ್ಟ್‌ಕಟ್‌ ಕಡೆಗೆ ಗಮನ ಇರಿಸಿ."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"ಸಂಭಾಷಣೆ ವಿಭಾಗದ ಮೇಲ್ಬಾಗದಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ ಮತ್ತು ಬಬಲ್‌ನಂತೆ ಗೋಚರಿಸುತ್ತದೆ."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"ಡೀಫಾಲ್ಟ್ ಆಗಿ <xliff:g id="APP_NAME_0">%1$s</xliff:g> ನ ಎಲ್ಲಾ ಸಂಭಾಷಣೆಗಳನ್ನು ಬಬಲ್‌ ಆಗಿ ತೋರಿಸಿ. <xliff:g id="APP_NAME_1">%2$s</xliff:g> ನಲ್ಲಿ ನಿರ್ವಹಿಸಿ."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ಆದ್ಯತೆ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ಯಾವುದೇ ಇತ್ತೀಚಿನ ಬಬಲ್ಸ್ ಇಲ್ಲ"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರನ್ ಆಗುತ್ತಿವೆ"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"ಬ್ಯಾಟರಿ,ಡೇಟಾ ಬಳಕೆಯ ವಿವರಗಳಿಗಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"ಮೊಬೈಲ್ ಡೇಟಾ ಆಫ್ ಮಾಡಬೇಕೆ?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"ನೀವು <xliff:g id="CARRIER">%s</xliff:g> ಮೂಲಕ ಡೇಟಾ ಅಥವಾ ಇಂಟರ್ನೆಟ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ. ಇಂಟರ್ನೆಟ್ ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತದೆ."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"ನೀವು <xliff:g id="CARRIER">%s</xliff:g> ಮೂಲಕ ಡೇಟಾ ಅಥವಾ ಇಂಟರ್ನೆಟ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಇಂಟರ್ನೆಟ್, ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತದೆ."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"ನಿಮ್ಮ ವಾಹಕ"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"ಅನುಮತಿ ವಿನಂತಿಯನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಮರೆಮಾಚುತ್ತಿರುವ ಕಾರಣ, ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_2">%2$s</xliff:g> ಸ್ಲೈಸ್‌ಗಳನ್ನು ತೋರಿಸಲು <xliff:g id="APP_0">%1$s</xliff:g> ಅನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"ಸಿಸ್ಟಂ ನ್ಯಾವಿಗೇಷನ ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ಸಿಸ್ಟಂ ನ್ಯಾವಿಗೇಷನ್ ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ಸ್ಟ್ಯಾಂಡ್‌ಬೈ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ವರ್ಧನೆಯ ಓವರ್‌ಲೇ ವಿಂಡೋ"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"ವರ್ಧನೆಯ ವಿಂಡೋ"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"ವರ್ಧನೆಯ ವಿಂಡೋ ನಿಯಂತ್ರಣಗಳು"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"ನಿಯಂತ್ರಣಗಳು"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ಪವರ್ ಮೆನುವಿನಿಂದ ಪ್ರವೇಶಿಸಲು ನಿಯಂತ್ರಣಗಳನ್ನು ಆರಿಸಿ"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ನಿಯಂತ್ರಣಗಳನ್ನು ಮರುಹೊಂದಿಸಲು ಹೋಲ್ಡ್ ಮಾಡಿ ಮತ್ತು ಡ್ರ್ಯಾಗ್‌ ಮಾಡಿ"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"ಎಲ್ಲಾ ನಿಯಂತ್ರಣಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"ಎಲ್ಲಾ ನಿಯಂತ್ರಣಗಳ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲು ಆಗಲಿಲ್ಲ."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ಇತರ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ಸಾಧನ ನಿಯಂತ್ರಣಗಳಿಗೆ ಸೇರಿಸಿ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index daa8278..7c9f074 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"저장용량이 부족하여 스크린샷을 저장할 수 없습니다"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"앱이나 조직에서 스크린샷 촬영을 허용하지 않습니다."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"스크린샷 닫기"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"스크린샷 열기"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"스크린샷 미리보기"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"화면 녹화"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"화면 녹화 세션에 관한 지속적인 알림"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"녹화를 시작하시겠습니까?"</string>
@@ -384,7 +384,7 @@
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"이름이 없는 기기"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"전송 준비 완료"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"사용 가능한 기기가 없습니다."</string>
-    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi-Fi가 연결되어 있지 않음"</string>
+    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi-Fi가 연결되지 않음"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"밝기"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"자동"</string>
     <string name="quick_settings_inversion_label" msgid="5078769633069667698">"색상 반전"</string>
@@ -417,12 +417,12 @@
     <string name="quick_settings_night_secondary_label_on_at_sunset" msgid="3358706312129866626">"일몰에"</string>
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4063448287758262485">"일출까지"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="3584738542293528235">"<xliff:g id="TIME">%s</xliff:g>에"</string>
-    <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"<xliff:g id="TIME">%s</xliff:g>까지"</string>
+    <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"<xliff:g id="TIME">%s</xliff:g>에 꺼짐"</string>
     <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"어두운 테마"</string>
     <string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"절전 모드"</string>
     <string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"일몰에"</string>
     <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"일출까지"</string>
-    <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>에"</string>
+    <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>에 켜짐"</string>
     <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g>까지"</string>
     <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC 사용 중지됨"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"버블"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"소리나 진동 없이 집중할 수 있도록 도와줍니다"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"소리나 진동으로 알립니다."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"소리나 진동으로 알립니다. 기본적으로 <xliff:g id="APP_NAME">%1$s</xliff:g>의 대화는 대화창으로 표시됩니다."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"이 콘텐츠로 연결되는 플로팅 바로가기로 사용자의 주의를 끕니다."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"대화 섹션 상단에 대화창으로 표시"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"기본적으로 <xliff:g id="APP_NAME_0">%1$s</xliff:g>의 모든 대화가 대화창으로 표시됩니다. <xliff:g id="APP_NAME_1">%2$s</xliff:g>에서 관리하세요."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"설정"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"우선순위"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"최근에 닫은 대화창 없음"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"시스템 탐색이 업데이트되었습니다. 변경하려면 설정으로 이동하세요."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"설정으로 이동하여 시스템 탐색을 업데이트하세요."</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"대기"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"확대 오버레이 창"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"확대 창"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"확대 창 컨트롤"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"제어"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"전원 메뉴에서 액세스할 컨트롤을 선택합니다."</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"길게 누르고 드래그하여 컨트롤 재정렬"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"모든 컨트롤 삭제됨"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"전체 컨트롤 목록을 로드할 수 없습니다."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"기타"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"기기 컨트롤에 추가"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index ff614e5..1c8d529 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -33,13 +33,13 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"USB аркылуу кубатталбай жатат"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Түзмөгүңүз менен келген кубаттагычты колдонуңуз"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Жөндөөлөр"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Батареяны үнөмдөгүч режими күйгүзүлсүнбү?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Батареяны үнөмдөө режимин күйгүзөсүзбү?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Батареяны үнөмдөгүч режими жөнүндө маалымат"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Күйгүзүү"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Батареяны үнөмдөгүч режимин күйгүзүү"</string>
     <string name="status_bar_settings_settings_button" msgid="534331565185171556">"Жөндөөлөр"</string>
     <string name="status_bar_settings_wifi_button" msgid="7243072479837270946">"Wi‑Fi"</string>
-    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"Экрандын авто-айлануусу"</string>
+    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"Экранды авто буруу"</string>
     <string name="status_bar_settings_mute_label" msgid="914392730086057522">"ҮНСҮЗ"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="2151934479226017725">"АВТО"</string>
     <string name="status_bar_settings_notifications" msgid="5285316949980621438">"Билдирмелер"</string>
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Сактагычта бош орун аз болгондуктан, скриншот сакталбай жатат"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Скриншот тартууга колдонмо же ишканаңыз тыюу салган."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Скриншотту четке кагуу"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Скриншотту ачуу"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"экрандан видео жаздырып алуу"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Экранды жаздыруу сеансы боюнча учурдагы билдирме"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Жаздырып башталсынбы?"</string>
@@ -355,8 +356,8 @@
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"Угуу аппараттары"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Күйгүзүлүүдө…"</string>
     <string name="quick_settings_brightness_label" msgid="680259653088849563">"Жарыктыгы"</string>
-    <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Авто айлануу"</string>
-    <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Экрандын авто-айлануусу"</string>
+    <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Авто буруу"</string>
+    <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Экранды авто буруу"</string>
     <string name="accessibility_quick_settings_rotation_value" msgid="2916484894750819251">"<xliff:g id="ID_1">%s</xliff:g> режими"</string>
     <string name="quick_settings_rotation_locked_label" msgid="4420863550666310319">"Буруу аракети кулпуланган"</string>
     <string name="quick_settings_rotation_locked_portrait_label" msgid="1194988975270484482">"Тигинен"</string>
@@ -430,8 +431,8 @@
     <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Экранды жаздыруу"</string>
     <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Баштадык"</string>
     <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Токтотуу"</string>
-    <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Колдонмолорду которуштуруу үчүн өйдө сүрүңүз"</string>
-    <string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Колдонмолорду тез которуштуруу үчүн оңго сүйрөңүз"</string>
+    <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Башка колдонмого которулуу үчүн,, өйдө сүрүңүз"</string>
+    <string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Колдонмолорду тез которуштуруу үчүн, оңго сүйрөңүз"</string>
     <string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Сереп салууну өчүрүү/күйгүзүү"</string>
     <string name="expanded_header_battery_charged" msgid="5307907517976548448">"Кубатталды"</string>
     <string name="expanded_header_battery_charging" msgid="1717522253171025549">"Кубатталууда"</string>
@@ -707,9 +708,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Көбүк"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Үн же дирилдөөсүз ой топтоого жардам берет."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Билдирүүдөн үн чыгат же дирилдейт."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Билдирүүдөн үн чыгат же дирилдейт. <xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосундагы жазышуулар демейки жөндөө боюнча калкып чыкма билдирмелер болуп көрүнөт."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Калкыма ыкчам баскыч менен көңүлүңүздү бул мазмунга буруп турат."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Жазышуу бөлүмүнүн жогорку жагында көрсөтүлүп, калкып чыкма билдирме катары пайда болот."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Демейки жөндөө боюнча <xliff:g id="APP_NAME_0">%1$s</xliff:g> колдонмосунун бардык жазышуулары калкып чыкма билдирме болуп көрүнөт. <xliff:g id="APP_NAME_1">%2$s</xliff:g> колдонмосунда башкаруу."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Жөндөөлөр"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Маанилүүлүгү"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Акыркы калкып чыкма билдирмелер жок"</string>
@@ -962,7 +963,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Фондо иштеп жаткан колдонмолор"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Батареянын кубаты жана трафиктин көлөмү жөнүндө билүү үчүн таптап коюңуз"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Мобилдик Интернетти өчүрөсүзбү?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"<xliff:g id="CARRIER">%s</xliff:g> байланыш оператору аркылуу дайындарга же Интернетке кирүү мүмкүнчүлүгүңүз болбойт. Интернетке Wi-Fi аркылуу гана кире аласыз."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"<xliff:g id="CARRIER">%s</xliff:g> байланыш оператору аркылуу Интернетке кире албай каласыз. Интернетке Wi-Fi аркылуу гана кирүүгө болот."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"байланыш операторуңуз"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Уруксат берүү сурамыңыз көрүнбөй калгандыктан, Жөндөөлөр жообуңузду ырастай албай жатат."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> колдонмосуна <xliff:g id="APP_2">%2$s</xliff:g> үлгүлөрүн көрсөтүүгө уруксат берилсинби?"</string>
@@ -982,7 +983,7 @@
     <string name="sensor_privacy_mode" msgid="4462866919026513692">"Сенсорлорду өчүрүү"</string>
     <string name="device_services" msgid="1549944177856658705">"Түзмөк кызматтары"</string>
     <string name="music_controls_no_title" msgid="4166497066552290938">"Аталышы жок"</string>
-    <string name="restart_button_description" msgid="6916116576177456480">"Бул колдонмону өчүрүп күйгүзүп, толук экранга өтүү үчүн таптап коюңуз."</string>
+    <string name="restart_button_description" msgid="6916116576177456480">"Бул колдонмону өчүрүп күйгүзүп, толук экранга өтүү үчүн, таптап коюңуз."</string>
     <string name="bubbles_settings_button_description" msgid="7324245408859877545">"<xliff:g id="APP_NAME">%1$s</xliff:g> калкып чыкма билдирмелер жөндөөлөрү"</string>
     <string name="manage_bubbles_text" msgid="6856830436329494850">"Башкаруу"</string>
     <string name="bubble_content_description_single" msgid="5175160674436546329">"<xliff:g id="APP_NAME">%2$s</xliff:g> колдонмосунан <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string>
@@ -1002,13 +1003,23 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Тутум чабыттоосу жаңырды. Өзгөртүү үчүн, Жөндөөлөргө өтүңүз."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Тутум чабыттоосун жаңыртуу үчүн Жөндөөлөргө өтүңүз"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Көшүү режими"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Чоңойтуу терезесин үстүнө коюу"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Чоңойтуу терезеси"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Чоңойтуу терезесин башкаруу каражаттары"</string>
     <string name="quick_controls_title" msgid="6839108006171302273">"Түзмөктү көзөмөлдөө элементтери"</string>
     <string name="quick_controls_subtitle" msgid="1667408093326318053">"Байланыштырылган түзмөктөрүңүз үчүн көзөмөлдөрдү кошуңуз"</string>
     <string name="quick_controls_setup_title" msgid="8901436655997849822">"Түзмөктү көзөмөлдөө элементтерин жөндөө"</string>
-    <string name="quick_controls_setup_subtitle" msgid="1681506617879773824">"Көзөмөлдөргө өтүү үчүн күйгүзүү/өчүрүү баскычын басып туруңуз"</string>
+    <string name="quick_controls_setup_subtitle" msgid="1681506617879773824">"Көзөмөлдөргө өтүү үчүн, күйгүзүү/өчүрүү баскычын басып туруңуз"</string>
     <string name="controls_providers_title" msgid="6879775889857085056">"Көзөмөлдөрдү кошуу үчүн колдонмо тандаңыз"</string>
     <plurals name="controls_number_of_favorites" formatted="false" msgid="1057347832073807380">
       <item quantity="other"><xliff:g id="NUMBER_1">%s</xliff:g> көзөмөл кошулду.</item>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Башкаруу элементтери"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Күйгүзүү/өчүрүү баскычынын менюсу үчүн көзөмөлдөрдү тандаңыз"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Башкаруу элементтеринин иретин өзгөртүү үчүн кармап туруп, сүйрөңүз"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Бардык башкаруу элементтери өчүрүлдү"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Бардык көзөмөлдөрдүн тизмеси жүктөлгөн жок."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Башка"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Түзмөктү көзөмөлдөө элементтерине кошуу"</string>
diff --git a/packages/SystemUI/res/values-land/config.xml b/packages/SystemUI/res/values-land/config.xml
index da5819c..2f7fbaf 100644
--- a/packages/SystemUI/res/values-land/config.xml
+++ b/packages/SystemUI/res/values-land/config.xml
@@ -34,4 +34,7 @@
 
     <!-- Max number of columns for quick controls area -->
     <integer name="controls_max_columns">4</integer>
+
+    <!-- Max number of columns for power menu -->
+    <integer name="power_menu_max_columns">4</integer>
 </resources>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 2250077..0e6f6e5 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ບໍ່ສາມາດຖ່າຍຮູບໜ້າຈໍໄດ້ເນື່ອງຈາກພື້ນທີ່ຈັດເກັບຂໍ້ມູນມີຈຳກັດ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ແອັບ ຫຼື ອົງກອນຂອງທ່ານບໍ່ອະນຸຍາດໃຫ້ຖ່າຍຮູບໜ້າຈໍ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ປິດຮູບໜ້າຈໍ"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ເປີດຮູບໜ້າຈໍ"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"ໂປຣແກຣມບັນທຶກໜ້າຈໍ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ການແຈ້ງເຕືອນສຳລັບເຊດຊັນການບັນທຶກໜ້າຈໍໃດໜຶ່ງ"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ເລີ່ມການບັນທຶກບໍ?"</string>
@@ -707,9 +708,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ຟອງ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ຊ່ວຍທ່ານມີສະມາທິໂດຍບໍ່ໃຊ້ສຽງ ຫຼື ການສັ່ນເຕືອນ."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ດຶງຄວາມສົນໃຈຂອງທ່ານດ້ວຍສຽງ ຫຼື ການສັ່ນເຕືອນ."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"ດຶງຄວາມສົນໃຈຂອງທ່ານດ້ວຍສຽງ ຫຼື ການສັ່ນເຕືອນ. ການສົນທະນາຈາກ <xliff:g id="APP_NAME">%1$s</xliff:g> ຈະເປັນ bubble ຕາມຄ່າເລີ່ມຕົ້ນ."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ເອົາໃຈໃສ່ທາງລັດແບບລອຍໄປຫາເນື້ອຫານີ້."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"ສະແດງຢູ່ເທິງສຸດຂອງພາກສ່ວນການສົນທະນາ ແລະ ສະແດງເປັນຟອງ."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"ການສົນທະນາທັງໝົດຈາກ <xliff:g id="APP_NAME_0">%1$s</xliff:g> ທີ່ສະແດງເປັນຟອງຕາມຄ່າເລີ່ມຕົ້ນ. ຈັດການໃນ <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ຕັ້ງຄ່າ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ຄວາມສຳຄັນ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ບໍ່ມີຟອງຫຼ້າສຸດ"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"ອັບເດດການນຳທາງລະບົບແລ້ວ. ເພື່ອປ່ຽນແປງ, ກະລຸນາໄປທີ່ການຕັ້ງຄ່າ."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ໄປທີ່ການຕັ້ງຄ່າເພື່ອອັບເດດການນຳທາງລະບົບ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ສະແຕນບາຍ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ໜ້າຈໍວາງທັບການຂະຫຍາຍ"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"ໜ້າຈໍການຂະຫຍາຍ"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"ການຄວບຄຸມໜ້າຈໍການຂະຫຍາຍ"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"ການຄວບຄຸມ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ເລືອກການຄວບຄຸມເພື່ອເຂົ້າເຖິງຈາກເມນູເປີດປິດ"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ກົດຄ້າງໄວ້ເພື່ອຈັດຮຽງການຄວບຄຸມຄືນໃໝ່"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"ລຶບການຄວບຄຸມທັງໝົດອອກແລ້ວ"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"ບໍ່ສາມາດໂຫຼດລາຍຊື່ການຄວບຄຸມທັງໝົດໄດ້."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ອື່ນໆ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ເພີ່ມໃສ່ການຄວບຄຸມອຸປະກອນ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index ffe8619..a4770f1 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Negalima išsaugoti ekrano kopijos dėl ribotos saugyklos vietos"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Jūsų organizacijoje arba naudojant šią programą neleidžiama daryti ekrano kopijų"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Praleisti ekrano kopiją"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Atidaryti ekrano kopiją"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ekrano kopijos peržiūra"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekrano vaizdo įrašytuvas"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Šiuo metu rodomas ekrano įrašymo sesijos pranešimas"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Pradėti įrašymą?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Debesėlis"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Padeda atkreipti dėmesį be garso arba vibravimo."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Atkreipia dėmesį garsu arba vibravimu."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Atkreipia dėmesį garsu arba vibravimu. Pokalbiai iš „<xliff:g id="APP_NAME">%1$s</xliff:g>“ debesėlio pagal numatytuosius nustatymus."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Naudojant slankųjį spartųjį klavišą lengviau sutelkti dėmesį į šį turinį."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Rodoma pokalbio skilties viršuje kaip burbulas."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Visi pokalbiai iš „<xliff:g id="APP_NAME_0">%1$s</xliff:g>“ burbulo pagal numatytuosius nustatymus. Tvarkyti naudojant „<xliff:g id="APP_NAME_1">%2$s</xliff:g>“."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Nustatymai"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritetas"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nėra naujausių burbulų"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Sistemos naršymo funkcijos atnaujintos. Jei norite pakeisti, eikite į skiltį „Nustatymai“."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Eikite į skiltį „Nustatymai“, kad atnaujintumėte sistemos naršymo funkcijas"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Budėjimo laikas"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Didinimo perdangos langas"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Didinimo langas"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Didinimo lango valdikliai"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Valdikliai"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Pasirinkite valdiklius, kuriuos norite pasiekti įjungimo meniu"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Norėdami pertvarkyti valdiklius, vilkite laikydami nuspaudę"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Visi valdikliai pašalinti"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Nepavyko įkelti visų valdiklių sąrašo."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Kita"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Pridėjimas prie įrenginio valdiklių"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index adc7c1f..c1fe506 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Nevar saglabāt ekrānuzņēmumu, jo krātuvē nepietiek vietas."</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Lietotne vai jūsu organizācija neatļauj veikt ekrānuzņēmumus."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Nerādīt ekrānuzņēmumu"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Atvērt ekrānuzņēmumu"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ekrānuzņēmuma priekšskatījums"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekrāna ierakstītājs"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Aktīvs paziņojums par ekrāna ierakstīšanas sesiju"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Vai sākt ierakstīšanu?"</string>
@@ -710,9 +710,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Burbulis"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Palīdz jums koncentrēties, nenovēršot uzmanību ar skaņu vai vibrāciju."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Jūsu uzmanība tiek piesaistīta ar skaņas vai vibrācijas signālu."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Jūsu uzmanība tiek piesaistīta ar skaņas vai vibrācijas signālu. Sarunas no lietotnes <xliff:g id="APP_NAME">%1$s</xliff:g> pēc noklusējuma tiek parādītas burbulī."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Piesaista jūsu uzmanību, rādot peldošu saīsni uz šo saturu."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Tiek rādīta sarunas sadaļas augšdaļā kā burbulis."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Pēc noklusējuma visas sarunas no lietotnes <xliff:g id="APP_NAME_0">%1$s</xliff:g> rādīt burbuļos. Pārvaldīt lietotnē <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Iestatījumi"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritārs"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nav nesen aizvērtu burbuļu"</string>
@@ -1007,6 +1007,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Sistēmas navigācija ir atjaunināta. Lai veiktu izmaiņas, atveriet iestatījumus."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Atveriet iestatījumus, lai atjauninātu sistēmas navigāciju"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Gaidstāve"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Palielināšanas pārklājuma logs"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Palielināšanas logs"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Palielināšanas loga vadīklas"</string>
@@ -1022,10 +1032,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Vadīklas"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Izvēlieties vadīklas, kurām piekļūt no barošanas izvēlnes"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Lai pārkārtotu vadīklas, turiet un velciet tās"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Visas vadīklas ir noņemtas"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Nevarēja ielādēt sarakstu ar visām vadīklām."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Cita"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Pievienošana ierīces vadīklām"</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index c41cc5a..ed2ec3e 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Не може да се полни преку USB"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Користете го полначот што дојде со вашиот уред"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Поставки"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Да се вклучи штедачот на батерија?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Да се вклучи „Штедачот на батерија“?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"За „Штедачот на батерија“"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Вклучи"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Да се вклучи штедачот на батерија?"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Сликата од екранот не може да се зачува поради ограничена меморија"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Апликацијата или вашата организација не дозволува снимање слики од екранот"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Отфрлете ја сликата од екранот"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Отворете ја сликата од екранот"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Преглед на слика од екранот"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Снимач на екран"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Тековно известување за сесија за снимање на екранот"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Да се започне со снимање?"</string>
@@ -210,7 +210,7 @@
     <string name="accessibility_three_bars" msgid="819417766606501295">"Три цртички."</string>
     <string name="accessibility_signal_full" msgid="5920148525598637311">"Полн сигнал."</string>
     <string name="accessibility_desc_on" msgid="2899626845061427845">"Вклучена."</string>
-    <string name="accessibility_desc_off" msgid="8055389500285421408">"Исклучена."</string>
+    <string name="accessibility_desc_off" msgid="8055389500285421408">"Исклучено."</string>
     <string name="accessibility_desc_connected" msgid="3082590384032624233">"Поврзана."</string>
     <string name="accessibility_desc_connecting" msgid="8011433412112903614">"Се поврзува."</string>
     <string name="data_connection_gprs" msgid="2752584037409568435">"GPRS"</string>
@@ -231,7 +231,7 @@
     <string name="accessibility_cell_data_on" msgid="691666434519443162">"Мобилниот интернет е вклучен"</string>
     <string name="cell_data_off_content_description" msgid="9165555931499878044">"Мобилниот интернет е исклучен"</string>
     <string name="not_default_data_content_description" msgid="6757881730711522517">"Не е поставен да користи интернет"</string>
-    <string name="cell_data_off" msgid="4886198950247099526">"Исклучи"</string>
+    <string name="cell_data_off" msgid="4886198950247099526">"Исклучено"</string>
     <string name="accessibility_bluetooth_tether" msgid="6327291292208790599">"Се поврзува со Bluetooth."</string>
     <string name="accessibility_airplane_mode" msgid="1899529214045998505">"Авионски режим."</string>
     <string name="accessibility_vpn_on" msgid="8037549696057288731">"VPN е вклучена."</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Балонче"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ви помага да се концентрирате без звук или вибрации."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Ви го привлекува вниманието со звук или вибрации."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Ви го привлекува вниманието со звук или вибрации. Стандардно, разговорите од <xliff:g id="APP_NAME">%1$s</xliff:g> се во балончиња."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Ви го задржува вниманието со лебдечка кратенка на содржинава."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Се појавува на горниот дел од разговорот и изгледа како балонче."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Сите разговори од <xliff:g id="APP_NAME_0">%1$s</xliff:g> стандардно се во балончиња. Управувајте во <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Поставки"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Приоритет"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Нема неодамнешни балончиња"</string>
@@ -758,7 +758,7 @@
       <item quantity="one">%d минута</item>
       <item quantity="other">%d минути</item>
     </plurals>
-    <string name="battery_panel_title" msgid="5931157246673665963">"Користење батерија"</string>
+    <string name="battery_panel_title" msgid="5931157246673665963">"Искор. на батерија"</string>
     <string name="battery_detail_charging_summary" msgid="8821202155297559706">"Штедачот на батерија не е достапен при полнење"</string>
     <string name="battery_detail_switch_title" msgid="6940976502957380405">"Штедач на батерија"</string>
     <string name="battery_detail_switch_summary" msgid="3668748557848025990">"Ја намалува изведбата и податоците во заднина"</string>
@@ -961,7 +961,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Замени"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Апликациите се извршуваат во заднина"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Допрете за детали за батеријата и потрошениот сообраќај"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Да се исклучи ли мобилниот интернет?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Да се исклучи мобилниот интернет?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Нема да имате пристап до податоците или интернетот преку <xliff:g id="CARRIER">%s</xliff:g>. Интернетот ќе биде достапен само преку Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"вашиот оператор"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Бидејќи апликацијата го прикрива барањето за дозвола, „Поставките“ не може да го потврдат вашиот одговор."</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Навигацијата на системот е ажурирана. За да извршите промени, одете во „Поставки“."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Одете во „Поставки“ за да ја ажурирате навигацијата на системот"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Подготвеност"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Прозорец за преклопување на зголемувањето"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Прозорец за зголемување"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Контроли на прозорец за зголемување"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Контроли"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Изберете ги контролите до кои ќе пристапувате од менито за вклучување"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Задржете и влечете за да ги преуредите контролите"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Сите контроли се отстранети"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Не можеше да се вчита списокот со сите контроли."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Друга"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Додајте во контроли за уредите"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 2d53c8d..99488b2 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"സ്‌റ്റോറേജ് ഇടം പരിമിതമായതിനാൽ സ്‌ക്രീൻഷോട്ട് സംരക്ഷിക്കാനാകുന്നില്ല"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"സ്ക്രീൻഷോട്ടുകൾ എടുക്കുന്നത് ആപ്പോ നിങ്ങളുടെ സ്ഥാപനമോ അനുവദിക്കുന്നില്ല"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"സ്ക്രീൻഷോട്ട് ഡിസ്‌മിസ് ചെയ്യുക"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"സ്ക്രീൻഷോട്ട് തുറക്കുക"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"സ്‌ക്രീൻഷോട്ട് പ്രിവ്യു"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"സ്ക്രീൻ റെക്കോർഡർ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ഒരു സ്ക്രീൻ റെക്കോർഡിംഗ് സെഷനായി നിലവിലുള്ള അറിയിപ്പ്"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"റെക്കോർഡിംഗ് ആരംഭിക്കണോ?"</string>
@@ -500,7 +500,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"പ്രവർത്തനവും പശ്ചാത്തല ഡാറ്റയും കുറയ്‌ക്കുന്നു"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"ബാറ്ററി ലാഭിക്കൽ ഓഫാക്കുക"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"റെക്കോർഡ് ചെയ്യുമ്പോഴോ കാസ്‌റ്റ് ചെയ്യുമ്പോഴോ നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് പ്ലേ ചെയ്യുന്നതോ നിങ്ങളുടെ സ്‌ക്രീനിൽ ദൃശ്യമാകുന്നതോ ആയ എല്ലാ വിവരങ്ങളിലേക്കും <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> എന്നതിന് ആക്‌സസ് ഉണ്ടായിരിക്കും. നിങ്ങൾ പ്ലേ ചെയ്യുന്ന ഒഡിയോ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ, പേയ്‌മെന്റ് വിശദാംശങ്ങൾ, പാസ്‌വേഡുകൾ എന്നിവ പോലുള്ള വിവരങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു."</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"റെക്കോർഡ് ചെയ്യുമ്പോഴോ കാസ്‌റ്റ് ചെയ്യുമ്പോഴോ നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് പ്ലേ ചെയ്യുന്നതോ നിങ്ങളുടെ സ്‌ക്രീനിൽ ദൃശ്യമാകുന്നതോ ആയ എല്ലാ വിവരങ്ങളിലേക്കും ഈ ഫംഗ്‌ഷൻ ലഭ്യമാക്കുന്ന സേവനത്തിന് ആക്‌സസ് ഉണ്ടായിരിക്കും. നിങ്ങൾ പ്ലേ ചെയ്യുന്ന ഒഡിയോ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ, പേയ്‌മെന്റ് വിശദാംശങ്ങൾ, പാസ്‌വേഡുകൾ എന്നിവ പോലുള്ള വിവരങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു."</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"റെക്കോർഡ് ചെയ്യുമ്പോഴോ കാസ്‌റ്റ് ചെയ്യുമ്പോഴോ നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് പ്ലേ ചെയ്യുന്നതോ നിങ്ങളുടെ സ്‌ക്രീനിൽ ദൃശ്യമാകുന്നതോ ആയ എല്ലാ വിവരങ്ങളിലേക്കും ഈ ഫംഗ്‌ഷൻ ലഭ്യമാക്കുന്ന സേവനത്തിന് ആക്‌സസ് ഉണ്ടായിരിക്കും. നിങ്ങൾ പ്ലേ ചെയ്യുന്ന ഓഡിയോ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ, പേയ്‌മെന്റ് വിശദാംശങ്ങൾ, പാസ്‌വേഡുകൾ എന്നിവ പോലുള്ള വിവരങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു."</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"റെക്കോർഡ് ചെയ്യൽ അല്ലെങ്കിൽ കാസ്റ്റ് ചെയ്യൽ ആരംഭിക്കണോ?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ഉപയോഗിച്ച് റെക്കോർഡ് ചെയ്യൽ അല്ലെങ്കിൽ കാസ്‌റ്റ് ചെയ്യൽ ആരംഭിക്കണോ?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"വീണ്ടും കാണിക്കരുത്"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ബബ്ൾ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ശബ്‌ദമോ വൈബ്രേഷനോ ഇല്ലാതെ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ശബ്‌ദമോ വെെബ്രേഷനോ ഉപയോഗിച്ച് നിങ്ങളുടെ ശ്രദ്ധ ക്ഷണിക്കുന്നു."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ഈ ഉള്ളടക്കത്തിലേക്ക് ഒരു ഫ്ലോട്ടിംഗ് കുറുക്കുവഴി ഉപയോഗിച്ച് നിങ്ങളുടെ ശ്രദ്ധ നിലനിർത്തുന്നു."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"സംഭാഷണ വിഭാഗത്തിന് മുകളിൽ ബബിളായി ദൃശ്യമാവുന്നു."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> എന്നതിൽ നിന്നുള്ള എല്ലാ സംഭാഷണങ്ങളും ഡിഫോൾട്ടായി ബബിളാവുന്നു. <xliff:g id="APP_NAME_1">%2$s</xliff:g> എന്നതിൽ മാനേജ് ചെയ്യുക."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ക്രമീകരണം"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"മുൻഗണന"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"അടുത്തിടെയുള്ള ബബിളുകൾ ഒന്നുമില്ല"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"സിസ്‌റ്റം നാവിഗേഷൻ അപ്‌ഡേറ്റ് ചെയ്‌തു. മാറ്റങ്ങൾ വരുത്താൻ ക്രമീകരണത്തിലേക്ക് പോവുക."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"സിസ്‌റ്റം നാവിഗേഷൻ അപ്‌ഡേറ്റ് ചെയ്യാൻ ക്രമീകരണത്തിലേക്ക് പോവുക"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"സ്‌റ്റാൻഡ്‌ബൈ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"മാഗ്നിഫിക്കേഷൻ ഓവർലേ വിൻഡോ"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"മാഗ്നിഫിക്കേഷൻ വിൻഡോ"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"മാഗ്നിഫിക്കേഷൻ വിൻഡോ നിയന്ത്രണങ്ങൾ"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"നിയന്ത്രണങ്ങൾ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"പവർ മെനുവിൽ നിന്ന് ആക്സസ് ചെയ്യേണ്ട നിയന്ത്രണങ്ങൾ തിരഞ്ഞെടുക്കുക"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"നിയന്ത്രണങ്ങൾ പുനഃക്രമീകരിക്കാൻ പിടിച്ച് വലിച്ചിടുക"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"എല്ലാ നിയന്ത്രണങ്ങളും നീക്കം ചെയ്തു"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"എല്ലാ നിയന്ത്രണങ്ങളുടെയും ലിസ്റ്റ് ലോഡ് ചെയ്യാനായില്ല."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"മറ്റുള്ളവ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ഉപകരണ നിയന്ത്രണങ്ങളിലേക്ക് ചേർക്കുക"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index b4bac5f..6cba12e 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"USB-р цэнэглэх боломжгүй байна"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Төхөөрөмждөө дагалдаж ирсэн цэнэглэгчийг ашиглах"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Тохиргоо"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Тэжээл хэмнэгчийг асаах уу?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Батарей хэмнэгчийг асаах уу?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Батарей хэмнэгчийн тухай"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Асаах"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Тэжээл хэмнэгчийг асаах"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Сангийн багтаамж бага байгаа тул дэлгэцээс дарсан зургийг хадгалах боломжгүй байна"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Таны апп, байгууллагад дэлгэцийн зураг авахыг зөвшөөрдөггүй"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Дэлгэцийн агшныг хаах"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Дэлгэцийн агшныг нээх"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Дэлгэцийн агшныг урьдчилан үзэх"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Дэлгэцийн үйлдэл бичигч"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Дэлгэц бичих горимын үргэлжилж буй мэдэгдэл"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Бичлэгийг эхлүүлэх үү?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Бөмбөлөг"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Дуу эсвэл чичиргээгүйгээр танд төвлөрөхөд тусална."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Дуу эсвэл чичиргээгүйгээр таны анхаарлыг татна."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Дуу эсвэл чичиргээгээр таны анхаарлыг татна. <xliff:g id="APP_NAME">%1$s</xliff:g>-н харилцан яриаг өгөгдмөл тохиргоогоор бөмбөлөг болгоно."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Энэ контентын хөвөн гарч ирэх товчлолтойгоор таны анхаарлыг татдаг."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Харилцан ярианы хэсгийн дээд талд, бөмбөлөг хэлбэрээр харагдана."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>-н бүх харилцан яриаг өгөгдмөл тохиргоогоор бөмбөлөг болгоно. <xliff:g id="APP_NAME_1">%2$s</xliff:g>-д удирдана уу."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Тохиргоо"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Ач холбогдол"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Саяхны бөмбөлөг алга байна"</string>
@@ -847,7 +847,7 @@
     <string name="right_keycode" msgid="2480715509844798438">"Баруун түлхүүрийн код"</string>
     <string name="left_icon" msgid="5036278531966897006">"Зүүн дүрс тэмдэг"</string>
     <string name="right_icon" msgid="1103955040645237425">"Баруун дүрс тэмдэг"</string>
-    <string name="drag_to_add_tiles" msgid="8933270127508303672">"Хавтанд нэмэхийн тулд дараад чирэх"</string>
+    <string name="drag_to_add_tiles" msgid="8933270127508303672">"Хавтан нэмэхийн тулд дараад чирэх"</string>
     <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Хавтангуудыг дахин засварлахын тулд дараад чирнэ үү"</string>
     <string name="drag_to_remove_tiles" msgid="4682194717573850385">"Устгахын тулд энд зөөнө үү"</string>
     <string name="drag_to_remove_disabled" msgid="933046987838658850">"Танд хамгийн багадаа <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> хавтан шаардлагатай"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Системийн навигацыг шинэчиллээ. Өөрчлөхийн тулд Тохиргоо руу очно уу."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Системийн навигацыг шинэчлэхийн тулд Тохиргоо руу очно уу"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Зогсолтын горим"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Томруулалтыг давхарласан цонх"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Томруулалтын цонх"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Томруулалтын цонхны хяналт"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Хяналт"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Тэжээлийн цэсээс хандах хяналтуудыг сонгоно уу"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Хяналтуудыг дахин засварлахын тулд дараад чирнэ үү"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Бүх хяналтыг хассан"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Бүх хяналтын жагсаалтыг ачаалж чадсангүй."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Бусад"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Төхөөрөмжийн хяналт руу нэмэх"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index de4f39f..e33d8d7 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -28,7 +28,7 @@
     <string name="battery_low_percent_format" msgid="4276661262843170964">"<xliff:g id="PERCENTAGE">%s</xliff:g> शिल्लक"</string>
     <string name="battery_low_percent_format_hybrid" msgid="3985614339605686167">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> बाकी, तुमच्या वापरावर आधारित सुमारे <xliff:g id="TIME">%2$s</xliff:g> शिल्लक"</string>
     <string name="battery_low_percent_format_hybrid_short" msgid="5917433188456218857">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> बाकी, सुमारे <xliff:g id="TIME">%2$s</xliff:g> शिल्लक"</string>
-    <string name="battery_low_percent_format_saver_started" msgid="4968468824040940688">"<xliff:g id="PERCENTAGE">%s</xliff:g> शिल्लक. बॅटरी सेव्‍हर चालू आहे."</string>
+    <string name="battery_low_percent_format_saver_started" msgid="4968468824040940688">"<xliff:g id="PERCENTAGE">%s</xliff:g> शिल्लक. बॅटरी सेव्‍हर सुरू आहे."</string>
     <string name="invalid_charger" msgid="4370074072117767416">"USB द्वारे चार्ज करू शकत नाही. तुमच्या डिव्हाइससह आलेल्‍या चार्जरचा वापर करा."</string>
     <string name="invalid_charger_title" msgid="938685362320735167">"USB द्वारे चार्ज होऊ शकत नाही"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"तुमच्या डिव्हाइससह आलेल्या चार्जरचा वापर करा"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"मर्यादित स्टोरेज जागेमुळे स्क्रीनशॉट सेव्ह करू शकत नाही"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"अ‍ॅप किंवा आपल्या संस्थेद्वारे स्क्रीनशॉट घेण्याची अनुमती नाही"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"स्क्रीनशॉट डिसमिस करा"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"स्क्रीनशॉट उघडा"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"स्क्रीनशॉटचे पूर्वावलोकन"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"स्क्रीन रेकॉर्डर"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"स्क्रीन रेकॉर्ड सत्रासाठी सुरू असलेली सूचना"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"रेकॉर्डिंग सुरू करायचे आहे का?"</string>
@@ -228,7 +228,7 @@
     <string name="accessibility_data_connection_wifi" msgid="4422160347472742434">"वाय-फाय"</string>
     <string name="accessibility_no_sim" msgid="1140839832913084973">"सिम नाही."</string>
     <string name="accessibility_cell_data" msgid="172950885786007392">"मोबाइल डेटा"</string>
-    <string name="accessibility_cell_data_on" msgid="691666434519443162">"मोबाइल डेटा चालू आहे"</string>
+    <string name="accessibility_cell_data_on" msgid="691666434519443162">"मोबाइल डेटा सुरू आहे"</string>
     <string name="cell_data_off_content_description" msgid="9165555931499878044">"मोबाइल डेटा बंद आहे"</string>
     <string name="not_default_data_content_description" msgid="6757881730711522517">"डेटा वापरण्यासाठी सेट केलेले नाही"</string>
     <string name="cell_data_off" msgid="4886198950247099526">"बंद"</string>
@@ -352,7 +352,7 @@
     <string name="quick_settings_bluetooth_secondary_label_audio" msgid="780333390310051161">"ऑडिओ"</string>
     <string name="quick_settings_bluetooth_secondary_label_headset" msgid="2332093067553000852">"हेडसेट"</string>
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"इनपुट"</string>
-    <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"श्रवण यंत्रे"</string>
+    <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"श्रवणयंत्रे"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"सुरू करत आहे…"</string>
     <string name="quick_settings_brightness_label" msgid="680259653088849563">"चमक"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ऑटो-रोटेट"</string>
@@ -384,10 +384,10 @@
     <string name="quick_settings_cast_device_default_name" msgid="6988469571141331700">"निनावी डिव्हाइस"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2580520859212250265">"कास्ट करण्यास तयार"</string>
     <string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"कोणतेही डिव्हाइसेस उपलब्ध नाहीत"</string>
-    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"वाय-फाय कनेक्ट केलेले नाही"</string>
+    <string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"वाय-फाय नाही"</string>
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"चमक"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"स्वयंचलित"</string>
-    <string name="quick_settings_inversion_label" msgid="5078769633069667698">"रंग उलटे लावा"</string>
+    <string name="quick_settings_inversion_label" msgid="5078769633069667698">"रंग उलटे करा"</string>
     <string name="quick_settings_color_space_label" msgid="537528291083575559">"रंग सुधारणा मोड"</string>
     <string name="quick_settings_more_settings" msgid="2878235926753776694">"अधिक सेटिंग्ज"</string>
     <string name="quick_settings_done" msgid="2163641301648855793">"पूर्ण झाले"</string>
@@ -496,7 +496,7 @@
     <string name="user_remove_user_title" msgid="9124124694835811874">"वापरकर्त्यास काढायचे?"</string>
     <string name="user_remove_user_message" msgid="6702834122128031833">"या वापरकर्त्याचे सर्व अ‍ॅप्स आणि डेटा काढून टाकला जाईल."</string>
     <string name="user_remove_user_remove" msgid="8387386066949061256">"काढा"</string>
-    <string name="battery_saver_notification_title" msgid="8419266546034372562">"बॅटरी सेव्‍हर चालू आहे"</string>
+    <string name="battery_saver_notification_title" msgid="8419266546034372562">"बॅटरी सेव्‍हर सुरू आहे"</string>
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"कामगिरी आणि पार्श्वभूमीवरील डेटा कमी करते"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"बॅटरी सेव्हर बंद करा"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"तुमच्या स्क्रीनवर दृश्यमान असलेल्या किंवा रेकॉर्ड किंवा कास्ट करताना तुमच्या डिव्हाइसमधून प्ले केलेल्या सर्व माहितीचा अ‍ॅक्सेस <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ला असेल. यामध्ये पासवर्ड, पेमेंट तपशील, फोटो, मेसेज आणि तुम्ही प्ले केलेला ऑडिओ यासारख्या माहितीचा समावेश असतो."</string>
@@ -633,9 +633,9 @@
     <string name="output_calls_title" msgid="7085583034267889109">"फोन कॉल आउटपुट"</string>
     <string name="output_none_found" msgid="5488087293120982770">"कोणतीही डिव्हाइस सापडली नाहीत"</string>
     <string name="output_none_found_service_off" msgid="935667567681386368">"कोणतीही डिव्हाइस सापडली नाहीत. <xliff:g id="SERVICE">%1$s</xliff:g> चालू करून पाहा"</string>
-    <string name="output_service_bt" msgid="4315362133973911687">"ब्लुटूथ"</string>
+    <string name="output_service_bt" msgid="4315362133973911687">"ब्लूटूथ"</string>
     <string name="output_service_wifi" msgid="9003667810868222134">"वाय-फाय"</string>
-    <string name="output_service_bt_wifi" msgid="7186882540475524124">"ब्लुटूथ आणि वाय-फाय"</string>
+    <string name="output_service_bt_wifi" msgid="7186882540475524124">"ब्लूटूथ आणि वाय-फाय"</string>
     <string name="system_ui_tuner" msgid="1471348823289954729">"सिस्टम UI ट्युनर"</string>
     <string name="show_battery_percentage" msgid="6235377891802910455">"एम्बेडेड बॅटरी टक्केवारी दर्शवा"</string>
     <string name="show_battery_percentage_summary" msgid="9053024758304102915">"चार्ज होत नसताना स्टेटस बार चिन्हामध्‍ये बॅटरी पातळी टक्केवारी दर्शवा"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"बबल"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"आवाज किंवा व्हायब्रेशनशिवाय तुम्हाला लक्ष केंद्रित करण्यास मदत करते."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"आवाज किंवा व्हायब्रेशनने तुमचे लक्ष वेधून घेते."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"या आशयाच्या फ्लोटिंग शॉर्टकटसह तुमचे लक्ष केंद्रित करते."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"संभाषण विभागाच्या सर्वात वरती दिसते आणि बबलसारखे दिसते."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> वरील सर्व संभाषणे बाय डीफॉल्ट बबल केली जातात. <xliff:g id="APP_NAME_1">%2$s</xliff:g> मध्ये व्यवस्थापित करा."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"सेटिंग्ज"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"प्राधान्य"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"अलीकडील कोणतेही बबल नाहीत"</string>
@@ -759,8 +760,8 @@
       <item quantity="one">%d मिनिट</item>
     </plurals>
     <string name="battery_panel_title" msgid="5931157246673665963">"बॅटरी वापर"</string>
-    <string name="battery_detail_charging_summary" msgid="8821202155297559706">"चार्ज करताना बॅटरी बचतकर्ता उपलब्ध नाही"</string>
-    <string name="battery_detail_switch_title" msgid="6940976502957380405">"बॅटरी बचतकर्ता"</string>
+    <string name="battery_detail_charging_summary" msgid="8821202155297559706">"चार्ज करताना बॅटरी सेव्हर उपलब्ध नाही"</string>
+    <string name="battery_detail_switch_title" msgid="6940976502957380405">"बॅटरी सेव्हर"</string>
     <string name="battery_detail_switch_summary" msgid="3668748557848025990">"कामगिरी आणि पार्श्वभूमीवरील डेटा कमी करते"</string>
     <string name="keyboard_key_button_template" msgid="8005673627272051429">"बटण <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="keyboard_key_home" msgid="3734400625170020657">"Home"</string>
@@ -815,7 +816,7 @@
     <string name="accessibility_status_bar_headphones" msgid="1304082414912647414">"हेडफोन कनेक्ट केले"</string>
     <string name="accessibility_status_bar_headset" msgid="2699275863720926104">"हेडसेट कनेक्ट केला"</string>
     <string name="data_saver" msgid="3484013368530820763">"डेटा सेव्हर"</string>
-    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"डेटा सेव्हर चालू आहे"</string>
+    <string name="accessibility_data_saver_on" msgid="5394743820189757731">"डेटा सेव्हर सुरू आहे"</string>
     <string name="accessibility_data_saver_off" msgid="58339669022107171">"डेटा सेव्हर बंद आहे"</string>
     <string name="switch_bar_on" msgid="1770868129120096114">"सुरू"</string>
     <string name="switch_bar_off" msgid="5669805115416379556">"बंद"</string>
@@ -913,8 +914,8 @@
     <string name="pip_skip_to_next" msgid="3864212650579956062">"डावलून पुढे जा"</string>
     <string name="pip_skip_to_prev" msgid="3742589641443049237">"डावलून मागे जा"</string>
     <string name="thermal_shutdown_title" msgid="2702966892682930264">"तापल्‍यामुळे फोन बंद झाला"</string>
-    <string name="thermal_shutdown_message" msgid="7432744214105003895">"तुमचा फोन आता व्‍यवस्थित चालू आहे"</string>
-    <string name="thermal_shutdown_dialog_message" msgid="6745684238183492031">"तुमचा फोन खूप तापलाय, म्हणून तो थंड होण्यासाठी बंद झाला आहे. तुमचा फोन आता व्‍यवस्थित चालू आहे.\n\nतुम्ही असे केल्यास तुमचा फोन खूप तापेल:\n	•संसाधन केंद्रित अ‍ॅप वापरणे (गेमिंग, व्हिडिओ किंवा नेव्हिगेशन अ‍ॅप यासारखे)\n	•मोठ्या फायली डाउनलोड किंवा अपलोड करणे\n	•उच्च तापमानामध्ये तुमचा फोन वापरणे"</string>
+    <string name="thermal_shutdown_message" msgid="7432744214105003895">"तुमचा फोन आता व्‍यवस्थित सुरू आहे"</string>
+    <string name="thermal_shutdown_dialog_message" msgid="6745684238183492031">"तुमचा फोन खूप तापलाय, म्हणून तो थंड होण्यासाठी बंद झाला आहे. तुमचा फोन आता व्‍यवस्थित सुरू आहे.\n\nतुम्ही असे केल्यास तुमचा फोन खूप तापेल:\n	•संसाधन केंद्रित अ‍ॅप वापरणे (गेमिंग, व्हिडिओ किंवा नेव्हिगेशन अ‍ॅप यासारखे)\n	•मोठ्या फायली डाउनलोड किंवा अपलोड करणे\n	•उच्च तापमानामध्ये तुमचा फोन वापरणे"</string>
     <string name="high_temp_title" msgid="2218333576838496100">"फोन ऊष्ण होत आहे"</string>
     <string name="high_temp_notif_message" msgid="163928048626045592">"फोन थंड होत असताना काही वैशिष्‍ट्ये मर्यादित असतात"</string>
     <string name="high_temp_dialog_message" msgid="3793606072661253968">"तुमचा फोन स्वयंचलितपणे थंड होईल. तुम्ही अद्यापही तुमचा फोन वापरू शकता परंतु तो कदाचित धीमेपणे कार्य करेल.\n\nतुमचा फोन एकदा थंड झाला की, तो सामान्यपणे कार्य करेल."</string>
@@ -959,7 +960,7 @@
     <string name="qs_dnd_until" msgid="7844269319043747955">"<xliff:g id="ID_1">%s</xliff:g> पर्यंत"</string>
     <string name="qs_dnd_keep" msgid="3829697305432866434">"ठेवा"</string>
     <string name="qs_dnd_replace" msgid="7712119051407052689">"पुनर्स्थित करा"</string>
-    <string name="running_foreground_services_title" msgid="5137313173431186685">"ॲप्‍स बॅकग्राउंडमध्‍ये चालू आहेत"</string>
+    <string name="running_foreground_services_title" msgid="5137313173431186685">"अ‍ॅप्स बॅकग्राउंडमध्‍ये सुरू आहेत"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"बॅटरी आणि डेटा वापराच्‍या तपशीलांसाठी टॅप करा"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"मोबाइल डेटा बंद करायचा?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"तुम्हाला <xliff:g id="CARRIER">%s</xliff:g> मधून डेटा किंवा इंटरनेटचा अ‍ॅक्सेस नसेल. इंटरनेट फक्त वाय-फाय मार्फत उपलब्ध असेल."</string>
@@ -971,10 +972,10 @@
     <string name="slice_permission_checkbox" msgid="4242888137592298523">"<xliff:g id="APP">%1$s</xliff:g> ला कुठल्याही अ‍ॅपमधील तुकडे दाखवण्याची अनुमती द्या"</string>
     <string name="slice_permission_allow" msgid="6340449521277951123">"अनुमती द्या"</string>
     <string name="slice_permission_deny" msgid="6870256451658176895">"नकार द्या"</string>
-    <string name="auto_saver_title" msgid="6873691178754086596">"बॅटरी बचतकर्ता शेड्यूल करण्यासाठी टॅप करा"</string>
+    <string name="auto_saver_title" msgid="6873691178754086596">"बॅटरी सेव्हर शेड्यूल करण्यासाठी टॅप करा"</string>
     <string name="auto_saver_text" msgid="3214960308353838764">"बॅटरी संपण्याची शक्यता असल्यास सुरू करा"</string>
     <string name="no_auto_saver_action" msgid="7467924389609773835">"नाही नको"</string>
-    <string name="auto_saver_enabled_title" msgid="4294726198280286333">"बॅटरी बचतकर्ता शेड्यूल सुरू केले आहे"</string>
+    <string name="auto_saver_enabled_title" msgid="4294726198280286333">"बॅटरी सेव्हर शेड्यूल सुरू केले आहे"</string>
     <string name="auto_saver_enabled_text" msgid="7889491183116752719">"बॅटरी <xliff:g id="PERCENTAGE">%d</xliff:g>%% पेक्षा खाली गेल्यास बॅटरी सेव्हर आपोआप सुरू होईल."</string>
     <string name="open_saver_setting_action" msgid="2111461909782935190">"सेटिंग्ज"</string>
     <string name="auto_saver_okay_action" msgid="7815925750741935386">"समजले"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"सिस्टम नेव्हिगेशन अपडेट केले. बदल करण्यासाठी, सेटिंग्जवर जा."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"सिस्टम नेव्हिगेशन अपडेट करण्यासाठी सेटिंग्जवर जा"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"स्टँडबाय"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"मॅग्निफिकेशन ओव्हरले विंडो"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"मॅग्निफिकेशन विंडो"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"मॅग्निफिकेशन विंडो नियंत्रणे"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"नियंत्रणे"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"पॉवर मेनूमधून अ‍ॅक्सेस करण्यासाठी नियंत्रणे निवडा"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"नियंत्रणांची पुनर्रचना करण्यासाठी धरून ठेवा आणि ड्रॅग करा"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"सर्व नियंत्रणे काढून टाकली आहेत"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"सर्व नियंत्रणांची सूची लोड करता आली नाही."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"इतर"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"डिव्हाइस नियंत्रणांमध्ये जोडा"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 94334a6..6f60bf0 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Tidak dapat menyimpan tangkapan skrin kerana ruang storan terhad"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Pengambilan tangkapan skrin tidak dibenarkan oleh apl atau organisasi anda"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ketepikan tangkapan skrin"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Buka tangkapan skrin"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pratonton tangkapan skrin"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Perakam Skrin"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Pemberitahuan breterusan untuk sesi rakaman skrin"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Mula Merakam?"</string>
@@ -427,7 +427,7 @@
     <string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
     <string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC dilumpuhkan"</string>
     <string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC didayakan"</string>
-    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Saring Rekod"</string>
+    <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Rakam Skrin"</string>
     <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Mula"</string>
     <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Berhenti"</string>
     <string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Leret ke atas untuk menukar apl"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Gelembung"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Membantu anda fokus tanpa bunyi atau getaran."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Menarik perhatian anda dengan bunyi atau getaran."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Menarik perhatian anda dengan bunyi atau getaran. Perbualan daripada gelembung <xliff:g id="APP_NAME">%1$s</xliff:g> secara lalai."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Memastikan anda memberikan perhatian dengan pintasan terapung ke kandungan ini."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Ditunjukkan di sebelah atas bahagian perbualan dan muncul sebagai gelembung."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Semua perbualan daripada gelembung <xliff:g id="APP_NAME_0">%1$s</xliff:g> secara lalainya. Urus dalam <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Tetapan"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Keutamaan"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Tiada gelembung terbaharu"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigasi sistem dikemas kini. Untuk membuat perubahan, pergi ke Tetapan."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Pergi ke Tetapan untuk mengemas kini navigasi sistem"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Tunggu sedia"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Tetingkap Tindanan Pembesaran"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Tetingkap Pembesaran"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kawalan Tetingkap Pembesaran"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kawalan"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Pilih kawalan untuk diakses daripada menu kuasa"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Tahan &amp; seret untuk mengatur semula kawalan"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Semua kawalan dialih keluar"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Senarai semua kawalan tidak dapat dimuatkan."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Lain-lain"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Tambahkan pada kawalan peranti"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 3dd9c8b..dab402e 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"USB ဖြင့် အားသွင်း၍မရပါ"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"သင့်စက်ပစ္စည်းနှင့် အတူပါလာသည့် အားသွင်းကိရိယာကို အသုံးပြုပါ"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"ဆက်တင်များ"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"ဘက်ထရီ အားထိန်းကို ဖွင့်ခြင်း"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"ဘက်ထရီအားထိန်းကို ဖွင့်မလား။"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"\'ဘက်ထရီအားထိန်း\' အကြောင်း"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"ဖွင့်ရန်"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"ဘက်ထရီ အားထိန်းကို ဖွင့်ရန်"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"သိုလှောင်ခန်းနေရာ အကန့်အသတ်ရှိသောကြောင့် ဖန်သားပြင်ဓာတ်ပုံကို သိမ်းဆည်း၍မရပါ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ဖန်သားပြင်ဓာတ်ပုံရိုက်ကူးခြင်းကို ဤအက်ပ် သို့မဟုတ် သင်၏အဖွဲ့အစည်းက ခွင့်မပြုပါ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ဖန်သားပြင်ဓာတ်ပုံ ပယ်ရန်"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ဖန်သားပြင်ဓာတ်ပုံ ဖွင့်ရန်"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ဖန်သားပြင်ဓာတ်ပုံ အစမ်းကြည့်ရှုခြင်း"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"ဖန်သားပြင် ရိုက်ကူးမှု"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ဖန်သားပြင် ရိုက်ကူးသည့် စက်ရှင်အတွက် ဆက်တိုက်လာနေသော အကြောင်းကြားချက်"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"စတင် ရိုက်ကူးမလား။"</string>
@@ -233,7 +233,7 @@
     <string name="not_default_data_content_description" msgid="6757881730711522517">"ဒေတာအသုံးပြုရန် သတ်မှတ်မထားပါ"</string>
     <string name="cell_data_off" msgid="4886198950247099526">"ပိတ်ရန်"</string>
     <string name="accessibility_bluetooth_tether" msgid="6327291292208790599">"ဘလူးတုသ်သုံး၍ ချိတ်ဆက်ခြင်း"</string>
-    <string name="accessibility_airplane_mode" msgid="1899529214045998505">"လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်။"</string>
+    <string name="accessibility_airplane_mode" msgid="1899529214045998505">"လေယာဉ်ပျံမုဒ်"</string>
     <string name="accessibility_vpn_on" msgid="8037549696057288731">"VPN ကို ဖွင့်ထားသည်။"</string>
     <string name="accessibility_no_sims" msgid="5711270400476534667">"SIM ကတ် မရှိပါ"</string>
     <string name="carrier_network_change_mode" msgid="5174141476991149918">"ဝန်ဆောင်မှုပေးသူ ကွန်ရက် ပြောင်းလဲနေသည်။"</string>
@@ -648,7 +648,7 @@
     <string name="status_bar_ethernet" msgid="5690979758988647484">"အီသာနက်"</string>
     <string name="status_bar_alarm" msgid="87160847643623352">"နှိုးစက်"</string>
     <string name="status_bar_work" msgid="5238641949837091056">"အလုပ် ပရိုဖိုင်"</string>
-    <string name="status_bar_airplane" msgid="4848702508684541009">"လေယာဉ်ပေါ်သုံးစနစ်"</string>
+    <string name="status_bar_airplane" msgid="4848702508684541009">"လေယာဉ်ပျံမုဒ်"</string>
     <string name="add_tile" msgid="6239678623873086686">"လေးထောင့်ကွက် ထည့်ရန်"</string>
     <string name="broadcast_tile" msgid="5224010633596487481">"လေးထောင့်ကွက် ထုတ်လွှင့်ရန်"</string>
     <string name="zen_alarm_warning_indef" msgid="5252866591716504287">"သင့်ရဲ့ နောက်ထပ်နှိုးစက် <xliff:g id="WHEN">%1$s</xliff:g> ကိုသင်ကြားမည်မဟုတ်ပါ အကယ်၍ သင်၎င်းအချိန်မတိုင်"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ပူဖောင်းဖောက်သံ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"အသံ သို့မဟုတ် တုန်ခါမှု မပါဘဲ အာရုံစိုက်နိုင်စေရန် ကူညီပေးသည်။"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"အသံ သို့မဟုတ် တုန်ခါမှုဖြင့် အာရုံစိုက်လာအောင် ပြုလုပ်သည်။"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"အသံ သို့မဟုတ် တုန်ခါမှုဖြင့် သတိထားမိစေသည်။ မူရင်းသတ်မှတ်ချက်အဖြစ် <xliff:g id="APP_NAME">%1$s</xliff:g> မှ စကားဝိုင်းများကို ပူဖောင်းကွက်ဖြင့် ပြသည်။"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"အကြောင်းအရာကို floating shortcut ကိုသုံး၍ အာရုံစိုက်လာအောင်လုပ်ပါ။"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"စကားဝိုင်းကဏ္ဍ၏ ထိပ်ပိုင်းတွင် ပြပြီး ပူဖောင်းကွက်အဖြစ် မြင်ရသည်။"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"မူရင်းသတ်မှတ်ချက်အဖြစ် <xliff:g id="APP_NAME_0">%1$s</xliff:g> စကားဝိုင်းအားလုံးကို ပူဖောင်းကွက်ပြုလုပ်သည်။ <xliff:g id="APP_NAME_1">%2$s</xliff:g> တွင် စီမံခန့်ခွဲပါ။"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ဆက်တင်များ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ဦးစားပေး"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"လတ်တလော ပူဖောင်းကွက်များ မရှိပါ"</string>
@@ -939,7 +939,7 @@
     <string name="notification_channel_battery" msgid="9219995638046695106">"ဘက်ထရီ"</string>
     <string name="notification_channel_screenshot" msgid="7665814998932211997">"မျက်နှာပြင်ဓာတ်ပုံများ"</string>
     <string name="notification_channel_general" msgid="4384774889645929705">"အထွေထွေ မက်ဆေ့ဂျ်များ"</string>
-    <string name="notification_channel_storage" msgid="2720725707628094977">"သိုလှောင်မှုများ"</string>
+    <string name="notification_channel_storage" msgid="2720725707628094977">"သိုလှောင်ခန်း"</string>
     <string name="notification_channel_hints" msgid="7703783206000346876">"အရိပ်အမြွက်များ"</string>
     <string name="instant_apps" msgid="8337185853050247304">"Instant Apps"</string>
     <string name="instant_apps_title" msgid="8942706782103036910">"<xliff:g id="APP">%1$s</xliff:g> လုပ်ဆောင်နေသည်"</string>
@@ -961,8 +961,8 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"အစားထိုးရန်"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"နောက်ခံတွင် ပွင့်နေသော အက်ပ်များ"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"ဘက်ထရီနှင့် ဒေတာအသုံးပြုမှု အသေးစိတ်ကို ကြည့်ရန် တို့ပါ"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"မိုဘိုင်းဒေတာ ပိတ်လိုပါသလား။"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"<xliff:g id="CARRIER">%s</xliff:g> မှတစ်ဆင့် ဒေတာ သို့မဟုတ် အင်တာနက်ကို သုံးစွဲ၍ မရနိုင်ပါ။ Wi-Fi အသုံးပြု၍သာ အင်တာနက် သုံးစွဲနိုင်ပါသည်။"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"မိုဘိုင်းဒေတာ ပိတ်မလား။"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"<xliff:g id="CARRIER">%s</xliff:g> မှတစ်ဆင့် ဒေတာ သို့မဟုတ် အင်တာနက်ကို မသုံးနိုင်ပါ။ Wi-Fi ဖြင့်သာ အင်တာနက် သုံးနိုင်သည်။"</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"သင်၏ ဝန်ဆောင်မှုပေးသူ"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"အပလီကေးရှင်းတစ်ခုက ခွင့်ပြုချက်တောင်းခံမှုကို ပိတ်ထားသောကြောင့် ဆက်တင်များသည် သင်၏ လုပ်ဆောင်ကို တုံ့ပြန်နိုင်ခြင်းမရှိပါ။"</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> အား <xliff:g id="APP_2">%2$s</xliff:g> ၏အချပ်များ ပြသခွင့်ပြုပါသလား။"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"စနစ်လမ်းညွှန်ခြင်း အပ်ဒိတ်လုပ်ပြီးပါပြီ။ အပြောင်းအလဲများ ပြုလုပ်ရန် \'ဆက်တင်များ\' သို့သွားပါ။"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"စနစ်လမ်းညွှန်ခြင်း အပ်ဒိတ်လုပ်ရန် \'ဆက်တင်များ\' သို့သွားပါ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"အသင့်အနေအထား"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ဝင်းဒိုး ထပ်ပိုးလွှာ ချဲ့ခြင်း"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"ဝင်းဒိုး ချဲ့ခြင်း"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"ဝင်းဒိုး ထိန်းချုပ်မှုများ ချဲ့ခြင်း"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index da86548..7751e6fa 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Kan ikke lagre skjermdumpen på grunn av begrenset lagringsplass"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Appen eller organisasjonen din tillater ikke at du tar skjermdumper"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Avvis skjermdumpen"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Åpne skjermdumpen"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Forhåndsvisning av skjermdump"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Skjermopptaker"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Vedvarende varsel for et skjermopptak"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Vil du starte opptaket?"</string>
@@ -582,7 +582,7 @@
     <string name="accessibility_volume_settings" msgid="1458961116951564784">"Lydinnstillinger"</string>
     <string name="accessibility_volume_expand" msgid="7653070939304433603">"Utvid"</string>
     <string name="accessibility_volume_collapse" msgid="2746845391013829996">"Skjul"</string>
-    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Automatisk teksting av media"</string>
+    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Automatisk medieteksting"</string>
     <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"Verktøytips for teksting"</string>
     <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"Overlegg med teksting"</string>
     <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"slå på"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Boble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Hjelper deg med å fokusere uten lyd eller vibrering."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Får oppmerksomheten din med lyd eller vibrering."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Får oppmerksomheten din med lyd eller vibrering. Samtaler fra <xliff:g id="APP_NAME">%1$s</xliff:g> lager bobler som standard."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Holder deg oppmerksom med en svevende snarvei til dette innholdet."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Vises øverst i en samtaledel og vises som en boble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alle samtaler fra <xliff:g id="APP_NAME_0">%1$s</xliff:g> vises i bobler som standard. Administrer i <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Innstillinger"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Ingen nylige bobler"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apper kjører i bakgrunnen"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Trykk for detaljer om batteri- og databruk"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Vil du slå av mobildata?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Du får ikke tilgang til data eller Internett via <xliff:g id="CARRIER">%s</xliff:g>. Internett blir bare tilgjengelig via Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Du får ikke tilgang til data eller internett via <xliff:g id="CARRIER">%s</xliff:g>. Internett er bare tilgjengelig via Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"operatøren din"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Fordi en app skjuler tillatelsesforespørselen, kan ikke Innstillinger bekrefte svaret ditt."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Vil du tillate at <xliff:g id="APP_0">%1$s</xliff:g> viser <xliff:g id="APP_2">%2$s</xliff:g>-utsnitt?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systemnavigeringen er oppdatert. For å gjøre endringer, gå til Innstillinger."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Gå til Innstillinger for å oppdatere systemnavigeringen"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Ventemodus"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Overleggsvindu for forstørring"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Forstørringsvindu"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontroller for forstørringsvindu"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontroller"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Velg kontroller som er tilgjengelige fra av/på-menyen"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Hold og dra for å flytte kontroller"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alle kontroller er fjernet"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Listen over alle kontroller kunne ikke lastes inn."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Annet"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Legg til i enhetskontroller"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 0fca63c..a7330f0 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"भण्डारण ठाउँ सीमित भएका कारण स्क्रिनसट सुरक्षित गर्न सकिएन"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"उक्त अनुप्रयोग वा तपाईंको संगठनले स्क्रिनसटहरू लिन दिँदैन"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"स्क्रिनसट हटाउनुहोस्"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"स्क्रिनसट खोल्नुहोस्"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"स्क्रिन रेकर्डर"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"कुनै स्क्रिन रेकर्ड गर्ने सत्रका लागि चलिरहेको सूचना"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"रेकर्ड गर्न थाल्ने हो?"</string>
@@ -296,8 +297,8 @@
     <string name="accessibility_quick_settings_flashlight_on" msgid="3785616827729850766">"टर्च खुला छ।"</string>
     <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3782375441381402599">"टर्च बन्द गरियो।"</string>
     <string name="accessibility_quick_settings_flashlight_changed_on" msgid="4747870681508334200">"टर्च खुला गरियो।"</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"रङ उल्टाउने बन्द गरियो।"</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"रङ उल्टाउने खुला गरियो।"</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"रङ्ग उल्टाउने बन्द गरियो।"</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"रङ्ग उल्टाउने खुला गरियो।"</string>
     <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"मोबाइल हटस्पट बन्द गरियो।"</string>
     <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"मोबाइल हटस्पट खुला गरियो।"</string>
     <string name="accessibility_casting_turned_off" msgid="1387906158563374962">"स्क्रिन कास्टिङ रोकियो।"</string>
@@ -418,7 +419,7 @@
     <string name="quick_settings_night_secondary_label_until_sunrise" msgid="4063448287758262485">"सूर्योदयसम्म"</string>
     <string name="quick_settings_night_secondary_label_on_at" msgid="3584738542293528235">"<xliff:g id="TIME">%s</xliff:g> मा सक्रिय"</string>
     <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"<xliff:g id="TIME">%s</xliff:g> सम्म"</string>
-    <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"अँध्यारो विषयवस्तु"</string>
+    <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"अँध्यारो थिम"</string>
     <string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ब्याट्री सेभर"</string>
     <string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"सूर्यास्तमा सक्रिय"</string>
     <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"सूर्योदयसम्म"</string>
@@ -582,7 +583,7 @@
     <string name="accessibility_volume_settings" msgid="1458961116951564784">"ध्वनिसम्बन्धी सेटिङहरू"</string>
     <string name="accessibility_volume_expand" msgid="7653070939304433603">"विस्तार गर्नुहोस्"</string>
     <string name="accessibility_volume_collapse" msgid="2746845391013829996">"संक्षिप्त पार्नुहोस्"</string>
-    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"स्वचालित क्याप्सनहरूसम्बन्धी मिडिया"</string>
+    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"मिडियाको स्वत: क्याप्सन बनाउनुहोस्"</string>
     <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"उपशीर्षकहरूसम्बन्धी सुझाव"</string>
     <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"क्याप्सनको ओभरले"</string>
     <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"सक्षम पार्नुहोस्"</string>
@@ -707,9 +708,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"बबल"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"तपाईंलाई आवाज वा कम्पनविना ध्यान केन्द्रित गर्न मद्दत गर्छ।"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ध्वनि वा कम्पनमार्फत तपाईंको ध्यान आकर्षित गर्छ।"</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"फ्लोटिङ सर्टकटमार्फत यो सामग्रीतर्फ तपाईंको ध्यान आकर्षित गर्दछ।"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"वार्तालाप खण्डको सिरानमा बबलका रूपमा देखा पर्छ।"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> मार्फत भएका सबै वार्तालापहरू पूर्वनिर्धारित रूपमा बबलमा देखिन्छन्। <xliff:g id="APP_NAME_1">%2$s</xliff:g> मा गई व्यवस्थापन गर्नुहोस्।"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"सेटिङ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"प्राथमिकता"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"हालैका बबलहरू छैनन्"</string>
@@ -962,7 +964,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"पृष्ठभूमिमा चल्ने अनुप्रयोगहरू"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"ब्याट्री र डेटाका प्रयोग सम्बन्धी विवरणहरूका लागि ट्याप गर्नुहोस्"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"मोबाइल डेटा निष्क्रिय पार्ने हो?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"तपाईंको <xliff:g id="CARRIER">%s</xliff:g> मार्फत डेटा वा इन्टरनेटमाथि पहुँच हुने छैन। Wi-Fi मार्फत मात्र इन्टरनेट उपलब्ध हुने छ।"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"तपाईं <xliff:g id="CARRIER">%s</xliff:g> मार्फत डेटा वा इन्टरनेट प्रयोग गर्न सक्नुहुने छैन। Wi-Fi मार्फत मात्र इन्टरनेट उपलब्ध हुने छ।"</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"तपाईंको सेवा प्रदायक"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"कुनै अनुप्रयोगको कारणले अनुमतिसम्बन्धी अनुरोध बुझ्न गाह्रो भइरहेकोले सेटिङहरूले तपाईंको प्रतिक्रिया प्रमाणित गर्न सक्दैनन्।"</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> लाई <xliff:g id="APP_2">%2$s</xliff:g> का स्लाइसहरू देखाउन अनुमति दिने हो?"</string>
@@ -1002,6 +1004,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"प्रणालीको नेभिगेसन अद्यावधिक गरियो। परिवर्तन गर्न सेटिङमा जानुहोस्।"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"प्रणालीको नेभिगेसन अद्यावधिक गर्न सेटिङमा जानुहोस्"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"स्ट्यान्डबाई"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"म्याग्निफिकेसन ओभरले विन्डो"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"म्याग्निफिकेसन विन्डो"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"म्याग्निफिकेसन विन्डोका नियन्त्रणहरू"</string>
@@ -1016,10 +1028,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"नियन्त्रणहरू"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"पावर मेनुबाट प्रयोग गर्न चाहेका नियन्त्रण सुविधाहरू छान्नुहोस्"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"नियन्त्रणहरूको क्रम मिलाउन तिनलाई थिचेर ड्र्याग गर्नुहोस्"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"सबै नियन्त्रणहरू हटाइए"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"सबै नियन्त्रणहरूको सूची लोड गर्न सकिएन।"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"अन्य"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"यन्त्रले नियन्त्रण गर्न सक्ने कुराहरूको सूचीमा थप्नुहोस्"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 5b02196..98247a8 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Kan niet opladen via USB"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Gebruik de oplader die bij je apparaat is geleverd"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Instellingen"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Batterijbesparing inschakelen?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Batterijbesparing aanzetten?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Over Batterijbesparing"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Inschakelen"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Batterijbesparing inschakelen"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Kan screenshot niet opslaan vanwege beperkte opslagruimte"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Het maken van screenshots wordt niet toegestaan door de app of je organisatie"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Screenshot sluiten"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Screenshot openen"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Voorbeeld van screenshot"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Schermopname"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Doorlopende melding voor een schermopname-sessie"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Opname starten?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubbel"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Helpt je focussen zonder geluid of trilling."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Trekt je aandacht met geluid of trillingen."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Trekt je aandacht met geluid of trillingen. Gesprekken uit <xliff:g id="APP_NAME">%1$s</xliff:g> worden standaard als bubbels weergegeven."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Trekt de aandacht met een zwevende snelkoppeling naar deze content."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Wordt bovenaan het gedeelte met gesprekken weergegeven en als een bubbel."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alle gesprekken uit <xliff:g id="APP_NAME_0">%1$s</xliff:g> worden standaard als bubbels weergegeven. Beheer dit in <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Instellingen"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioriteit"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Geen recente bubbels"</string>
@@ -961,8 +961,8 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Vervangen"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apps uitgevoerd op achtergrond"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Tik voor batterij- en datagebruik"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Mobiele data uitschakelen?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Je hebt geen toegang tot data of internet via <xliff:g id="CARRIER">%s</xliff:g>. Internet is alleen beschikbaar via wifi."</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Mobiele data uitzetten?"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Je hebt dan geen toegang meer tot data of internet via <xliff:g id="CARRIER">%s</xliff:g>. Internet is alleen nog beschikbaar via wifi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"je provider"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Aangezien een app een toestemmingsverzoek afdekt, kan Instellingen je reactie niet verifiëren."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> toestaan om segmenten van <xliff:g id="APP_2">%2$s</xliff:g> weer te geven?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systeemnavigatie geüpdatet. Als je wijzigingen wilt aanbrengen, ga je naar Instellingen."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Ga naar Instellingen om de systeemnavigatie te updaten"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Stand-by"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Overlay voor vergrotingsvenster"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Vergrotingsvenster"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Bediening van vergrotingsvenster"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Bedieningselementen"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Kies bedieningselementen die je vanaf het menu Voeding wilt kunnen gebruiken"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Houd vast en sleep om de bedieningselementen opnieuw in te delen"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alle bedieningselementen verwijderd"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Kan lijst met alle bedieningselementen niet laden."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Overig"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Toevoegen aan apparaatopties"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index cf15c83..134c119 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -33,13 +33,13 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"USB ଦ୍ଵାରା ଚାର୍ଜ କରିହେବନାହିଁ"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"ଆପଣଙ୍କ ଡିଭାଇସ୍ ପାଇଁ ଥିବା ଚାର୍ଜର୍‌କୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"ସେଟିଙ୍ଗ"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଅନ୍ କରିବେ?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଚାଲୁ କରିବେ?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"ବ୍ୟାଟେରୀ ସେଭର୍ ବିଷୟରେ"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"ଅନ୍‌ କରନ୍ତୁ"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଅନ୍ କରନ୍ତୁ"</string>
     <string name="status_bar_settings_settings_button" msgid="534331565185171556">"ସେଟିଙ୍ଗ"</string>
     <string name="status_bar_settings_wifi_button" msgid="7243072479837270946">"ୱାଇ-ଫାଇ"</string>
-    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"ଅଟୋ-ରୋଟେଟ୍‌ ସ୍କ୍ରୀନ୍‍"</string>
+    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"ଅଟୋ-ରୋଟେଟ୍‌ ସ୍କ୍ରିନ୍"</string>
     <string name="status_bar_settings_mute_label" msgid="914392730086057522">"ମ୍ୟୁଟ୍"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="2151934479226017725">"ସ୍ୱତଃ"</string>
     <string name="status_bar_settings_notifications" msgid="5285316949980621438">"ବିଜ୍ଞପ୍ତି"</string>
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ସୀମିତ ଷ୍ଟୋରେଜ୍‍ ସ୍ପେସ୍‍ ହେତୁ ସ୍କ୍ରୀନଶଟ୍‍ ସେଭ୍‍ ହୋଇପାରିବ ନାହିଁ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ଆପ୍‍ କିମ୍ବା ସଂସ୍ଥା ଦ୍ୱାରା ସ୍କ୍ରୀନଶଟ୍‍ ନେବାକୁ ଅନୁମତି ଦିଆଯାଇ ନାହିଁ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ସ୍କ୍ରିନସଟ୍ ଖାରଜ କରନ୍ତୁ"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ସ୍କ୍ରିନସଟ୍ ଖୋଲନ୍ତୁ"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"ସ୍କ୍ରିନ୍ ରେକର୍ଡର୍"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ଏକ ସ୍କ୍ରି‍ନ୍‍ ରେକର୍ଡ୍‍ ସେସନ୍‍ ପାଇଁ ଚାଲୁଥିବା ବିଜ୍ଞପ୍ତି"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ରେକର୍ଡିଂ ଆରମ୍ଭ କରିବେ?"</string>
@@ -337,7 +338,7 @@
     <string name="accessibility_rotation_lock_on_landscape_changed" msgid="5785739044300729592">"ବର୍ତ୍ତମାନ ସ୍କ୍ରୀନ୍‌ଟି ଲ୍ୟାଣ୍ଡସ୍କେପ୍ ଦିଗରେ ଲକ୍ ଅଛି।"</string>
     <string name="accessibility_rotation_lock_on_portrait_changed" msgid="5580170829728987989">"ବର୍ତ୍ତମାନ ସ୍କ୍ରୀନ୍‌ଟି ପୋର୍ଟେଟ୍ ଦିଗରେ ଲକ୍‌ ଅଛି।"</string>
     <string name="dessert_case" msgid="9104973640704357717">"ଡେଜର୍ଟ କେସ୍‌"</string>
-    <string name="start_dreams" msgid="9131802557946276718">"ସ୍କ୍ରୀନ୍‌ ସେଭର୍‌"</string>
+    <string name="start_dreams" msgid="9131802557946276718">"ସ୍କ୍ରିନ୍‌ ସେଭର୍‌"</string>
     <string name="ethernet_label" msgid="2203544727007463351">"ଇଥରନେଟ୍‌"</string>
     <string name="quick_settings_header_onboarding_text" msgid="1918085351115504765">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଆଇକନ୍‌କୁ ସ୍ପର୍ଶ କରି ଧରିରଖନ୍ତୁ"</string>
     <string name="quick_settings_dnd_label" msgid="7728690179108024338">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</string>
@@ -356,7 +357,7 @@
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ଅନ୍ ହେଉଛି…"</string>
     <string name="quick_settings_brightness_label" msgid="680259653088849563">"ଉଜ୍ଜ୍ୱଳତା"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ସ୍ୱତଃ-ଘୂର୍ଣ୍ଣନ"</string>
-    <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ସ୍କ୍ରୀନ୍‍କୁ ଅଟୋ-ରୋଟେଟ୍‌ କରନ୍ତୁ"</string>
+    <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ଅଟୋ-ରୋଟେଟ୍ ସ୍କ୍ରିନ୍"</string>
     <string name="accessibility_quick_settings_rotation_value" msgid="2916484894750819251">"<xliff:g id="ID_1">%s</xliff:g> ମୋଡ୍‍"</string>
     <string name="quick_settings_rotation_locked_label" msgid="4420863550666310319">"ଘୂର୍ଣ୍ଣନ ଲକ୍‍ ହୋଇଛି"</string>
     <string name="quick_settings_rotation_locked_portrait_label" msgid="1194988975270484482">"ପୋର୍ଟ୍ରେଟ୍"</string>
@@ -500,7 +501,7 @@
     <string name="battery_saver_notification_text" msgid="2617841636449016951">"କାର୍ଯ୍ୟ ସମ୍ପାଦନ ଓ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ ଡାଟା କମ୍ କରନ୍ତୁ"</string>
     <string name="battery_saver_notification_action_text" msgid="6022091913807026887">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଅଫ୍‍ କରନ୍ତୁ"</string>
     <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>ରେ ସମସ୍ତ ସୂଚନାକୁ ଆକ୍ସେସ୍ ରହିବ ଯାହା ଆପଣଙ୍କର ସ୍କ୍ରିନ୍‌ରେ ଦେଖାଯିବ ବା ରେକର୍ଡିଂ ବା କାଷ୍ଟିଂ ବେଳେ ଆପଣଙ୍କର ଡିଭାଇସ୍ ଠାରୁ ଚାଲିବ। ପାସ୍‌ୱାର୍ଡ, ପେମେଣ୍ଟ ବିବରଣୀ, ଫଟୋ, ମେସେଜ୍ ଏବଂ ଆପଣ ଚଲାଉଥିବା ଅଡିଓ ପରି ସୂଚନା ଅନ୍ତର୍ଭୁକ୍ତ ଅଛି।"</string>
-    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"ଏହି ପ୍ରକାର୍ଯ୍ୟ ପ୍ରଦାନ କରୁଥିବା ସେବା ସମସ୍ତ ସୂଚନାକୁ ଆକ୍ସେସ୍ ରହିବ ଯାହା ସ୍କ୍ରିନ୍‌ରେ ଦେଖାଯିବ ବା ରେକର୍ଡିଂ ବା କାଷ୍ଟିଂ ବେଳେ ଆପଣଙ୍କର ଡିଭାଇସ୍ ଠାରୁ ଚାଲିବ। ପାସ୍‌ୱାର୍ଡ, ପେମେଣ୍ଟ ବିବରଣୀ, ଫଟୋ, ମେସେଜ୍ ଏବଂ ଆପଣ ଚଲାଉଥିବା ଅଡିଓ ପରି ସୂଚନା ଅନ୍ତର୍ଭୁକ୍ତ ଅଛି।"</string>
+    <string name="media_projection_dialog_service_text" msgid="958000992162214611">"ରେକର୍ଡିଂ ବା କାଷ୍ଟିଂ ବେଳେ ଆପଣଙ୍କର ଡିଭାଇସରେ ଦେଖାଯାଉଥିବା ବା ଆପଣଙ୍କ ଡିଭାଇସରୁ ପ୍ଲେ କରାଯାଉଥିବା ସବୁ ସୂଚନାକୁ ଏହି ପ୍ରକାର୍ଯ୍ୟ ପ୍ରଦାନ କରୁଥିବା ସେବାର ଆକସେସ୍ ରହିବ। ପାସ୍‌ୱାର୍ଡ, ପେମେଣ୍ଟ ବିବରଣୀ, ଫଟୋ, ମେସେଜ୍ ଏବଂ ଆପଣ ଚଲାଉଥିବା ଅଡିଓ ପରି ସୂଚନା ଏଥିରେ ଅନ୍ତର୍ଭୁକ୍ତ ଅଛି।"</string>
     <string name="media_projection_dialog_service_title" msgid="2888507074107884040">"ରେକର୍ଡିଂ ବା କାଷ୍ଟିଂ ଆରମ୍ଭ କରିବେ?"</string>
     <string name="media_projection_dialog_title" msgid="3316063622495360646">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ସହ ରେକର୍ଡିଂ ବା କାଷ୍ଟିଂ ଆରମ୍ଭ କରିବେ?"</string>
     <string name="media_projection_remember_text" msgid="6896767327140422951">"ପୁଣି ଦେଖାନ୍ତୁ ନାହିଁ"</string>
@@ -624,7 +625,7 @@
     <string name="volume_stream_content_description_mute" msgid="4079046784917920984">"%1$s। ମ୍ୟୁଟ୍‍ କରିବାକୁ ଟାପ୍‍ କରନ୍ତୁ। ଆକ୍ସେସିବିଲିଟୀ ସର୍ଭିସ୍‌ ମ୍ୟୁଟ୍‍ କରାଯାଇପାରେ।"</string>
     <string name="volume_stream_content_description_vibrate_a11y" msgid="2742330052979397471">"%1$s। ଭାଇବ୍ରେଟରେ ସେଟ୍‍ କରିବାକୁ ଟାପ୍‍ କରନ୍ତୁ।"</string>
     <string name="volume_stream_content_description_mute_a11y" msgid="5743548478357238156">"%1$s। ମ୍ୟୁଟ୍‍ କରିବାକୁ ଟାପ୍‍ କରନ୍ତୁ।"</string>
-    <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"ମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
+    <string name="volume_ringer_hint_mute" msgid="4263821214125126614">"ମ୍ୟୁଟ୍"</string>
     <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"ଅନ୍‍-ମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
     <string name="volume_ringer_hint_vibrate" msgid="6211609047099337509">"ଭାଇବ୍ରେଟ୍"</string>
     <string name="volume_dialog_title" msgid="6502703403483577940">"%s ଭଲ୍ୟୁମ୍ ନିୟନ୍ତ୍ରଣ"</string>
@@ -707,9 +708,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ବବଲ୍"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ବିନା ସାଉଣ୍ଡ କିମ୍ବା ଭାଇବ୍ରେସନ୍‌ରେ ଆପଣଙ୍କୁ ଫୋକସ୍ କରିବାରେ ସାହାଯ୍ୟ କରେ।"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ସାଉଣ୍ଡ କିମ୍ବା ଭାଇବ୍ରେସନ୍ ମାଧ୍ୟମରେ ଆପଣଙ୍କର ଧ୍ୟାନ ଆକର୍ଷିତ କରିଥାଏ।"</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ଏହି ବିଷୟବସ୍ତୁ ପାଇଁ ଏକ ଭାସମାନ ସର୍ଟକଟ୍ ସହ ଆପଣଙ୍କର ଧ୍ୟାନ ଦିଅନ୍ତୁ।"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"ଏହା ବାର୍ତ୍ତାଳାପ ବିଭାଗର ଶୀର୍ଷରେ ବବଲ୍ ଭାବେ ଦେଖାଯାଏ।"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>ରୁ ସମସ୍ତ ବାର୍ତ୍ତାଳାପ ଡିଫଲ୍ଟ ରୂପେ ବବଲରେ ଦେଖାଯାଏ। <xliff:g id="APP_NAME_1">%2$s</xliff:g>ରେ ପରିଚାଳନା କରନ୍ତୁ।"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ସେଟିଂସ୍"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ପ୍ରାଥମିକତା"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ବର୍ତ୍ତମାନ କୌଣସି ବବଲ୍ ନାହିଁ"</string>
@@ -927,7 +929,7 @@
     <string name="lockscreen_unlock_right" msgid="4658008735541075346">"ଡାହାଣ ଶର୍ଟକଟ୍‍ ମଧ୍ୟ ଅନଲକ୍‍ କରେ"</string>
     <string name="lockscreen_none" msgid="4710862479308909198">"କିଛିନୁହେଁ"</string>
     <string name="tuner_launch_app" msgid="3906265365971743305">"<xliff:g id="APP">%1$s</xliff:g> ଲଞ୍ଚ କରନ୍ତୁ"</string>
-    <string name="tuner_other_apps" msgid="7767462881742291204">"ଅନ୍ୟାନ୍ୟ ଆପ୍‍"</string>
+    <string name="tuner_other_apps" msgid="7767462881742291204">"ଅନ୍ୟ ଆପ୍ସ‍"</string>
     <string name="tuner_circle" msgid="5270591778160525693">"ବୃତ୍ତ"</string>
     <string name="tuner_plus" msgid="4130366441154416484">"ଯୁକ୍ତ"</string>
     <string name="tuner_minus" msgid="5258518368944598545">"ବିଯୁକ୍ତ"</string>
@@ -962,7 +964,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"ବ୍ୟାକଗ୍ରାଉଣ୍ଡରେ ଆପ୍‍ ଚାଲୁଛି"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"ବ୍ୟାଟେରୀ ଏବଂ ଡାଟା ବ୍ୟବହାର ଉପରେ ବିବରଣୀ ପାଇଁ ଟାପ୍‍ କରନ୍ତୁ"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"ମୋବାଇଲ୍‌ ଡାଟା ବନ୍ଦ କରିବେ?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"<xliff:g id="CARRIER">%s</xliff:g> ଦ୍ଵାରା ଆପଣଙ୍କର ଡାଟା କିମ୍ବା ଇଣ୍ଟରନେଟ୍‌କୁ ଆକ୍ସେସ୍ ନାହିଁ। ଇଣ୍ଟରନେଟ୍‌ କେବଳ ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ ଉପଲବ୍ଧ ହେବ।"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"ଡାଟା କିମ୍ବା ଇଣ୍ଟରନେଟ୍‌କୁ <xliff:g id="CARRIER">%s</xliff:g> ଦ୍ଵାରା ଆପଣଙ୍କର  ଆକ୍ସେସ୍ ରହିବ ନାହିଁ। ଇଣ୍ଟରନେଟ୍‌ କେବଳ ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ ଉପଲବ୍ଧ ହେବ।"</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"ଆପଣଙ୍କ କେରିଅର୍"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"ଗୋଟିଏ ଆପ୍‍ ଏକ ଅନୁମତି ଅନୁରୋଧକୁ ଦେଖିବାରେ ବାଧା ଦେଉଥିବାରୁ, ସେଟିଙ୍ଗ ଆପଣଙ୍କ ଉତ୍ତରକୁ ଯାଞ୍ଚ କରିପାରିବ ନାହିଁ।"</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_2">%2$s</xliff:g> ସ୍ଲାଇସ୍‌କୁ ଦେଖାଇବା ପାଇଁ <xliff:g id="APP_0">%1$s</xliff:g>କୁ ଅନୁମତି ଦେବେ?"</string>
@@ -1002,6 +1004,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍ ଅପ୍‌ଡେଟ୍ ହୋଇଛି। ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ, ସେଟିଂସ୍‌କୁ ଯାଆନ୍ତୁ।"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍ ଅପ୍‌ଡେଟ୍ କରିବା ପାଇଁ ସେଟିଂସ୍‍କୁ ଯାଆନ୍ତୁ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ଷ୍ଟାଣ୍ଡବାଏ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଓଭର୍‌ଲେ ୱିଣ୍ଡୋ"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ୱିଣ୍ଡୋ"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ୱିଣ୍ଡୋ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string>
@@ -1016,10 +1028,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ପାୱାର ମେନୁରୁ ଆକ୍ସେସ୍ କରିବାକୁ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକୁ ବାଛନ୍ତୁ"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ ପୁଣି ସଜାଇବାକୁ ସେଗୁଡ଼ିକୁ ଧରି ଟାଣନ୍ତୁ"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"ସମସ୍ତ ନିୟନ୍ତ୍ରଣ କାଢ଼ି ଦିଆଯାଇଛି"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"ସବୁ ନିୟନ୍ତ୍ରଣର ତାଲିକା ଲୋଡ୍ କରିପାରିଲା ନାହିଁ।"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ଅନ୍ୟ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ଡିଭାଇସ୍ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକରେ ଯୋଗ କରନ୍ତୁ"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 1b78d13..1c99ea3 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -39,7 +39,7 @@
     <string name="battery_saver_start_action" msgid="4553256017945469937">"ਬੈਟਰੀ ਸੇਵਰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="status_bar_settings_settings_button" msgid="534331565185171556">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="status_bar_settings_wifi_button" msgid="7243072479837270946">"ਵਾਈ-ਫਾਈ"</string>
-    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"ਸਕ੍ਰੀਨ ਆਪਣੇ-ਆਪ ਘੁੰਮਾਓ"</string>
+    <string name="status_bar_settings_auto_rotation" msgid="8329080442278431708">"ਸਕ੍ਰੀਨ ਸਵੈ-ਘੁਮਾਓ"</string>
     <string name="status_bar_settings_mute_label" msgid="914392730086057522">"ਮਿਊਟ ਕਰੋ"</string>
     <string name="status_bar_settings_auto_brightness_label" msgid="2151934479226017725">"ਆਟੋ"</string>
     <string name="status_bar_settings_notifications" msgid="5285316949980621438">"ਸੂਚਨਾਵਾਂ"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"ਸੀਮਿਤ ਸਟੋਰੇਜ ਹੋਣ ਕਾਰਨ ਸਕ੍ਰੀਨਸ਼ਾਟ ਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ਐਪ ਜਾਂ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਸਕ੍ਰੀਨਸ਼ਾਟ ਲੈਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੱਤੀ ਗਈ ਹੈ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਖਾਰਜ ਕਰੋ"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਖੋਲ੍ਹੋ"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"ਸਕ੍ਰੀਨ ਰਿਕਾਰਡਰ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"ਕਿਸੇ ਸਕ੍ਰੀਨ ਰਿਕਾਰਡ ਸੈਸ਼ਨ ਲਈ ਚੱਲ ਰਹੀ ਸੂਚਨਾ"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ਕੀ ਰਿਕਾਰਡਿੰਗ ਸ਼ੁਰੂ ਕਰਨੀ ਹੈ?"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"ਬੁਲਬੁਲਾ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ਤੁਹਾਨੂੰ ਬਿਨਾਂ ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ ਦੇ ਫੋਕਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ ਨਾਲ ਤੁਹਾਡਾ ਧਿਆਨ ਖਿੱਚਦੀ ਹੈ।"</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ਇਸ ਸਮੱਗਰੀ ਦੇ ਅਸਥਿਰ ਸ਼ਾਰਟਕੱਟ ਨਾਲ ਆਪਣਾ ਧਿਆਨ ਕੇਂਦਰਿਤ ਰੱਖੋ।"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"ਗੱਲਬਾਤ ਸੈਕਸ਼ਨ ਦੇ ਉੱਪਰ ਅਤੇ ਬਬਲ ਦੇ ਤੌਰ \'ਤੇ ਦਿਖਾਉਂਦਾ ਹੈ।"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ਵੱਲੋਂ ਸਾਰੀਆਂ ਗੱਲਾਂਬਾਤਾਂ \'ਤੇ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਰ \'ਤੇ ਬਬਲ ਲਾਏ ਜਾਂਦੇ ਹਨ। <xliff:g id="APP_NAME_1">%2$s</xliff:g> ਵਿੱਚ ਪ੍ਰਬੰਧਨ ਕਰੋ।"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ਤਰਜੀਹ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ਕੋਈ ਹਾਲੀਆ ਬਬਲ ਨਹੀਂ"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"ਸਿਸਟਮ ਨੈਵੀਗੇਸ਼ਨ ਅੱਪਡੇਟ ਹੋ ਗਿਆ। ਤਬਦੀਲੀਆਂ ਕਰਨ ਲਈ, ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ।"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ਸਿਸਟਮ ਨੈਵੀਗੇਸ਼ਨ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"ਸਟੈਂਡਬਾਈ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਓਵਰਲੇ Window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"ਵੱਡਦਰਸ਼ੀਕਰਨ Window"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"ਵੱਡਦਰਸ਼ੀਕਰਨ Window ਦੇ ਕੰਟਰੋਲ"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"ਕੰਟਰੋਲ"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"ਪਹੁੰਚ ਕਰਨ ਲਈ ਪਾਵਰ ਮੀਨੂ ਤੋਂ ਕੰਟਰੋਲ ਚੁਣੋ"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ਕੰਟਰੋਲਾਂ ਨੂੰ ਮੁੜ-ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਫੜ੍ਹ ਕੇ ਘਸੀਟੋ"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"ਸਾਰੇ ਕੰਟਰੋਲ ਹਟਾਏ ਗਏ"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"ਸਾਰੇ ਕੰਟਰੋਲਾਂ ਦੀ ਸੂਚੀ ਨੂੰ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ਹੋਰ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"ਡੀਵਾਈਸ ਕੰਟਰੋਲਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 3d243b2..81dff41 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Nie można zapisać zrzutu ekranu, bo brakuje miejsca w pamięci"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Nie możesz wykonać zrzutu ekranu, bo nie zezwala na to aplikacja lub Twoja organizacja."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Zamknij zrzut ekranu"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otwórz zrzut ekranu"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Podgląd zrzutu ekranu"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Nagrywanie ekranu"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Stałe powiadomienie o sesji rejestrowania zawartości ekranu"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Rozpocząć rejestrowanie?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Dymek"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomaga Ci się skupić, nie sygnalizując niczego dźwiękiem ani wibracjami."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Przyciąga uwagę dźwiękiem lub wibracjami."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Przyciąga uwagę dźwiękiem lub wibracjami. Rozmowy z aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> są domyślnie wyświetlane jako dymki."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Przyciąga uwagę dzięki pływającym skrótom do treści."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Wyświetla się u góry sekcji rozmów i ma postać dymku."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Wszystkie rozmowy z aplikacji <xliff:g id="APP_NAME_0">%1$s</xliff:g> są domyślnie wyświetlane jako dymki. Zarządzaj w aplikacji <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ustawienia"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorytet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Brak ostatnich dymków"</string>
@@ -972,7 +972,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Aplikacje działające w tle"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Kliknij, by wyświetlić szczegóły wykorzystania baterii i użycia danych"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Wyłączyć mobilną transmisję danych?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nie będziesz mieć dostępu do transmisji danych ani internetu przez operatora <xliff:g id="CARRIER">%s</xliff:g>. Internet będzie dostępny tylko przez Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nie będziesz mieć dostępu do transmisji danych ani internetu w <xliff:g id="CARRIER">%s</xliff:g>. Internet będzie dostępny tylko przez Wi‑Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"Twój operator"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Aplikacja Ustawienia nie może zweryfikować Twojej odpowiedzi, ponieważ inna aplikacja zasłania prośbę o udzielenie uprawnień."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Zezwolić aplikacji <xliff:g id="APP_0">%1$s</xliff:g> na pokazywanie wycinków z aplikacji <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Nawigacja w systemie została zaktualizowana. Aby wprowadzić zmiany, otwórz Ustawienia."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Otwórz Ustawienia, by zaktualizować nawigację w systemie"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Tryb gotowości"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Okno nakładki powiększenia"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Okno powiększenia"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Elementy sterujące okna powiększenia"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Elementy sterujące"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Wybierz elementy sterujące dostępne w menu zasilania"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Przytrzymaj i przeciągnij, aby przestawić elementy sterujące"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Usunięto wszystkie elementy sterujące"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Nie udało się wczytać listy elementów sterujących."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Inne"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Dodaj do sterowania urządzeniem"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 6e1266b..cd1cd2d 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Não é possível salvar a captura de tela, porque não há espaço suficiente"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"O app ou a organização não permitem capturas de tela"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dispensar captura de tela"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abrir captura de tela"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Visualização de captura de tela"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Gravador de tela"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificação contínua para uma sessão de gravação de tela"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Iniciar gravação?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bolha"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ajuda você a manter o foco sem som ou vibração."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Chama sua atenção com som ou vibração."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Chama sua atenção com som ou vibração. As conversas do app <xliff:g id="APP_NAME">%1$s</xliff:g> aparecem em balões por padrão."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mantém sua atenção com um atalho flutuante para esse conteúdo."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Aparece na parte superior de uma seção de conversa e em forma de balão."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Todas as conversas em <xliff:g id="APP_NAME_0">%1$s</xliff:g> aparecem em forma de balão por padrão. Gerencie isso no app <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Config."</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridade"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nenhum balão recente"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apps sendo executados em segundo plano"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Tocar para ver detalhes sobre a bateria e o uso de dados"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Desativar os dados móveis?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Você não terá acesso a dados ou à Internet por meio da operadora <xliff:g id="CARRIER">%s</xliff:g>. A Internet só estará disponível via Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Você não terá acesso a dados ou à Internet pela operadora <xliff:g id="CARRIER">%s</xliff:g>. A Internet só estará disponível via Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"sua operadora"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Como um app está ocultando uma solicitação de permissão, as configurações não podem verificar sua resposta."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Permitir que <xliff:g id="APP_0">%1$s</xliff:g> mostre partes do app <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navegação no sistema atualizada. Se quiser alterá-la, acesse as configurações."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Acesse as configurações para atualizar a navegação no sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Em espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Janela de sobreposição de ampliação"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Janela de ampliação"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Controles da janela de ampliação"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controles"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Escolha os controles para acessar pelo menu do botão liga/desliga"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantenha a tela pressionada e arraste para reorganizar os controles"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Todos os controles foram removidos"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Não foi possível carregar a lista de controles."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Outro"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Adicionar aos controles do dispositivo"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 1137a77..b0c815d 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Não é possível guardar a captura de ecrã devido a espaço de armazenamento limitado."</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"A aplicação ou a sua entidade não permitem tirar capturas de ecrã"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ignorar captura de ecrã"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abrir captura de ecrã"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pré-visualização da captura de ecrã"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Gravador de ecrã"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificação persistente de uma sessão de gravação de ecrã"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Pretende iniciar a gravação?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Balão"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ajuda-o a focar-se sem som ou vibração."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Chama a sua atenção com som ou vibração."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Chama a sua atenção com som ou vibração. As conversas da app <xliff:g id="APP_NAME">%1$s</xliff:g> aparecem como um balão por predefinição."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mantém a sua atenção com um atalho flutuante para este conteúdo."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Aparece na parte superior da secção de conversas e surge como um balão."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Todas as conversas da app <xliff:g id="APP_NAME_0">%1$s</xliff:g> aparecem como um balão por predefinição. Faça a gestão na app <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Definições"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridade"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nenhum balão recente"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"A navegação no sistema foi atualizada. Para efetuar alterações, aceda às Definições."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Aceda às Definições para atualizar a navegação no sistema."</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Modo de espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Janela de sobreposição da ampliação"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Janela de ampliação"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Controlos da janela de ampliação"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controlos"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Escolha os controlos a que pretende aceder a partir do menu ligar/desligar."</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Toque sem soltar e arraste para reorganizar os controlos."</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Todos os controlos foram removidos."</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Não foi possível carregar a lista dos controlos."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Outro"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Adicione aos controlos de dispositivos"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 6e1266b..cd1cd2d 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Não é possível salvar a captura de tela, porque não há espaço suficiente"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"O app ou a organização não permitem capturas de tela"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Dispensar captura de tela"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Abrir captura de tela"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Visualização de captura de tela"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Gravador de tela"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificação contínua para uma sessão de gravação de tela"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Iniciar gravação?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bolha"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ajuda você a manter o foco sem som ou vibração."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Chama sua atenção com som ou vibração."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Chama sua atenção com som ou vibração. As conversas do app <xliff:g id="APP_NAME">%1$s</xliff:g> aparecem em balões por padrão."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mantém sua atenção com um atalho flutuante para esse conteúdo."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Aparece na parte superior de uma seção de conversa e em forma de balão."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Todas as conversas em <xliff:g id="APP_NAME_0">%1$s</xliff:g> aparecem em forma de balão por padrão. Gerencie isso no app <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Config."</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioridade"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nenhum balão recente"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Apps sendo executados em segundo plano"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Tocar para ver detalhes sobre a bateria e o uso de dados"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Desativar os dados móveis?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Você não terá acesso a dados ou à Internet por meio da operadora <xliff:g id="CARRIER">%s</xliff:g>. A Internet só estará disponível via Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Você não terá acesso a dados ou à Internet pela operadora <xliff:g id="CARRIER">%s</xliff:g>. A Internet só estará disponível via Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"sua operadora"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Como um app está ocultando uma solicitação de permissão, as configurações não podem verificar sua resposta."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Permitir que <xliff:g id="APP_0">%1$s</xliff:g> mostre partes do app <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navegação no sistema atualizada. Se quiser alterá-la, acesse as configurações."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Acesse as configurações para atualizar a navegação no sistema"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Em espera"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Janela de sobreposição de ampliação"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Janela de ampliação"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Controles da janela de ampliação"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Controles"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Escolha os controles para acessar pelo menu do botão liga/desliga"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantenha a tela pressionada e arraste para reorganizar os controles"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Todos os controles foram removidos"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Não foi possível carregar a lista de controles."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Outro"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Adicionar aos controles do dispositivo"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index f7b1f07..2ac41df 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Captura de ecran nu poate fi salvată din cauza spațiului de stocare limitat"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Crearea capturilor de ecran nu este permisă de aplicație sau de organizația dvs."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Închideți captura de ecran"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Deschideți captura de ecran"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Previzualizare a capturii de ecran"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Recorder pentru ecran"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Notificare în curs pentru o sesiune de înregistrare a ecranului"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Începeți înregistrarea?"</string>
@@ -710,9 +710,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Balon"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Vă ajută să vă concentrați fără sunet sau vibrare."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Vă atrage atenția fără sunet sau vibrare."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Vă atrage atenția cu sunet sau vibrație. Conversațiile din balonul <xliff:g id="APP_NAME">%1$s</xliff:g> în mod prestabilit."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Vă atrage atenția printr-o comandă rapidă flotantă la acest conținut."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Se afișează în partea de sus a secțiunii de conversație și apare ca un balon."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Toate conversațiile din <xliff:g id="APP_NAME_0">%1$s</xliff:g> apar în mod prestabilit în balon. Gestionați în <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Setări"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritate"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nu există baloane recente"</string>
@@ -1007,6 +1007,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigarea în sistem a fost actualizată. Pentru a face modificări, accesați Setările."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Accesați Setările pentru a actualiza navigarea în sistem"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Standby"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Fereastra de suprapunere pentru mărire"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Fereastra de mărire"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Comenzi pentru fereastra de mărire"</string>
@@ -1022,10 +1032,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Comenzi"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Alegeți comenzile de accesat din meniul de alimentare"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Țineți apăsat și trageți pentru a rearanja comenzile"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Au fost șterse toate comenzile"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Lista cu toate comenzile nu a putut fi încărcată."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Altul"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Adăugați la comenzile dispozitivului"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index db37b03..580cd42 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Не удалось сохранить скриншот: недостаточно места."</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Не удалось сделать скриншот: нет разрешения от приложения или организации."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Закрыть скриншот"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Открыть скриншот"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Предварительный просмотр скриншота"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Создание скриншотов"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Текущее уведомление для записи видео с экрана"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Начать запись?"</string>
@@ -588,7 +588,7 @@
     <string name="accessibility_volume_settings" msgid="1458961116951564784">"Настройки звука"</string>
     <string name="accessibility_volume_expand" msgid="7653070939304433603">"Развернуть"</string>
     <string name="accessibility_volume_collapse" msgid="2746845391013829996">"Свернуть"</string>
-    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Автоматические субтитры"</string>
+    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Автоматически добавлять субтитры"</string>
     <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"Подсказка \"Закрыть субтитры\""</string>
     <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"Наложение субтитров"</string>
     <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"включить"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Всплывающая подсказка"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Уведомления приходят без звука и вибрации"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Уведомления приходят со звуком или вибрацией"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Уведомления приходят со звуком или вибрацией. Разговоры из приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" по умолчанию появляются в виде всплывающего чата."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Привлекает ваше внимание к контенту с помощью плавающего ярлыка"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Появляется в верхней части списка разговоров и в виде всплывающего чата."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Все разговоры из сервиса \"<xliff:g id="APP_NAME_0">%1$s</xliff:g>\" по умолчанию появляются в виде всплывающих чатов. Изменить настройки можно в приложении \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\"."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Настройки"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Приоритет"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Нет недавних всплывающих чатов"</string>
@@ -972,7 +972,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Приложения, работающие в фоновом режиме"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Нажмите, чтобы проверить энергопотребление и трафик"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"Отключить мобильный Интернет?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"У вас не будет доступа к данным и Интернету через оператора \"<xliff:g id="CARRIER">%s</xliff:g>\". Вы сможете установить интернет-соединение только по сети Wi-Fi."</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"Вы не сможете передавать данные или выходить в Интернет через оператора \"<xliff:g id="CARRIER">%s</xliff:g>\". Интернет будет доступен только по сети Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"ваш оператор"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Невозможно принять ваше согласие, поскольку запрос скрыт другим приложением."</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"Разрешить приложению \"<xliff:g id="APP_0">%1$s</xliff:g>\" показывать фрагменты приложения \"<xliff:g id="APP_2">%2$s</xliff:g>\"?"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Параметры навигации в системе обновлены. Чтобы изменить их, перейдите в настройки."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Чтобы обновить параметры навигации в системе, перейдите в настройки."</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Переход в режим ожидания"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Наложение окна увеличения"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Окно увеличения"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Настройки окна увеличения"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Элементы управления"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Выберите элементы управления, которые будут доступны в меню кнопки питания."</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Чтобы изменить порядок элементов управления, перетащите их"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Все элементы управления удалены"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Не удалось загрузить список элементов управления."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Другое"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Добавьте элементы управления"</string>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index 6baa7e1..77f6ce6 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"සීමිත ගබඩා ඉඩ නිසා තිර රුව සුරැකිය නොහැකිය"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"තිර රූ ගැනීමට යෙදුම හෝ ඔබගේ සංවිධානය ඉඩ නොදේ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"තිර රුව ඉවත ලන්න"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"තිර රුව විවෘත කරන්න"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"තිර රූ පෙර දසුන"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"තිර රෙකෝඩරය"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"තිර පටිගත කිරීමේ සැසියක් සඳහා කෙරෙන දැනුම් දීම"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"පටිගත කිරීම ආරම්භ කරන්නද?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"බුබුළු"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ඔබට ශබ්දය හෝ කම්පනය නොමැතිව අවධානය යොමු කිරීමට උදවු කරයි."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ශබ්දය හෝ කම්පනය සමඟ ඔබේ අවධානය ලබා ගනී."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"ශබ්දය හෝ කම්පනය සමඟ ඔබේ අවධානය ලබා ගනී. <xliff:g id="APP_NAME">%1$s</xliff:g> වෙතින් සංවාද පෙරනිමියෙන් බුබුළු දමයි"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"පාවෙන කෙටිමගක් සමග ඔබේ අවධානය මෙම අන්තර්ගතය වෙත තබා ගන්න."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"සංවාද කොටසේ ඉහළම පෙන්වන අතර බුබුළක් ලෙස දිස් වේ."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> බුබුලෙන් වන සියලු සංවාද පෙරනිමියෙනි. <xliff:g id="APP_NAME_1">%2$s</xliff:g> හි කළමනාකරණය කරන්න."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"සැකසීම්"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ප්‍රමුඛතාව"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"මෑත බුබුලු නැත"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"පද්ධති සංචලනය යාවත්කාලීන කළා. වෙනස්කම් සිදු කිරීමට, සැකසීම් වෙත යන්න."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"පද්ධති සංචලනය යාවත්කාලීන කිරීමට සැකසීම් වෙත යන්න"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"පොරොත්තු"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"විශාලන උඩැතිරි කවුළුව"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"විශාලන කවුළුව"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"විශාලනය කිරීමේ කවුළු පාලන"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"පාලන"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"බල මෙනුවෙන් ප්‍රවේශ වීමට පාලන තෝරා ගන්න"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"පාලන නැවත පිළියෙළ කිරීමට අල්ලාගෙන සිට අදින්න"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"සියලු පාලන ඉවත් කර ඇත"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"සියලු පාලනවල ලැයිස්තුව පූරණය කළ නොහැකි විය."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"වෙනත්"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"උපාංග පාලන වෙත එක් කරන්න"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index e7c15d4..19f4f3d 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Snímka obrazovky sa nedá uložiť z dôvodu nedostatku miesta v úložisku"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Vytváranie snímok obrazovky je zakázané aplikáciou alebo vašou organizáciou"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Zavrieť snímku obrazovky"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Otvoriť snímku obrazovky"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ukážka snímky obrazovky"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Rekordér obrazovky"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Zobrazuje sa upozornenie týkajúce sa relácie záznamu obrazovky"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Chcete spustiť nahrávanie?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bublina"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Pomáha vám sústrediť sa bez zvukov či vibrácií."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Upúta vás zvukom alebo vibráciami."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Upúta vás zvukom alebo vibráciami. Predvolene sa zobrazia konverzácie z bubliny <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Upúta vás plávajúcim odkazom na tento obsah."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Zobrazuje sa v hornej časti konverzácie ako bublina."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Predvolene zobrazovať všetky konverzácie z aplikácie <xliff:g id="APP_NAME_0">%1$s</xliff:g> ako bubliny. Spravujte v aplikácii <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Nastavenia"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priorita"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Žiadne nedávne bubliny"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigácia v systéme bola aktualizovaná. Ak chcete vykonať zmeny, prejdite do Nastavení."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Prejdite do Nastavení a aktualizujte navigáciu v systéme"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Pohotovostný režim"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Okno prekrytia priblíženia"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Okno priblíženia"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Ovládacie prvky okna priblíženia"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Ovládacie prvky"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Vyberte si ovládacie prvky, ku ktorým chcete mať prístup v ponuke vypínača"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Ovládacie prvky môžete usporiadať pridržaním a presunutím"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Všetky ovládacie prvky boli odstránené"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Zoznam všetkých ovl. prvkov sa nepodarilo načítať."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Iné"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Pridanie do ovládacích prvkov zariadenia"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 1ab62e7..e30e042 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Shranjevanje posnetka zaslona ni mogoče zaradi omejenega prostora za shranjevanje"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Aplikacija ali vaša organizacija ne dovoljuje posnetkov zaslona"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Opusti posnetek zaslona"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Odpri posnetek zaslona"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Predogled posnetka zaslona"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Snemalnik zaslona"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Nenehno obveščanje o seji snemanja zaslona"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Želite začeti snemati?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Mehurček"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Nemoteč prikaz brez zvoka ali vibriranja"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Pritegne vašo pozornost z zvokom ali vibriranjem"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Pritegne vašo pozornost z zvokom ali vibriranjem. Pogovori v aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> so privzeto prikazani v oblačkih."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Zadrži vašo pozornost z lebdečo bližnjico do te vsebine."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Prikazano je na vrhu razdelka s pogovorom in v oblačku."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Vsi pogovori v aplikaciji <xliff:g id="APP_NAME_0">%1$s</xliff:g> so privzeto prikazani v oblačkih. Upravljajte v aplikaciji <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Nastavitve"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prednost"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Ni nedavnih oblačkov"</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Krmarjenje po sistemu je posodobljeno. Če želite opraviti spremembe, odprite nastavitve."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Če želite posodobiti krmarjenje po sistemu, odprite nastavitve"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Stanje pripravljenosti"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Prekrivno povečevalno okno"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Povečevalno okno"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrolniki povečevalnega okna"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrolniki"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Izberite kontrolnike, do katerih želite imeti dostop prek menija za vklop/izklop"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Držite in povlecite, da prerazporedite kontrolnike"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Vsi kontrolniki so bili odstranjeni"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Seznama vseh kontrolnikov ni bilo mogoče naložiti."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Drugo"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Dodajanje med kontrolnike naprave"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index c95232c..25bc60d 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Pamja e ekranit nuk mund të ruhet për shkak të hapësirës ruajtëse të kufizuar"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Nxjerrja e pamjeve të ekranit nuk lejohet nga aplikacioni ose organizata jote."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Hiq pamjen e ekranit"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Hap pamjen e ekranit"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Pamja paraprake e imazhit"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Regjistruesi i ekranit"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Njoftim i vazhdueshëm për një seancë regjistrimi të ekranit"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Të niset regjistrimi?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Flluskë"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Të ndihmon të fokusohesh pa tinguj ose dridhje."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Të tërheq vëmendjen me tinguj ose dridhje."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Të tërheq vëmendjen me tinguj ose dridhje. Bisedat nga flluska e <xliff:g id="APP_NAME">%1$s</xliff:g> si parazgjedhje."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Mban vëmendjen tënde me një shkurtore pluskuese te kjo përmbajtje."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Shfaqet në krye të seksionit të bisedës dhe shfaqet si flluskë."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Të gjitha bisedat nga flluska e <xliff:g id="APP_NAME_0">%1$s</xliff:g> si parazgjedhje. Menaxho në <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Cilësimet"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Përparësia"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Nuk ka flluska të fundit"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Navigimi i sistemit u përditësua. Për të bërë ndryshime, shko te \"Cilësimet\"."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Shko te \"Cilësimet\" për të përditësuar navigimin e sistemit"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Në gatishmëri"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Dritarja e mbivendosjes së zmadhimit"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Dritarja e zmadhimit"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kontrollet e dritares së zmadhimit"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontrollet"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Zgjidh kontrollet për të pasur qasje nga menyja e energjisë"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mbaje të shtypur dhe zvarrit për të risistemuar kontrollet"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Të gjitha kontrollet u hoqën"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Lista e të gjitha kontrolleve nuk mund të ngarkohej."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Tjetër"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Shto te kontrollet e pajisjes"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 3e2482d..d80d774 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -33,7 +33,7 @@
     <string name="invalid_charger_title" msgid="938685362320735167">"Пуњење преко USB-а није успело"</string>
     <string name="invalid_charger_text" msgid="2339310107232691577">"Користите пуњач који сте добили уз уређај"</string>
     <string name="battery_low_why" msgid="2056750982959359863">"Подешавања"</string>
-    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Желите ли да укључите Уштеду батерије?"</string>
+    <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Желите да укључите Уштеду батерије?"</string>
     <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"О Уштеди батерије"</string>
     <string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Укључи"</string>
     <string name="battery_saver_start_action" msgid="4553256017945469937">"Укључи Уштеду батерије"</string>
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Чување снимка екрана није успело због ограниченог меморијског простора"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Апликација или организација не дозвољавају прављење снимака екрана"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Одбаците снимак екрана"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Отворите снимак екрана"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Преглед снимка екрана"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Снимач екрана"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Обавештење о сесији снимања екрана је активно"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Желите да започнете снимање?"</string>
@@ -710,9 +710,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Облачић"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Помаже вам да се концентришете без звука или вибрације."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Привлачи вам пажњу помоћу звука или вибрације."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Привлачи вам пажњу помоћу звука или вибрирања. Конверзације из апликације <xliff:g id="APP_NAME">%1$s</xliff:g> се подразумевано приказују у облачићима."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Привлачи вам пажњу помоћу плутајуће пречице до овог садржаја."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Приказује се у врху одељка конверзације и као облачић."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Све конверзације из апликације <xliff:g id="APP_NAME_0">%1$s</xliff:g> се подразумевано приказују у облачићима. Управљајте у апликацији <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Подешавања"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Приоритет"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Нема недавних облачића"</string>
@@ -966,7 +966,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Замени"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Апликације покренуте у позадини"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Додирните за детаље о батерији и потрошњи података"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Желите ли да искључите мобилне податке?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Желите да искључите мобилне податке?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Нећете имати приступ подацима или интернету преко мобилног оператера <xliff:g id="CARRIER">%s</xliff:g>. Интернет ће бити доступан само преко Wi-Fi везе."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"мобилни оператер"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Подешавања не могу да верификују ваш одговор јер апликација скрива захтев за дозволу."</string>
@@ -1007,6 +1007,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Навигација система је ажурирана. Да бисте унели измене, идите у Подешавања."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Идите у Подешавања да бисте ажурирали навигацију система"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Стање приправности"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Преклопни прозор за увећање"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Прозор за увећање"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Контроле прозора за увећање"</string>
@@ -1022,10 +1032,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Контроле"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Одаберите контроле којима ћете приступати из менија напајања"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Задржите и превуците да бисте променили распоред контрола"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Све контроле су уклоњене"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Учитавање листе свих контрола није успело."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Друго"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Додајте у контроле уређаја"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 509b97c..6218b7b 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Det går inte att spara skärmdumpen eftersom lagringsutrymmet inte räcker"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Appen eller organisationen tillåter inte att du tar skärmdumpar"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Stäng skärmdump"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Öppna skärmdump"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Förhandsgranskning av skärmdump"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Skärminspelare"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Avisering om att skärminspelning pågår"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Vill du starta inspelningen?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubbla"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Inga ljud eller vibrationer som stör koncentrationen."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Påkallar uppmärksamhet med ljud eller vibrationer."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Påkallar uppmärksamhet med ljud eller vibrationer. Konversationer från <xliff:g id="APP_NAME">%1$s</xliff:g> visas i bubblor som standard."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Behåller din uppmärksamhet med en flytande genväg till innehållet."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Visas högst upp bland konversationerna som en bubbla"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Alla konversationer från <xliff:g id="APP_NAME_0">%1$s</xliff:g> visas i bubblor som standard. Hantera detta i <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Inställningar"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Prioritet"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Inga nya bubblor"</string>
@@ -978,7 +978,7 @@
     <string name="auto_saver_enabled_text" msgid="7889491183116752719">"Batterisparläget aktiveras automatiskt när batterinivån är under <xliff:g id="PERCENTAGE">%d</xliff:g> %%."</string>
     <string name="open_saver_setting_action" msgid="2111461909782935190">"Inställningar"</string>
     <string name="auto_saver_okay_action" msgid="7815925750741935386">"OK"</string>
-    <string name="heap_dump_tile_name" msgid="2464189856478823046">"Dumpa SysUI-heap"</string>
+    <string name="heap_dump_tile_name" msgid="2464189856478823046">"Dump SysUI-heap"</string>
     <string name="sensor_privacy_mode" msgid="4462866919026513692">"Sensorer har inaktiverats"</string>
     <string name="device_services" msgid="1549944177856658705">"Enhetstjänster"</string>
     <string name="music_controls_no_title" msgid="4166497066552290938">"Ingen titel"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Systemnavigeringen har uppdaterats. Öppna inställningarna om du vill ändra något."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Öppna inställningarna och uppdatera systemnavigeringen"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Viloläge"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Överlagrat förstoringsfönster"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Förstoringsfönster"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Inställningar för förstoringsfönster"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Kontroller"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Välj snabbkontroller som ska visas i strömbrytarmenyn"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Ändra ordning på kontrollerna genom att trycka och dra"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Alla kontroller har tagits bort"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Listan med alla kontroller kunde inte läsas in."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Övrigt"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Lägg till i enhetsinställningar"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index a23e390..2cba96a 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Imeshindwa kuhifadhi picha ya skrini kwa sababu nafasi haitoshi"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Programu au shirika lako halikuruhusu kupiga picha za skrini"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ondoa picha ya skrini"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Fungua picha ya skrini"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Onyesho la kukagua picha ya skrini"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Kinasa Skrini"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Arifa inayoendelea ya kipindi cha kurekodi skrini"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Ungependa kuanza kurekodi?"</string>
@@ -615,7 +615,7 @@
     <string name="stream_accessibility" msgid="3873610336741987152">"Zana za walio na matatizo ya kuona au kusikia"</string>
     <string name="ring_toggle_title" msgid="5973120187287633224">"Simu"</string>
     <string name="volume_ringer_status_normal" msgid="1339039682222461143">"Piga"</string>
-    <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Tetema"</string>
+    <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"Kutetema"</string>
     <string name="volume_ringer_status_silent" msgid="3691324657849880883">"Zima sauti"</string>
     <string name="qs_status_phone_vibrate" msgid="7055409506885541979">"Umeweka mipangilio ya simu kutetema"</string>
     <string name="qs_status_phone_muted" msgid="3763664791309544103">"Umezima sauti ya simu"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Kiputo"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Hukusaidia kuwa makini bila sauti au mtetemo."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Hupata umakinifu wako kwa sauti na mtetemo."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Hupata umakinifu wako kwa sauti au mtetemo. Mazungumzo kutoka kiputo cha <xliff:g id="APP_NAME">%1$s</xliff:g> kwa chaguomsingi."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Huweka umakinifu wako kwenye maudhui haya kwa kutumia njia ya mkato ya kuelea."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Huonyeshwa sehemu ya juu ya mazungumzo na huonekana kama kiputo."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Mazungumzo yote kwenye <xliff:g id="APP_NAME_0">%1$s</xliff:g> huwa na kiputo kwa chaguo msingi. Dhibiti katika <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Mipangilio"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Kipaumbele"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Hakuna viputo vya hivi majuzi"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Umesasisha usogezaji kwenye mfumo. Ili ubadilishe, nenda kwenye Mipangilio."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Nenda kwenye mipangilio ili usasishe usogezaji kwenye mfumo"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Hali tuli"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Dirisha la Kuwekelea Linalokuza"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Dirisha la Ukuzaji"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Vidhibiti vya Dirisha la Ukuzaji"</string>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 4207066..6dab250 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -87,7 +87,8 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"போதுமான சேமிப்பிடம் இல்லாததால் ஸ்கிரீன்ஷாட்டைச் சேமிக்க முடியவில்லை"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ஸ்கிரீன் ஷாட்டுகளை எடுப்பதை, ஆப்ஸ் அல்லது உங்கள் நிறுவனம் அனுமதிக்கவில்லை"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ஸ்கிரீன்ஷாட்டை நிராகரி"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"ஸ்கிரீன்ஷாட்டைத் திற"</string>
+    <!-- no translation found for screenshot_preview_description (7606510140714080474) -->
+    <skip />
     <string name="screenrecord_name" msgid="2596401223859996572">"ஸ்கிரீன் ரெக்கார்டர்"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"திரை ரெக்கார்டிங் அமர்விற்கான தொடர் அறிவிப்பு"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ரெக்கார்டிங்கைத் தொடங்கவா?"</string>
@@ -296,8 +297,8 @@
     <string name="accessibility_quick_settings_flashlight_on" msgid="3785616827729850766">"டார்ச் லைட் எரிகிறது"</string>
     <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3782375441381402599">"ஃபிளாஷ்லைட் முடக்கப்பட்டது."</string>
     <string name="accessibility_quick_settings_flashlight_changed_on" msgid="4747870681508334200">"டார்ச் லைட் எரிகிறது"</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"வண்ண நேர்மாறு முறை முடக்கப்பட்டது."</string>
-    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"வண்ண நேர்மாறு முறை இயக்கப்பட்டது."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="7548045840282925393">"கலர் இன்வெர்ஷன் முடக்கப்பட்டது."</string>
+    <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="4711141858364404084">"கலர் இன்வெர்ஷன் இயக்கப்பட்டது."</string>
     <string name="accessibility_quick_settings_hotspot_changed_off" msgid="7002061268910095176">"மொபைல் ஹாட்ஸ்பாட் முடக்கப்பட்டது."</string>
     <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2576895346762408840">"மொபைல் ஹாட்ஸ்பாட் இயக்கப்பட்டது."</string>
     <string name="accessibility_casting_turned_off" msgid="1387906158563374962">"திரையை அனுப்புதல் நிறுத்தப்பட்டது."</string>
@@ -707,9 +708,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"பபிள்"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ஒலியோ அதிர்வோ இல்லாமல் முழு கவனம் செலுத்த உதவும்."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ஒலியோ அதிர்வோ ஏற்படுத்தி உங்கள் கவனத்தை ஈர்க்கும்."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"இந்த உள்ளடக்கத்திற்கான மிதக்கும் ஷார்ட்கட் மூலம் உங்கள் கவனத்தைப் பெற்றிருக்கும்."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"உரையாடல் பிரிவின் மேற்பகுதியில் ஒரு குமிழாகக் காட்டப்படும்."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ஆப்ஸில் இருக்கும் அனைத்து உரையாடல்களும் இயல்பாகக் குமிழாகவே இருக்கும். <xliff:g id="APP_NAME_1">%2$s</xliff:g> ஆப்ஸில் நிர்வகிக்கலாம்."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"அமைப்புகள்"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"முன்னுரிமை"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"சமீபத்திய குமிழ்கள் இல்லை"</string>
@@ -1002,6 +1004,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"சிஸ்டம் நேவிகேஷன் மாற்றப்பட்டது. மாற்றங்களைச் செய்ய ‘அமைப்புகளுக்குச்’ செல்லவும்."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"சிஸ்டம் நேவிகேஷனை மாற்ற ’அமைப்புகளுக்குச்’ செல்லவும்"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"இயக்க நேரம்"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Magnification Overlay Window"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"பெரிதாக்கல் சாளரம்"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"பெரிதாக்கல் சாளரக் கட்டுப்பாடுகள்"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 2fd229d55..e365171 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"నిల్వ స్థలం పరిమితంగా ఉన్న కారణంగా స్క్రీన్‌షాట్‌ను సేవ్ చేయడం సాధ్యపడదు"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"స్క్రీన్‌షాట్‌లు తీయడానికి యాప్ లేదా మీ సంస్థ అనుమతించలేదు"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"స్క్రీన్‌షాట్‌ను మూసివేస్తుంది"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"స్క్రీన్‌షాట్‌ను తెరుస్తుంది"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"స్క్రీన్‌షాట్ ప్రివ్యూ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"స్క్రీన్ రికార్డర్"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"స్క్రీన్ రికార్డ్ సెషన్ కోసం ఆన్‌గోయింగ్ నోటిఫికేషన్"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"రికార్డింగ్‌ను ప్రారంభించాలా?"</string>
@@ -362,7 +362,7 @@
     <string name="quick_settings_rotation_locked_portrait_label" msgid="1194988975270484482">"పోర్ట్రెయిట్"</string>
     <string name="quick_settings_rotation_locked_landscape_label" msgid="2000295772687238645">"ల్యాండ్‌స్కేప్"</string>
     <string name="quick_settings_ime_label" msgid="3351174938144332051">"ఇన్‌పుట్ పద్ధతి"</string>
-    <string name="quick_settings_location_label" msgid="2621868789013389163">"స్థానం"</string>
+    <string name="quick_settings_location_label" msgid="2621868789013389163">"లొకేషన్"</string>
     <string name="quick_settings_location_off_label" msgid="7923929131443915919">"స్థానం ఆఫ్‌లో ఉంది"</string>
     <string name="quick_settings_media_device_label" msgid="8034019242363789941">"ప్రసార మాధ్యమ పరికరం"</string>
     <string name="quick_settings_rssi_label" msgid="3397615415140356701">"RSSI"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"బబుల్"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"శబ్దం లేదా వైబ్రేషన్ లేకుండా దృష్టి కేంద్రీకరించడానికి మీకు సహాయపడుతుంది."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"శబ్దం లేదా వైబ్రేషన్‌తో మీరు దృష్టి సారించేలా చేస్తుంది."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ఫ్లోటింగ్ షార్ట్‌కట్‌తో మీ దృష్టిని ఈ కంటెంట్‌పై నిలిపి ఉంచుతుంది."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"సంభాషణ విభాగానికి ఎగువున ఉంటుంది, బబుల్‌లాగా కనిపిస్తుంది."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> నుండి అన్ని సంభాషణలు డిఫాల్ట్‌గా బబుల్‌గా ఉంటాయి. <xliff:g id="APP_NAME_1">%2$s</xliff:g>లో మేనేజ్ చేయండి"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"సెట్టింగ్‌లు"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ప్రాధాన్యత"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ఇటీవలి బబుల్స్ ఏవీ లేవు"</string>
@@ -961,7 +962,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"భర్తీ చేయి"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"నేపథ్యంలో అమలు అవుతున్న ఆప్‌లు"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"బ్యాటరీ మరియు డేటా వినియోగ వివరాల కోసం నొక్కండి"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"మొబైల్ డేటాని ఆఫ్ చేయాలా?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"మొబైల్ డేటాను ఆఫ్ చేయాలా?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"మీకు <xliff:g id="CARRIER">%s</xliff:g> ద్వారా డేటా లేదా ఇంటర్నెట్‌కు యాక్సెస్ ఉండదు. Wi-Fi ద్వారా మాత్రమే ఇంటర్నెట్ అందుబాటులో ఉంటుంది."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"మీ క్యారియర్"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"అనుమతి అభ్యర్థనకు ఒక యాప్ అడ్డు తగులుతున్నందున సెట్టింగ్‌లు మీ ప్రతిస్పందనను ధృవీకరించలేకపోయాయి."</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"సిస్టమ్ నావిగేషన్ అప్‌డేట్ చేయబడింది. మార్పులు చేయడానికి, సెట్టింగ్‌లకు వెళ్లండి."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"సిస్టమ్ నావిగేషన్‌ను అప్‌డేట్ చేయడానికి సెట్టింగ్‌లకు వెళ్లండి"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"స్టాండ్‌బై"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"మాగ్నిఫికేషన్ ఓవర్‌లే విండో"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"మాగ్నిఫికేషన్ విండో"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"మాగ్నిఫికేషన్ నియంత్రణల విండో"</string>
@@ -1016,10 +1027,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"నియంత్రణలు"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"పవర్ మెనూ నుండి యాక్సెస్ చేయడానికి నియంత్రణలను ఎంచుకోండి"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"నియంత్రణల క్రమం మార్చడానికి పట్టుకుని&amp;amp, లాగండి"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"అన్ని నియంత్రణలు తీసివేయబడ్డాయి"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"అన్ని నియంత్రణలు గల జాబితాను లోడ్ చేయలేకపోయాము."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ఇతరం"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"పరికర నియంత్రణలకు జోడించడం"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 1604d15..3965871 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"บันทึกภาพหน้าจอไม่ได้เนื่องจากพื้นที่เก็บข้อมูลมีจำกัด"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"แอปหรือองค์กรของคุณไม่อนุญาตให้จับภาพหน้าจอ"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"ปิดภาพหน้าจอ"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"เปิดภาพหน้าจอ"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"ตัวอย่างภาพหน้าจอ"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"โปรแกรมอัดหน้าจอ"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"การแจ้งเตือนต่อเนื่องสำหรับเซสชันการบันทึกหน้าจอ"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"เริ่มบันทึกเลยไหม"</string>
@@ -352,7 +352,7 @@
     <string name="quick_settings_bluetooth_secondary_label_audio" msgid="780333390310051161">"เสียง"</string>
     <string name="quick_settings_bluetooth_secondary_label_headset" msgid="2332093067553000852">"ชุดหูฟัง"</string>
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"อินพุต"</string>
-    <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"เครื่องช่วยการได้ยิน"</string>
+    <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"เครื่องช่วยฟัง"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"กำลังเปิด..."</string>
     <string name="quick_settings_brightness_label" msgid="680259653088849563">"ความสว่าง"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"หมุนอัตโนมัติ"</string>
@@ -397,7 +397,7 @@
     <string name="quick_settings_tethering_label" msgid="5257299852322475780">"การปล่อยสัญญาณ"</string>
     <string name="quick_settings_hotspot_label" msgid="1199196300038363424">"ฮอตสปอต"</string>
     <string name="quick_settings_hotspot_secondary_label_transient" msgid="7585604088079160564">"กำลังเปิด..."</string>
-    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"เปิดประหยัดเน็ตอยู่"</string>
+    <string name="quick_settings_hotspot_secondary_label_data_saver_enabled" msgid="1280433136266439372">"เปิดการประหยัดเน็ตอยู่"</string>
     <plurals name="quick_settings_hotspot_secondary_label_num_devices" formatted="false" msgid="3142308865165871976">
       <item quantity="other">อุปกรณ์ %d เครื่อง</item>
       <item quantity="one">อุปกรณ์ %d เครื่อง</item>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"บับเบิล"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"ช่วยรักษาสมาธิของคุณด้วยการไม่ส่งเสียงหรือสั่น"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"ดึงความสนใจของคุณด้วยเสียงและการสั่น"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"ดึงความสนใจของคุณด้วยเสียงและการสั่น การสนทนาจาก <xliff:g id="APP_NAME">%1$s</xliff:g> จะแสดงเป็นบับเบิลโดยค่าเริ่มต้น"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"ดึงดูดความสนใจของคุณไว้เสมอด้วยทางลัดแบบลอยที่มายังเนื้อหานี้"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"แสดงที่ด้านบนของส่วนการสนทนาและปรากฏเป็นบับเบิล"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"การสนทนาทั้งหมดจากบับเบิล <xliff:g id="APP_NAME_0">%1$s</xliff:g> โดยค่าเริ่มต้น จัดการใน<xliff:g id="APP_NAME_1">%2$s</xliff:g>"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"การตั้งค่า"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ลำดับความสำคัญ"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"ไม่มีบับเบิลเมื่อเร็วๆ นี้"</string>
@@ -847,8 +847,8 @@
     <string name="right_keycode" msgid="2480715509844798438">"Keycode ทางขวา"</string>
     <string name="left_icon" msgid="5036278531966897006">"ไอคอนทางซ้าย"</string>
     <string name="right_icon" msgid="1103955040645237425">"ไอคอนทางขวา"</string>
-    <string name="drag_to_add_tiles" msgid="8933270127508303672">"กดค้างแล้วลากเพื่อเพิ่มชิ้นส่วน"</string>
-    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"กดไทล์ค้างไว้แล้วลากเพื่อจัดเรียงใหม่"</string>
+    <string name="drag_to_add_tiles" msgid="8933270127508303672">"กดค้างแล้วลากเพื่อเพิ่มการ์ด"</string>
+    <string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"กดการ์ดค้างไว้แล้วลากเพื่อจัดเรียงใหม่"</string>
     <string name="drag_to_remove_tiles" msgid="4682194717573850385">"ลากมาที่นี่เพื่อนำออก"</string>
     <string name="drag_to_remove_disabled" msgid="933046987838658850">"คุณต้องมีการ์ดอย่างน้อย <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> รายการ"</string>
     <string name="qs_edit" msgid="5583565172803472437">"แก้ไข"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"อัปเดตการไปยังส่วนต่างๆ ของระบบแล้ว หากต้องการเปลี่ยนแปลง ให้ไปที่การตั้งค่า"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"ไปที่การตั้งค่าเพื่ออัปเดตการไปยังส่วนต่างๆ ของระบบ"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"สแตนด์บาย"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"หน้าต่างการขยายที่วางซ้อน"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"หน้าต่างการขยาย"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"การควบคุมหน้าต่างการขยาย"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"การควบคุม"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"เลือกตัวควบคุมที่ต้องการให้เข้าถึงได้จากเมนูเปิด/ปิด"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"กดตัวควบคุมค้างไว้แล้วลากเพื่อจัดเรียงใหม่"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"นำตัวควบคุมทั้งหมดออกแล้ว"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"โหลดรายการตัวควบคุมทั้งหมดไม่ได้"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"อื่นๆ"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"เพิ่มไปยังการควบคุมอุปกรณ์"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index d5c2099..ceb9ae1 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Hindi ma-save ang screenshot dahil sa limitadong espasyo ng storage"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Hindi pinahihintulutan ng app o ng iyong organisasyon ang pagkuha ng mga screenshot"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"I-dismiss ang screenshot"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Buksan ang screenshot"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Preview ng screenshot"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Recorder ng Screen"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Kasalukuyang notification para sa session ng pag-record ng screen"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Simulang Mag-record?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bubble"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Nakakatulong sa iyong tumuon nang walang tunog o pag-vibrate."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Kinukuha ang iyong atensyon sa pamamagitan ng tunog o pag-vibrate."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Kinukuha ang iyong atensyon sa pamamagitan ng tunog o pag-vibrate. Mga pag-uusap mula sa <xliff:g id="APP_NAME">%1$s</xliff:g> bubble bilang default."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Pinapanatili ang iyong atensyon sa pamamagitan ng lumulutang na shortcut sa content na ito."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Lumalabas sa itaas ng seksyon ng pag-uusap at nagpapakita bilang bubble."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Lumalabas bilang bubble ang mga pag-uusap sa <xliff:g id="APP_NAME_0">%1$s</xliff:g> bilang default. Pamahalaan sa <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Mga Setting"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Priyoridad"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Walang kamakailang bubble"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Na-update na ang pag-navigate ng system. Para gumawa ng mga pagbabago, pumunta sa Mga Setting."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Pumunta sa Mga Setting para i-update ang pag-navigate sa system"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Naka-standby"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Window ng Overlay sa Pag-magnify"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Window ng Pag-magnify"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Mga Kontrol sa Pag-magnify ng Window"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Mga Kontrol"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Pumili ng mga kontrol na maa-access mula sa power menu"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"I-hold at i-drag para baguhin ang pagkakaayos ng mga kontrol"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Inalis ang lahat ng kontrol"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Hindi ma-load ang listahan ng lahat ng control."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Iba pa"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Idagdag sa mga kontrol ng device"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 5f5968ec6..d8c822f 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Depolama alanı sınırlı olduğundan ekran görüntüsü kaydedilemiyor"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Uygulama veya kuruluşunuz, ekran görüntüsü alınmasına izin vermiyor."</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Ekran görüntüsünü kapat"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Ekran görüntüsünü aç"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ekran görüntüsü önizlemesi"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekran Kaydedicisi"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ekran kaydı oturumu için devam eden bildirim"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Kayıt Başlatılsın mı?"</string>
@@ -707,9 +707,10 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Baloncuk"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ses veya titreşim olmadan odaklanmanıza yardımcı olur."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Ses veya titreşimle dikkatinizi çeker."</string>
+    <!-- no translation found for notification_channel_summary_default_with_bubbles (6298026344552480458) -->
+    <skip />
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Kayan kısayolla dikkatinizi bu içerik üzerinde tutar."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Görüşme bölümünün üstünde baloncuk olarak gösterilir."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> adlı uygulamadan tüm görüşmeler varsayılan olarak baloncukla gösterilir. <xliff:g id="APP_NAME_1">%2$s</xliff:g> uygulamasında yönet."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Ayarlar"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Öncelik"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Son kapatılan baloncuk yok"</string>
@@ -1002,6 +1003,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Sistemde gezinme yöntemi güncellendi. Değişiklik yapmak için Ayarlar\'a gidin."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Sistemde gezinme yöntemini güncellemek için Ayarlar\'a gidin"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Beklemeye alınıyor"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Yer Paylaşımlı Büyütme Penceresi"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Büyütme Penceresi"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Büyütme Penceresi Kontrolleri"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 15658f3..4c80dbb 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Не вдалося зберегти знімок екрана через обмежений обсяг пам’яті"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Додаток або адміністратор вашої організації не дозволяють робити знімки екрана"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Закрити знімок екрана"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Відкрити знімок екрана"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Перегляд знімка екрана"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Створення знімків екрана"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Сповіщення про сеанс запису екрана"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Почати запис?"</string>
@@ -713,9 +713,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Спливаюче сповіщення"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Не відволікає увагу звуковим сигналом або вібрацією."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Привертає увагу звуковим сигналом або вібрацією."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Привертає увагу звуковим сигналом або вібрацією. Показує спливаючі чати з додатка <xliff:g id="APP_NAME">%1$s</xliff:g> за умовчанням."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Привертає увагу до контенту плаваючим ярликом."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"З\'являється вгорі розділу з розмовами у вигляді спливаючого чату."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Усі чати з додатка <xliff:g id="APP_NAME_0">%1$s</xliff:g> за умовчанням з\'являються у вигляді спливаючих сповіщень. Налаштувати їх можна в додатку <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Налаштування"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Пріоритет"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Немає нещодавніх спливаючих чатів"</string>
@@ -971,7 +971,7 @@
     <string name="qs_dnd_replace" msgid="7712119051407052689">"Замінити"</string>
     <string name="running_foreground_services_title" msgid="5137313173431186685">"Додатки, які працюють у фоновому режимі"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"Торкніться, щоб перевірити використання акумулятора й трафік"</string>
-    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Вимкнути мобільне передавання даних?"</string>
+    <string name="mobile_data_disable_title" msgid="5366476131671617790">"Вимкнути мобільний Інтернет?"</string>
     <string name="mobile_data_disable_message" msgid="8604966027899770415">"Ви не матимете доступу до даних чи Інтернету через оператора <xliff:g id="CARRIER">%s</xliff:g>. Інтернет буде доступний лише через Wi-Fi."</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"ваш оператор"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"Не вдається підтвердити вашу відповідь у налаштуваннях, оскільки інший додаток заступає запит на дозвіл."</string>
@@ -1012,6 +1012,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Навігацію в системі оновлено. Щоб внести зміни, перейдіть у налаштування."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Перейдіть у налаштування, щоб оновити навігацію в системі"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Режим очікування"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Вікно збільшення з накладанням"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Вікно збільшення"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Елементи керування вікна збільшення"</string>
@@ -1028,10 +1038,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Елементи керування"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Виберіть, які елементи керування будуть у меню \"Живлення\""</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Щоб змінити порядок елементів керування, перетягуйте їх"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Усі елементи керування вилучено"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Не вдалося завантажити список усіх елементів керування."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Інше"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Додати до елементів керування пристроєм"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index 08a400f..6b2ef87 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"اسٹوریج کی محدود جگہ کی وجہ سے اسکرین شاٹ کو محفوظ نہیں کیا جا سکتا"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"ایپ یا آپ کی تنظیم کی جانب سے اسکرین شاٹس لینے کی اجازت نہیں ہے"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"اسکرین شاٹ برخاست کریں"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"اسکرین شاٹ کھولیں"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"اسکرین شاٹ کا پیش منظر"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"سکرین ریکارڈر"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"اسکرین ریکارڈ سیشن کیلئے جاری اطلاع"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"ریکارڈنگ شروع کریں؟"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"بلبلہ"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"بغیر آواز یا وائبریشن کے آپ کو فوکس کرنے میں مدد کرتا ہے۔"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"آواز اور وائبریشن کے ذریعے آپ کی توجہ حاصل کرتا ہے۔"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"آواز اور وائبریشن کے ذریعے آپ کی توجہ حاصل کرتا ہے۔ بذریعہ ڈیفالٹ <xliff:g id="APP_NAME">%1$s</xliff:g> بلبلہ سے گفتگوئیں."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"اس مواد کے فلوٹنگ شارٹ کٹ کے ساتھ آپ کی توجہ دیتی ہے۔"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"گفتگو کے سیکشن میں سب سے اوپر دکھاتا ہے اور بلبلہ کے طور پر ظاہر ہوتا ہے۔"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"سبھی گفتگوئیں <xliff:g id="APP_NAME_0">%1$s</xliff:g> بلبلہ سے بذریعہ ڈیفالٹ۔ <xliff:g id="APP_NAME_1">%2$s</xliff:g> میں نظم کریں۔"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"ترتیبات"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"ترجیح"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"کوئی حالیہ بلبلہ نہیں"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"سسٹم نیویگیشن اپ ڈیٹ کیا گیا۔ تبدیلیاں کرنے کے لیے، ترتیبات پر جائیں۔"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"سسٹم نیویگیشن اپ ڈیٹ کرنے کے لیے ترتیبات پر جائیں"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"اسٹینڈ بائی"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"میگنیفیکیشن اوورلے ونڈو"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"میگنیفکیشن ونڈو"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"میگنیفکیشن ونڈو کنٹرولز"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"کنٹرولز"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"پاور مینو سے رسائی حاصل کرنے کے لیے کنٹرولز کو منتخب کریں"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"کنٹرولز کو دوبارہ ترتیب دینے کے ليے پکڑیں اور گھسیٹیں"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"سبھی کنٹرولز ہٹا دیے گئے"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"تمام کنٹرولز کی فہرست لوڈ نہیں کی جا سکی۔"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"دیگر"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"آلہ کے کنٹرولز میں شامل کریں"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index de26560..8fb32e6 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Xotirada joy kamligi uchun skrinshot saqlanmadi"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Ilova yoki tashkilotingiz skrinshot olishni taqiqlagan"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Skrinshotni yopish"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Skrinshotni ochish"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Skrinshotga razm solish"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Ekrandan yozib olish"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Ekrandan yozib olish seansi uchun joriy bildirishnoma"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Yozib olish boshlansinmi?"</string>
@@ -582,7 +582,7 @@
     <string name="accessibility_volume_settings" msgid="1458961116951564784">"Tovush sozlamalari"</string>
     <string name="accessibility_volume_expand" msgid="7653070939304433603">"Yoyish"</string>
     <string name="accessibility_volume_collapse" msgid="2746845391013829996">"Yig‘ish"</string>
-    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Avtomatik taglavha mediasi"</string>
+    <string name="volume_odi_captions_tip" msgid="8825655463280990941">"Avtomatik taglavha yaratish"</string>
     <string name="accessibility_volume_close_odi_captions_tip" msgid="8924753283621160480">"Taglavhalar maslahatini yopish"</string>
     <string name="volume_odi_captions_content_description" msgid="4172765742046013630">"Taglavhalarni chiqarish"</string>
     <string name="volume_odi_captions_hint_enable" msgid="2073091194012843195">"faollashtirish"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Pufaklar"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Bildirishnomalar tovush va tebranishsiz keladi."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Bildirishnomalar tovush va tebranish bilan keladi."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Bildirishnomalar tovush va tebranish bilan keladi. <xliff:g id="APP_NAME">%1$s</xliff:g> suhbatlari standart holatda pufaklar shaklida chiqadi."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Bu kontentni ochuvchi erkin yorliq diqqatingizda boʻladi."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Suhbatlar boʻlimining yuqori qismida bulutcha shaklida chiqadi."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Barcha <xliff:g id="APP_NAME_0">%1$s</xliff:g> xabarlari bulutcha shaklida chiqadi. Sozlamalarni <xliff:g id="APP_NAME_1">%2$s</xliff:g> orqali oʻzgartirish mumkin."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Sozlamalar"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Muhimligi"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Avvalgi bulutchalar topilmadi"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Tizim navigatsiyasi yangilandi. Buni Sozlamalar orqali oʻzgartirishingiz mumkin."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Tizim navigatsiyasini yangilash uchun Sozlamalarni oching"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Kutib turing"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Kattalashtirish oynasining ustidan ochilishi"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Kattalashtirish oynasi"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Kattalashtirish oynasi sozlamalari"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index b12ea2f..e3e525e 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Không thể lưu ảnh chụp màn hình do giới hạn dung lượng bộ nhớ"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Ứng dụng hoặc tổ chức của bạn không cho phép chụp ảnh màn hình"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Đóng ảnh chụp màn hình"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Mở ảnh chụp màn hình"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Xem trước ảnh chụp màn hình"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Trình ghi màn hình"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Thông báo đang diễn ra về phiên ghi màn hình"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Bắt đầu ghi?"</string>
@@ -388,7 +388,7 @@
     <string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"Độ sáng"</string>
     <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="2325362583903258677">"TỰ ĐỘNG"</string>
     <string name="quick_settings_inversion_label" msgid="5078769633069667698">"Đảo ngược màu"</string>
-    <string name="quick_settings_color_space_label" msgid="537528291083575559">"Chế độ hiệu chỉnh màu sắc"</string>
+    <string name="quick_settings_color_space_label" msgid="537528291083575559">"Chế độ chỉnh màu"</string>
     <string name="quick_settings_more_settings" msgid="2878235926753776694">"Cài đặt khác"</string>
     <string name="quick_settings_done" msgid="2163641301648855793">"Xong"</string>
     <string name="quick_settings_connected" msgid="3873605509184830379">"Đã kết nối"</string>
@@ -508,7 +508,7 @@
     <string name="manage_notifications_text" msgid="6885645344647733116">"Quản lý"</string>
     <string name="manage_notifications_history_text" msgid="57055985396576230">"Lịch sử"</string>
     <string name="notification_section_header_gentle" msgid="3044910806569985386">"Thông báo im lặng"</string>
-    <string name="notification_section_header_alerting" msgid="3168140660646863240">"Thông báo bằng chế độ rung hoặc âm thanh"</string>
+    <string name="notification_section_header_alerting" msgid="3168140660646863240">"Thông báo cảnh báo"</string>
     <string name="notification_section_header_conversations" msgid="821834744538345661">"Cuộc trò chuyện"</string>
     <string name="accessibility_notification_section_header_gentle_clear_all" msgid="6490207897764933919">"Xóa tất cả thông báo im lặng"</string>
     <string name="dnd_suppressing_shade_text" msgid="5588252250634464042">"Chế độ Không làm phiền đã tạm dừng thông báo"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Bong bóng"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Giúp bạn tập trung bằng cách tắt tiếng hoặc không rung."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Thu hút sự chú ý của bạn bằng cách bật tiếng hoặc rung."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Thu hút sự chú ý của bạn bằng cách bật tiếng hoặc rung. Theo mặc định, các cuộc trò chuyện từ <xliff:g id="APP_NAME">%1$s</xliff:g> được phép hiển thị dưới dạng bong bóng."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Luôn chú ý vào nội dung này bằng phím tắt nổi."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Hiển thị dưới dạng bong bóng ở đầu cuộc trò chuyện."</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Theo mặc định, tất cả các cuộc trò chuyện từ ứng dụng <xliff:g id="APP_NAME_0">%1$s</xliff:g> được phép hiển thị dưới dạng bong bóng. Quản lý trong phần <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Cài đặt"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Mức độ ưu tiên"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Không có bong bóng trò chuyện nào gần đây"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Đã cập nhật chế độ di chuyển trên hệ thống. Để thay đổi, hãy chuyển đến phần Cài đặt."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Chuyển đến phần Cài đặt để cập nhật chế độ di chuyển trên hệ thống"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Chế độ chờ"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Cửa sổ lớp phủ phóng to"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Cửa sổ phóng to"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Các tùy chọn điều khiển cửa sổ phóng to"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Các tùy chọn điều khiển"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Chọn các tùy chọn điều khiển để truy cập từ trình đơn nguồn"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Giữ và kéo để sắp xếp lại các tùy chọn điều khiển"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Đã xóa tất cả tùy chọn điều khiển"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Không thể tải danh sách tất cả tùy chọn điều khiển."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Khác"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Thêm vào mục điều khiển thiết bị"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index b3c513d..9900c95 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"由于存储空间有限,无法保存屏幕截图"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"此应用或您所在的单位不允许进行屏幕截图"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"关闭屏幕截图"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"打开屏幕截图"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"屏幕截图预览"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"屏幕录制器"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"持续显示屏幕录制会话通知"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"要开始录制吗?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"气泡"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"不会发出提示音或振动,可帮助您保持专注。"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"通过提示音或振动吸引您的注意。"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"通过提示音或振动吸引您的注意。默认情况下,来自<xliff:g id="APP_NAME">%1$s</xliff:g>的对话会以对话泡的形式显示。"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"通过可链接到这项内容的浮动快捷方式吸引您的注意。"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"以对话泡形式显示在对话部分顶部。"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"默认情况下,<xliff:g id="APP_NAME_0">%1$s</xliff:g>中的所有对话都会以对话泡形式显示。在“<xliff:g id="APP_NAME_1">%2$s</xliff:g>”中管理。"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"设置"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"优先级"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"最近没有对话泡"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"系统导航已更新。要进行更改,请转到“设置”。"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"转到“设置”即可更新系统导航"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"待机"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"放大叠加窗口"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"放大窗口"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"放大窗口控件"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"控件"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"选择要从电源菜单访问的控件"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"按住并拖动即可重新排列控件"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"已移除所有控件"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"无法加载所有控件的列表。"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"其他"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"添加到设备控件"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 69a8da6d..7002a87 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"由於儲存空間有限,因此無法儲存螢幕擷取畫面"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"應用程式或您的機構不允許擷取螢幕畫面"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"關閉螢幕截圖"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"開啟螢幕截圖"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"螢幕截圖預覽"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"螢幕畫面錄影工具"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"持續顯示錄影畫面工作階段通知"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"要開始錄影嗎?"</string>
@@ -471,7 +471,7 @@
     <string name="accessibility_multi_user_switch_switcher_with_current" msgid="5759855008166759399">"切換使用者,目前使用者是<xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
     <string name="accessibility_multi_user_switch_inactive" msgid="383168614528618402">"目前的使用者是 <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string>
     <string name="accessibility_multi_user_switch_quick_contact" msgid="4504508915324898576">"顯示個人檔案"</string>
-    <string name="user_add_user" msgid="4336657383006913022">"新增使用者"</string>
+    <string name="user_add_user" msgid="4336657383006913022">"加入使用者"</string>
     <string name="user_new_user_name" msgid="2019166282704195789">"新使用者"</string>
     <string name="guest_exit_guest_dialog_title" msgid="5015697561580641422">"移除訪客?"</string>
     <string name="guest_exit_guest_dialog_message" msgid="8183450985628495709">"這個工作階段中的所有應用程式和資料都會被刪除。"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"氣泡"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"助您保持專注,不會發出聲音或震動。"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"發出聲音或震動來吸引您的注意。"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"發出聲音或震動來吸引您的注意。「<xliff:g id="APP_NAME">%1$s</xliff:g>」的對話會預設以小視窗顯示。"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"為此內容建立浮動捷徑以保持注意力。"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"在對話部分的頂部以小視窗顯示。"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"根據預設,透過小視窗顯示所有「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」的對話。在「<xliff:g id="APP_NAME_1">%2$s</xliff:g>」中管理。"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"設定"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"重要"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"沒有最近曾使用的小視窗"</string>
@@ -962,7 +962,7 @@
     <string name="running_foreground_services_title" msgid="5137313173431186685">"正在背景中執行的應用程式"</string>
     <string name="running_foreground_services_msg" msgid="3009459259222695385">"輕按即可查看電池和數據用量詳情"</string>
     <string name="mobile_data_disable_title" msgid="5366476131671617790">"要關閉流動數據嗎?"</string>
-    <string name="mobile_data_disable_message" msgid="8604966027899770415">"您將無法透過「<xliff:g id="CARRIER">%s</xliff:g>」存取流動數據或互聯網。必須連接 Wi-Fi 才能使用互聯網。"</string>
+    <string name="mobile_data_disable_message" msgid="8604966027899770415">"您將無法透過「<xliff:g id="CARRIER">%s</xliff:g>」使用流動數據或互聯網,只可透過 Wi-Fi 才能連接互聯網。"</string>
     <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"您的流動網絡供應商"</string>
     <string name="touch_filtered_warning" msgid="8119511393338714836">"由於某個應用程式已阻擋權限要求畫面,因此「設定」應用程式無法驗證您的回應。"</string>
     <string name="slice_permission_title" msgid="3262615140094151017">"要允許「<xliff:g id="APP_0">%1$s</xliff:g>」顯示「<xliff:g id="APP_2">%2$s</xliff:g>」的快訊嗎?"</string>
@@ -1002,12 +1002,22 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"系統導覽已更新。如需變更,請前往「設定」。"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"前往「設定」更新系統導覽"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"待機"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"放大重疊視窗"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"放大視窗"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"放大視窗控制項"</string>
-    <string name="quick_controls_title" msgid="6839108006171302273">"裝置控制項"</string>
+    <string name="quick_controls_title" msgid="6839108006171302273">"裝置控制"</string>
     <string name="quick_controls_subtitle" msgid="1667408093326318053">"為已連接的裝置新增控制項"</string>
-    <string name="quick_controls_setup_title" msgid="8901436655997849822">"設定裝置控制項"</string>
+    <string name="quick_controls_setup_title" msgid="8901436655997849822">"設定裝置控制"</string>
     <string name="quick_controls_setup_subtitle" msgid="1681506617879773824">"按住「開關」按鈕便可存取控制項"</string>
     <string name="controls_providers_title" msgid="6879775889857085056">"選擇應用程式以新增控制項"</string>
     <plurals name="controls_number_of_favorites" formatted="false" msgid="1057347832073807380">
@@ -1016,13 +1026,11 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"控制項"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"從電源選單選擇要存取的控制項"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"按住並拖曳便可重新排列控制項"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"已移除所有控制項"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"無法載入完整控制項清單。"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"其他"</string>
-    <string name="controls_dialog_title" msgid="2343565267424406202">"加到裝置控制項"</string>
+    <string name="controls_dialog_title" msgid="2343565267424406202">"加到裝置控制"</string>
     <string name="controls_dialog_ok" msgid="7011816381344485651">"加入至常用項目"</string>
     <string name="controls_dialog_message" msgid="6292099631702047540">"「<xliff:g id="APP">%s</xliff:g>」建議將此控制項加入至常用項目。"</string>
     <string name="controls_dialog_confirmation" msgid="586517302736263447">"已更新控制項"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 4ea11d7..170c2f9 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"由於儲存空間有限,因此無法儲存螢幕截圖"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"這個應用程式或貴機構不允許擷取螢幕畫面"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"關閉螢幕截圖"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"開啟螢幕截圖"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"螢幕截圖預覽"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"螢幕錄影器"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"持續顯示螢幕畫面錄製工作階段通知"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"要開始錄製嗎?"</string>
@@ -486,7 +486,7 @@
     <string name="user_logout_notification_title" msgid="3644848998053832589">"登出使用者"</string>
     <string name="user_logout_notification_text" msgid="7441286737342997991">"登出目前使用者"</string>
     <string name="user_logout_notification_action" msgid="7974458760719361881">"登出使用者"</string>
-    <string name="user_add_user_title" msgid="4172327541504825032">"新增使用者?"</string>
+    <string name="user_add_user_title" msgid="4172327541504825032">"要新增使用者嗎?"</string>
     <string name="user_add_user_message_short" msgid="2599370307878014791">"新增的使用者需要自行設定個人空間。\n\n任何使用者皆可為其他所有使用者更新應用程式。"</string>
     <string name="user_limit_reached_title" msgid="2429229448830346057">"已達使用者數量上限"</string>
     <plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"泡泡"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"協助你不受音效或震動干擾。"</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"發出音效或震動吸引你的注意力。"</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"發出音效或震動吸引你的注意力。根據預設,來自「<xliff:g id="APP_NAME">%1$s</xliff:g>」的對話會以泡泡形式顯示。"</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"利用浮動式捷徑快速存取這項內容。"</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"以對話框形式顯示在對話部分的頂端。"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」的所有對話預設會以對話框形式顯示。你可以在「<xliff:g id="APP_NAME_1">%2$s</xliff:g>」中調整相關設定。"</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"設定"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"優先"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"最近沒有任何對話框"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"系統操作機制已更新。如要進行變更,請前往「設定」。"</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"請前往「設定」更新系統操作機制"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"待機"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"放大重疊視窗"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"放大視窗"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"放大視窗控制項"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"控制項"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"選擇要從電源選單存取的控制項"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"按住並拖曳即可重新排列控制項"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"所有控制項都已移除"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"無法載入完整的控制項清單。"</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"其他"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"新增至裝置控制項"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 6d455df..127d62d 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -87,7 +87,7 @@
     <string name="screenshot_failed_to_save_text" msgid="8344173457344027501">"Ayikwazi ukulondoloza isithombe-skrini ngenxa yesikhala sesitoreji esikhawulelwe"</string>
     <string name="screenshot_failed_to_capture_text" msgid="7818288545874407451">"Ukuthatha izithombe-skrini akuvunyelwe uhlelo lokusebenza noma inhlangano yakho"</string>
     <string name="screenshot_dismiss_ui_description" msgid="934736855340147968">"Cashisa isithombe-skrini"</string>
-    <string name="screenshot_preview_description" msgid="669177537416980449">"Vula isithombe-skrini"</string>
+    <string name="screenshot_preview_description" msgid="7606510140714080474">"Ukubuka kuqala isithombe-skrini"</string>
     <string name="screenrecord_name" msgid="2596401223859996572">"Irekhoda yesikrini"</string>
     <string name="screenrecord_channel_description" msgid="4147077128486138351">"Isaziso esiqhubekayo seseshini yokurekhoda isikrini"</string>
     <string name="screenrecord_start_label" msgid="1750350278888217473">"Qala ukurekhoda?"</string>
@@ -707,9 +707,9 @@
     <string name="notification_bubble_title" msgid="8330481035191903164">"Ibhamuza"</string>
     <string name="notification_channel_summary_low" msgid="7300447764759926720">"Ikusiza ukuthi ugxile ngaphandle komsindo noma ukudlidliza."</string>
     <string name="notification_channel_summary_default" msgid="3539949463907902037">"Ithola ukunaka kwakho ngomsindo noma ukudlidliza."</string>
+    <string name="notification_channel_summary_default_with_bubbles" msgid="6298026344552480458">"Ithola ukunaka kwakho ngomsindo noma ukudlidliza. Izingxoxo ezivela ku-<xliff:g id="APP_NAME">%1$s</xliff:g> ziba yibhamuza ngokuzenzakalela."</string>
     <string name="notification_channel_summary_bubble" msgid="7235935211580860537">"Igcina ukunaka kwakho ngesinqamuleli esintantayo kulokhu okuqukethwe."</string>
     <string name="notification_channel_summary_priority" msgid="7415770044553264622">"Kubonakala esigabeni esiphezulu sengxoxo futhi kuvela njengebhamuza"</string>
-    <string name="notification_conversation_channel_all_bubble" msgid="5389290797101635297">"Zonke izingxoxo ezivela ku-<xliff:g id="APP_NAME_0">%1$s</xliff:g> ziba yibhamuza ngokuzenzakalelayo. Phatha ku-<xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
     <string name="notification_conversation_channel_settings" msgid="2409977688430606835">"Izilungiselelo"</string>
     <string name="notification_priority_title" msgid="2079708866333537093">"Okubalulekile"</string>
     <string name="bubble_overflow_empty_title" msgid="3120029421991510842">"Awekho amabhamuza akamuva"</string>
@@ -1002,6 +1002,16 @@
     <string name="notification_content_system_nav_changed" msgid="5077913144844684544">"Ukuzulazula kwesistimu kubuyekeziwe. Ukuze wenze ushintsho, hamba kokuthi Izilungiselelo."</string>
     <string name="notification_content_gesture_nav_available" msgid="4431460803004659888">"Hamba kuzilungiselelo ukuze ubuyekeze ukuzulazula kwesistimu"</string>
     <string name="inattentive_sleep_warning_title" msgid="3891371591713990373">"Ilindile"</string>
+    <!-- no translation found for priority_onboarding_show_at_top_text (1678400241025513541) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_show_avatar_text (5756291381124091508) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_appear_as_bubble_text (4227039772250263122) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_ignores_dnd_text (2918952762719600529) -->
+    <skip />
+    <!-- no translation found for priority_onboarding_done_button_title (4569550984286506007) -->
+    <skip />
     <string name="magnification_overlay_title" msgid="6584179429612427958">"Iwindi Lembondela Lesikhulisi"</string>
     <string name="magnification_window_title" msgid="4863914360847258333">"Iwindi Lesikhulisi"</string>
     <string name="magnification_controls_title" msgid="8421106606708891519">"Izilawuli Zewindi Lesikhulisi"</string>
@@ -1016,10 +1026,8 @@
     </plurals>
     <string name="controls_favorite_default_title" msgid="967742178688938137">"Izilawuli"</string>
     <string name="controls_favorite_subtitle" msgid="6604402232298443956">"Khetha izilawuli ukuze ufinyelele kusuka kumenyu yamandla"</string>
-    <!-- no translation found for controls_favorite_rearrange (5616952398043063519) -->
-    <skip />
-    <!-- no translation found for controls_favorite_removed (5276978408529217272) -->
-    <skip />
+    <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Bamba futhi uhudule ukuze uphinde ulungise izilawuli"</string>
+    <string name="controls_favorite_removed" msgid="5276978408529217272">"Zonke izilawuli zisusiwe"</string>
     <string name="controls_favorite_load_error" msgid="2533215155804455348">"Uhlu lwazo zonke izilawuli alilayishekanga."</string>
     <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"Okunye"</string>
     <string name="controls_dialog_title" msgid="2343565267424406202">"Engeza kuzilawuli zedivayisi"</string>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index f549a32..62335ab 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -536,6 +536,10 @@
 
     <!-- Max number of columns for quick controls area -->
     <integer name="controls_max_columns">2</integer>
+
+    <!-- Max number of columns for power menu -->
+    <integer name="power_menu_max_columns">3</integer>
+
     <!-- If the dp width of the available space is <= this value, potentially adjust the number
          of columns-->
     <integer name="controls_max_columns_adjust_below_width_dp">320</integer>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index e7ef8cc..599ed16 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -1252,6 +1252,8 @@
     <dimen name="control_status_expanded">18sp</dimen>
     <dimen name="control_base_item_margin">2dp</dimen>
     <dimen name="control_status_padding">3dp</dimen>
+    <fraction name="controls_toggle_bg_intensity">5%</fraction>
+    <fraction name="controls_dimmed_alpha">40%</fraction>
 
     <!-- Home Controls activity view detail panel-->
     <dimen name="controls_activity_view_top_padding">25dp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 7c0b605..cb20e7a 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -235,8 +235,8 @@
         your organization</string>
     <!-- Content description indicating that tapping a button will dismiss the screenshots UI [CHAR LIMIT=NONE] -->
     <string name="screenshot_dismiss_ui_description">Dismiss screenshot</string>
-    <!-- Content description indicating that tapping will open an app to view/edit the screenshot. [CHAR LIMIT=NONE] -->
-    <string name="screenshot_preview_description">Open screenshot</string>
+    <!-- Content description indicating that the view is a preview of the screenshot that was just taken [CHAR LIMIT=NONE] -->
+    <string name="screenshot_preview_description">Screenshot preview</string>
 
     <!-- Notification title displayed for screen recording [CHAR LIMIT=50]-->
     <string name="screenrecord_name">Screen Recorder</string>
@@ -1829,15 +1829,15 @@
     <!-- [CHAR LIMIT=150] Notification Importance title: normal importance level summary -->
     <string name="notification_channel_summary_default">Gets your attention with sound or vibration.</string>
 
+    <!-- [CHAR LIMIT=150] Conversation Notification Importance title: normal conversation level, with bubbling summary -->
+    <string name="notification_channel_summary_default_with_bubbles">Gets your attention with sound or vibration. Conversations from <xliff:g id="app_name" example="YouTube">%1$s</xliff:g> bubble by default.</string>
+
     <!-- [CHAR LIMIT=150] Notification Importance title: bubble level summary -->
     <string name="notification_channel_summary_bubble">Keeps your attention with a floating shortcut to this content.</string>
 
     <!-- [CHAR LIMIT=150] Notification Importance title: important conversation level summary -->
     <string name="notification_channel_summary_priority">Shows at top of conversation section and appears as a bubble.</string>
 
-    <!--[CHAR LIMIT=150] Conversation inline controls footer shown when all conversations from the app are allowed to show as bubbles -->
-    <string name="notification_conversation_channel_all_bubble">All conversations from <xliff:g id="app_name" example="YouTube">%1$s</xliff:g> bubble by default. Manage in <xliff:g id="app_name" example="Settings">%2$s</xliff:g>.</string>
-
     <!--[CHAR LIMIT=30] Linkable text to Settings app -->
     <string name="notification_conversation_channel_settings">Settings</string>
 
@@ -2639,6 +2639,18 @@
     <!-- Title of the overlay warning the user to interact with the device or it will go to sleep. [CHAR LIMIT=25] -->
     <string name="inattentive_sleep_warning_title">Standby</string>
 
+    <!-- Priority conversation onboarding screen -->
+    <!--  Text explaining that priority conversations show at the top of the conversation section [CHAR LIMIT=50]  -->
+    <string name="priority_onboarding_show_at_top_text">Show at top of conversation section</string>
+    <!--  Text explaining that priority conversations show an avatar on the lock screen [CHAR LIMIT=50]  -->
+    <string name="priority_onboarding_show_avatar_text">Show profile picture on lock screen</string>
+    <!--  Text explaining that priority conversations will appear as a bubble [CHAR LIMIT=50]  -->
+    <string name="priority_onboarding_appear_as_bubble_text">Appear as a floating bubble on top of apps</string>
+    <!--  Text explaining that priority conversations can interrupt DnD settings [CHAR LIMIT=50]  -->
+    <string name="priority_onboarding_ignores_dnd_text">Interrupt Do Not Disturb</string>
+    <!--  Title for the affirmative button [CHAR LIMIT=50]  -->
+    <string name="priority_onboarding_done_button_title">Got it</string>
+
     <!-- Window Magnification strings -->
     <!-- Title for Magnification Overlay Window [CHAR LIMIT=NONE] -->
     <string name="magnification_overlay_title">Magnification Overlay Window</string>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 118aa5b..7e24f5d 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -564,7 +564,7 @@
     <style name="TextAppearance.NotificationImportanceButton">
         <item name="android:textSize">@dimen/notification_importance_button_text</item>
         <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
-        <item name="android:textColor">?android:attr/colorAccent</item>
+        <item name="android:textColor">@color/notification_guts_priority_contents</item>
         <item name="android:gravity">center</item>
     </style>
 
diff --git a/packages/SystemUI/scripts/update_statsd_lib.sh b/packages/SystemUI/scripts/update_statsd_lib.sh
new file mode 100755
index 0000000..79b9497
--- /dev/null
+++ b/packages/SystemUI/scripts/update_statsd_lib.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+NUM_ARGS=$#
+JAR_DESTINATION="$1/prebuilts/framework_intermediates/libs/systemui_statsd.jar"
+
+has_croot() {
+  declare -F croot > /dev/null
+  return $?
+}
+
+check_environment() {
+  if ! has_croot; then
+    echo "Run script in a shell that has had envsetup run. Run '. update_statsd_lib.sh' from scripts directory"
+    return 1
+  fi
+
+  if [ $NUM_ARGS -ne 1 ]; then
+    echo "Usage: . update_statsd_lib.sh PATH_TO_UNBUNDLED_LAUNCER     e.g. . update_statsd_lib ~/src/ub-launcher3-master"
+    return 1
+  fi
+  return 0
+}
+
+main() {
+  if check_environment ; then
+    pushd .
+    croot
+    mma -j16 SystemUI-statsd
+    cp out/target/product/$TARGET_PRODUCT/obj/JAVA_LIBRARIES/SystemUI-statsd_intermediates/javalib.jar $JAR_DESTINATION
+    popd
+  fi
+}
+
+main
+
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
index 7b39ba3..345a649 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
@@ -76,7 +76,7 @@
                             callbackHandler.post(callback);
                         }
                     }
-                });
+                }, null /* finishedListener */);
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
index 5c3d17c..502c078 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
@@ -19,6 +19,7 @@
 import static android.view.ViewRootImpl.sNewInsetsMode;
 import static android.view.WindowInsets.Type.ime;
 import static android.view.WindowInsets.Type.systemBars;
+import static android.view.WindowInsetsAnimation.Callback.DISPATCH_MODE_STOP;
 
 import static com.android.systemui.DejankUtils.whitelistIpcs;
 
@@ -30,12 +31,14 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.ColorStateList;
+import android.graphics.Rect;
 import android.metrics.LogMaker;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.UserHandle;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.util.MathUtils;
 import android.util.Slog;
 import android.util.TypedValue;
 import android.view.LayoutInflater;
@@ -44,6 +47,7 @@
 import android.view.View;
 import android.view.ViewConfiguration;
 import android.view.WindowInsets;
+import android.view.WindowInsetsAnimation;
 import android.view.WindowManager;
 import android.widget.FrameLayout;
 
@@ -63,6 +67,8 @@
 import com.android.systemui.statusbar.policy.KeyguardStateController;
 import com.android.systemui.util.InjectionInflationController;
 
+import java.util.List;
+
 public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSecurityView {
     private static final boolean DEBUG = KeyguardConstants.DEBUG;
     private static final String TAG = "KeyguardSecurityView";
@@ -114,6 +120,47 @@
     private boolean mIsDragging;
     private float mStartTouchY = -1;
 
+    private final WindowInsetsAnimation.Callback mWindowInsetsAnimationCallback =
+            new WindowInsetsAnimation.Callback(DISPATCH_MODE_STOP) {
+
+                private final Rect mInitialBounds = new Rect();
+                private final Rect mFinalBounds = new Rect();
+
+                @Override
+                public void onPrepare(WindowInsetsAnimation animation) {
+                    mSecurityViewFlipper.getBoundsOnScreen(mInitialBounds);
+                }
+
+                @Override
+                public WindowInsetsAnimation.Bounds onStart(WindowInsetsAnimation animation,
+                        WindowInsetsAnimation.Bounds bounds) {
+                    mSecurityViewFlipper.getBoundsOnScreen(mFinalBounds);
+                    return bounds;
+                }
+
+                @Override
+                public WindowInsets onProgress(WindowInsets windowInsets,
+                        List<WindowInsetsAnimation> list) {
+                    int translationY = 0;
+                    for (WindowInsetsAnimation animation : list) {
+                        if ((animation.getTypeMask() & WindowInsets.Type.ime()) == 0) {
+                            continue;
+                        }
+                        final int paddingBottom = (int) MathUtils.lerp(
+                                mInitialBounds.bottom - mFinalBounds.bottom, 0,
+                                animation.getInterpolatedFraction());
+                        translationY += paddingBottom;
+                    }
+                    mSecurityViewFlipper.setTranslationY(translationY);
+                    return windowInsets;
+                }
+
+                @Override
+                public void onEnd(WindowInsetsAnimation animation) {
+                    mSecurityViewFlipper.setTranslationY(0);
+                }
+            };
+
     // Used to notify the container when something interesting happens.
     public interface SecurityCallback {
         public boolean dismiss(boolean authenticated, int targetUserId,
@@ -162,6 +209,7 @@
         if (mCurrentSecuritySelection != SecurityMode.None) {
             getSecurityView(mCurrentSecuritySelection).onResume(reason);
         }
+        mSecurityViewFlipper.setWindowInsetsAnimationCallback(mWindowInsetsAnimationCallback);
         updateBiometricRetry();
     }
 
@@ -175,6 +223,7 @@
         if (mCurrentSecuritySelection != SecurityMode.None) {
             getSecurityView(mCurrentSecuritySelection).onPause();
         }
+        mSecurityViewFlipper.setWindowInsetsAnimationCallback(null);
     }
 
     @Override
@@ -333,7 +382,9 @@
         }
     }
 
-    protected void onFinishInflate() {
+    @Override
+    public void onFinishInflate() {
+        super.onFinishInflate();
         mSecurityViewFlipper = findViewById(R.id.view_flipper);
         mSecurityViewFlipper.setLockPatternUtils(mLockPatternUtils);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java
index b6152da..0af026e 100644
--- a/packages/SystemUI/src/com/android/systemui/Dependency.java
+++ b/packages/SystemUI/src/com/android/systemui/Dependency.java
@@ -75,7 +75,6 @@
 import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment;
 import com.android.systemui.statusbar.notification.NotificationFilter;
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.row.ChannelEditorDialogController;
 import com.android.systemui.statusbar.notification.row.NotificationBlockingHelperManager;
@@ -293,8 +292,6 @@
     @Inject Lazy<RemoteInputQuickSettingsDisabler> mRemoteInputQuickSettingsDisabler;
     @Inject Lazy<BubbleController> mBubbleController;
     @Inject Lazy<NotificationEntryManager> mNotificationEntryManager;
-    @Inject
-    Lazy<NotificationAlertingManager> mNotificationAlertingManager;
     @Inject Lazy<SensorPrivacyManager> mSensorPrivacyManager;
     @Inject Lazy<AutoHideController> mAutoHideController;
     @Inject Lazy<ForegroundServiceNotificationListener> mForegroundServiceNotificationListener;
@@ -493,7 +490,6 @@
                 mRemoteInputQuickSettingsDisabler::get);
         mProviders.put(BubbleController.class, mBubbleController::get);
         mProviders.put(NotificationEntryManager.class, mNotificationEntryManager::get);
-        mProviders.put(NotificationAlertingManager.class, mNotificationAlertingManager::get);
         mProviders.put(ForegroundServiceNotificationListener.class,
                 mForegroundServiceNotificationListener::get);
         mProviders.put(ClockManager.class, mClockManager::get);
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 5442299..71ec33e 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -16,9 +16,6 @@
 
 package com.android.systemui;
 
-import android.app.ActivityManager;
-import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -27,17 +24,12 @@
 import android.service.wallpaper.WallpaperService;
 import android.util.Log;
 import android.util.Size;
-import android.view.DisplayInfo;
 import android.view.SurfaceHolder;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.systemui.glwallpaper.EglHelper;
 import com.android.systemui.glwallpaper.GLWallpaperRenderer;
 import com.android.systemui.glwallpaper.ImageWallpaperRenderer;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
-import com.android.systemui.statusbar.StatusBarState;
-import com.android.systemui.statusbar.phone.DozeParameters;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -53,16 +45,12 @@
     // We delayed destroy render context that subsequent render requests have chance to cancel it.
     // This is to avoid destroying then recreating render context in a very short time.
     private static final int DELAY_FINISH_RENDERING = 1000;
-    private static final int INTERVAL_WAIT_FOR_RENDERING = 100;
-    private static final int PATIENCE_WAIT_FOR_RENDERING = 10;
-    private static final boolean DEBUG = true;
-    private final DozeParameters mDozeParameters;
+    private static final boolean DEBUG = false;
     private HandlerThread mWorker;
 
     @Inject
-    public ImageWallpaper(DozeParameters dozeParameters) {
+    public ImageWallpaper() {
         super();
-        mDozeParameters = dozeParameters;
     }
 
     @Override
@@ -74,7 +62,7 @@
 
     @Override
     public Engine onCreateEngine() {
-        return new GLEngine(this, mDozeParameters);
+        return new GLEngine();
     }
 
     @Override
@@ -84,7 +72,7 @@
         mWorker = null;
     }
 
-    class GLEngine extends Engine implements GLWallpaperRenderer.SurfaceProxy, StateListener {
+    class GLEngine extends Engine {
         // Surface is rejected if size below a threshold on some devices (ie. 8px on elfin)
         // set min to 64 px (CTS covers this), please refer to ag/4867989 for detail.
         @VisibleForTesting
@@ -94,40 +82,15 @@
 
         private GLWallpaperRenderer mRenderer;
         private EglHelper mEglHelper;
-        private StatusBarStateController mController;
         private final Runnable mFinishRenderingTask = this::finishRendering;
-        private boolean mShouldStopTransition;
-        private final DisplayInfo mDisplayInfo = new DisplayInfo();
-        private final Object mMonitor = new Object();
-        @VisibleForTesting
-        boolean mIsHighEndGfx;
-        private boolean mDisplayNeedsBlanking;
-        private boolean mNeedTransition;
         private boolean mNeedRedraw;
-        // This variable can only be accessed in synchronized block.
-        private boolean mWaitingForRendering;
 
-        GLEngine(Context context, DozeParameters dozeParameters) {
-            init(dozeParameters);
+        GLEngine() {
         }
 
         @VisibleForTesting
-        GLEngine(DozeParameters dozeParameters, Handler handler) {
+        GLEngine(Handler handler) {
             super(SystemClock::elapsedRealtime, handler);
-            init(dozeParameters);
-        }
-
-        private void init(DozeParameters dozeParameters) {
-            mIsHighEndGfx = ActivityManager.isHighEndGfx();
-            mDisplayNeedsBlanking = dozeParameters.getDisplayNeedsBlanking();
-            mNeedTransition = false;
-
-            // We will preserve EGL context when we are in lock screen or aod
-            // to avoid janking in following transition, we need to release when back to home.
-            mController = Dependency.get(StatusBarStateController.class);
-            if (mController != null) {
-                mController.addCallback(this /* StateListener */);
-            }
         }
 
         @Override
@@ -135,9 +98,8 @@
             mEglHelper = getEglHelperInstance();
             // Deferred init renderer because we need to get wallpaper by display context.
             mRenderer = getRendererInstance();
-            getDisplayContext().getDisplay().getDisplayInfo(mDisplayInfo);
             setFixedSizeAllowed(true);
-            setOffsetNotificationsEnabled(mNeedTransition);
+            setOffsetNotificationsEnabled(false);
             updateSurfaceSize();
         }
 
@@ -146,7 +108,7 @@
         }
 
         ImageWallpaperRenderer getRendererInstance() {
-            return new ImageWallpaperRenderer(getDisplayContext(), this /* SurfaceProxy */);
+            return new ImageWallpaperRenderer(getDisplayContext());
         }
 
         private void updateSurfaceSize() {
@@ -157,79 +119,13 @@
             holder.setFixedSize(width, height);
         }
 
-        /**
-         * Check if necessary to stop transition with current wallpaper on this device. <br/>
-         * This should only be invoked after {@link #onSurfaceCreated(SurfaceHolder)}}
-         * is invoked since it needs display context and surface frame size.
-         * @return true if need to stop transition.
-         */
-        @VisibleForTesting
-        boolean checkIfShouldStopTransition() {
-            int orientation = getDisplayContext().getResources().getConfiguration().orientation;
-            Rect frame = getSurfaceHolder().getSurfaceFrame();
-            Rect display = new Rect();
-            if (orientation == Configuration.ORIENTATION_PORTRAIT) {
-                display.set(0, 0, mDisplayInfo.logicalWidth, mDisplayInfo.logicalHeight);
-            } else {
-                display.set(0, 0, mDisplayInfo.logicalHeight, mDisplayInfo.logicalWidth);
-            }
-            return mNeedTransition
-                    && (frame.width() < display.width() || frame.height() < display.height());
-        }
-
-        @Override
-        public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep,
-                float yOffsetStep, int xPixelOffset, int yPixelOffset) {
-            if (mWorker == null) return;
-            mWorker.getThreadHandler().post(() -> mRenderer.updateOffsets(xOffset, yOffset));
-        }
-
-        @Override
-        public void onAmbientModeChanged(boolean inAmbientMode, long animationDuration) {
-            if (mWorker == null || !mNeedTransition) return;
-            final long duration = mShouldStopTransition ? 0 : animationDuration;
-            if (DEBUG) {
-                Log.d(TAG, "onAmbientModeChanged: inAmbient=" + inAmbientMode
-                        + ", duration=" + duration
-                        + ", mShouldStopTransition=" + mShouldStopTransition);
-            }
-            mWorker.getThreadHandler().post(
-                    () -> mRenderer.updateAmbientMode(inAmbientMode, duration));
-            if (inAmbientMode && animationDuration == 0) {
-                // This means that we are transiting from home to aod, to avoid
-                // race condition between window visibility and transition,
-                // we don't return until the transition is finished. See b/136643341.
-                waitForBackgroundRendering();
-            }
-        }
-
         @Override
         public boolean shouldZoomOutWallpaper() {
             return true;
         }
 
-        private void waitForBackgroundRendering() {
-            synchronized (mMonitor) {
-                try {
-                    mWaitingForRendering = true;
-                    for (int patience = 1; mWaitingForRendering; patience++) {
-                        mMonitor.wait(INTERVAL_WAIT_FOR_RENDERING);
-                        mWaitingForRendering &= patience < PATIENCE_WAIT_FOR_RENDERING;
-                    }
-                } catch (InterruptedException ex) {
-                } finally {
-                    mWaitingForRendering = false;
-                }
-            }
-        }
-
         @Override
         public void onDestroy() {
-            if (mController != null) {
-                mController.removeCallback(this /* StateListener */);
-            }
-            mController = null;
-
             mWorker.getThreadHandler().post(() -> {
                 mRenderer.finish();
                 mRenderer = null;
@@ -240,7 +136,6 @@
 
         @Override
         public void onSurfaceCreated(SurfaceHolder holder) {
-            mShouldStopTransition = checkIfShouldStopTransition();
             if (mWorker == null) return;
             mWorker.getThreadHandler().post(() -> {
                 mEglHelper.init(holder, needSupportWideColorGamut());
@@ -251,32 +146,13 @@
         @Override
         public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {
             if (mWorker == null) return;
-            mWorker.getThreadHandler().post(() -> {
-                mRenderer.onSurfaceChanged(width, height);
-                mNeedRedraw = true;
-            });
+            mWorker.getThreadHandler().post(() -> mRenderer.onSurfaceChanged(width, height));
         }
 
         @Override
         public void onSurfaceRedrawNeeded(SurfaceHolder holder) {
             if (mWorker == null) return;
-            if (DEBUG) {
-                Log.d(TAG, "onSurfaceRedrawNeeded: mNeedRedraw=" + mNeedRedraw);
-            }
-
-            mWorker.getThreadHandler().post(() -> {
-                if (mNeedRedraw) {
-                    drawFrame();
-                    mNeedRedraw = false;
-                }
-            });
-        }
-
-        @Override
-        public void onVisibilityChanged(boolean visible) {
-            if (DEBUG) {
-                Log.d(TAG, "wallpaper visibility changes: " + visible);
-            }
+            mWorker.getThreadHandler().post(this::drawFrame);
         }
 
         private void drawFrame() {
@@ -285,15 +161,6 @@
             postRender();
         }
 
-        @Override
-        public void onStatePostChange() {
-            // When back to home, we try to release EGL, which is preserved in lock screen or aod.
-            if (mWorker != null && mController.getState() == StatusBarState.SHADE) {
-                mWorker.getThreadHandler().post(this::scheduleFinishRendering);
-            }
-        }
-
-        @Override
         public void preRender() {
             // This method should only be invoked from worker thread.
             Trace.beginSection("ImageWallpaper#preRender");
@@ -330,7 +197,6 @@
             }
         }
 
-        @Override
         public void requestRender() {
             // This method should only be invoked from worker thread.
             Trace.beginSection("ImageWallpaper#requestRender");
@@ -355,27 +221,13 @@
             }
         }
 
-        @Override
         public void postRender() {
             // This method should only be invoked from worker thread.
             Trace.beginSection("ImageWallpaper#postRender");
-            notifyWaitingThread();
             scheduleFinishRendering();
             Trace.endSection();
         }
 
-        private void notifyWaitingThread() {
-            synchronized (mMonitor) {
-                if (mWaitingForRendering) {
-                    try {
-                        mWaitingForRendering = false;
-                        mMonitor.notify();
-                    } catch (IllegalMonitorStateException ex) {
-                    }
-                }
-            }
-        }
-
         private void cancelFinishRenderingTask() {
             if (mWorker == null) return;
             mWorker.getThreadHandler().removeCallbacks(mFinishRenderingTask);
@@ -391,18 +243,11 @@
             Trace.beginSection("ImageWallpaper#finishRendering");
             if (mEglHelper != null) {
                 mEglHelper.destroyEglSurface();
-                if (!needPreserveEglContext()) {
-                    mEglHelper.destroyEglContext();
-                }
+                mEglHelper.destroyEglContext();
             }
             Trace.endSection();
         }
 
-        private boolean needPreserveEglContext() {
-            return mNeedTransition && mController != null
-                    && mController.getState() == StatusBarState.KEYGUARD;
-        }
-
         private boolean needSupportWideColorGamut() {
             return mRenderer.isWcgContent();
         }
@@ -411,16 +256,6 @@
         protected void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args) {
             super.dump(prefix, fd, out, args);
             out.print(prefix); out.print("Engine="); out.println(this);
-            out.print(prefix); out.print("isHighEndGfx="); out.println(mIsHighEndGfx);
-            out.print(prefix); out.print("displayNeedsBlanking=");
-            out.println(mDisplayNeedsBlanking);
-            out.print(prefix); out.print("displayInfo="); out.print(mDisplayInfo);
-            out.print(prefix); out.print("mNeedTransition="); out.println(mNeedTransition);
-            out.print(prefix); out.print("mShouldStopTransition=");
-            out.println(mShouldStopTransition);
-            out.print(prefix); out.print("StatusBarState=");
-            out.println(mController != null ? mController.getState() : "null");
-
             out.print(prefix); out.print("valid surface=");
             out.println(getSurfaceHolder() != null && getSurfaceHolder().getSurface() != null
                     ? getSurfaceHolder().getSurface().isValid()
diff --git a/packages/SystemUI/src/com/android/systemui/Interpolators.java b/packages/SystemUI/src/com/android/systemui/Interpolators.java
index 6923079..2eba952 100644
--- a/packages/SystemUI/src/com/android/systemui/Interpolators.java
+++ b/packages/SystemUI/src/com/android/systemui/Interpolators.java
@@ -54,6 +54,11 @@
     public static final Interpolator PANEL_CLOSE_ACCELERATED
             = new PathInterpolator(0.3f, 0, 0.5f, 1);
     public static final Interpolator BOUNCE = new BounceInterpolator();
+    /**
+     * For state transitions on the control panel that lives in GlobalActions.
+     */
+    public static final Interpolator CONTROL_STATE = new PathInterpolator(0.4f, 0f, 0.2f,
+            1.0f);
 
     /**
      * Interpolator to be used when animating a move based on a click. Pair with enough duration.
diff --git a/packages/SystemUI/src/com/android/systemui/Prefs.java b/packages/SystemUI/src/com/android/systemui/Prefs.java
index 6aa2326..87990cd 100644
--- a/packages/SystemUI/src/com/android/systemui/Prefs.java
+++ b/packages/SystemUI/src/com/android/systemui/Prefs.java
@@ -21,11 +21,25 @@
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
 
+import com.android.systemui.settings.CurrentUserContextTracker;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.Map;
 import java.util.Set;
 
+/**
+ * A helper class to store simple preferences for SystemUI. Its main use case is things such as
+ * feature education, e.g. "has the user seen this tooltip".
+ *
+ * As of this writing, feature education settings are *intentionally exempted* from backup and
+ * restore because there is not a great way to know which subset of features the user _should_ see
+ * again if, for instance, they are coming from multiple OSes back or switching OEMs.
+ *
+ * NOTE: Clients of this class should take care to pass in the correct user context when querying
+ * settings, otherwise you will always read/write for user 0 which is almost never what you want.
+ * See {@link CurrentUserContextTracker} for a simple way to get the current context
+ */
 public final class Prefs {
     private Prefs() {} // no instantation
 
@@ -109,6 +123,8 @@
         String HAS_SEEN_BUBBLES_EDUCATION = "HasSeenBubblesOnboarding";
         String HAS_SEEN_BUBBLES_MANAGE_EDUCATION = "HasSeenBubblesManageOnboarding";
         String CONTROLS_STRUCTURE_SWIPE_TOOLTIP_COUNT = "ControlsStructureSwipeTooltipCount";
+        /** Tracks whether the user has seen the onboarding screen for priority conversations */
+        String HAS_SEEN_PRIORITY_ONBOARDING = "HasSeenPriorityOnboarding";
     }
 
     public static boolean getBoolean(Context context, @Key String key, boolean defaultValue) {
diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
index 8df3dd2..7861211 100644
--- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
+++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
@@ -54,8 +54,10 @@
 import android.graphics.drawable.VectorDrawable;
 import android.hardware.display.DisplayManager;
 import android.os.Handler;
+import android.os.HandlerExecutor;
 import android.os.HandlerThread;
 import android.os.SystemProperties;
+import android.os.UserHandle;
 import android.provider.Settings.Secure;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -298,13 +300,15 @@
                         updateColorInversion(value);
                     }
                 };
+
+                mColorInversionSetting.setListening(true);
+                mColorInversionSetting.onChange(false);
             }
-            mColorInversionSetting.setListening(true);
-            mColorInversionSetting.onChange(false);
 
             IntentFilter filter = new IntentFilter();
             filter.addAction(Intent.ACTION_USER_SWITCHED);
-            mBroadcastDispatcher.registerReceiverWithHandler(mIntentReceiver, filter, mHandler);
+            mBroadcastDispatcher.registerReceiver(mUserSwitchIntentReceiver, filter,
+                    new HandlerExecutor(mHandler), UserHandle.ALL);
             mIsRegistered = true;
         } else {
             mMainHandler.post(() -> mTunerService.removeTunable(this));
@@ -313,7 +317,7 @@
                 mColorInversionSetting.setListening(false);
             }
 
-            mBroadcastDispatcher.unregisterReceiver(mIntentReceiver);
+            mBroadcastDispatcher.unregisterReceiver(mUserSwitchIntentReceiver);
             mIsRegistered = false;
         }
     }
@@ -503,17 +507,16 @@
         }
     }
 
-    private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
+    private final BroadcastReceiver mUserSwitchIntentReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(Intent.ACTION_USER_SWITCHED)) {
-                int newUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE,
-                        ActivityManager.getCurrentUser());
-                // update color inversion setting to the new user
-                mColorInversionSetting.setUserId(newUserId);
-                updateColorInversion(mColorInversionSetting.getValue());
+            int newUserId = ActivityManager.getCurrentUser();
+            if (DEBUG) {
+                Log.d(TAG, "UserSwitched newUserId=" + newUserId);
             }
+            // update color inversion setting to the new user
+            mColorInversionSetting.setUserId(newUserId);
+            updateColorInversion(mColorInversionSetting.getValue());
         }
     };
 
@@ -945,7 +948,12 @@
             int dw = flipped ? lh : lw;
             int dh = flipped ? lw : lh;
 
-            mBoundingPath.set(DisplayCutout.pathFromResources(getResources(), dw, dh));
+            Path path = DisplayCutout.pathFromResources(getResources(), dw, dh);
+            if (path != null) {
+                mBoundingPath.set(path);
+            } else {
+                mBoundingPath.reset();
+            }
             Matrix m = new Matrix();
             transformPhysicalToLogicalCoordinates(mInfo.rotation, dw, dh, m);
             mBoundingPath.transform(m);
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialPasswordView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialPasswordView.java
index d8a11d3..e6a62c2 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialPasswordView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialPasswordView.java
@@ -17,6 +17,7 @@
 package com.android.systemui.biometrics;
 
 import android.content.Context;
+import android.os.UserHandle;
 import android.text.InputType;
 import android.util.AttributeSet;
 import android.view.KeyEvent;
@@ -68,6 +69,7 @@
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
 
+        mPasswordField.setTextOperationUser(UserHandle.of(mUserId));
         if (mCredentialType == Utils.CREDENTIAL_PIN) {
             mPasswordField.setInputType(
                     InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
index 8bf2591..496e60d 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
@@ -286,6 +286,7 @@
 
         if (matched) {
             mClearErrorRunnable.run();
+            mLockPatternUtils.userPresent(mEffectiveUserId);
             mCallback.onCredentialMatched(attestation);
         } else {
             if (timeoutMs > 0) {
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt b/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
index 74b94e7..319a6e0 100644
--- a/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
@@ -25,7 +25,6 @@
 import android.os.Message
 import android.os.UserHandle
 import android.text.TextUtils
-import android.util.Log
 import android.util.SparseArray
 import com.android.internal.annotations.VisibleForTesting
 import com.android.systemui.Dumpable
@@ -34,6 +33,7 @@
 import com.android.systemui.dump.DumpManager
 import java.io.FileDescriptor
 import java.io.PrintWriter
+import java.lang.IllegalStateException
 import java.util.concurrent.Executor
 import javax.inject.Inject
 import javax.inject.Singleton
@@ -189,8 +189,8 @@
                         data.user.identifier
                     }
                     if (userId < UserHandle.USER_ALL) {
-                        if (DEBUG) Log.w(TAG, "Register receiver for invalid user: $userId")
-                        return
+                        throw IllegalStateException(
+                                "Attempting to register receiver for invalid user {$userId}")
                     }
                     val uBR = receiversByUser.get(userId, createUBRForUser(userId))
                     receiversByUser.put(userId, uBR)
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index 669a86b..c6883c8 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
@@ -17,6 +17,8 @@
 package com.android.systemui.bubbles;
 
 import static android.app.Notification.FLAG_BUBBLE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL;
 import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL_ALL;
 import static android.service.notification.NotificationListenerService.REASON_CANCEL;
@@ -30,7 +32,6 @@
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 
 import static com.android.systemui.bubbles.BubbleDebugConfig.DEBUG_BUBBLE_CONTROLLER;
-import static com.android.systemui.bubbles.BubbleDebugConfig.DEBUG_EXPERIMENTS;
 import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_BUBBLES;
 import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
 import static com.android.systemui.statusbar.StatusBarState.SHADE;
@@ -43,6 +44,9 @@
 
 import android.annotation.UserIdInt;
 import android.app.ActivityManager.RunningTaskInfo;
+import android.app.INotificationManager;
+import android.app.Notification;
+import android.app.NotificationChannel;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.Context;
@@ -83,6 +87,7 @@
 import com.android.systemui.statusbar.FeatureFlags;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
 import com.android.systemui.statusbar.NotificationRemoveInterceptor;
+import com.android.systemui.statusbar.notification.NotificationChannelHelper;
 import com.android.systemui.statusbar.notification.NotificationEntryListener;
 import com.android.systemui.statusbar.notification.NotificationEntryManager;
 import com.android.systemui.statusbar.notification.collection.NotifCollection;
@@ -103,7 +108,6 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 
 /**
@@ -157,18 +161,11 @@
     // Used when ranking updates occur and we check if things should bubble / unbubble
     private NotificationListenerService.Ranking mTmpRanking;
 
-    // Saves notification keys of user created "fake" bubbles so that we can allow notifications
-    // like these to bubble by default. Doesn't persist across reboots, not a long-term solution.
-    private final HashSet<String> mUserCreatedBubbles;
-    // If we're auto-bubbling bubbles via a whitelist, we need to track which notifs from that app
-    // have been "demoted" back to a notification so that we don't auto-bubbles those again.
-    // Doesn't persist across reboots, not a long-term solution.
-    private final HashSet<String> mUserBlockedBubbles;
-
     // Bubbles get added to the status bar view
     private final NotificationShadeWindowController mNotificationShadeWindowController;
     private final ZenModeController mZenModeController;
     private StatusBarStateListener mStatusBarStateListener;
+    private INotificationManager mINotificationManager;
 
     // Callback that updates BubbleOverflowActivity on data change.
     @Nullable private Runnable mOverflowCallback = null;
@@ -293,11 +290,13 @@
             FeatureFlags featureFlags,
             DumpManager dumpManager,
             FloatingContentCoordinator floatingContentCoordinator,
-            SysUiState sysUiState) {
+            SysUiState sysUiState,
+            INotificationManager notificationManager) {
         this(context, notificationShadeWindowController, statusBarStateController, shadeController,
                 data, null /* synchronizer */, configurationController, interruptionStateProvider,
                 zenModeController, notifUserManager, groupManager, entryManager,
-                notifPipeline, featureFlags, dumpManager, floatingContentCoordinator, sysUiState);
+                notifPipeline, featureFlags, dumpManager, floatingContentCoordinator, sysUiState,
+                notificationManager);
     }
 
     /**
@@ -319,7 +318,8 @@
             FeatureFlags featureFlags,
             DumpManager dumpManager,
             FloatingContentCoordinator floatingContentCoordinator,
-            SysUiState sysUiState) {
+            SysUiState sysUiState,
+            INotificationManager notificationManager) {
         dumpManager.registerDumpable(TAG, this);
         mContext = context;
         mShadeController = shadeController;
@@ -327,6 +327,7 @@
         mNotifUserManager = notifUserManager;
         mZenModeController = zenModeController;
         mFloatingContentCoordinator = floatingContentCoordinator;
+        mINotificationManager = notificationManager;
         mZenModeController.addCallback(new ZenModeController.Callback() {
             @Override
             public void onZenChanged(int zen) {
@@ -402,9 +403,6 @@
                     }
                 });
 
-        mUserCreatedBubbles = new HashSet<>();
-        mUserBlockedBubbles = new HashSet<>();
-
         mBubbleIconFactory = new BubbleIconFactory(context);
     }
 
@@ -464,8 +462,7 @@
                                 (entry != null && entry.isRowDismissed() && !isAppCancel)
                                 || isClearAll || isUserDimiss || isSummaryCancel;
 
-                        if (userRemovedNotif || isUserCreatedBubble(key)
-                                || isSummaryOfUserCreatedBubble(entry)) {
+                        if (userRemovedNotif) {
                             return handleDismissalInterception(entry);
                         }
 
@@ -809,59 +806,44 @@
      * This method will collapse the shade, create the bubble without a flyout or dot, and suppress
      * the notification from appearing in the shade.
      *
-     * @param entry the notification to show as a bubble.
+     * @param entry the notification to change bubble state for.
+     * @param shouldBubble whether the notification should show as a bubble or not.
      */
-    public void onUserCreatedBubbleFromNotification(NotificationEntry entry) {
-        if (DEBUG_EXPERIMENTS || DEBUG_BUBBLE_CONTROLLER) {
-            Log.d(TAG, "onUserCreatedBubble: " + entry.getKey());
+    public void onUserChangedBubble(NotificationEntry entry, boolean shouldBubble) {
+        NotificationChannel channel = entry.getChannel();
+        final String appPkg = entry.getSbn().getPackageName();
+        final int appUid = entry.getSbn().getUid();
+        if (channel == null || appPkg == null) {
+            return;
         }
-        mShadeController.collapsePanel(true);
-        entry.setFlagBubble(true);
-        updateBubble(entry, true /* suppressFlyout */, false /* showInShade */);
-        mUserCreatedBubbles.add(entry.getKey());
-        mUserBlockedBubbles.remove(entry.getKey());
-    }
 
-    /**
-     * Called when a user has indicated that an active notification appearing as a bubble should
-     * no longer be shown as a bubble.
-     *
-     * @param entry the notification to no longer show as a bubble.
-     */
-    public void onUserDemotedBubbleFromNotification(NotificationEntry entry) {
-        if (DEBUG_EXPERIMENTS || DEBUG_BUBBLE_CONTROLLER) {
-            Log.d(TAG, "onUserDemotedBubble: " + entry.getKey());
+        // Update the state in NotificationManagerService
+        try {
+            int flags = Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION;
+            mBarService.onNotificationBubbleChanged(entry.getKey(), shouldBubble, flags);
+        } catch (RemoteException e) {
         }
-        entry.setFlagBubble(false);
-        removeBubble(entry, DISMISS_BLOCKED);
-        mUserCreatedBubbles.remove(entry.getKey());
-        if (BubbleExperimentConfig.isPackageWhitelistedToAutoBubble(
-                mContext, entry.getSbn().getPackageName())) {
-            // This package is whitelist but user demoted the bubble, let's save it so we don't
-            // auto-bubble for the whitelist again.
-            mUserBlockedBubbles.add(entry.getKey());
+
+        // Change the settings
+        channel = NotificationChannelHelper.createConversationChannelIfNeeded(mContext,
+                mINotificationManager, entry, channel);
+        channel.setAllowBubbles(shouldBubble);
+        try {
+            int currentPref = mINotificationManager.getBubblePreferenceForPackage(appPkg, appUid);
+            if (shouldBubble && currentPref == BUBBLE_PREFERENCE_NONE) {
+                mINotificationManager.setBubblesAllowed(appPkg, appUid, BUBBLE_PREFERENCE_SELECTED);
+            }
+            mINotificationManager.updateNotificationChannelForPackage(appPkg, appUid, channel);
+        } catch (RemoteException e) {
+            Log.e(TAG, e.getMessage());
         }
-    }
 
-    /**
-     * Whether this bubble was explicitly created by the user via a SysUI affordance.
-     */
-    boolean isUserCreatedBubble(String key) {
-        return mUserCreatedBubbles.contains(key);
-    }
-
-    boolean isSummaryOfUserCreatedBubble(NotificationEntry entry) {
-        if (isSummaryOfBubbles(entry)) {
-            List<Bubble> bubbleChildren =
-                    mBubbleData.getBubblesInGroup(entry.getSbn().getGroupKey());
-            for (int i = 0; i < bubbleChildren.size(); i++) {
-                // Check if any are user-created (i.e. experimental bubbles)
-                if (isUserCreatedBubble(bubbleChildren.get(i).getKey())) {
-                    return true;
-                }
+        if (shouldBubble) {
+            mShadeController.collapsePanel(true);
+            if (entry.getRow() != null) {
+                entry.getRow().updateBubbleButton();
             }
         }
-        return false;
     }
 
     /**
@@ -877,37 +859,19 @@
     }
 
     private void onEntryAdded(NotificationEntry entry) {
-        boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
-        boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
-        boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
-                mContext, entry, previouslyUserCreated, userBlocked);
-
         if (mNotificationInterruptStateProvider.shouldBubbleUp(entry)
-                && (canLaunchInActivityView(mContext, entry) || wasAdjusted)) {
-            if (wasAdjusted && !previouslyUserCreated) {
-                // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
-                mUserCreatedBubbles.add(entry.getKey());
-            }
+                && canLaunchInActivityView(mContext, entry)) {
             updateBubble(entry);
         }
     }
 
     private void onEntryUpdated(NotificationEntry entry) {
-        boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
-        boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
-        boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
-                mContext, entry, previouslyUserCreated, userBlocked);
-
         boolean shouldBubble = mNotificationInterruptStateProvider.shouldBubbleUp(entry)
-                && (canLaunchInActivityView(mContext, entry) || wasAdjusted);
+                && canLaunchInActivityView(mContext, entry);
         if (!shouldBubble && mBubbleData.hasBubbleWithKey(entry.getKey())) {
             // It was previously a bubble but no longer a bubble -- lets remove it
             removeBubble(entry, DISMISS_NO_LONGER_BUBBLE);
         } else if (shouldBubble) {
-            if (wasAdjusted && !previouslyUserCreated) {
-                // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
-                mUserCreatedBubbles.add(entry.getKey());
-            }
             updateBubble(entry);
         }
     }
@@ -987,14 +951,15 @@
                     } else {
                         // Update the flag for SysUI
                         bubble.getEntry().getSbn().getNotification().flags &= ~FLAG_BUBBLE;
+                        if (bubble.getEntry().getRow() != null) {
+                            bubble.getEntry().getRow().updateBubbleButton();
+                        }
 
-                        // Make sure NoMan knows it's not a bubble anymore so anyone querying it
-                        // will get right result back
+                        // Update the state in NotificationManagerService
                         try {
                             mBarService.onNotificationBubbleChanged(bubble.getKey(),
-                                    false /* isBubble */);
+                                    false /* isBubble */, 0 /* flags */);
                         } catch (RemoteException e) {
-                            // Bad things have happened
                         }
                     }
 
@@ -1110,7 +1075,7 @@
 
     private void handleSummaryDismissalInterception(NotificationEntry summary) {
         // current children in the row:
-        final List<NotificationEntry> children = summary.getChildren();
+        final List<NotificationEntry> children = summary.getAttachedNotifChildren();
         if (children != null) {
             for (int i = 0; i < children.size(); i++) {
                 NotificationEntry child = children.get(i);
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
index 93fb697..3524696 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
@@ -193,7 +193,7 @@
                         + " mActivityViewStatus=" + mActivityViewStatus
                         + " bubble=" + getBubbleKey());
             }
-            if (mBubble != null && !mBubbleController.isUserCreatedBubble(mBubble.getKey())) {
+            if (mBubble != null) {
                 // Must post because this is called from a binder thread.
                 post(() -> mBubbleController.removeBubble(mBubble.getEntry(),
                         BubbleController.DISMISS_TASK_FINISHED));
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExperimentConfig.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExperimentConfig.java
index 41dbb48..2060391 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExperimentConfig.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExperimentConfig.java
@@ -57,16 +57,13 @@
 public class BubbleExperimentConfig {
     private static final String TAG = TAG_WITH_CLASS_NAME ? "BubbleController" : TAG_BUBBLES;
 
-    private static final String SHORTCUT_DUMMY_INTENT = "bubble_experiment_shortcut_intent";
-    private static PendingIntent sDummyShortcutIntent;
-
     private static final int BUBBLE_HEIGHT = 10000;
 
     private static final String ALLOW_ANY_NOTIF_TO_BUBBLE = "allow_any_notif_to_bubble";
     private static final boolean ALLOW_ANY_NOTIF_TO_BUBBLE_DEFAULT = false;
 
     private static final String ALLOW_MESSAGE_NOTIFS_TO_BUBBLE = "allow_message_notifs_to_bubble";
-    private static final boolean ALLOW_MESSAGE_NOTIFS_TO_BUBBLE_DEFAULT = true;
+    private static final boolean ALLOW_MESSAGE_NOTIFS_TO_BUBBLE_DEFAULT = false;
 
     private static final String ALLOW_SHORTCUTS_TO_BUBBLE = "allow_shortcuts_to_bubble";
     private static final boolean ALLOW_SHORTCUT_TO_BUBBLE_DEFAULT = false;
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
index 1cabe22..0aabdff 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -374,8 +374,9 @@
                 @Override
                 public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
                     mExpandedAnimationController.dismissDraggedOutBubble(
-                            mExpandedAnimationController.getDraggedOutBubble(),
-                            BubbleStackView.this::dismissMagnetizedObject);
+                            mExpandedAnimationController.getDraggedOutBubble() /* bubble */,
+                            mDismissTargetContainer.getHeight() /* translationYBy */,
+                            BubbleStackView.this::dismissMagnetizedObject /* after */);
                     hideDismissTarget();
                 }
             };
@@ -405,7 +406,8 @@
 
                 @Override
                 public void onReleasedInTarget(@NonNull MagnetizedObject.MagneticTarget target) {
-                    mStackAnimationController.implodeStack(
+                    mStackAnimationController.animateStackDismissal(
+                            mDismissTargetContainer.getHeight() /* translationYBy */,
                             () -> {
                                 resetDesaturationAndDarken();
                                 dismissMagnetizedObject();
@@ -954,6 +956,8 @@
         mVerticalPosPercentBeforeRotation =
                 (mStackAnimationController.getStackPosition().y - allowablePos.top)
                         / (allowablePos.bottom - allowablePos.top);
+        mVerticalPosPercentBeforeRotation =
+                Math.max(0f, Math.min(1f, mVerticalPosPercentBeforeRotation));
         addOnLayoutChangeListener(mOrientationChangedListener);
         hideFlyoutImmediate();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleViewInfoTask.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleViewInfoTask.java
index 501e502..c96f9a4 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleViewInfoTask.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleViewInfoTask.java
@@ -139,22 +139,11 @@
             StatusBarNotification sbn = b.getEntry().getSbn();
             String packageName = sbn.getPackageName();
 
-            // Real shortcut info for this bubble
             String bubbleShortcutId =  b.getEntry().getBubbleMetadata().getShortcutId();
             if (bubbleShortcutId != null) {
-                info.shortcutInfo = BubbleExperimentConfig.getShortcutInfo(c, packageName,
-                        sbn.getUser(), bubbleShortcutId);
-            } else {
-                // Check for experimental shortcut
-                String shortcutId = sbn.getNotification().getShortcutId();
-                if (BubbleExperimentConfig.useShortcutInfoToBubble(c) && shortcutId != null) {
-                    info.shortcutInfo = BubbleExperimentConfig.getShortcutInfo(c,
-                            packageName,
-                            sbn.getUser(), shortcutId);
-                }
+                info.shortcutInfo = b.getEntry().getRanking().getShortcutInfo();
             }
 
-
             // App name & app icon
             PackageManager pm = c.getPackageManager();
             ApplicationInfo appInfo;
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
index d974adc..0002e86 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
@@ -329,7 +329,7 @@
     }
 
     /** Plays a dismiss animation on the dragged out bubble. */
-    public void dismissDraggedOutBubble(View bubble, Runnable after) {
+    public void dismissDraggedOutBubble(View bubble, float translationYBy, Runnable after) {
         if (bubble == null) {
             return;
         }
@@ -337,6 +337,7 @@
                 .withStiffness(SpringForce.STIFFNESS_HIGH)
                 .scaleX(1.1f)
                 .scaleY(1.1f)
+                .translationY(bubble.getTranslationY() + translationYBy)
                 .alpha(0f, after)
                 .start();
 
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
index 00de8b4..5f3a2bd 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
@@ -647,17 +647,18 @@
     }
 
     /**
-     * 'Implode' the stack by shrinking the bubbles via chained animations and fading them out.
+     * 'Implode' the stack by shrinking the bubbles, fading them out, and translating them down.
      */
-    public void implodeStack(Runnable after) {
-        // Pop and fade the bubbles sequentially.
-        animationForChildAtIndex(0)
-                .scaleX(0.5f)
-                .scaleY(0.5f)
-                .alpha(0f)
-                .withDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY)
-                .withStiffness(SpringForce.STIFFNESS_HIGH)
-                .start(after);
+    public void animateStackDismissal(float translationYBy, Runnable after) {
+        animationsForChildrenFromIndex(0, (index, animation) ->
+                animation
+                        .scaleX(0.5f)
+                        .scaleY(0.5f)
+                        .alpha(0f)
+                        .translationY(
+                                mLayout.getChildAt(index).getTranslationY() + translationYBy)
+                        .withStiffness(SpringForce.STIFFNESS_HIGH))
+                .startAll(after);
     }
 
     /**
@@ -710,8 +711,6 @@
         if (property.equals(DynamicAnimation.TRANSLATION_X)
                 || property.equals(DynamicAnimation.TRANSLATION_Y)) {
             return index + 1;
-        } else if (isStackStuckToTarget()) {
-            return index + 1; // Chain all animations in dismiss (scale, alpha, etc. are used).
         } else {
             return NONE;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/dagger/BubbleModule.java b/packages/SystemUI/src/com/android/systemui/bubbles/dagger/BubbleModule.java
index e84e932..72d646e 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/dagger/BubbleModule.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/dagger/BubbleModule.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.bubbles.dagger;
 
+import android.app.INotificationManager;
 import android.content.Context;
 
 import com.android.systemui.bubbles.BubbleController;
@@ -64,14 +65,15 @@
             FeatureFlags featureFlags,
             DumpManager dumpManager,
             FloatingContentCoordinator floatingContentCoordinator,
-            SysUiState sysUiState) {
+            SysUiState sysUiState,
+            INotificationManager notifManager) {
         return new BubbleController(
                 context,
                 notificationShadeWindowController,
                 statusBarStateController,
                 shadeController,
                 data,
-                /* synchronizer */null,
+                null /* synchronizer */,
                 configurationController,
                 interruptionStateProvider,
                 zenModeController,
@@ -82,6 +84,7 @@
                 featureFlags,
                 dumpManager,
                 floatingContentCoordinator,
-                sysUiState);
+                sysUiState,
+                notifManager);
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
index 7cab847..79a5b0a 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
@@ -23,6 +23,7 @@
 import com.android.systemui.controls.ControlStatus
 import com.android.systemui.controls.UserAwareController
 import com.android.systemui.controls.management.ControlsFavoritingActivity
+import com.android.systemui.controls.ui.ControlWithState
 import com.android.systemui.controls.ui.ControlsUiController
 import java.util.function.Consumer
 
@@ -111,6 +112,13 @@
         @ControlAction.ResponseResult response: Int
     )
 
+    /**
+     * When a control should be highlighted, dimming down what's around it.
+     *
+     * @param cws focused control, or {@code null} if nothing should be highlighted.
+     */
+    fun onFocusChanged(cws: ControlWithState?)
+
     // FAVORITE MANAGEMENT
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
index 6d34009..5626a5d 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
@@ -41,6 +41,7 @@
 import com.android.systemui.controls.ControlStatus
 import com.android.systemui.controls.ControlsServiceInfo
 import com.android.systemui.controls.management.ControlsListingController
+import com.android.systemui.controls.ui.ControlWithState
 import com.android.systemui.controls.ui.ControlsUiController
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.dump.DumpManager
@@ -504,6 +505,10 @@
         }
     }
 
+    override fun onFocusChanged(cws: ControlWithState?) {
+        uiController.onFocusChanged(cws)
+    }
+
     override fun refreshStatus(componentName: ComponentName, control: Control) {
         if (!confirmAvailability()) {
             Log.d(TAG, "Controls not available")
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinator.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinator.kt
index ad86eeb..b3c6cab 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlActionCoordinator.kt
@@ -24,12 +24,12 @@
 import android.service.controls.actions.CommandAction
 import android.util.Log
 import android.view.HapticFeedbackConstants
-
 import com.android.systemui.R
+import com.android.systemui.controls.controller.ControlsController
 
 object ControlActionCoordinator {
-    public const val MIN_LEVEL = 0
-    public const val MAX_LEVEL = 10000
+    const val MIN_LEVEL = 0
+    const val MAX_LEVEL = 10000
 
     private var dialog: Dialog? = null
 
@@ -40,9 +40,6 @@
 
     fun toggle(cvh: ControlViewHolder, templateId: String, isChecked: Boolean) {
         cvh.action(BooleanAction(templateId, !isChecked))
-
-        val nextLevel = if (isChecked) MIN_LEVEL else MAX_LEVEL
-        cvh.clipLayer.setLevel(nextLevel)
     }
 
     fun touch(cvh: ControlViewHolder, templateId: String, control: Control) {
@@ -80,4 +77,8 @@
             it.show()
         }
     }
+
+    fun setFocusedElement(cvh: ControlViewHolder?, controlsController: ControlsController) {
+        controlsController.onFocusChanged(cvh?.cws)
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
index 0eb6cb1..61a323d0 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
@@ -16,6 +16,9 @@
 
 package com.android.systemui.controls.ui
 
+import android.animation.Animator
+import android.animation.AnimatorListenerAdapter
+import android.animation.ValueAnimator
 import android.content.Context
 import android.graphics.drawable.ClipDrawable
 import android.graphics.drawable.GradientDrawable
@@ -28,15 +31,16 @@
 import android.service.controls.templates.TemperatureControlTemplate
 import android.service.controls.templates.ToggleRangeTemplate
 import android.service.controls.templates.ToggleTemplate
+import android.util.MathUtils
 import android.view.View
 import android.view.ViewGroup
 import android.widget.ImageView
 import android.widget.TextView
-
+import com.android.internal.graphics.ColorUtils
+import com.android.systemui.Interpolators
+import com.android.systemui.R
 import com.android.systemui.controls.controller.ControlsController
 import com.android.systemui.util.concurrency.DelayableExecutor
-import com.android.systemui.R
-
 import kotlin.reflect.KClass
 
 /**
@@ -53,15 +57,22 @@
 ) {
 
     companion object {
+        const val STATE_ANIMATION_DURATION = 700L
         private const val UPDATE_DELAY_IN_MILLIS = 3000L
         private const val ALPHA_ENABLED = (255.0 * 0.2).toInt()
-        private const val ALPHA_DISABLED = 255
+        private const val ALPHA_DISABLED = 0
         private val FORCE_PANEL_DEVICES = setOf(
             DeviceTypes.TYPE_THERMOSTAT,
             DeviceTypes.TYPE_CAMERA
         )
     }
 
+    private val toggleBackgroundIntensity: Float = layout.context.resources
+            .getFraction(R.fraction.controls_toggle_bg_intensity, 1, 1)
+    private val dimmedAlpha: Float = layout.context.resources
+            .getFraction(R.fraction.controls_dimmed_alpha, 1, 1)
+    private var stateAnimator: ValueAnimator? = null
+    private val baseLayer: GradientDrawable
     val icon: ImageView = layout.requireViewById(R.id.icon)
     val status: TextView = layout.requireViewById(R.id.status)
     val title: TextView = layout.requireViewById(R.id.title)
@@ -74,11 +85,18 @@
     var lastAction: ControlAction? = null
     val deviceType: Int
         get() = cws.control?.let { it.getDeviceType() } ?: cws.ci.deviceType
+    var dimmed: Boolean = false
+        set(value) {
+            field = value
+            bindData(cws)
+        }
 
     init {
         val ld = layout.getBackground() as LayerDrawable
         ld.mutate()
         clipLayer = ld.findDrawableByLayerId(R.id.clip_layer) as ClipDrawable
+        clipLayer.alpha = ALPHA_DISABLED
+        baseLayer = ld.findDrawableByLayerId(R.id.background) as GradientDrawable
         // needed for marquee to start
         status.setSelected(true)
     }
@@ -160,30 +178,63 @@
         }
     }
 
-    internal fun applyRenderInfo(enabled: Boolean, offset: Int = 0) {
+    internal fun applyRenderInfo(enabled: Boolean, offset: Int = 0, animated: Boolean = true) {
         setEnabled(enabled)
 
         val ri = RenderInfo.lookup(context, cws.componentName, deviceType, enabled, offset)
 
-        val fg = context.getResources().getColorStateList(ri.foreground, context.getTheme())
-        val (bg, alpha) = if (enabled) {
-            Pair(ri.enabledBackground, ALPHA_ENABLED)
+        val fg = context.resources.getColorStateList(ri.foreground, context.theme)
+        val bg = context.resources.getColor(R.color.control_default_background, context.theme)
+        val dimAlpha = if (dimmed) dimmedAlpha else 1f
+        var (clip, newAlpha) = if (enabled) {
+            listOf(ri.enabledBackground, ALPHA_ENABLED)
         } else {
-            Pair(R.color.control_default_background, ALPHA_DISABLED)
+            listOf(R.color.control_default_background, ALPHA_DISABLED)
         }
 
         status.setTextColor(fg)
-
         icon.setImageDrawable(ri.icon)
 
         // do not color app icons
         if (deviceType != DeviceTypes.TYPE_ROUTINE) {
-            icon.setImageTintList(fg)
+            icon.imageTintList = fg
         }
 
         (clipLayer.getDrawable() as GradientDrawable).apply {
-            setColor(context.getResources().getColor(bg, context.getTheme()))
-            setAlpha(alpha)
+            val newClipColor = context.resources.getColor(clip, context.theme)
+            val newBaseColor = if (behavior is ToggleRangeBehavior) {
+                ColorUtils.blendARGB(bg, newClipColor, toggleBackgroundIntensity)
+            } else {
+                bg
+            }
+            stateAnimator?.cancel()
+            if (animated) {
+                val oldColor = color?.defaultColor ?: newClipColor
+                val oldBaseColor = baseLayer.color?.defaultColor ?: newBaseColor
+                val oldAlpha = layout.alpha
+                stateAnimator = ValueAnimator.ofInt(clipLayer.alpha, newAlpha).apply {
+                    addUpdateListener {
+                        alpha = it.animatedValue as Int
+                        setColor(ColorUtils.blendARGB(oldColor, newClipColor, it.animatedFraction))
+                        baseLayer.setColor(ColorUtils.blendARGB(oldBaseColor,
+                                newBaseColor, it.animatedFraction))
+                        layout.alpha = MathUtils.lerp(oldAlpha, dimAlpha, it.animatedFraction)
+                    }
+                    addListener(object : AnimatorListenerAdapter() {
+                        override fun onAnimationEnd(animation: Animator?) {
+                            stateAnimator = null
+                        }
+                    })
+                    duration = STATE_ANIMATION_DURATION
+                    interpolator = Interpolators.CONTROL_STATE
+                    start()
+                }
+            } else {
+                alpha = newAlpha
+                setColor(newClipColor)
+                baseLayer.setColor(newBaseColor)
+                layout.alpha = dimAlpha
+            }
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiController.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiController.kt
index 0f10537..61a1a98 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiController.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiController.kt
@@ -36,4 +36,5 @@
         controlId: String,
         @ControlAction.ResponseResult response: Int
     )
+    fun onFocusChanged(controlWithState: ControlWithState?)
 }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
index fab6fc7..2adfb1b 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
@@ -209,6 +209,20 @@
         }
     }
 
+    override fun onFocusChanged(focusedControl: ControlWithState?) {
+        controlViewsById.forEach { key: ControlKey, viewHolder: ControlViewHolder ->
+            val state = controlsById.get(key) ?: return@forEach
+            val shouldBeDimmed = focusedControl != null && state != focusedControl
+            if (viewHolder.dimmed == shouldBeDimmed) {
+                return@forEach
+            }
+
+            uiExecutor.execute {
+                viewHolder.dimmed = shouldBeDimmed
+            }
+        }
+    }
+
     private fun startFavoritingActivity(context: Context, si: StructureInfo) {
         startTargetedActivity(context, si, ControlsFavoritingActivity::class.java)
     }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt
index a3368ef..368d139 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt
@@ -18,12 +18,10 @@
 
 import android.graphics.drawable.Drawable
 import android.graphics.drawable.LayerDrawable
-import android.view.View
 import android.service.controls.Control
 import android.service.controls.templates.ToggleTemplate
-
+import android.view.View
 import com.android.systemui.R
-import com.android.systemui.controls.ui.ControlActionCoordinator.MIN_LEVEL
 import com.android.systemui.controls.ui.ControlActionCoordinator.MAX_LEVEL
 
 class ToggleBehavior : Behavior {
@@ -34,7 +32,7 @@
 
     override fun initialize(cvh: ControlViewHolder) {
         this.cvh = cvh
-        cvh.applyRenderInfo(false)
+        cvh.applyRenderInfo(false /* enabled */, 0 /* offset */, false /* animated */)
 
         cvh.layout.setOnClickListener(View.OnClickListener() {
             ControlActionCoordinator.toggle(cvh, template.getTemplateId(), template.isChecked())
@@ -49,9 +47,9 @@
 
         val ld = cvh.layout.getBackground() as LayerDrawable
         clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
+        clipLayer.level = MAX_LEVEL
 
         val checked = template.isChecked()
-        clipLayer.setLevel(if (checked) MAX_LEVEL else MIN_LEVEL)
         cvh.applyRenderInfo(checked)
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
index 5a95665..dafd8b2 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
@@ -16,11 +16,20 @@
 
 package com.android.systemui.controls.ui
 
-import android.os.Bundle
+import android.animation.Animator
+import android.animation.AnimatorListenerAdapter
+import android.animation.ValueAnimator
 import android.content.Context
 import android.graphics.drawable.Drawable
 import android.graphics.drawable.LayerDrawable
+import android.os.Bundle
+import android.service.controls.Control
+import android.service.controls.actions.FloatAction
+import android.service.controls.templates.RangeTemplate
+import android.service.controls.templates.ToggleRangeTemplate
 import android.util.Log
+import android.util.MathUtils
+import android.util.TypedValue
 import android.view.GestureDetector
 import android.view.GestureDetector.SimpleOnGestureListener
 import android.view.MotionEvent
@@ -29,19 +38,14 @@
 import android.view.accessibility.AccessibilityEvent
 import android.view.accessibility.AccessibilityNodeInfo
 import android.widget.TextView
-import android.service.controls.Control
-import android.service.controls.actions.FloatAction
-import android.service.controls.templates.RangeTemplate
-import android.service.controls.templates.ToggleRangeTemplate
-import android.util.TypedValue
-
+import com.android.systemui.Interpolators
 import com.android.systemui.R
-import com.android.systemui.controls.ui.ControlActionCoordinator.MIN_LEVEL
 import com.android.systemui.controls.ui.ControlActionCoordinator.MAX_LEVEL
-
+import com.android.systemui.controls.ui.ControlActionCoordinator.MIN_LEVEL
 import java.util.IllegalFormatException
 
 class ToggleRangeBehavior : Behavior {
+    private var rangeAnimator: ValueAnimator? = null
     lateinit var clipLayer: Drawable
     lateinit var template: ToggleRangeTemplate
     lateinit var control: Control
@@ -61,20 +65,21 @@
         status = cvh.status
         context = status.getContext()
 
-        cvh.applyRenderInfo(false)
+        cvh.applyRenderInfo(false /* enabled */, 0 /* offset */, false /* animated */)
 
         val gestureListener = ToggleRangeGestureListener(cvh.layout)
         val gestureDetector = GestureDetector(context, gestureListener)
         cvh.layout.setOnTouchListener { v: View, e: MotionEvent ->
             if (gestureDetector.onTouchEvent(e)) {
-                return@setOnTouchListener true
+                // Don't return true to let the state list change to "pressed"
+                return@setOnTouchListener false
             }
 
             if (e.getAction() == MotionEvent.ACTION_UP && gestureListener.isDragging) {
                 v.getParent().requestDisallowInterceptTouchEvent(false)
                 gestureListener.isDragging = false
                 endUpdateRange()
-                return@setOnTouchListener true
+                return@setOnTouchListener false
             }
 
             return@setOnTouchListener false
@@ -87,17 +92,18 @@
         currentStatusText = control.getStatusText()
         status.setText(currentStatusText)
 
+        // ControlViewHolder sets a long click listener, but we want to handle touch in
+        // here instead, otherwise we'll have state conflicts.
+        cvh.layout.setOnLongClickListener(null)
+
         val ld = cvh.layout.getBackground() as LayerDrawable
         clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
-        clipLayer.setLevel(MIN_LEVEL)
 
         template = control.getControlTemplate() as ToggleRangeTemplate
         rangeTemplate = template.getRange()
 
         val checked = template.isChecked()
-        val currentRatio = rangeTemplate.getCurrentValue() /
-                (rangeTemplate.getMaxValue() - rangeTemplate.getMinValue())
-        updateRange(currentRatio, checked, /* isDragging */ false)
+        updateRange(rangeToLevelValue(rangeTemplate.currentValue), checked, /* isDragging */ false)
 
         cvh.applyRenderInfo(checked)
 
@@ -146,9 +152,8 @@
                         } else {
                             val value = arguments.getFloat(
                                 AccessibilityNodeInfo.ACTION_ARGUMENT_PROGRESS_VALUE)
-                            val ratioDiff = (value - rangeTemplate.getCurrentValue()) /
-                                (rangeTemplate.getMaxValue() - rangeTemplate.getMinValue())
-                            updateRange(ratioDiff, template.isChecked(), /* isDragging */ false)
+                            val level = rangeToLevelValue(value - rangeTemplate.getCurrentValue())
+                            updateRange(level, template.isChecked(), /* isDragging */ false)
                             endUpdateRange()
                             true
                         }
@@ -170,15 +175,33 @@
     fun beginUpdateRange() {
         status.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getResources()
                 .getDimensionPixelSize(R.dimen.control_status_expanded).toFloat())
+        ControlActionCoordinator.setFocusedElement(cvh, cvh.controlsController)
     }
 
-    fun updateRange(ratioDiff: Float, checked: Boolean, isDragging: Boolean) {
-        val changeAmount = if (checked) (MAX_LEVEL * ratioDiff).toInt() else MIN_LEVEL
-        val newLevel = Math.max(MIN_LEVEL, Math.min(MAX_LEVEL, clipLayer.getLevel() + changeAmount))
-        clipLayer.setLevel(newLevel)
+    fun updateRange(level: Int, checked: Boolean, isDragging: Boolean) {
+        val newLevel = if (checked) Math.max(MIN_LEVEL, Math.min(MAX_LEVEL, level)) else MIN_LEVEL
+
+        rangeAnimator?.cancel()
+        if (isDragging) {
+            clipLayer.level = newLevel
+        } else {
+            rangeAnimator = ValueAnimator.ofInt(cvh.clipLayer.level, newLevel).apply {
+                addUpdateListener {
+                    cvh.clipLayer.level = it.animatedValue as Int
+                }
+                addListener(object : AnimatorListenerAdapter() {
+                    override fun onAnimationEnd(animation: Animator?) {
+                        rangeAnimator = null
+                    }
+                })
+                duration = ControlViewHolder.STATE_ANIMATION_DURATION
+                interpolator = Interpolators.CONTROL_STATE
+                start()
+            }
+        }
 
         if (checked) {
-            val newValue = levelToRangeValue(clipLayer.getLevel())
+            val newValue = levelToRangeValue(newLevel)
             currentRangeValue = format(rangeTemplate.getFormatString().toString(),
                     DEFAULT_FORMAT, newValue)
             val text = if (isDragging) {
@@ -206,9 +229,13 @@
     }
 
     private fun levelToRangeValue(i: Int): Float {
-        val ratio = i.toFloat() / MAX_LEVEL
-        return rangeTemplate.getMinValue() +
-            (ratio * (rangeTemplate.getMaxValue() - rangeTemplate.getMinValue()))
+        return MathUtils.constrainedMap(rangeTemplate.minValue, rangeTemplate.maxValue,
+                MIN_LEVEL.toFloat(), MAX_LEVEL.toFloat(), i.toFloat())
+    }
+
+    private fun rangeToLevelValue(i: Float): Int {
+        return MathUtils.constrainedMap(MIN_LEVEL.toFloat(), MAX_LEVEL.toFloat(),
+                rangeTemplate.minValue, rangeTemplate.maxValue, i).toInt()
     }
 
     fun endUpdateRange() {
@@ -217,6 +244,7 @@
         status.setText("$currentStatusText $currentRangeValue")
         cvh.action(FloatAction(rangeTemplate.getTemplateId(),
             findNearestStep(levelToRangeValue(clipLayer.getLevel()))))
+        ControlActionCoordinator.setFocusedElement(null, cvh.controlsController)
     }
 
     fun findNearestStep(value: Float): Float {
@@ -247,6 +275,9 @@
         }
 
         override fun onLongPress(e: MotionEvent) {
+            if (isDragging) {
+                return
+            }
             ControlActionCoordinator.longPress(this@ToggleRangeBehavior.cvh)
         }
 
@@ -256,14 +287,19 @@
             xDiff: Float,
             yDiff: Float
         ): Boolean {
+            if (!template.isChecked) {
+                return false
+            }
             if (!isDragging) {
                 v.getParent().requestDisallowInterceptTouchEvent(true)
                 this@ToggleRangeBehavior.beginUpdateRange()
                 isDragging = true
             }
 
-            this@ToggleRangeBehavior.updateRange(-xDiff / v.getWidth(),
-                /* checked */ true, /* isDragging */ true)
+            val ratioDiff = -xDiff / v.width
+            val changeAmount = ((MAX_LEVEL - MIN_LEVEL) * ratioDiff).toInt()
+            this@ToggleRangeBehavior.updateRange(clipLayer.level + changeAmount,
+                    checked = true, isDragging = true)
             return true
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/TouchBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/TouchBehavior.kt
index b02c9c8..fd96cea 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/TouchBehavior.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/TouchBehavior.kt
@@ -37,7 +37,7 @@
 
     override fun initialize(cvh: ControlViewHolder) {
         this.cvh = cvh
-        cvh.applyRenderInfo(false)
+        cvh.applyRenderInfo(false /* enabled */, 0 /* offset */, false /* animated */)
 
         cvh.layout.setOnClickListener(View.OnClickListener() {
             ControlActionCoordinator.touch(cvh, template.getTemplateId(), control)
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
index a7c4043..8f3dc22 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemServicesModule.java
@@ -19,8 +19,10 @@
 import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.app.ActivityManager;
+import android.app.ActivityTaskManager;
 import android.app.AlarmManager;
 import android.app.IActivityManager;
+import android.app.IActivityTaskManager;
 import android.app.IWallpaperManager;
 import android.app.KeyguardManager;
 import android.app.NotificationManager;
@@ -128,6 +130,12 @@
         return ActivityManager.getService();
     }
 
+    @Singleton
+    @Provides
+    static IActivityTaskManager provideIActivityTaskManager() {
+        return ActivityTaskManager.getService();
+    }
+
     @Provides
     @Singleton
     static IBatteryStats provideIBatteryStats() {
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
index 8c572fe..88f96a8 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
@@ -24,6 +24,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.keyguard.KeyguardViewController;
+import com.android.systemui.broadcast.BroadcastDispatcher;
 import com.android.systemui.dock.DockManager;
 import com.android.systemui.dock.DockManagerImpl;
 import com.android.systemui.plugins.qs.QSFactory;
@@ -33,6 +34,7 @@
 import com.android.systemui.qs.tileimpl.QSFactoryImpl;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.RecentsImplementation;
+import com.android.systemui.settings.CurrentUserContextTracker;
 import com.android.systemui.stackdivider.DividerModule;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
@@ -136,4 +138,15 @@
     @Binds
     abstract KeyguardViewController bindKeyguardViewController(
             StatusBarKeyguardViewManager statusBarKeyguardViewManager);
+
+    @Singleton
+    @Provides
+    static CurrentUserContextTracker provideCurrentUserContextTracker(
+            Context context,
+            BroadcastDispatcher broadcastDispatcher) {
+        CurrentUserContextTracker tracker =
+                new CurrentUserContextTracker(context, broadcastDispatcher);
+        tracker.initialize();
+        return tracker;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index 4db5374..ea358c7 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -43,7 +43,6 @@
 import android.content.res.Resources;
 import android.database.ContentObserver;
 import android.graphics.Color;
-import android.graphics.Insets;
 import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
 import android.net.ConnectivityManager;
@@ -75,9 +74,13 @@
 import android.view.WindowInsets;
 import android.view.WindowManager;
 import android.view.accessibility.AccessibilityEvent;
+import android.widget.BaseAdapter;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.ImageView.ScaleType;
+import android.widget.LinearLayout;
+import android.widget.ListPopupWindow;
+import android.widget.ListView;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
@@ -151,19 +154,20 @@
 
     /* Valid settings for global actions keys.
      * see config.xml config_globalActionList */
-    private static final String GLOBAL_ACTION_KEY_POWER = "power";
-    private static final String GLOBAL_ACTION_KEY_AIRPLANE = "airplane";
-    private static final String GLOBAL_ACTION_KEY_BUGREPORT = "bugreport";
-    private static final String GLOBAL_ACTION_KEY_SILENT = "silent";
-    private static final String GLOBAL_ACTION_KEY_USERS = "users";
-    private static final String GLOBAL_ACTION_KEY_SETTINGS = "settings";
-    private static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown";
-    private static final String GLOBAL_ACTION_KEY_VOICEASSIST = "voiceassist";
-    private static final String GLOBAL_ACTION_KEY_ASSIST = "assist";
-    private static final String GLOBAL_ACTION_KEY_RESTART = "restart";
-    private static final String GLOBAL_ACTION_KEY_LOGOUT = "logout";
-    private static final String GLOBAL_ACTION_KEY_EMERGENCY = "emergency";
-    private static final String GLOBAL_ACTION_KEY_SCREENSHOT = "screenshot";
+    @VisibleForTesting
+    protected static final String GLOBAL_ACTION_KEY_POWER = "power";
+    protected static final String GLOBAL_ACTION_KEY_AIRPLANE = "airplane";
+    protected static final String GLOBAL_ACTION_KEY_BUGREPORT = "bugreport";
+    protected static final String GLOBAL_ACTION_KEY_SILENT = "silent";
+    protected static final String GLOBAL_ACTION_KEY_USERS = "users";
+    protected static final String GLOBAL_ACTION_KEY_SETTINGS = "settings";
+    protected static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown";
+    protected static final String GLOBAL_ACTION_KEY_VOICEASSIST = "voiceassist";
+    protected static final String GLOBAL_ACTION_KEY_ASSIST = "assist";
+    protected static final String GLOBAL_ACTION_KEY_RESTART = "restart";
+    protected static final String GLOBAL_ACTION_KEY_LOGOUT = "logout";
+    protected static final String GLOBAL_ACTION_KEY_EMERGENCY = "emergency";
+    protected static final String GLOBAL_ACTION_KEY_SCREENSHOT = "screenshot";
 
     private static final String PREFS_CONTROLS_SEEDING_COMPLETED = "ControlsSeedingCompleted";
     private static final String PREFS_CONTROLS_FILE = "controls_prefs";
@@ -191,13 +195,18 @@
     // Used for RingerModeTracker
     private final LifecycleRegistry mLifecycle = new LifecycleRegistry(this);
 
-    private ArrayList<Action> mItems;
+    @VisibleForTesting
+    protected final ArrayList<Action> mItems = new ArrayList<>();
+    @VisibleForTesting
+    protected final ArrayList<Action> mOverflowItems = new ArrayList<>();
+
     private ActionsDialog mDialog;
 
     private Action mSilentModeAction;
     private ToggleAction mAirplaneModeOn;
 
     private MyAdapter mAdapter;
+    private MyOverflowAdapter mOverflowAdapter;
 
     private boolean mKeyguardShowing = false;
     private boolean mDeviceProvisioned = false;
@@ -387,6 +396,7 @@
         if (preferredComponent == null) {
             Log.i(TAG, "Controls seeding: No preferred component has been set, will not seed");
             mControlsPreferences.edit().putBoolean(PREFS_CONTROLS_SEEDING_COMPLETED, true).apply();
+            return;
         }
 
         mControlsController.seedFavoritesForComponent(
@@ -444,27 +454,59 @@
         prepareDialog();
         seedFavorites();
 
-        // If we only have 1 item and it's a simple press action, just do this action.
-        if (mAdapter.getCount() == 1
-                && mAdapter.getItem(0) instanceof SinglePressAction
-                && !(mAdapter.getItem(0) instanceof LongPressAction)) {
-            ((SinglePressAction) mAdapter.getItem(0)).onPress();
+        WindowManager.LayoutParams attrs = mDialog.getWindow().getAttributes();
+        attrs.setTitle("ActionsDialog");
+        attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+        mDialog.getWindow().setAttributes(attrs);
+        mDialog.show();
+        mWindowManagerFuncs.onGlobalActionsShown();
+    }
+
+    @VisibleForTesting
+    protected boolean shouldShowAction(Action action) {
+        if (mKeyguardShowing && !action.showDuringKeyguard()) {
+            return false;
+        }
+        if (!mDeviceProvisioned && !action.showBeforeProvisioning()) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Returns the maximum number of power menu items to show based on which GlobalActions
+     * layout is being used.
+     */
+    @VisibleForTesting
+    protected int getMaxShownPowerItems() {
+        if (shouldUseControlsLayout()) {
+            return mResources.getInteger(com.android.systemui.R.integer.power_menu_max_columns);
         } else {
-            WindowManager.LayoutParams attrs = mDialog.getWindow().getAttributes();
-            attrs.setTitle("ActionsDialog");
-            attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
-            mDialog.getWindow().setAttributes(attrs);
-            mDialog.show();
-            mWindowManagerFuncs.onGlobalActionsShown();
+            return Integer.MAX_VALUE;
         }
     }
 
     /**
-     * Create the global actions dialog.
-     *
-     * @return A new dialog.
+     * Add a power menu action item for to either the main or overflow items lists, depending on
+     * whether controls are enabled and whether the max number of shown items has been reached.
      */
-    private ActionsDialog createDialog() {
+    private void addActionItem(Action action) {
+        if (shouldShowAction(action)) {
+            if (mItems.size() < getMaxShownPowerItems()) {
+                mItems.add(action);
+            } else {
+                mOverflowItems.add(action);
+            }
+        }
+    }
+
+    @VisibleForTesting
+    protected String[] getDefaultActions() {
+        return mResources.getStringArray(R.array.config_globalActionsList);
+    }
+
+    @VisibleForTesting
+    protected void createActionItems() {
         // Simple toggle style if there's no vibrator, otherwise use a tri-state
         if (!mHasVibrator) {
             mSilentModeAction = new SilentModeToggleAction();
@@ -474,8 +516,14 @@
         mAirplaneModeOn = new AirplaneModeAction();
         onAirplaneModeChanged();
 
-        mItems = new ArrayList<Action>();
-        String[] defaultActions = mResources.getStringArray(R.array.config_globalActionsList);
+        mItems.clear();
+        mOverflowItems.clear();
+        String[] defaultActions = getDefaultActions();
+
+        // make sure emergency affordance action is first, if needed
+        if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
+            addActionItem(new EmergencyAffordanceAction());
+        }
 
         ArraySet<String> addedKeys = new ArraySet<String>();
         for (int i = 0; i < defaultActions.length; i++) {
@@ -485,46 +533,46 @@
                 continue;
             }
             if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {
-                mItems.add(new PowerAction());
+                addActionItem(new PowerAction());
             } else if (GLOBAL_ACTION_KEY_AIRPLANE.equals(actionKey)) {
-                mItems.add(mAirplaneModeOn);
+                addActionItem(mAirplaneModeOn);
             } else if (GLOBAL_ACTION_KEY_BUGREPORT.equals(actionKey)) {
                 if (Settings.Global.getInt(mContentResolver,
                         Settings.Global.BUGREPORT_IN_POWER_MENU, 0) != 0 && isCurrentUserOwner()) {
-                    mItems.add(new BugReportAction());
+                    addActionItem(new BugReportAction());
                 }
             } else if (GLOBAL_ACTION_KEY_SILENT.equals(actionKey)) {
                 if (mShowSilentToggle) {
-                    mItems.add(mSilentModeAction);
+                    addActionItem(mSilentModeAction);
                 }
             } else if (GLOBAL_ACTION_KEY_USERS.equals(actionKey)) {
                 if (SystemProperties.getBoolean("fw.power_user_switcher", false)) {
-                    addUsersToMenu(mItems);
+                    addUsersToMenu();
                 }
             } else if (GLOBAL_ACTION_KEY_SETTINGS.equals(actionKey)) {
-                mItems.add(getSettingsAction());
+                addActionItem(getSettingsAction());
             } else if (GLOBAL_ACTION_KEY_LOCKDOWN.equals(actionKey)) {
                 if (Settings.Secure.getIntForUser(mContentResolver,
                         Settings.Secure.LOCKDOWN_IN_POWER_MENU, 0, getCurrentUser().id) != 0
                         && shouldDisplayLockdown()) {
-                    mItems.add(getLockdownAction());
+                    addActionItem(getLockdownAction());
                 }
             } else if (GLOBAL_ACTION_KEY_VOICEASSIST.equals(actionKey)) {
-                mItems.add(getVoiceAssistAction());
+                addActionItem(getVoiceAssistAction());
             } else if (GLOBAL_ACTION_KEY_ASSIST.equals(actionKey)) {
-                mItems.add(getAssistAction());
+                addActionItem(getAssistAction());
             } else if (GLOBAL_ACTION_KEY_RESTART.equals(actionKey)) {
-                mItems.add(new RestartAction());
+                addActionItem(new RestartAction());
             } else if (GLOBAL_ACTION_KEY_SCREENSHOT.equals(actionKey)) {
-                mItems.add(new ScreenshotAction());
+                addActionItem(new ScreenshotAction());
             } else if (GLOBAL_ACTION_KEY_LOGOUT.equals(actionKey)) {
                 if (mDevicePolicyManager.isLogoutEnabled()
                         && getCurrentUser().id != UserHandle.USER_SYSTEM) {
-                    mItems.add(new LogoutAction());
+                    addActionItem(new LogoutAction());
                 }
             } else if (GLOBAL_ACTION_KEY_EMERGENCY.equals(actionKey)) {
                 if (!mEmergencyAffordanceManager.needsEmergencyAffordance()) {
-                    mItems.add(new EmergencyDialerAction());
+                    addActionItem(new EmergencyDialerAction());
                 }
             } else {
                 Log.e(TAG, "Invalid global action key " + actionKey);
@@ -532,18 +580,30 @@
             // Add here so we don't add more than one.
             addedKeys.add(actionKey);
         }
+    }
 
-        if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
-            mItems.add(new EmergencyAffordanceAction());
-        }
+    private void onRotate() {
+        // re-allocate actions between main and overflow lists
+        this.createActionItems();
+    }
+
+    /**
+     * Create the global actions dialog.
+     *
+     * @return A new dialog.
+     */
+    private ActionsDialog createDialog() {
+        createActionItems();
 
         mAdapter = new MyAdapter();
+        mOverflowAdapter = new MyOverflowAdapter();
 
-        mDepthController.setShowingHomeControls(shouldShowControls());
-        ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, getWalletPanelViewController(),
-                mDepthController, mSysuiColorExtractor, mStatusBarService,
-                mNotificationShadeWindowController,
-                shouldShowControls() ? mControlsUiController : null, mBlurUtils);
+        mDepthController.setShowingHomeControls(shouldUseControlsLayout());
+        ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, mOverflowAdapter,
+                getWalletPanelViewController(), mDepthController, mSysuiColorExtractor,
+                mStatusBarService, mNotificationShadeWindowController,
+                shouldShowControls() ? mControlsUiController : null, mBlurUtils,
+                shouldUseControlsLayout(), this::onRotate);
         dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
         dialog.setKeyguardShowing(mKeyguardShowing);
 
@@ -644,7 +704,7 @@
 
         @Override
         public boolean shouldBeSeparated() {
-            return !shouldShowControls();
+            return !shouldUseControlsLayout();
         }
 
         @Override
@@ -652,7 +712,7 @@
                 Context context, View convertView, ViewGroup parent, LayoutInflater inflater) {
             View v = super.create(context, convertView, parent, inflater);
             int textColor;
-            if (shouldShowControls()) {
+            if (shouldUseControlsLayout()) {
                 v.setBackgroundTintList(ColorStateList.valueOf(v.getResources().getColor(
                         com.android.systemui.R.color.global_actions_emergency_background)));
                 textColor = v.getResources().getColor(
@@ -1020,7 +1080,7 @@
         return currentUser == null || currentUser.isPrimary();
     }
 
-    private void addUsersToMenu(ArrayList<Action> items) {
+    private void addUsersToMenu() {
         if (mUserManager.isUserSwitcherEnabled()) {
             List<UserInfo> users = mUserManager.getUsers();
             UserInfo currentUser = getCurrentUser();
@@ -1050,7 +1110,7 @@
                             return false;
                         }
                     };
-                    items.add(switchToUser);
+                    addActionItem(switchToUser);
                 }
             }
         }
@@ -1092,18 +1152,14 @@
     }
 
     private int getActionLayoutId() {
-        if (shouldShowControls()) {
+        if (shouldUseControlsLayout()) {
             return com.android.systemui.R.layout.global_actions_grid_item_v2;
         }
         return com.android.systemui.R.layout.global_actions_grid_item;
     }
 
     /**
-     * The adapter used for the list within the global actions dialog, taking into account whether
-     * the keyguard is showing via
-     * {@link com.android.systemui.globalactions.GlobalActionsDialog#mKeyguardShowing}
-     * and whether the device is provisioned via
-     * {@link com.android.systemui.globalactions.GlobalActionsDialog#mDeviceProvisioned}.
+     * The adapter used for power menu items shown in the global actions dialog.
      */
     public class MyAdapter extends MultiListAdapter {
         private int countItems(boolean separated) {
@@ -1111,23 +1167,13 @@
             for (int i = 0; i < mItems.size(); i++) {
                 final Action action = mItems.get(i);
 
-                if (shouldBeShown(action) && action.shouldBeSeparated() == separated) {
+                if (action.shouldBeSeparated() == separated) {
                     count++;
                 }
             }
             return count;
         }
 
-        private boolean shouldBeShown(Action action) {
-            if (mKeyguardShowing && !action.showDuringKeyguard()) {
-                return false;
-            }
-            if (!mDeviceProvisioned && !action.showBeforeProvisioning()) {
-                return false;
-            }
-            return true;
-        }
-
         @Override
         public int countSeparatedItems() {
             return countItems(true);
@@ -1158,7 +1204,7 @@
             int filteredPos = 0;
             for (int i = 0; i < mItems.size(); i++) {
                 final Action action = mItems.get(i);
-                if (!shouldBeShown(action)) {
+                if (!shouldShowAction(action)) {
                     continue;
                 }
                 if (filteredPos == position) {
@@ -1223,6 +1269,79 @@
         }
     }
 
+    /**
+     * The adapter used for items in the overflow menu.
+     */
+    public class MyOverflowAdapter extends BaseAdapter {
+        @Override
+        public int getCount() {
+            return mOverflowItems.size();
+        }
+
+        @Override
+        public Action getItem(int position) {
+            return mOverflowItems.get(position);
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            Action action = getItem(position);
+            if (action == null) {
+                Log.w(TAG, "No overflow action found at position: " + position);
+                return null;
+            }
+            int viewLayoutResource = com.android.systemui.R.layout.controls_more_item;
+            View view = convertView != null ? convertView
+                    : LayoutInflater.from(mContext).inflate(viewLayoutResource, parent, false);
+            TextView textView = (TextView) view;
+            textView.setOnClickListener(v -> onClickItem(position));
+            if (action.getMessageResId() != 0) {
+                textView.setText(action.getMessageResId());
+            } else {
+                textView.setText(action.getMessage());
+            }
+
+            if (action instanceof LongPressAction) {
+                textView.setOnLongClickListener(v -> onLongClickItem(position));
+            } else {
+                textView.setOnLongClickListener(null);
+            }
+            return textView;
+        }
+
+        private boolean onLongClickItem(int position) {
+            final Action action = getItem(position);
+            if (action instanceof LongPressAction) {
+                if (mDialog != null) {
+                    mDialog.hidePowerOverflowMenu();
+                    mDialog.dismiss();
+                } else {
+                    Log.w(TAG, "Action long-clicked while mDialog is null.");
+                }
+                return ((LongPressAction) action).onLongPress();
+            }
+            return false;
+        }
+
+        private void onClickItem(int position) {
+            Action item = getItem(position);
+            if (!(item instanceof SilentModeTriStateAction)) {
+                if (mDialog != null) {
+                    mDialog.hidePowerOverflowMenu();
+                    mDialog.dismiss();
+                } else {
+                    Log.w(TAG, "Action clicked while mDialog is null.");
+                }
+                item.onPress();
+            }
+        }
+    }
+
     // note: the scheme below made more sense when we were planning on having
     // 8 different things in the global actions dialog.  seems overkill with
     // only 3 items now, but may as well keep this flexible approach so it will
@@ -1248,8 +1367,8 @@
         boolean showDuringKeyguard();
 
         /**
-         * @return whether this action should appear in the dialog before the device is
-         * provisioned.onlongpress
+         * @return whether this action should appear in the dialog before the
+         * device is provisioned.f
          */
         boolean showBeforeProvisioning();
 
@@ -1258,6 +1377,18 @@
         default boolean shouldBeSeparated() {
             return false;
         }
+
+        /**
+         * Return the id of the message associated with this action, or 0 if it doesn't have one.
+         * @return
+         */
+        int getMessageResId();
+
+        /**
+         * Return the message associated with this action, or null if it doesn't have one.
+         * @return
+         */
+        CharSequence getMessage();
     }
 
     /**
@@ -1309,6 +1440,15 @@
             }
         }
 
+
+        public int getMessageResId() {
+            return mMessageResId;
+        }
+
+        public CharSequence getMessage() {
+            return mMessage;
+        }
+
         public View create(
                 Context context, View convertView, ViewGroup parent, LayoutInflater inflater) {
             View v = inflater.inflate(getActionLayoutId(), parent, false /* attach */);
@@ -1396,6 +1536,23 @@
             return context.getString(mMessageResId);
         }
 
+        private boolean isOn() {
+            return mState == ToggleState.On || mState == ToggleState.TurningOn;
+        }
+
+        @Override
+        public CharSequence getMessage() {
+            return null;
+        }
+        @Override
+        public int getMessageResId() {
+            return isOn() ? mEnabledStatusMessageResId : mDisabledStatusMessageResId;
+        }
+
+        private int getIconResId() {
+            return isOn() ? mEnabledIconResId : mDisabledIconResid;
+        }
+
         public View create(Context context, View convertView, ViewGroup parent,
                 LayoutInflater inflater) {
             willCreate();
@@ -1405,17 +1562,15 @@
             ImageView icon = (ImageView) v.findViewById(R.id.icon);
             TextView messageView = (TextView) v.findViewById(R.id.message);
             final boolean enabled = isEnabled();
-            boolean on = ((mState == ToggleState.On) || (mState == ToggleState.TurningOn));
 
             if (messageView != null) {
-                messageView.setText(on ? mEnabledStatusMessageResId : mDisabledStatusMessageResId);
+                messageView.setText(getMessageResId());
                 messageView.setEnabled(enabled);
                 messageView.setSelected(true); // necessary for marquee to work
             }
 
             if (icon != null) {
-                icon.setImageDrawable(context.getDrawable(
-                        (on ? mEnabledIconResId : mDisabledIconResid)));
+                icon.setImageDrawable(context.getDrawable(getIconResId()));
                 icon.setEnabled(enabled);
             }
 
@@ -1553,6 +1708,16 @@
             return null;
         }
 
+        @Override
+        public int getMessageResId() {
+            return 0;
+        }
+
+        @Override
+        public CharSequence getMessage() {
+            return null;
+        }
+
         public View create(Context context, View convertView, ViewGroup parent,
                 LayoutInflater inflater) {
             View v = inflater.inflate(R.layout.global_actions_silent_mode, parent, false);
@@ -1708,6 +1873,7 @@
 
         private final Context mContext;
         private final MyAdapter mAdapter;
+        private final MyOverflowAdapter mOverflowAdapter;
         private final IStatusBarService mStatusBarService;
         private final IBinder mToken = new Binder();
         private MultiListLayout mGlobalActionsLayout;
@@ -1722,25 +1888,32 @@
         private final NotificationShadeWindowController mNotificationShadeWindowController;
         private final NotificationShadeDepthController mDepthController;
         private final BlurUtils mBlurUtils;
+        private final boolean mUseControlsLayout;
+        private ListPopupWindow mOverflowPopup;
+        private final Runnable mOnRotateCallback;
 
         private ControlsUiController mControlsUiController;
         private ViewGroup mControlsView;
 
-        ActionsDialog(Context context, MyAdapter adapter,
+        ActionsDialog(Context context, MyAdapter adapter, MyOverflowAdapter overflowAdapter,
                 GlobalActionsPanelPlugin.PanelViewController plugin,
                 NotificationShadeDepthController depthController,
                 SysuiColorExtractor sysuiColorExtractor, IStatusBarService statusBarService,
                 NotificationShadeWindowController notificationShadeWindowController,
-                ControlsUiController controlsUiController, BlurUtils blurUtils) {
+                ControlsUiController controlsUiController, BlurUtils blurUtils,
+                boolean useControlsLayout, Runnable onRotateCallback) {
             super(context, com.android.systemui.R.style.Theme_SystemUI_Dialog_GlobalActions);
             mContext = context;
             mAdapter = adapter;
+            mOverflowAdapter = overflowAdapter;
             mDepthController = depthController;
             mColorExtractor = sysuiColorExtractor;
             mStatusBarService = statusBarService;
             mNotificationShadeWindowController = notificationShadeWindowController;
             mControlsUiController = controlsUiController;
             mBlurUtils = blurUtils;
+            mUseControlsLayout = useControlsLayout;
+            mOnRotateCallback = onRotateCallback;
 
             // Window initialization
             Window window = getWindow();
@@ -1817,6 +1990,45 @@
             }
         }
 
+        private ListPopupWindow createPowerOverflowPopup() {
+            ListPopupWindow popup = new ListPopupWindow(new ContextThemeWrapper(
+                    mContext, com.android.systemui.R.style.Control_ListPopupWindow));
+            popup.setWindowLayoutType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
+            View overflowButton =
+                    findViewById(com.android.systemui.R.id.global_actions_overflow_button);
+            popup.setAnchorView(overflowButton);
+            int parentWidth = mGlobalActionsLayout.getWidth();
+            // arbitrarily set the menu width to half of parent
+            // TODO: Logic for menu sizing based on contents.
+            int halfParentWidth = Math.round(parentWidth * 0.5f);
+            popup.setContentWidth(halfParentWidth);
+            popup.setAdapter(mOverflowAdapter);
+            popup.setModal(true);
+            return popup;
+        }
+
+        private void showPowerOverflowMenu() {
+            mOverflowPopup.show();
+
+            // Width is fixed to slightly more than half of the GlobalActionsLayout container.
+            // TODO: Resize the width of this dialog based on the sizes of the items in it.
+            int width = Math.round(mGlobalActionsLayout.getWidth() * 0.6f);
+
+            ListView listView = mOverflowPopup.getListView();
+            listView.setDividerHeight(mContext.getResources()
+                    .getDimensionPixelSize(com.android.systemui.R.dimen.control_list_divider));
+            listView.setDivider(mContext.getResources().getDrawable(
+                    com.android.systemui.R.drawable.controls_list_divider));
+            mOverflowPopup.setWidth(width);
+            mOverflowPopup.setHorizontalOffset(-width + mOverflowPopup.getAnchorView().getWidth());
+            mOverflowPopup.setVerticalOffset(mOverflowPopup.getAnchorView().getHeight());
+            mOverflowPopup.show();
+        }
+
+        private void hidePowerOverflowMenu() {
+            mOverflowPopup.dismiss();
+        }
+
         private void initializeLayout() {
             setContentView(getGlobalActionsLayoutId(mContext));
             fixNavBarClipping();
@@ -1835,6 +2047,27 @@
             mGlobalActionsLayout.setRotationListener(this::onRotate);
             mGlobalActionsLayout.setAdapter(mAdapter);
 
+            mOverflowPopup = createPowerOverflowPopup();
+
+            View overflowButton = findViewById(
+                    com.android.systemui.R.id.global_actions_overflow_button);
+            if (overflowButton != null) {
+                if (mOverflowAdapter.getCount() > 0) {
+                    overflowButton.setOnClickListener((view) -> showPowerOverflowMenu());
+                    LinearLayout.LayoutParams params =
+                            (LinearLayout.LayoutParams) mGlobalActionsLayout.getLayoutParams();
+                    params.setMarginEnd(0);
+                    mGlobalActionsLayout.setLayoutParams(params);
+                } else {
+                    overflowButton.setVisibility(View.GONE);
+                    LinearLayout.LayoutParams params =
+                            (LinearLayout.LayoutParams) mGlobalActionsLayout.getLayoutParams();
+                    params.setMarginEnd(mContext.getResources().getDimensionPixelSize(
+                            com.android.systemui.R.dimen.global_actions_side_margin));
+                    mGlobalActionsLayout.setLayoutParams(params);
+                }
+            }
+
             View globalActionsParent = (View) mGlobalActionsLayout.getParent();
             globalActionsParent.setOnClickListener(v -> dismiss());
 
@@ -1849,7 +2082,7 @@
             }
             if (mBackgroundDrawable == null) {
                 mBackgroundDrawable = new ScrimDrawable();
-                if (mControlsUiController != null) {
+                if (mUseControlsLayout) {
                     mScrimAlpha = 1.0f;
                 } else {
                     mScrimAlpha = mBlurUtils.supportsBlursOnWindows()
@@ -1869,7 +2102,7 @@
         }
 
         private int getGlobalActionsLayoutId(Context context) {
-            if (mControlsUiController != null) {
+            if (mUseControlsLayout) {
                 return com.android.systemui.R.layout.global_actions_grid_v2;
             }
 
@@ -1914,9 +2147,9 @@
             if (!(mBackgroundDrawable instanceof ScrimDrawable)) {
                 return;
             }
-            boolean hasControls = mControlsUiController != null;
             ((ScrimDrawable) mBackgroundDrawable).setColor(
-                    !hasControls && colors.supportsDarkText() ? Color.WHITE : Color.BLACK, animate);
+                    !mUseControlsLayout && colors.supportsDarkText()
+                            ? Color.WHITE : Color.BLACK, animate);
             View decorView = getWindow().getDecorView();
             if (colors.supportsDarkText()) {
                 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR |
@@ -1958,9 +2191,11 @@
                     .start();
             ViewGroup root = (ViewGroup) mGlobalActionsLayout.getRootView();
             root.setOnApplyWindowInsetsListener((v, windowInsets) -> {
-                if (mControlsUiController != null) {
-                    Insets insets = windowInsets.getInsets(WindowInsets.Type.all());
-                    root.setPadding(insets.left, insets.top, insets.right, insets.bottom);
+                if (mUseControlsLayout) {
+                    root.setPadding(windowInsets.getStableInsetLeft(),
+                            windowInsets.getStableInsetTop(),
+                            windowInsets.getStableInsetRight(),
+                            windowInsets.getStableInsetBottom());
                 }
                 return WindowInsets.CONSUMED;
             });
@@ -2060,10 +2295,14 @@
         public void refreshDialog() {
             initializeLayout();
             mGlobalActionsLayout.updateList();
+            if (mControlsUiController != null) {
+                mControlsUiController.show(mControlsView);
+            }
         }
 
         public void onRotate(int from, int to) {
             if (mShowing) {
+                mOnRotateCallback.run();
                 refreshDialog();
             }
         }
@@ -2090,9 +2329,16 @@
         return isPanelDebugModeEnabled(context);
     }
 
-    private boolean shouldShowControls() {
+    @VisibleForTesting
+    protected boolean shouldShowControls() {
         return mKeyguardStateController.isUnlocked()
                 && mControlsUiController.getAvailable()
                 && !mControlsServiceInfos.isEmpty();
     }
-}
+
+    // TODO: Remove legacy layout XML and classes.
+    protected boolean shouldUseControlsLayout() {
+        // always use new controls layout
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsFlatLayout.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsFlatLayout.java
index f102561..2f32d97 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsFlatLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsFlatLayout.java
@@ -32,7 +32,6 @@
  * Flat, single-row implementation of the button layout created by the global actions dialog.
  */
 public class GlobalActionsFlatLayout extends GlobalActionsLayout {
-    private static final int MAX_ITEMS = 4;
     public GlobalActionsFlatLayout(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -54,11 +53,28 @@
         return null;
     }
 
+    private View getOverflowButton() {
+        return findViewById(com.android.systemui.R.id.global_actions_overflow_button);
+    }
+
     @Override
     protected void addToListView(View v, boolean reverse) {
-        // only add items to the list view if we haven't hit our max yet
-        if (getListView().getChildCount() < MAX_ITEMS) {
-            super.addToListView(v, reverse);
+        super.addToListView(v, reverse);
+        View overflowButton = getOverflowButton();
+        // if there's an overflow button, make sure it stays at the end
+        if (overflowButton != null) {
+            getListView().removeView(overflowButton);
+            super.addToListView(overflowButton, reverse);
+        }
+    }
+
+    @Override
+    protected void removeAllListViews() {
+        View overflowButton = getOverflowButton();
+        super.removeAllListViews();
+        // if there's an overflow button, add it back after clearing the list views
+        if (overflowButton != null) {
+            super.addToListView(overflowButton, false);
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/GLWallpaperRenderer.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/GLWallpaperRenderer.java
index 88ab9ef4..6152490 100644
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/GLWallpaperRenderer.java
+++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/GLWallpaperRenderer.java
@@ -49,20 +49,6 @@
     void onDrawFrame();
 
     /**
-     * Notify ambient mode is changed.
-     * @param inAmbientMode true if in ambient mode.
-     * @param duration duration of transition.
-     */
-    void updateAmbientMode(boolean inAmbientMode, long duration);
-
-    /**
-     * Notify the wallpaper offsets changed.
-     * @param xOffset offset along x axis.
-     * @param yOffset offset along y axis.
-     */
-    void updateOffsets(float xOffset, float yOffset);
-
-    /**
      * Ask renderer to report the surface size it needs.
      */
     Size reportSurfaceSize();
@@ -81,24 +67,4 @@
      */
     void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args);
 
-    /**
-     * A proxy which owns surface holder.
-     */
-    interface SurfaceProxy {
-
-        /**
-         * Ask proxy to start rendering frame to surface.
-         */
-        void requestRender();
-
-        /**
-         * Ask proxy to prepare render context.
-         */
-        void preRender();
-
-        /**
-         * Ask proxy to destroy render context.
-         */
-        void postRender();
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
index 626d0cf..fa45ea1 100644
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
@@ -33,7 +33,6 @@
 import static android.opengl.GLES20.glVertexAttribPointer;
 
 import android.graphics.Bitmap;
-import android.graphics.Rect;
 import android.opengl.GLUtils;
 import android.util.Log;
 
@@ -50,14 +49,9 @@
 class ImageGLWallpaper {
     private static final String TAG = ImageGLWallpaper.class.getSimpleName();
 
-    static final String A_POSITION = "aPosition";
-    static final String A_TEXTURE_COORDINATES = "aTextureCoordinates";
-    static final String U_PER85 = "uPer85";
-    static final String U_REVEAL = "uReveal";
-    static final String U_AOD2OPACITY = "uAod2Opacity";
-    static final String U_TEXTURE = "uTexture";
-
-    private static final int HANDLE_UNDEFINED = -1;
+    private static final String A_POSITION = "aPosition";
+    private static final String A_TEXTURE_COORDINATES = "aTextureCoordinates";
+    private static final String U_TEXTURE = "uTexture";
     private static final int POSITION_COMPONENT_COUNT = 2;
     private static final int TEXTURE_COMPONENT_COUNT = 2;
     private static final int BYTES_PER_FLOAT = 4;
@@ -88,14 +82,9 @@
 
     private int mAttrPosition;
     private int mAttrTextureCoordinates;
-    private int mUniAod2Opacity;
-    private int mUniPer85;
-    private int mUniReveal;
     private int mUniTexture;
     private int mTextureId;
 
-    private float[] mCurrentTexCoordinate;
-
     ImageGLWallpaper(ImageGLProgram program) {
         mProgram = program;
 
@@ -135,31 +124,9 @@
     }
 
     private void setupUniforms() {
-        mUniAod2Opacity = mProgram.getUniformHandle(U_AOD2OPACITY);
-        mUniPer85 = mProgram.getUniformHandle(U_PER85);
-        mUniReveal = mProgram.getUniformHandle(U_REVEAL);
         mUniTexture = mProgram.getUniformHandle(U_TEXTURE);
     }
 
-    int getHandle(String name) {
-        switch (name) {
-            case A_POSITION:
-                return mAttrPosition;
-            case A_TEXTURE_COORDINATES:
-                return mAttrTextureCoordinates;
-            case U_AOD2OPACITY:
-                return mUniAod2Opacity;
-            case U_PER85:
-                return mUniPer85;
-            case U_REVEAL:
-                return mUniReveal;
-            case U_TEXTURE:
-                return mUniTexture;
-            default:
-                return HANDLE_UNDEFINED;
-        }
-    }
-
     void draw() {
         glDrawArrays(GL_TRIANGLES, 0, VERTICES.length / 2);
     }
@@ -201,87 +168,6 @@
     }
 
     /**
-     * This method adjust s(x-axis), t(y-axis) texture coordinates to get current display area
-     * of texture and will be used during transition.
-     * The adjustment happens if either the width or height of the surface is larger than
-     * corresponding size of the display area.
-     * If both width and height are larger than corresponding size of the display area,
-     * the adjustment will happen at both s, t side.
-     *
-     * @param surface The size of the surface.
-     * @param scissor The display area.
-     * @param xOffset The offset amount along s axis.
-     * @param yOffset The offset amount along t axis.
-     */
-    void adjustTextureCoordinates(Rect surface, Rect scissor, float xOffset, float yOffset) {
-        mCurrentTexCoordinate = TEXTURES.clone();
-
-        if (surface == null || scissor == null) {
-            mTextureBuffer.put(mCurrentTexCoordinate);
-            mTextureBuffer.position(0);
-            return;
-        }
-
-        int surfaceWidth = surface.width();
-        int surfaceHeight = surface.height();
-        int scissorWidth = scissor.width();
-        int scissorHeight = scissor.height();
-
-        if (surfaceWidth > scissorWidth) {
-            // Calculate the new s pos in pixels.
-            float pixelS = (float) Math.round((surfaceWidth - scissorWidth) * xOffset);
-            // Calculate the s pos in texture coordinate.
-            float coordinateS = pixelS / surfaceWidth;
-            // Calculate the percentage occupied by the scissor width in surface width.
-            float surfacePercentageW = (float) scissorWidth / surfaceWidth;
-            // Need also consider the case if surface height is smaller than scissor height.
-            if (surfaceHeight < scissorHeight) {
-                // We will narrow the surface percentage to keep aspect ratio.
-                surfacePercentageW *= (float) surfaceHeight / scissorHeight;
-            }
-            // Determine the final s pos, also limit the legal s pos to prevent from out of range.
-            float s = coordinateS + surfacePercentageW > 1f ? 1f - surfacePercentageW : coordinateS;
-            // Traverse the s pos in texture coordinates array and adjust the s pos accordingly.
-            for (int i = 0; i < mCurrentTexCoordinate.length; i += 2) {
-                // indices 2, 4 and 6 are the end of s coordinates.
-                if (i == 2 || i == 4 || i == 6) {
-                    mCurrentTexCoordinate[i] = Math.min(1f, s + surfacePercentageW);
-                } else {
-                    mCurrentTexCoordinate[i] = s;
-                }
-            }
-        }
-
-        if (surfaceHeight > scissorHeight) {
-            // Calculate the new t pos in pixels.
-            float pixelT = (float) Math.round((surfaceHeight - scissorHeight) * yOffset);
-            // Calculate the t pos in texture coordinate.
-            float coordinateT = pixelT / surfaceHeight;
-            // Calculate the percentage occupied by the scissor height in surface height.
-            float surfacePercentageH = (float) scissorHeight / surfaceHeight;
-            // Need also consider the case if surface width is smaller than scissor width.
-            if (surfaceWidth < scissorWidth) {
-                // We will narrow the surface percentage to keep aspect ratio.
-                surfacePercentageH *= (float) surfaceWidth / scissorWidth;
-            }
-            // Determine the final t pos, also limit the legal t pos to prevent from out of range.
-            float t = coordinateT + surfacePercentageH > 1f ? 1f - surfacePercentageH : coordinateT;
-            // Traverse the t pos in texture coordinates array and adjust the t pos accordingly.
-            for (int i = 1; i < mCurrentTexCoordinate.length; i += 2) {
-                // indices 1, 3 and 11 are the end of t coordinates.
-                if (i == 1 || i == 3 || i == 11) {
-                    mCurrentTexCoordinate[i] = Math.min(1f, t + surfacePercentageH);
-                } else {
-                    mCurrentTexCoordinate[i] = t;
-                }
-            }
-        }
-
-        mTextureBuffer.put(mCurrentTexCoordinate);
-        mTextureBuffer.position(0);
-    }
-
-    /**
      * Called to dump current state.
      * @param prefix prefix.
      * @param fd fd.
@@ -289,17 +175,5 @@
      * @param args args.
      */
     public void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args) {
-        StringBuilder sb = new StringBuilder();
-        sb.append('{');
-        if (mCurrentTexCoordinate != null) {
-            for (int i = 0; i < mCurrentTexCoordinate.length; i++) {
-                sb.append(mCurrentTexCoordinate[i]).append(',');
-                if (i == mCurrentTexCoordinate.length - 1) {
-                    sb.deleteCharAt(sb.length() - 1);
-                }
-            }
-        }
-        sb.append('}');
-        out.print(prefix); out.print("mTexCoordinates="); out.println(sb.toString());
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageProcessHelper.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageProcessHelper.java
deleted file mode 100644
index 703d591..0000000
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageProcessHelper.java
+++ /dev/null
@@ -1,246 +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.glwallpaper;
-
-import static com.android.systemui.glwallpaper.ImageWallpaperRenderer.WallpaperTexture;
-
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.ColorMatrix;
-import android.graphics.ColorMatrixColorFilter;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.os.AsyncTask;
-import android.os.Handler;
-import android.os.Handler.Callback;
-import android.os.Message;
-import android.util.Log;
-
-/**
- * A helper class that computes threshold from a bitmap.
- * Threshold will be computed each time the user picks a new image wallpaper.
- */
-class ImageProcessHelper {
-    private static final String TAG = ImageProcessHelper.class.getSimpleName();
-    private static final float DEFAULT_THRESHOLD = 0.8f;
-    private static final float DEFAULT_OTSU_THRESHOLD = 0f;
-    private static final float MAX_THRESHOLD = 0.89f;
-    private static final int MSG_UPDATE_THRESHOLD = 1;
-
-    /**
-     * This color matrix will be applied to each pixel to get luminance from rgb by below formula:
-     * Luminance = .2126f * r + .7152f * g + .0722f * b.
-     */
-    private static final float[] LUMINOSITY_MATRIX = new float[] {
-            .2126f,     .0000f,     .0000f,     .0000f,     .0000f,
-            .0000f,     .7152f,     .0000f,     .0000f,     .0000f,
-            .0000f,     .0000f,     .0722f,     .0000f,     .0000f,
-            .0000f,     .0000f,     .0000f,     1.000f,     .0000f
-    };
-
-    private final Handler mHandler = new Handler(new Callback() {
-        @Override
-        public boolean handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_THRESHOLD:
-                    mThreshold = (float) msg.obj;
-                    return true;
-                default:
-                    return false;
-            }
-        }
-    });
-
-    private float mThreshold = DEFAULT_THRESHOLD;
-
-    void start(WallpaperTexture texture) {
-        new ThresholdComputeTask(mHandler).execute(texture);
-    }
-
-    float getThreshold() {
-        return Math.min(mThreshold, MAX_THRESHOLD);
-    }
-
-    private static class ThresholdComputeTask extends AsyncTask<WallpaperTexture, Void, Float> {
-        private Handler mUpdateHandler;
-
-        ThresholdComputeTask(Handler handler) {
-            super(handler);
-            mUpdateHandler = handler;
-        }
-
-        @Override
-        protected Float doInBackground(WallpaperTexture... textures) {
-            WallpaperTexture texture = textures[0];
-            final float[] threshold = new float[] {DEFAULT_THRESHOLD};
-            if (texture == null) {
-                Log.e(TAG, "ThresholdComputeTask: WallpaperTexture not initialized");
-                return threshold[0];
-            }
-
-            texture.use(bitmap -> {
-                if (bitmap != null) {
-                    threshold[0] = new Threshold().compute(bitmap);
-                } else {
-                    Log.e(TAG, "ThresholdComputeTask: Can't get bitmap");
-                }
-            });
-            return threshold[0];
-        }
-
-        @Override
-        protected void onPostExecute(Float result) {
-            Message msg = mUpdateHandler.obtainMessage(MSG_UPDATE_THRESHOLD, result);
-            mUpdateHandler.sendMessage(msg);
-        }
-    }
-
-    private static class Threshold {
-        public float compute(Bitmap bitmap) {
-            Bitmap grayscale = toGrayscale(bitmap);
-            int[] histogram = getHistogram(grayscale);
-            boolean isSolidColor = isSolidColor(grayscale, histogram);
-
-            // We will see gray wallpaper during the transition if solid color wallpaper is set,
-            // please refer to b/130360362#comment16.
-            // As a result, we use Percentile85 rather than Otsus if a solid color wallpaper is set.
-            ThresholdAlgorithm algorithm = isSolidColor ? new Percentile85() : new Otsus();
-            return algorithm.compute(grayscale, histogram);
-        }
-
-        private Bitmap toGrayscale(Bitmap bitmap) {
-            int width = bitmap.getWidth();
-            int height = bitmap.getHeight();
-
-            Bitmap grayscale = Bitmap.createBitmap(width, height, bitmap.getConfig(),
-                    false /* hasAlpha */, bitmap.getColorSpace());
-            Canvas canvas = new Canvas(grayscale);
-            ColorMatrix cm = new ColorMatrix(LUMINOSITY_MATRIX);
-            Paint paint = new Paint();
-            paint.setColorFilter(new ColorMatrixColorFilter(cm));
-            canvas.drawBitmap(bitmap, new Matrix(), paint);
-
-            return grayscale;
-        }
-
-        private int[] getHistogram(Bitmap grayscale) {
-            int width = grayscale.getWidth();
-            int height = grayscale.getHeight();
-
-            // TODO: Fine tune the performance here, tracking on b/123615079.
-            int[] histogram = new int[256];
-            for (int row = 0; row < height; row++) {
-                for (int col = 0; col < width; col++) {
-                    int pixel = grayscale.getPixel(col, row);
-                    int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);
-                    histogram[y]++;
-                }
-            }
-
-            return histogram;
-        }
-
-        private boolean isSolidColor(Bitmap bitmap, int[] histogram) {
-            boolean solidColor = false;
-            int pixels = bitmap.getWidth() * bitmap.getHeight();
-
-            // In solid color case, only one element of histogram has value,
-            // which is pixel counts and the value of other elements should be 0.
-            for (int value : histogram) {
-                if (value != 0 && value != pixels) {
-                    break;
-                }
-                if (value == pixels) {
-                    solidColor = true;
-                    break;
-                }
-            }
-            return solidColor;
-        }
-    }
-
-    private static class Percentile85 implements ThresholdAlgorithm {
-        @Override
-        public float compute(Bitmap bitmap, int[] histogram) {
-            float per85 = DEFAULT_THRESHOLD;
-            int pixelCount = bitmap.getWidth() * bitmap.getHeight();
-            float[] acc = new float[256];
-            for (int i = 0; i < acc.length; i++) {
-                acc[i] = (float) histogram[i] / pixelCount;
-                float prev = i == 0 ? 0f : acc[i - 1];
-                float next = acc[i];
-                float idx = (float) (i + 1) / 255;
-                float sum = prev + next;
-                if (prev < 0.85f && sum >= 0.85f) {
-                    per85 = idx;
-                }
-                if (i > 0) {
-                    acc[i] += acc[i - 1];
-                }
-            }
-            return per85;
-        }
-    }
-
-    private static class Otsus implements ThresholdAlgorithm {
-        @Override
-        public float compute(Bitmap bitmap, int[] histogram) {
-            float threshold = DEFAULT_OTSU_THRESHOLD;
-            float maxVariance = 0;
-            float pixelCount = bitmap.getWidth() * bitmap.getHeight();
-            float[] w = new float[2];
-            float[] m = new float[2];
-            float[] u = new float[2];
-
-            for (int i = 0; i < histogram.length; i++) {
-                m[1] += i * histogram[i];
-            }
-
-            w[1] = pixelCount;
-            for (int tonalValue = 0; tonalValue < histogram.length; tonalValue++) {
-                float dU;
-                float variance;
-                float numPixels = histogram[tonalValue];
-                float tmp = numPixels * tonalValue;
-                w[0] += numPixels;
-                w[1] -= numPixels;
-
-                if (w[0] == 0 || w[1] == 0) {
-                    continue;
-                }
-
-                m[0] += tmp;
-                m[1] -= tmp;
-                u[0] = m[0] / w[0];
-                u[1] = m[1] / w[1];
-                dU = u[0] - u[1];
-                variance = w[0] * w[1] * dU * dU;
-
-                if (variance > maxVariance) {
-                    threshold = (tonalValue + 1f) / histogram.length;
-                    maxVariance = variance;
-                }
-            }
-            return threshold;
-        }
-    }
-
-    private interface ThresholdAlgorithm {
-        float compute(Bitmap bitmap, int[] histogram);
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java
deleted file mode 100644
index f815b5d..0000000
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageRevealHelper.java
+++ /dev/null
@@ -1,126 +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.glwallpaper;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.ValueAnimator;
-import android.util.Log;
-
-import com.android.systemui.Interpolators;
-
-/**
- * Use ValueAnimator and appropriate interpolator to control the progress of reveal transition.
- * The transition will happen while getting awake and quit events.
- */
-class ImageRevealHelper {
-    private static final String TAG = ImageRevealHelper.class.getSimpleName();
-    private static final float MAX_REVEAL = 0f;
-    private static final float MIN_REVEAL = 1f;
-    private static final boolean DEBUG = true;
-
-    private final ValueAnimator mAnimator;
-    private final RevealStateListener mRevealListener;
-    private float mReveal = MAX_REVEAL;
-    private boolean mAwake = false;
-
-    ImageRevealHelper(RevealStateListener listener) {
-        mRevealListener = listener;
-        mAnimator = ValueAnimator.ofFloat();
-        mAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
-        mAnimator.addUpdateListener(animator -> {
-            mReveal = (float) animator.getAnimatedValue();
-            if (mRevealListener != null) {
-                mRevealListener.onRevealStateChanged();
-            }
-        });
-        mAnimator.addListener(new AnimatorListenerAdapter() {
-            private boolean mIsCanceled;
-
-            @Override
-            public void onAnimationCancel(Animator animation) {
-                mIsCanceled = true;
-            }
-
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                if (!mIsCanceled && mRevealListener != null) {
-                    if (DEBUG) {
-                        Log.d(TAG, "transition end");
-                    }
-                    mRevealListener.onRevealEnd();
-                }
-                mIsCanceled = false;
-            }
-
-            @Override
-            public void onAnimationStart(Animator animation) {
-                if (mRevealListener != null) {
-                    if (DEBUG) {
-                        Log.d(TAG, "transition start");
-                    }
-                    mRevealListener.onRevealStart(true /* animate */);
-                }
-            }
-        });
-    }
-
-    public float getReveal() {
-        return mReveal;
-    }
-
-    void updateAwake(boolean awake, long duration) {
-        if (DEBUG) {
-            Log.d(TAG, "updateAwake: awake=" + awake + ", duration=" + duration);
-        }
-        mAnimator.cancel();
-        mAwake = awake;
-        if (duration == 0) {
-            // We are transiting from home to aod or aod to home directly,
-            // we don't need to do transition in these cases.
-            mReveal = mAwake ? MAX_REVEAL : MIN_REVEAL;
-            mRevealListener.onRevealStart(false /* animate */);
-            mRevealListener.onRevealStateChanged();
-            mRevealListener.onRevealEnd();
-        } else {
-            mAnimator.setDuration(duration);
-            mAnimator.setFloatValues(mReveal, mAwake ? MAX_REVEAL : MIN_REVEAL);
-            mAnimator.start();
-        }
-    }
-
-    /**
-     * A listener to trace value changes of reveal.
-     */
-    public interface RevealStateListener {
-
-        /**
-         * Called back while reveal status changes.
-         */
-        void onRevealStateChanged();
-
-        /**
-         * Called back while reveal starts.
-         */
-        void onRevealStart(boolean animate);
-
-        /**
-         * Called back while reveal ends.
-         */
-        void onRevealEnd();
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
index e9ddb38..1a0356c 100644
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
+++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
@@ -19,18 +19,14 @@
 import static android.opengl.GLES20.GL_COLOR_BUFFER_BIT;
 import static android.opengl.GLES20.glClear;
 import static android.opengl.GLES20.glClearColor;
-import static android.opengl.GLES20.glUniform1f;
 import static android.opengl.GLES20.glViewport;
 
 import android.app.WallpaperManager;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.graphics.Rect;
 import android.util.Log;
-import android.util.MathUtils;
 import android.util.Size;
-import android.view.DisplayInfo;
 
 import com.android.systemui.R;
 
@@ -42,57 +38,24 @@
 /**
  * A GL renderer for image wallpaper.
  */
-public class ImageWallpaperRenderer implements GLWallpaperRenderer,
-        ImageRevealHelper.RevealStateListener {
+public class ImageWallpaperRenderer implements GLWallpaperRenderer {
     private static final String TAG = ImageWallpaperRenderer.class.getSimpleName();
-    private static final float SCALE_VIEWPORT_MIN = 1f;
-    private static final float SCALE_VIEWPORT_MAX = 1.1f;
-    private static final boolean DEBUG = true;
+    private static final boolean DEBUG = false;
 
     private final ImageGLProgram mProgram;
     private final ImageGLWallpaper mWallpaper;
-    private final ImageProcessHelper mImageProcessHelper;
-    private final ImageRevealHelper mImageRevealHelper;
-
-    private SurfaceProxy mProxy;
-    private final Rect mScissor;
     private final Rect mSurfaceSize = new Rect();
-    private final Rect mViewport = new Rect();
-    private boolean mScissorMode;
-    private float mXOffset;
-    private float mYOffset;
     private final WallpaperTexture mTexture;
 
-    public ImageWallpaperRenderer(Context context, SurfaceProxy proxy) {
+    public ImageWallpaperRenderer(Context context) {
         final WallpaperManager wpm = context.getSystemService(WallpaperManager.class);
         if (wpm == null) {
             Log.w(TAG, "WallpaperManager not available");
         }
 
         mTexture = new WallpaperTexture(wpm);
-        DisplayInfo displayInfo = new DisplayInfo();
-        context.getDisplay().getDisplayInfo(displayInfo);
-
-        // We only do transition in portrait currently, b/137962047.
-        int orientation = context.getResources().getConfiguration().orientation;
-        if (orientation == Configuration.ORIENTATION_PORTRAIT) {
-            mScissor = new Rect(0, 0, displayInfo.logicalWidth, displayInfo.logicalHeight);
-        } else {
-            mScissor = new Rect(0, 0, displayInfo.logicalHeight, displayInfo.logicalWidth);
-        }
-
-        mProxy = proxy;
         mProgram = new ImageGLProgram(context);
         mWallpaper = new ImageGLWallpaper(mProgram);
-        mImageProcessHelper = new ImageProcessHelper();
-        mImageRevealHelper = new ImageRevealHelper(this);
-
-        startProcessingImage();
-    }
-
-    protected void startProcessingImage() {
-        // Compute threshold of the image, this is an async work.
-        mImageProcessHelper.start(mTexture);
     }
 
     @Override
@@ -121,103 +84,26 @@
 
     @Override
     public void onDrawFrame() {
-        float threshold = mImageProcessHelper.getThreshold();
-        float reveal = mImageRevealHelper.getReveal();
-
-        glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_AOD2OPACITY), 1);
-        glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_PER85), threshold);
-        glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_REVEAL), reveal);
-
         glClear(GL_COLOR_BUFFER_BIT);
-        // We only need to scale viewport while doing transition.
-        if (mScissorMode) {
-            scaleViewport(reveal);
-        } else {
-            glViewport(0, 0, mSurfaceSize.width(), mSurfaceSize.height());
-        }
+        glViewport(0, 0, mSurfaceSize.width(), mSurfaceSize.height());
         mWallpaper.useTexture();
         mWallpaper.draw();
     }
 
     @Override
-    public void updateAmbientMode(boolean inAmbientMode, long duration) {
-        mImageRevealHelper.updateAwake(!inAmbientMode, duration);
-    }
-
-    @Override
-    public void updateOffsets(float xOffset, float yOffset) {
-        mXOffset = xOffset;
-        mYOffset = yOffset;
-        int left = (int) ((mSurfaceSize.width() - mScissor.width()) * xOffset);
-        int right = left + mScissor.width();
-        mScissor.set(left, mScissor.top, right, mScissor.bottom);
-    }
-
-    @Override
     public Size reportSurfaceSize() {
-        mTexture.use(null);
+        mTexture.use(null /* consumer */);
         mSurfaceSize.set(mTexture.getTextureDimensions());
         return new Size(mSurfaceSize.width(), mSurfaceSize.height());
     }
 
     @Override
     public void finish() {
-        mProxy = null;
-    }
-
-    private void scaleViewport(float reveal) {
-        int left = mScissor.left;
-        int top = mScissor.top;
-        int width = mScissor.width();
-        int height = mScissor.height();
-        // Interpolation between SCALE_VIEWPORT_MAX and SCALE_VIEWPORT_MIN by reveal.
-        float vpScaled = MathUtils.lerp(SCALE_VIEWPORT_MIN, SCALE_VIEWPORT_MAX, reveal);
-        // Calculate the offset amount from the lower left corner.
-        float offset = (SCALE_VIEWPORT_MIN - vpScaled) / 2;
-        // Change the viewport.
-        mViewport.set((int) (left + width * offset), (int) (top + height * offset),
-                (int) (width * vpScaled), (int) (height * vpScaled));
-        glViewport(mViewport.left, mViewport.top, mViewport.right, mViewport.bottom);
-    }
-
-    @Override
-    public void onRevealStateChanged() {
-        mProxy.requestRender();
-    }
-
-    @Override
-    public void onRevealStart(boolean animate) {
-        if (animate) {
-            mScissorMode = true;
-            // Use current display area of texture.
-            mWallpaper.adjustTextureCoordinates(mSurfaceSize, mScissor, mXOffset, mYOffset);
-        }
-        mProxy.preRender();
-    }
-
-    @Override
-    public void onRevealEnd() {
-        if (mScissorMode) {
-            mScissorMode = false;
-            // reset texture coordinates to use full texture.
-            mWallpaper.adjustTextureCoordinates(null, null, 0, 0);
-            // We need draw full texture back before finishing render.
-            mProxy.requestRender();
-        }
-        mProxy.postRender();
     }
 
     @Override
     public void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args) {
-        out.print(prefix); out.print("mProxy="); out.print(mProxy);
         out.print(prefix); out.print("mSurfaceSize="); out.print(mSurfaceSize);
-        out.print(prefix); out.print("mScissor="); out.print(mScissor);
-        out.print(prefix); out.print("mViewport="); out.print(mViewport);
-        out.print(prefix); out.print("mScissorMode="); out.print(mScissorMode);
-        out.print(prefix); out.print("mXOffset="); out.print(mXOffset);
-        out.print(prefix); out.print("mYOffset="); out.print(mYOffset);
-        out.print(prefix); out.print("threshold="); out.print(mImageProcessHelper.getThreshold());
-        out.print(prefix); out.print("mReveal="); out.print(mImageRevealHelper.getReveal());
         out.print(prefix); out.print("mWcgContent="); out.print(isWcgContent());
         mWallpaper.dump(prefix, fd, out, args);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
index 62efd8c..9217eb1 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
@@ -55,8 +55,6 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.plugins.ActivityStarter;
-import com.android.systemui.statusbar.NotificationMediaManager;
-import com.android.systemui.statusbar.NotificationMediaManager.MediaListener;
 import com.android.systemui.util.Assert;
 
 import java.util.List;
@@ -67,7 +65,6 @@
  */
 public class MediaControlPanel {
     private static final String TAG = "MediaControlPanel";
-    private final NotificationMediaManager mMediaManager;
     @Nullable private final LocalMediaManager mLocalMediaManager;
     private final Executor mForegroundExecutor;
     private final Executor mBackgroundExecutor;
@@ -82,6 +79,7 @@
     protected ComponentName mRecvComponent;
     private MediaDevice mDevice;
     private boolean mIsRegistered = false;
+    private String mKey;
 
     private final int[] mActionIds;
 
@@ -102,12 +100,15 @@
             clearControls();
             makeInactive();
         }
-    };
-
-    private final MediaListener mMediaListener = new MediaListener() {
         @Override
-        public void onMetadataOrStateChanged(MediaMetadata metadata, int state) {
-            if (state == PlaybackState.STATE_NONE) {
+        public void onPlaybackStateChanged(PlaybackState state) {
+            final int s = state != null ? state.getState() : PlaybackState.STATE_NONE;
+            // When the playback state is NONE or CONNECTING, transition the player to the
+            // resumption state. State CONNECTING needs to be considered for Cast sessions. Ending
+            // a cast session in YT results in the CONNECTING state, which makes sense if you
+            // thinking of the session as waiting to connect to another cast device.
+            if (s == PlaybackState.STATE_NONE || s == PlaybackState.STATE_CONNECTING) {
+                Log.d(TAG, "playback state change will trigger resumption, state=" + state);
                 clearControls();
                 makeInactive();
             }
@@ -160,7 +161,7 @@
      * @param foregroundExecutor foreground executor
      * @param backgroundExecutor background executor, used for processing artwork
      */
-    public MediaControlPanel(Context context, ViewGroup parent, NotificationMediaManager manager,
+    public MediaControlPanel(Context context, ViewGroup parent,
             @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds,
             Executor foregroundExecutor, Executor backgroundExecutor) {
         mContext = context;
@@ -172,7 +173,6 @@
         // attach/detach of views instead of inflating them in the constructor, which would allow
         // mStateListener to be unregistered in detach.
         mMediaNotifView.addOnAttachStateChangeListener(mStateListener);
-        mMediaManager = manager;
         mLocalMediaManager = routeManager;
         mActionIds = actionIds;
         mForegroundExecutor = foregroundExecutor;
@@ -203,14 +203,15 @@
      * @param bgColor
      * @param contentIntent
      * @param appNameString
-     * @param device
+     * @param key
      */
     public void setMediaSession(MediaSession.Token token, Icon icon, int iconColor,
-            int bgColor, PendingIntent contentIntent, String appNameString) {
+            int bgColor, PendingIntent contentIntent, String appNameString, String key) {
         mToken = token;
         mForegroundColor = iconColor;
         mBackgroundColor = bgColor;
         mController = new MediaController(mContext, mToken);
+        mKey = key;
 
         MediaMetadata mediaMetadata = mController.getMetadata();
 
@@ -326,6 +327,14 @@
     }
 
     /**
+     * Return the original notification's key
+     * @return The notification key
+     */
+    public String getKey()  {
+        return mKey;
+    }
+
+    /**
      * Check whether this player has an attached media session.
      * @return whether there is a controller with a current media session.
      */
@@ -443,6 +452,7 @@
      * Put controls into a resumption state
      */
     public void clearControls() {
+        Log.d(TAG, "clearControls to resumption state package=" + getMediaPlayerPackage());
         // Hide all the old buttons
         for (int i = 0; i < mActionIds.length; i++) {
             ImageButton thisBtn = mMediaNotifView.findViewById(mActionIds[i]);
@@ -485,7 +495,6 @@
     private void makeActive() {
         Assert.isMainThread();
         if (!mIsRegistered) {
-            mMediaManager.addCallback(mMediaListener);
             if (mLocalMediaManager != null) {
                 mLocalMediaManager.registerCallback(mDeviceCallback);
                 mLocalMediaManager.startScan();
@@ -501,7 +510,6 @@
                 mLocalMediaManager.stopScan();
                 mLocalMediaManager.unregisterCallback(mDeviceCallback);
             }
-            mMediaManager.removeCallback(mMediaListener);
             mIsRegistered = false;
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
index b7658a9..51c157a 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
@@ -61,6 +61,7 @@
         if (!data.enabled) {
             seekBarView.setEnabled(false)
             seekBarView.getThumb().setAlpha(0)
+            seekBarView.setProgress(0)
             elapsedTimeView.setText("")
             totalTimeView.setText("")
             return
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
index dd83e42..1425100 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
@@ -77,13 +77,25 @@
         val seekAvailable = ((playbackState?.actions ?: 0L) and PlaybackState.ACTION_SEEK_TO) != 0L
         val position = playbackState?.position?.toInt()
         val duration = mediaMetadata?.getLong(MediaMetadata.METADATA_KEY_DURATION)?.toInt()
-        val enabled = if (duration != null && duration <= 0) false else true
+        val enabled = if (playbackState == null ||
+                playbackState?.getState() == PlaybackState.STATE_NONE ||
+                (duration != null && duration <= 0)) false else true
         _data = Progress(enabled, seekAvailable, position, duration, color)
         if (shouldPollPlaybackPosition()) {
             checkPlaybackPosition()
         }
     }
 
+    /**
+     * Puts the seek bar into a resumption state.
+     *
+     * This should be called when the media session behind the controller has been destroyed.
+     */
+    @AnyThread
+    fun clearController() = bgExecutor.execute {
+        _data = _data.copy(enabled = false)
+    }
+
     @AnyThread
     private fun checkPlaybackPosition(): Runnable = bgExecutor.executeDelayed({
         val currentPosition = controller?.playbackState?.position?.toInt()
diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java
index a95d6b7..0125153 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java
@@ -126,7 +126,7 @@
     };
 
     @SuppressWarnings("unchecked")
-    private Handler.Callback mUpdateCallbacks = (msg) -> {
+    private final Handler.Callback mUpdateCallbacks = (msg) -> {
         SomeArgs args = (SomeArgs) msg.obj;
         Consumer<Rect> updateBoundsCallback = (Consumer<Rect>) args.arg1;
         switch (msg.what) {
@@ -282,7 +282,7 @@
      */
     @Override
     public void onTaskVanished(ActivityManager.RunningTaskInfo info) {
-        WindowContainerToken token = info.token;
+        final WindowContainerToken token = info.token;
         Objects.requireNonNull(token, "Requires valid WindowContainerToken");
         if (token.asBinder() != mToken.asBinder()) {
             Log.wtf(TAG, "Unrecognized token: " + token);
@@ -297,6 +297,7 @@
 
     @Override
     public void onTaskInfoChanged(ActivityManager.RunningTaskInfo info) {
+        Objects.requireNonNull(mToken, "onTaskInfoChanged requires valid existing mToken");
         final PictureInPictureParams newParams = info.pictureInPictureParams;
         if (!shouldUpdateDestinationBounds(newParams)) {
             Log.d(TAG, "Ignored onTaskInfoChanged with PiP param: " + newParams);
@@ -321,13 +322,19 @@
      * @param destinationBoundsOut the current destination bounds will be populated to this param
      */
     @SuppressWarnings("unchecked")
-    public void onMovementBoundsChanged(Rect destinationBoundsOut,
+    public void onMovementBoundsChanged(Rect destinationBoundsOut, boolean fromRotation,
             boolean fromImeAdjustment, boolean fromShelfAdjustment) {
         final PipAnimationController.PipTransitionAnimator animator =
                 mPipAnimationController.getCurrentAnimator();
-        destinationBoundsOut.set(mLastReportedBounds);
         if (animator == null || !animator.isRunning()
                 || animator.getTransitionDirection() != TRANSITION_DIRECTION_TO_PIP) {
+            if (mInPip && fromRotation) {
+                // this could happen if rotation finishes before the animation
+                mLastReportedBounds.set(destinationBoundsOut);
+                scheduleFinishResizePip(mLastReportedBounds);
+            } else if (!mLastReportedBounds.isEmpty()) {
+                destinationBoundsOut.set(mLastReportedBounds);
+            }
             return;
         }
 
@@ -375,7 +382,7 @@
             @PipAnimationController.TransitionDirection int direction, int durationMs,
             Consumer<Rect> updateBoundsCallback) {
         if (!mInPip) {
-            // Ignore animation when we are no longer in PIP
+            // can be initiated in other component, ignore if we are no longer in PIP
             return;
         }
         SomeArgs args = SomeArgs.obtain();
@@ -427,6 +434,10 @@
     private void scheduleFinishResizePip(SurfaceControl.Transaction tx,
             Rect destinationBounds, @PipAnimationController.TransitionDirection int direction,
             Consumer<Rect> updateBoundsCallback) {
+        if (!mInPip) {
+            // can be initiated in other component, ignore if we are no longer in PIP
+            return;
+        }
         SomeArgs args = SomeArgs.obtain();
         args.arg1 = updateBoundsCallback;
         args.arg2 = tx;
@@ -441,7 +452,7 @@
     public void scheduleOffsetPip(Rect originalBounds, int offset, int duration,
             Consumer<Rect> updateBoundsCallback) {
         if (!mInPip) {
-            // Ignore offsets when we are no longer in PIP
+            // can be initiated in other component, ignore if we are no longer in PIP
             return;
         }
         SomeArgs args = SomeArgs.obtain();
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
index a2667d9..ba9a30f 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
@@ -97,8 +97,8 @@
         final boolean changed = mPipBoundsHandler.onDisplayRotationChanged(mTmpNormalBounds,
                 displayId, fromRotation, toRotation, t);
         if (changed) {
-            updateMovementBounds(mTmpNormalBounds, false /* fromImeAdjustment */,
-                    false /* fromShelfAdjustment */);
+            updateMovementBounds(mTmpNormalBounds, true /* fromRotation */,
+                    false /* fromImeAdjustment */, false /* fromShelfAdjustment */);
         }
     };
 
@@ -163,7 +163,7 @@
         @Override
         public void onMovementBoundsChanged(boolean fromImeAdjustment) {
             mHandler.post(() -> updateMovementBounds(null /* toBounds */,
-                    fromImeAdjustment, false /* fromShelfAdjustment */));
+                    false /* fromRotation */, fromImeAdjustment, false /* fromShelfAdjustment */));
         }
 
         @Override
@@ -294,7 +294,8 @@
             if (changed) {
                 mTouchHandler.onShelfVisibilityChanged(visible, height);
                 updateMovementBounds(mPipBoundsHandler.getLastDestinationBounds(),
-                        false /* fromImeAdjustment */, true /* fromShelfAdjustment */);
+                        false /* fromRotation */, false /* fromImeAdjustment */,
+                        true /* fromShelfAdjustment */);
             }
         });
     }
@@ -338,22 +339,22 @@
 
     @Override
     public void onPipTransitionFinished(ComponentName activity, int direction) {
-        onPipTransitionFinishedOrCanceled();
+        onPipTransitionFinishedOrCanceled(direction);
     }
 
     @Override
     public void onPipTransitionCanceled(ComponentName activity, int direction) {
-        onPipTransitionFinishedOrCanceled();
+        onPipTransitionFinishedOrCanceled(direction);
     }
 
-    private void onPipTransitionFinishedOrCanceled() {
+    private void onPipTransitionFinishedOrCanceled(int direction) {
         // Re-enable touches after the animation completes
         mTouchHandler.setTouchEnabled(true);
-        mTouchHandler.onPinnedStackAnimationEnded();
+        mTouchHandler.onPinnedStackAnimationEnded(direction);
         mMenuController.onPinnedStackAnimationEnded();
     }
 
-    private void updateMovementBounds(@Nullable Rect toBounds,
+    private void updateMovementBounds(@Nullable Rect toBounds, boolean fromRotation,
             boolean fromImeAdjustment, boolean fromShelfAdjustment) {
         // Populate inset / normal bounds and DisplayInfo from mPipBoundsHandler before
         // passing to mTouchHandler/mPipTaskOrganizer
@@ -361,7 +362,7 @@
         mPipBoundsHandler.onMovementBoundsChanged(mTmpInsetBounds, mTmpNormalBounds,
                 outBounds, mTmpDisplayInfo);
         // mTouchHandler would rely on the bounds populated from mPipTaskOrganizer
-        mPipTaskOrganizer.onMovementBoundsChanged(outBounds,
+        mPipTaskOrganizer.onMovementBoundsChanged(outBounds, fromRotation,
                 fromImeAdjustment, fromShelfAdjustment);
         mTouchHandler.onMovementBoundsChanged(mTmpInsetBounds, mTmpNormalBounds,
                 outBounds, fromImeAdjustment, fromShelfAdjustment,
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
index 2b9b171..ec15dd1 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivity.java
@@ -54,6 +54,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
@@ -129,9 +130,7 @@
                 }
             };
 
-    private Handler mHandler = new Handler();
-    private Messenger mToControllerMessenger;
-    private Messenger mMessenger = new Messenger(new Handler() {
+    private Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
@@ -174,7 +173,9 @@
                 }
             }
         }
-    });
+    };
+    private Messenger mToControllerMessenger;
+    private Messenger mMessenger = new Messenger(mHandler);
 
     private final Runnable mFinishRunnable = new Runnable() {
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
index d660b67..61ed40d 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
@@ -30,6 +30,7 @@
 import android.os.Bundle;
 import android.os.Debug;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
@@ -122,7 +123,7 @@
     private boolean mStartActivityRequested;
     private long mStartActivityRequestedTime;
     private Messenger mToActivityMessenger;
-    private Handler mHandler = new Handler() {
+    private Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
@@ -133,15 +134,15 @@
                     break;
                 }
                 case MESSAGE_EXPAND_PIP: {
-                    mListeners.forEach(l -> l.onPipExpand());
+                    mListeners.forEach(Listener::onPipExpand);
                     break;
                 }
                 case MESSAGE_DISMISS_PIP: {
-                    mListeners.forEach(l -> l.onPipDismiss());
+                    mListeners.forEach(Listener::onPipDismiss);
                     break;
                 }
                 case MESSAGE_SHOW_MENU: {
-                    mListeners.forEach(l -> l.onPipShowMenu());
+                    mListeners.forEach(Listener::onPipShowMenu);
                     break;
                 }
                 case MESSAGE_UPDATE_ACTIVITY_CALLBACK: {
@@ -259,6 +260,8 @@
         if (DEBUG) {
             Log.d(TAG, "showMenu() state=" + menuState
                     + " hasActivity=" + (mToActivityMessenger != null)
+                    + " allowMenuTimeout=" + allowMenuTimeout
+                    + " willResizeMenu=" + willResizeMenu
                     + " callers=\n" + Debug.getCallers(5, "    "));
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
index a8a5d89..00f693d 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java
@@ -168,6 +168,7 @@
     void synchronizePinnedStackBounds() {
         cancelAnimations();
         mBounds.set(mPipTaskOrganizer.getLastReportedBounds());
+        mFloatingContentCoordinator.onContentMoved(this);
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipResizeGestureHandler.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipResizeGestureHandler.java
index 0b07655..d80f18a 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipResizeGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipResizeGestureHandler.java
@@ -56,7 +56,6 @@
 
     private final DisplayMetrics mDisplayMetrics = new DisplayMetrics();
     private final PipBoundsHandler mPipBoundsHandler;
-    private final PipTouchHandler mPipTouchHandler;
     private final PipMotionHelper mMotionHelper;
     private final int mDisplayId;
     private final Executor mMainExecutor;
@@ -70,10 +69,10 @@
     private final Rect mTmpBounds = new Rect();
     private final int mDelta;
 
-    private boolean mAllowGesture = false;
+    private boolean mAllowGesture;
     private boolean mIsAttached;
     private boolean mIsEnabled;
-    private boolean mEnablePipResize;
+    private boolean mEnableUserResize;
 
     private InputMonitor mInputMonitor;
     private InputEventReceiver mInputEventReceiver;
@@ -82,21 +81,20 @@
     private int mCtrlType;
 
     public PipResizeGestureHandler(Context context, PipBoundsHandler pipBoundsHandler,
-            PipTouchHandler pipTouchHandler, PipMotionHelper motionHelper,
-            DeviceConfigProxy deviceConfig, PipTaskOrganizer pipTaskOrganizer) {
+            PipMotionHelper motionHelper, DeviceConfigProxy deviceConfig,
+            PipTaskOrganizer pipTaskOrganizer) {
         final Resources res = context.getResources();
         context.getDisplay().getMetrics(mDisplayMetrics);
         mDisplayId = context.getDisplayId();
         mMainExecutor = context.getMainExecutor();
         mPipBoundsHandler = pipBoundsHandler;
-        mPipTouchHandler = pipTouchHandler;
         mMotionHelper = motionHelper;
         mPipTaskOrganizer = pipTaskOrganizer;
 
         context.getDisplay().getRealSize(mMaxSize);
         mDelta = res.getDimensionPixelSize(R.dimen.pip_resize_edge_size);
 
-        mEnablePipResize = DeviceConfig.getBoolean(
+        mEnableUserResize = DeviceConfig.getBoolean(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 PIP_USER_RESIZE,
                 /* defaultValue = */ true);
@@ -105,7 +103,7 @@
                     @Override
                     public void onPropertiesChanged(DeviceConfig.Properties properties) {
                         if (properties.getKeyset().contains(PIP_USER_RESIZE)) {
-                            mEnablePipResize = properties.getBoolean(
+                            mEnableUserResize = properties.getBoolean(
                                     PIP_USER_RESIZE, /* defaultValue = */ true);
                         }
                     }
@@ -134,7 +132,7 @@
     }
 
     private void updateIsEnabled() {
-        boolean isEnabled = mIsAttached && mEnablePipResize;
+        boolean isEnabled = mIsAttached && mEnableUserResize;
         if (isEnabled == mIsEnabled) {
             return;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java
index ddba9ea..f5c83c1 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.pip.phone;
 
+import static com.android.systemui.pip.PipAnimationController.TRANSITION_DIRECTION_TO_PIP;
 import static com.android.systemui.pip.phone.PipMenuActivityController.MENU_STATE_CLOSE;
 import static com.android.systemui.pip.phone.PipMenuActivityController.MENU_STATE_FULL;
 import static com.android.systemui.pip.phone.PipMenuActivityController.MENU_STATE_NONE;
@@ -56,6 +57,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.os.logging.MetricsLoggerWrapper;
 import com.android.systemui.R;
+import com.android.systemui.pip.PipAnimationController;
 import com.android.systemui.pip.PipBoundsHandler;
 import com.android.systemui.pip.PipSnapAlgorithm;
 import com.android.systemui.pip.PipTaskOrganizer;
@@ -229,7 +231,7 @@
         mMotionHelper = new PipMotionHelper(mContext, activityTaskManager, pipTaskOrganizer,
                 mMenuController, mSnapAlgorithm, mFlingAnimationUtils, floatingContentCoordinator);
         mPipResizeGestureHandler =
-                new PipResizeGestureHandler(context, pipBoundsHandler, this, mMotionHelper,
+                new PipResizeGestureHandler(context, pipBoundsHandler, mMotionHelper,
                         deviceConfig, pipTaskOrganizer);
         mTouchState = new PipTouchState(ViewConfiguration.get(context), mHandler,
                 () -> mMenuController.showMenu(MENU_STATE_FULL, mMotionHelper.getBounds(),
@@ -266,6 +268,10 @@
 
         mMagnetizedPip = mMotionHelper.getMagnetizedPip();
         mMagneticTarget = mMagnetizedPip.addTarget(mTargetView, 0);
+
+        // Set the magnetic field radius equal to twice the size of the target.
+        mMagneticTarget.setMagneticFieldRadiusPx(targetSize * 2);
+
         mMagnetizedPip.setPhysicsAnimatorUpdateListener(mMotionHelper.mResizePipUpdateListener);
         mMagnetizedPip.setMagnetListener(new MagnetizedObject.MagnetListener() {
             @Override
@@ -321,7 +327,7 @@
     }
 
     public void onActivityPinned() {
-        createDismissTargetMaybe();
+        createOrUpdateDismissTarget();
 
         mShowPipMenuOnAnimationEnd = true;
         mPipResizeGestureHandler.onActivityPinned();
@@ -339,11 +345,16 @@
         mPipResizeGestureHandler.onActivityUnpinned();
     }
 
-    public void onPinnedStackAnimationEnded() {
+    public void onPinnedStackAnimationEnded(
+            @PipAnimationController.TransitionDirection int direction) {
         // Always synchronize the motion helper bounds once PiP animations finish
         mMotionHelper.synchronizePinnedStackBounds();
         updateMovementBounds();
-        mResizedBounds.set(mMotionHelper.getBounds());
+        if (direction == TRANSITION_DIRECTION_TO_PIP) {
+            // updates mResizedBounds only if it's an entering PiP animation
+            // mResized should be otherwise updated in setMenuState.
+            mResizedBounds.set(mMotionHelper.getBounds());
+        }
 
         if (mShowPipMenuOnAnimationEnd) {
             mMenuController.showMenu(MENU_STATE_CLOSE, mMotionHelper.getBounds(),
@@ -357,8 +368,7 @@
         mMotionHelper.synchronizePinnedStackBounds();
 
         // Recreate the dismiss target for the new orientation.
-        cleanUpDismissTarget();
-        createDismissTargetMaybe();
+        createOrUpdateDismissTarget();
     }
 
     public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
@@ -454,43 +464,57 @@
     }
 
     /** Adds the magnetic target view to the WindowManager so it's ready to be animated in. */
-    private void createDismissTargetMaybe() {
+    private void createOrUpdateDismissTarget() {
         if (!mTargetViewContainer.isAttachedToWindow()) {
             mHandler.removeCallbacks(mShowTargetAction);
             mMagneticTargetAnimator.cancel();
 
-            final Point windowSize = new Point();
-            mWindowManager.getDefaultDisplay().getRealSize(windowSize);
-            WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
-                    WindowManager.LayoutParams.MATCH_PARENT,
-                    mDismissAreaHeight,
-                    0, windowSize.y - mDismissAreaHeight,
-                    WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL,
-                    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
-                            | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
-                            | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
-                    PixelFormat.TRANSLUCENT);
-            lp.setTitle("pip-dismiss-overlay");
-            lp.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
-            lp.setFitInsetsTypes(0 /* types */);
-
             mTargetViewContainer.setVisibility(View.INVISIBLE);
-            mWindowManager.addView(mTargetViewContainer, lp);
+
+            try {
+                mWindowManager.addView(mTargetViewContainer, getDismissTargetLayoutParams());
+            } catch (IllegalStateException e) {
+                // This shouldn't happen, but if the target is already added, just update its layout
+                // params.
+                mWindowManager.updateViewLayout(
+                        mTargetViewContainer, getDismissTargetLayoutParams());
+            }
+        } else {
+            mWindowManager.updateViewLayout(mTargetViewContainer, getDismissTargetLayoutParams());
         }
     }
 
+    /** Returns layout params for the dismiss target, using the latest display metrics. */
+    private WindowManager.LayoutParams getDismissTargetLayoutParams() {
+        final Point windowSize = new Point();
+        mWindowManager.getDefaultDisplay().getRealSize(windowSize);
+
+        final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
+                WindowManager.LayoutParams.MATCH_PARENT,
+                mDismissAreaHeight,
+                0, windowSize.y - mDismissAreaHeight,
+                WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL,
+                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
+                        | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
+                        | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
+                PixelFormat.TRANSLUCENT);
+
+        lp.setTitle("pip-dismiss-overlay");
+        lp.privateFlags |= WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS;
+        lp.setFitInsetsTypes(0 /* types */);
+
+        return lp;
+    }
+
     /** Makes the dismiss target visible and animates it in, if it isn't already visible. */
     private void showDismissTargetMaybe() {
-        createDismissTargetMaybe();
+        createOrUpdateDismissTarget();
 
         if (mTargetViewContainer.getVisibility() != View.VISIBLE) {
 
             mTargetView.setTranslationY(mTargetViewContainer.getHeight());
             mTargetViewContainer.setVisibility(View.VISIBLE);
 
-            // Set the magnetic field radius to half of PIP's width.
-            mMagneticTarget.setMagneticFieldRadiusPx(mMotionHelper.getBounds().width());
-
             // Cancel in case we were in the middle of animating it out.
             mMagneticTargetAnimator.cancel();
             mMagneticTargetAnimator
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
index e636707..89b22bc 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
@@ -39,7 +39,6 @@
 import com.android.systemui.media.MediaControlPanel;
 import com.android.systemui.media.SeekBarObserver;
 import com.android.systemui.media.SeekBarViewModel;
-import com.android.systemui.statusbar.NotificationMediaManager;
 import com.android.systemui.util.concurrency.DelayableExecutor;
 
 import java.util.concurrent.Executor;
@@ -69,14 +68,13 @@
      * Initialize quick shade version of player
      * @param context
      * @param parent
-     * @param manager
+     * @param routeManager Provides information about device
      * @param foregroundExecutor
      * @param backgroundExecutor
      */
-    public QSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager,
-            LocalMediaManager routeManager, Executor foregroundExecutor,
-            DelayableExecutor backgroundExecutor) {
-        super(context, parent, manager, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS,
+    public QSMediaPlayer(Context context, ViewGroup parent, LocalMediaManager routeManager,
+            Executor foregroundExecutor, DelayableExecutor backgroundExecutor) {
+        super(context, parent, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS,
                 foregroundExecutor, backgroundExecutor);
         mParent = (QSPanel) parent;
         mBackgroundExecutor = backgroundExecutor;
@@ -99,15 +97,14 @@
      * @param bgColor background color
      * @param actionsContainer a LinearLayout containing the media action buttons
      * @param notif reference to original notification
-     * @param device current playback device
+     * @param key original notification's key
      */
     public void setMediaSession(MediaSession.Token token, Icon icon, int iconColor,
-            int bgColor, View actionsContainer, Notification notif) {
+            int bgColor, View actionsContainer, Notification notif, String key) {
 
         String appName = Notification.Builder.recoverBuilder(getContext(), notif)
                 .loadHeaderAppName();
-        super.setMediaSession(token, icon, iconColor, bgColor, notif.contentIntent,
-                appName);
+        super.setMediaSession(token, icon, iconColor, bgColor, notif.contentIntent, appName, key);
 
         // Media controls
         LinearLayout parentActionsLayout = (LinearLayout) actionsContainer;
@@ -171,6 +168,8 @@
     public void clearControls() {
         super.clearControls();
 
+        mSeekBarViewModel.clearController();
+
         View guts = mMediaNotifView.findViewById(R.id.media_guts);
         View options = mMediaNotifView.findViewById(R.id.qs_media_controls_options);
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 0566b2e..fee0838 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -63,7 +63,6 @@
 import com.android.systemui.qs.logging.QSLogger;
 import com.android.systemui.settings.BrightnessController;
 import com.android.systemui.settings.ToggleSliderView;
-import com.android.systemui.statusbar.NotificationMediaManager;
 import com.android.systemui.statusbar.policy.BrightnessMirrorController;
 import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener;
 import com.android.systemui.tuner.TunerService;
@@ -99,7 +98,6 @@
 
     private final LinearLayout mMediaCarousel;
     private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>();
-    private final NotificationMediaManager mNotificationMediaManager;
     private final LocalBluetoothManager mLocalBluetoothManager;
     private final Executor mForegroundExecutor;
     private final DelayableExecutor mBackgroundExecutor;
@@ -133,7 +131,6 @@
             DumpManager dumpManager,
             BroadcastDispatcher broadcastDispatcher,
             QSLogger qsLogger,
-            NotificationMediaManager notificationMediaManager,
             @Main Executor foregroundExecutor,
             @Background DelayableExecutor backgroundExecutor,
             @Nullable LocalBluetoothManager localBluetoothManager
@@ -142,7 +139,6 @@
         mContext = context;
         mQSLogger = qsLogger;
         mDumpManager = dumpManager;
-        mNotificationMediaManager = notificationMediaManager;
         mForegroundExecutor = foregroundExecutor;
         mBackgroundExecutor = backgroundExecutor;
         mLocalBluetoothManager = localBluetoothManager;
@@ -208,9 +204,10 @@
      * @param bgColor
      * @param actionsContainer
      * @param notif
+     * @param key
      */
     public void addMediaSession(MediaSession.Token token, Icon icon, int iconColor, int bgColor,
-            View actionsContainer, StatusBarNotification notif) {
+            View actionsContainer, StatusBarNotification notif, String key) {
         if (!useQsMediaPlayer(mContext)) {
             // Shouldn't happen, but just in case
             Log.e(TAG, "Tried to add media session without player!");
@@ -225,13 +222,12 @@
         String packageName = notif.getPackageName();
         for (QSMediaPlayer p : mMediaPlayers) {
             if (p.getMediaSessionToken().equals(token)) {
-                Log.d(TAG, "a player for this session already exists");
+                Log.d(TAG, "Found matching player by token " + packageName);
                 player = p;
                 break;
-            }
-
-            if (packageName.equals(p.getMediaPlayerPackage())) {
-                Log.d(TAG, "found an old session for this app");
+            } else if (packageName.equals(p.getMediaPlayerPackage()) && key.equals(p.getKey())) {
+                // Also match if it's the same package and notification key
+                Log.d(TAG, "Found matching player by package " + packageName + ", " + key);
                 player = p;
                 break;
             }
@@ -252,8 +248,8 @@
             LocalMediaManager routeManager = new LocalMediaManager(mContext, mLocalBluetoothManager,
                     imm, notif.getPackageName());
 
-            player = new QSMediaPlayer(mContext, this, mNotificationMediaManager, routeManager,
-                    mForegroundExecutor, mBackgroundExecutor);
+            player = new QSMediaPlayer(mContext, this, routeManager, mForegroundExecutor,
+                    mBackgroundExecutor);
             player.setListening(mListening);
             if (player.isPlaying()) {
                 mMediaCarousel.addView(player.getView(), 0, lp); // add in front
@@ -267,7 +263,7 @@
 
         Log.d(TAG, "setting player session");
         player.setMediaSession(token, icon, iconColor, bgColor, actionsContainer,
-                notif.getNotification());
+                notif.getNotification(), key);
 
         if (mMediaPlayers.size() > 0) {
             ((View) mMediaCarousel.getParent()).setVisibility(View.VISIBLE);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
index 0ba4cb1..6229672 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
@@ -29,7 +29,6 @@
 
 import com.android.systemui.R;
 import com.android.systemui.media.MediaControlPanel;
-import com.android.systemui.statusbar.NotificationMediaManager;
 
 import java.util.concurrent.Executor;
 
@@ -47,13 +46,12 @@
      * Initialize mini media player for QQS
      * @param context
      * @param parent
-     * @param manager
      * @param foregroundExecutor
      * @param backgroundExecutor
      */
-    public QuickQSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager,
-            Executor foregroundExecutor, Executor backgroundExecutor) {
-        super(context, parent, manager, null, R.layout.qqs_media_panel, QQS_ACTION_IDS,
+    public QuickQSMediaPlayer(Context context, ViewGroup parent, Executor foregroundExecutor,
+            Executor backgroundExecutor) {
+        super(context, parent, null, R.layout.qqs_media_panel, QQS_ACTION_IDS,
                 foregroundExecutor, backgroundExecutor);
     }
 
@@ -67,9 +65,10 @@
      * @param actionsToShow indices of which actions to display in the mini player
      *                      (max 3: Notification.MediaStyle.MAX_MEDIA_BUTTONS_IN_COMPACT)
      * @param contentIntent Intent to send when user taps on the view
+     * @param key original notification's key
      */
     public void setMediaSession(MediaSession.Token token, Icon icon, int iconColor, int bgColor,
-            View actionsContainer, int[] actionsToShow, PendingIntent contentIntent) {
+            View actionsContainer, int[] actionsToShow, PendingIntent contentIntent, String key) {
         // Only update if this is a different session and currently playing
         String oldPackage = "";
         if (getController() != null) {
@@ -84,7 +83,7 @@
             return;
         }
 
-        super.setMediaSession(token, icon, iconColor, bgColor, contentIntent, null);
+        super.setMediaSession(token, icon, iconColor, bgColor, contentIntent, null, key);
 
         LinearLayout parentActionsLayout = (LinearLayout) actionsContainer;
         int i = 0;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
index e6876bd..2169677 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
@@ -39,7 +39,6 @@
 import com.android.systemui.plugins.qs.QSTile.State;
 import com.android.systemui.qs.customize.QSCustomizer;
 import com.android.systemui.qs.logging.QSLogger;
-import com.android.systemui.statusbar.NotificationMediaManager;
 import com.android.systemui.tuner.TunerService;
 import com.android.systemui.tuner.TunerService.Tunable;
 import com.android.systemui.util.Utils;
@@ -83,12 +82,11 @@
             DumpManager dumpManager,
             BroadcastDispatcher broadcastDispatcher,
             QSLogger qsLogger,
-            NotificationMediaManager notificationMediaManager,
             @Main Executor foregroundExecutor,
             @Background DelayableExecutor backgroundExecutor,
             @Nullable LocalBluetoothManager localBluetoothManager
     ) {
-        super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, notificationMediaManager,
+        super(context, attrs, dumpManager, broadcastDispatcher, qsLogger,
                 foregroundExecutor, backgroundExecutor, localBluetoothManager);
         if (mFooter != null) {
             removeView(mFooter.getView());
@@ -109,7 +107,7 @@
 
             int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing);
             mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout,
-                    notificationMediaManager, foregroundExecutor, backgroundExecutor);
+                    foregroundExecutor, backgroundExecutor);
             LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
             lp2.setMarginEnd(marginSize);
             lp2.setMarginStart(0);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java
index 6663237..9cee7e7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java
@@ -72,6 +72,7 @@
 
         state.value = isRecording || isStarting;
         state.state = (isRecording || isStarting) ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
+        state.label = mContext.getString(R.string.quick_settings_screen_record_label);
 
         if (isRecording) {
             state.icon = ResourceIcon.get(R.drawable.ic_qs_screenrecord);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyRecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyRecentsImpl.java
index 5bf44c6..8051998 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyRecentsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyRecentsImpl.java
@@ -71,12 +71,13 @@
         public void onActivityRestartAttempt(ActivityManager.RunningTaskInfo task,
                 boolean homeTaskVisible, boolean clearedTask) {
             if (task.configuration.windowConfiguration.getWindowingMode()
-                    != WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
+                    != WINDOWING_MODE_SPLIT_SCREEN_PRIMARY || !mDividerOptional.isPresent()) {
                 return;
             }
 
-            if (homeTaskVisible) {
-                showRecentApps(false /* triggeredFromAltTab */);
+            final Divider divider = mDividerOptional.get();
+            if (divider.isMinimized()) {
+                divider.onUndockingTask();
             }
         }
     };
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 1780fb1..e1cc0b0 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -422,6 +422,8 @@
         mDismissButton.setVisibility(View.GONE);
         mScreenshotView.setVisibility(View.GONE);
         mScreenshotView.setLayerType(View.LAYER_TYPE_NONE, null);
+        mScreenshotView.setContentDescription(
+                mContext.getResources().getString(R.string.screenshot_preview_description));
     }
 
     /**
@@ -606,6 +608,7 @@
                         Log.e(TAG, "Intent cancelled", e);
                     }
                 });
+                mScreenshotView.setContentDescription(action.title);
             }
             mActionsView.addView(actionChip);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/settings/CurrentUserContextTracker.kt b/packages/SystemUI/src/com/android/systemui/settings/CurrentUserContextTracker.kt
new file mode 100644
index 0000000..fa1b026
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/settings/CurrentUserContextTracker.kt
@@ -0,0 +1,60 @@
+/*
+ * 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.settings
+
+import android.content.Context
+import android.os.UserHandle
+import com.android.systemui.broadcast.BroadcastDispatcher
+import com.android.systemui.util.Assert
+import javax.inject.Inject
+import javax.inject.Singleton
+
+/**
+ * Tracks a reference to the context for the current user
+ */
+@Singleton
+class CurrentUserContextTracker @Inject constructor(
+    private val sysuiContext: Context,
+    broadcastDispatcher: BroadcastDispatcher
+) {
+    private val userTracker: CurrentUserTracker
+    var currentUserContext: Context
+
+    init {
+        userTracker = object : CurrentUserTracker(broadcastDispatcher) {
+            override fun onUserSwitched(newUserId: Int) {
+                handleUserSwitched(newUserId)
+            }
+        }
+
+        currentUserContext = makeUserContext(userTracker.currentUserId)
+    }
+
+    fun initialize() {
+        userTracker.startTracking()
+    }
+
+    private fun handleUserSwitched(newUserId: Int) {
+        currentUserContext = makeUserContext(newUserId)
+    }
+
+    private fun makeUserContext(uid: Int): Context {
+        Assert.isMainThread()
+        return sysuiContext.createContextAsUser(
+                UserHandle.getUserHandleForUid(userTracker.currentUserId), 0)
+    }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 5475812..11b54ad 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -311,6 +311,7 @@
                     mTextView.switchIndication(mTransientIndication);
                 } else if (!TextUtils.isEmpty(mAlignmentIndication)) {
                     mTextView.switchIndication(mAlignmentIndication);
+                    mTextView.setTextColor(Utils.getColorError(mContext));
                 } else if (mPowerPluggedIn) {
                     String indication = computePowerIndication();
                     if (animate) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
index ba3db09..670a65f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
@@ -148,7 +148,7 @@
     }
 
     public void updateChildrenHeaderAppearance() {
-        List<ExpandableNotificationRow> notificationChildren = mRow.getNotificationChildren();
+        List<ExpandableNotificationRow> notificationChildren = mRow.getAttachedChildren();
         if (notificationChildren == null) {
             return;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
index 0d77159..25f1a97 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
@@ -250,7 +250,8 @@
     private fun updateShadeBlur() {
         var newBlur = 0
         val state = statusBarStateController.state
-        if (state == StatusBarState.SHADE || state == StatusBarState.SHADE_LOCKED) {
+        if ((state == StatusBarState.SHADE || state == StatusBarState.SHADE_LOCKED) &&
+                !keyguardStateController.isKeyguardFadingAway) {
             newBlur = blurUtils.blurRadiusOfRatio(shadeExpansion)
         }
         shadeSpring.animateTo(newBlur)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index 1297f99..afb5002 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -123,7 +123,6 @@
                 res.getBoolean(R.bool.config_alwaysExpandNonGroupedNotifications);
         mBubbleController = bubbleController;
         mDynamicPrivacyController = privacyController;
-        privacyController.addListener(this);
         mDynamicChildBindController = dynamicChildBindController;
     }
 
@@ -131,6 +130,7 @@
             NotificationListContainer listContainer) {
         mPresenter = presenter;
         mListContainer = listContainer;
+        mDynamicPrivacyController.addListener(this);
     }
 
     /**
@@ -307,17 +307,20 @@
             }
 
             ExpandableNotificationRow parent = (ExpandableNotificationRow) view;
-            List<ExpandableNotificationRow> children = parent.getNotificationChildren();
+            List<ExpandableNotificationRow> children = parent.getAttachedChildren();
             List<NotificationEntry> orderedChildren = mTmpChildOrderMap.get(parent.getEntry());
-
-            for (int childIndex = 0; orderedChildren != null && childIndex < orderedChildren.size();
-                    childIndex++) {
+            if (orderedChildren == null) {
+                // Not a group
+                continue;
+            }
+            parent.setUntruncatedChildCount(orderedChildren.size());
+            for (int childIndex = 0; childIndex < orderedChildren.size(); childIndex++) {
                 ExpandableNotificationRow childView = orderedChildren.get(childIndex).getRow();
                 if (children == null || !children.contains(childView)) {
                     if (childView.getParent() != null) {
-                        Log.wtf(TAG, "trying to add a notification child that already has " +
-                                "a parent. class:" + childView.getParent().getClass() +
-                                "\n child: " + childView);
+                        Log.wtf(TAG, "trying to add a notification child that already has "
+                                + "a parent. class:" + childView.getParent().getClass()
+                                + "\n child: " + childView);
                         // This shouldn't happen. We can recover by removing it though.
                         ((ViewGroup) childView.getParent()).removeView(childView);
                     }
@@ -349,7 +352,7 @@
             }
 
             ExpandableNotificationRow parent = (ExpandableNotificationRow) view;
-            List<ExpandableNotificationRow> children = parent.getNotificationChildren();
+            List<ExpandableNotificationRow> children = parent.getAttachedChildren();
             List<NotificationEntry> orderedChildren = mTmpChildOrderMap.get(parent.getEntry());
 
             if (children != null) {
@@ -454,7 +457,7 @@
             }
             if (row.isSummaryWithChildren()) {
                 List<ExpandableNotificationRow> notificationChildren =
-                        row.getNotificationChildren();
+                        row.getAttachedChildren();
                 int size = notificationChildren.size();
                 for (int i = size - 1; i >= 0; i--) {
                     stack.push(notificationChildren.get(i));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationChannelHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationChannelHelper.java
new file mode 100644
index 0000000..ff945d1
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationChannelHelper.java
@@ -0,0 +1,84 @@
+/*
+ * 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;
+
+import android.app.INotificationManager;
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Slog;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+
+/**
+ * Helps SystemUI create notification channels.
+ */
+public class NotificationChannelHelper {
+    private static final String TAG = "NotificationChannelHelper";
+
+    /** Creates a conversation channel based on the shortcut info or notification title. */
+    public static NotificationChannel createConversationChannelIfNeeded(
+            Context context,
+            INotificationManager notificationManager,
+            NotificationEntry entry,
+            NotificationChannel channel) {
+        if (!TextUtils.isEmpty(channel.getConversationId())) {
+            return channel;
+        }
+        final String conversationId = entry.getSbn().getShortcutId(context);
+        final String pkg = entry.getSbn().getPackageName();
+        final int appUid = entry.getSbn().getUid();
+        if (TextUtils.isEmpty(conversationId) || TextUtils.isEmpty(pkg)) {
+            return channel;
+        }
+
+        String name;
+        if (entry.getRanking().getShortcutInfo() != null) {
+            name = entry.getRanking().getShortcutInfo().getShortLabel().toString();
+        } else {
+            Bundle extras = entry.getSbn().getNotification().extras;
+            String nameString = extras.getString(Notification.EXTRA_CONVERSATION_TITLE);
+            if (TextUtils.isEmpty(nameString)) {
+                nameString = extras.getString(Notification.EXTRA_TITLE);
+            }
+            name = nameString;
+        }
+
+        // If this channel is not already a customized conversation channel, create
+        // a custom channel
+        try {
+            // TODO: When shortcuts are enforced remove this and use the shortcut label for naming
+            channel.setName(context.getString(
+                    R.string.notification_summary_message_format,
+                    name, channel.getName()));
+            notificationManager.createConversationNotificationChannelForPackage(
+                    pkg, appUid, entry.getSbn().getKey(), channel,
+                    conversationId);
+            channel = notificationManager.getConversationNotificationChannel(
+                    context.getOpPackageName(), UserHandle.getUserId(appUid), pkg,
+                    channel.getId(), false, conversationId);
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Could not create conversation channel", e);
+        }
+        return channel;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
index d37e16b..12d190b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
@@ -515,7 +515,7 @@
                 // always cancelled. We only remove them if they were dismissed by the user.
                 return;
             }
-            List<NotificationEntry> childEntries = entry.getChildren();
+            List<NotificationEntry> childEntries = entry.getAttachedNotifChildren();
             if (childEntries == null) {
                 return;
             }
@@ -699,7 +699,8 @@
                             entry,
                             oldImportances.get(entry.getKey()),
                             oldAdjustments.get(entry.getKey()),
-                            NotificationUiAdjustment.extractFromNotificationEntry(entry));
+                            NotificationUiAdjustment.extractFromNotificationEntry(entry),
+                            mInflationCallback);
         }
 
         updateNotifications("updateNotificationRanking");
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
index 2c747bd..81494ed 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
@@ -20,6 +20,7 @@
 import android.annotation.Nullable;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.systemui.statusbar.notification.collection.coordinator.PreparationCoordinator;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -36,6 +37,7 @@
 
     private final List<NotificationEntry> mUnmodifiableChildren =
             Collections.unmodifiableList(mChildren);
+    private int mUntruncatedChildCount;
 
     @VisibleForTesting
     public GroupEntry(String key) {
@@ -62,6 +64,24 @@
         mSummary = summary;
     }
 
+    /**
+     * @see #getUntruncatedChildCount()
+     */
+    public void setUntruncatedChildCount(int childCount) {
+        mUntruncatedChildCount = childCount;
+    }
+
+    /**
+     * Get the untruncated number of children from the data model, including those that will not
+     * have views bound. This includes children that {@link PreparationCoordinator} will filter out
+     * entirely when they are beyond the last visible child.
+     *
+     * TODO: This should move to some shared class between the model and view hierarchy
+     */
+    public int getUntruncatedChildCount() {
+        return mUntruncatedChildCount;
+    }
+
     void clearChildren() {
         mChildren.clear();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifViewManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifViewManager.kt
index cf670bd..339809e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifViewManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifViewManager.kt
@@ -113,7 +113,7 @@
                     } else if (entries[idx] is GroupEntry) {
                         // A top-level entry exists. If it's a group, diff the children
                         val groupChildren = (entries[idx] as GroupEntry).children
-                        listItem.notificationChildren?.forEach { listChild ->
+                        listItem.attachedChildren?.forEach { listChild ->
                             if (!groupChildren.contains(listChild.entry)) {
                                 listItem.removeChildNotification(listChild)
 
@@ -155,8 +155,8 @@
                 for ((idx, childEntry) in entry.children.withIndex()) {
                     val childListItem = rowRegistry.requireView(childEntry)
                     // Child hasn't been added yet. add it!
-                    if (listItem.notificationChildren == null ||
-                            !listItem.notificationChildren.contains(childListItem)) {
+                    if (listItem.attachedChildren == null ||
+                            !listItem.attachedChildren.contains(childListItem)) {
                         // TODO: old code here just Log.wtf()'d here. This might wreak havoc
                         if (childListItem.view.parent != null) {
                             throw IllegalStateException("trying to add a notification child that " +
@@ -179,6 +179,7 @@
                                 stabilityManager,
                                 null /*TODO: stability callback */
                         )
+                listItem.setUntruncatedChildCount(entry.untruncatedChildCount)
             }
         }
 
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 749c3e4..5236385 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
@@ -434,13 +434,18 @@
         mRowController = controller;
     }
 
-    @Nullable
-    public List<NotificationEntry> getChildren() {
+    /**
+     * Get the children that are actually attached to this notification's row.
+     *
+     * TODO: Seems like most callers here should probably be using
+     * {@link com.android.systemui.statusbar.phone.NotificationGroupManager#getChildren}
+     */
+    public @Nullable List<NotificationEntry> getAttachedNotifChildren() {
         if (row == null) {
             return null;
         }
 
-        List<ExpandableNotificationRow> rowChildren = row.getNotificationChildren();
+        List<ExpandableNotificationRow> rowChildren = row.getAttachedChildren();
         if (rowChildren == null) {
             return null;
         }
@@ -748,7 +753,7 @@
             return false;
         }
 
-        List<NotificationEntry> children = getChildren();
+        List<NotificationEntry> children = getAttachedNotifChildren();
         if (children != null && children.size() > 0) {
             for (int i = 0; i < children.size(); i++) {
                 NotificationEntry child =  children.get(i);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.java
index 2a3b2b7..3fde2ed 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.java
@@ -17,7 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.coordinator;
 
 import static com.android.systemui.statusbar.NotificationRemoteInputManager.FORCE_REMOTE_INPUT_HISTORY;
-import static com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager.alertAgain;
+import static com.android.systemui.statusbar.notification.interruption.HeadsUpController.alertAgain;
 
 import android.annotation.Nullable;
 
@@ -29,7 +29,7 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSection;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
-import com.android.systemui.statusbar.notification.headsup.HeadsUpViewBinder;
+import com.android.systemui.statusbar.notification.interruption.HeadsUpViewBinder;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.policy.HeadsUpManager;
 import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
index 0e8dd5e..4159d43 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
@@ -16,11 +16,15 @@
 
 package com.android.systemui.statusbar.notification.collection.coordinator;
 
+import static com.android.systemui.statusbar.notification.stack.NotificationChildrenContainer.NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED;
+
 import android.annotation.IntDef;
 import android.os.RemoteException;
 import android.service.notification.StatusBarNotification;
 import android.util.ArrayMap;
+import android.util.ArraySet;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
 import com.android.systemui.statusbar.notification.collection.ListEntry;
@@ -40,6 +44,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
@@ -60,22 +65,47 @@
     private final NotifInflationErrorManager mNotifErrorManager;
     private final NotifViewBarn mViewBarn;
     private final Map<NotificationEntry, Integer> mInflationStates = new ArrayMap<>();
+
+    /**
+     * The set of notifications that are currently inflating something. Note that this is
+     * separate from inflation state as a view could either be uninflated or inflated and still be
+     * inflating something.
+     */
+    private final Set<NotificationEntry> mInflatingNotifs = new ArraySet<>();
+
     private final IStatusBarService mStatusBarService;
 
+    /**
+     * The number of children in a group we actually keep inflated since we don't actually show
+     * all the children and don't need every child inflated at all times.
+     */
+    private final int mChildBindCutoff;
+
     @Inject
     public PreparationCoordinator(
             PreparationCoordinatorLogger logger,
             NotifInflaterImpl notifInflater,
             NotifInflationErrorManager errorManager,
             NotifViewBarn viewBarn,
-            IStatusBarService service
-    ) {
+            IStatusBarService service) {
+        this(logger, notifInflater, errorManager, viewBarn, service, CHILD_BIND_CUTOFF);
+    }
+
+    @VisibleForTesting
+    PreparationCoordinator(
+            PreparationCoordinatorLogger logger,
+            NotifInflaterImpl notifInflater,
+            NotifInflationErrorManager errorManager,
+            NotifViewBarn viewBarn,
+            IStatusBarService service,
+            int childBindCutoff) {
         mLogger = logger;
         mNotifInflater = notifInflater;
         mNotifErrorManager = errorManager;
         mNotifErrorManager.addInflationErrorListener(mInflationErrorListener);
         mViewBarn = viewBarn;
         mStatusBarService = service;
+        mChildBindCutoff = childBindCutoff;
     }
 
     @Override
@@ -96,6 +126,8 @@
 
         @Override
         public void onEntryUpdated(NotificationEntry entry) {
+            abortInflation(entry, "entryUpdated");
+            mInflatingNotifs.remove(entry);
             @InflationState int state = getInflationState(entry);
             if (state == STATE_INFLATED) {
                 mInflationStates.put(entry, STATE_INFLATED_INVALID);
@@ -113,6 +145,7 @@
         @Override
         public void onEntryCleanUp(NotificationEntry entry) {
             mInflationStates.remove(entry);
+            mInflatingNotifs.remove(entry);
             mViewBarn.removeViewForEntry(entry);
         }
     };
@@ -133,23 +166,11 @@
 
     private final NotifFilter mNotifInflatingFilter = new NotifFilter(TAG + "Inflating") {
         /**
-         * Filters out notifications that haven't been inflated yet
+         * Filters out notifications that aren't inflated
          */
         @Override
         public boolean shouldFilterOut(NotificationEntry entry, long now) {
-            @InflationState int state = getInflationState(entry);
-            return (state != STATE_INFLATED) && (state != STATE_INFLATED_INVALID);
-        }
-    };
-
-    private final NotifInflater.InflationCallback mInflationCallback =
-            new NotifInflater.InflationCallback() {
-        @Override
-        public void onInflationFinished(NotificationEntry entry) {
-            mLogger.logNotifInflated(entry.getKey());
-            mViewBarn.registerViewForEntry(entry, entry.getRow());
-            mInflationStates.put(entry, STATE_INFLATED);
-            mNotifInflatingFilter.invalidateList();
+            return !isInflated(entry);
         }
     };
 
@@ -187,19 +208,42 @@
             ListEntry entry = entries.get(i);
             if (entry instanceof GroupEntry) {
                 GroupEntry groupEntry = (GroupEntry) entry;
-                inflateNotifRequiredViews(groupEntry.getSummary());
-                List<NotificationEntry> children = groupEntry.getChildren();
-                for (int j = 0, groupSize = children.size(); j < groupSize; j++) {
-                    inflateNotifRequiredViews(children.get(j));
-                }
+                groupEntry.setUntruncatedChildCount(groupEntry.getChildren().size());
+                inflateRequiredGroupViews(groupEntry);
             } else {
                 NotificationEntry notifEntry = (NotificationEntry) entry;
-                inflateNotifRequiredViews(notifEntry);
+                inflateRequiredNotifViews(notifEntry);
             }
         }
     }
 
-    private void inflateNotifRequiredViews(NotificationEntry entry) {
+    private void inflateRequiredGroupViews(GroupEntry groupEntry) {
+        NotificationEntry summary = groupEntry.getSummary();
+        List<NotificationEntry> children = groupEntry.getChildren();
+        inflateRequiredNotifViews(summary);
+        for (int j = 0; j < children.size(); j++) {
+            NotificationEntry child = children.get(j);
+            boolean childShouldBeBound = j < mChildBindCutoff;
+            if (childShouldBeBound) {
+                inflateRequiredNotifViews(child);
+            } else {
+                if (mInflatingNotifs.contains(child)) {
+                    abortInflation(child, "Past last visible group child");
+                }
+                if (isInflated(child)) {
+                    // TODO: May want to put an animation hint here so view manager knows to treat
+                    //  this differently from a regular removal animation
+                    freeNotifViews(child);
+                }
+            }
+        }
+    }
+
+    private void inflateRequiredNotifViews(NotificationEntry entry) {
+        if (mInflatingNotifs.contains(entry)) {
+            // Already inflating this entry
+            return;
+        }
         @InflationState int state = mInflationStates.get(entry);
         switch (state) {
             case STATE_UNINFLATED:
@@ -217,16 +261,38 @@
 
     private void inflateEntry(NotificationEntry entry, String reason) {
         abortInflation(entry, reason);
-        mNotifInflater.inflateViews(entry, mInflationCallback);
+        mInflatingNotifs.add(entry);
+        mNotifInflater.inflateViews(entry, this::onInflationFinished);
     }
 
     private void rebind(NotificationEntry entry, String reason) {
-        mNotifInflater.rebindViews(entry, mInflationCallback);
+        mInflatingNotifs.add(entry);
+        mNotifInflater.rebindViews(entry, this::onInflationFinished);
     }
 
     private void abortInflation(NotificationEntry entry, String reason) {
         mLogger.logInflationAborted(entry.getKey(), reason);
         entry.abortTask();
+        mInflatingNotifs.remove(entry);
+    }
+
+    private void onInflationFinished(NotificationEntry entry) {
+        mLogger.logNotifInflated(entry.getKey());
+        mInflatingNotifs.remove(entry);
+        mViewBarn.registerViewForEntry(entry, entry.getRow());
+        mInflationStates.put(entry, STATE_INFLATED);
+        mNotifInflatingFilter.invalidateList();
+    }
+
+    private void freeNotifViews(NotificationEntry entry) {
+        mViewBarn.removeViewForEntry(entry);
+        entry.setRow(null);
+        mInflationStates.put(entry, STATE_UNINFLATED);
+    }
+
+    private boolean isInflated(NotificationEntry entry) {
+        @InflationState int state = getInflationState(entry);
+        return (state == STATE_INFLATED) || (state == STATE_INFLATED_INVALID);
     }
 
     private @InflationState int getInflationState(NotificationEntry entry) {
@@ -241,7 +307,7 @@
             value = {STATE_UNINFLATED, STATE_INFLATED_INVALID, STATE_INFLATED, STATE_ERROR})
     @interface InflationState {}
 
-    /** The notification has never been inflated before. */
+    /** The notification has no views attached. */
     private static final int STATE_UNINFLATED = 0;
 
     /** The notification is inflated. */
@@ -255,4 +321,13 @@
 
     /** The notification errored out while inflating */
     private static final int STATE_ERROR = -1;
+
+    /**
+     * How big the buffer of extra views we keep around to be ready to show when we do need to
+     * dynamically inflate a row.
+     */
+    private static final int EXTRA_VIEW_BUFFER_COUNT = 1;
+
+    private static final int CHILD_BIND_CUTOFF =
+            NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED + EXTRA_VIEW_BUFFER_COUNT;
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinder.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinder.java
index f4c4924..710b137 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinder.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinder.java
@@ -51,5 +51,6 @@
             NotificationEntry entry,
             @Nullable Integer oldImportance,
             NotificationUiAdjustment oldAdjustment,
-            NotificationUiAdjustment newAdjustment);
+            NotificationUiAdjustment newAdjustment,
+            NotificationRowContentBinder.InflationCallback callback);
 }
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 73f12f8..e6a4cff 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
@@ -180,13 +180,14 @@
             NotificationEntry entry,
             @Nullable Integer oldImportance,
             NotificationUiAdjustment oldAdjustment,
-            NotificationUiAdjustment newAdjustment) {
+            NotificationUiAdjustment newAdjustment,
+            NotificationRowContentBinder.InflationCallback callback) {
         if (NotificationUiAdjustment.needReinflate(oldAdjustment, newAdjustment)) {
             if (entry.rowExists()) {
                 ExpandableNotificationRow row = entry.getRow();
                 row.reset();
                 updateRow(entry, row);
-                inflateContentViews(entry, row, null /* callback */);
+                inflateContentViews(entry, row, callback);
             } else {
                 // Once the RowInflaterTask is done, it will pick up the updated entry, so
                 // no-op here.
@@ -221,7 +222,7 @@
     private void inflateContentViews(
             NotificationEntry entry,
             ExpandableNotificationRow row,
-            NotificationRowContentBinder.InflationCallback inflationCallback) {
+            @Nullable NotificationRowContentBinder.InflationCallback inflationCallback) {
         final boolean useIncreasedCollapsedHeight =
                 mMessagingUtil.isImportantMessaging(entry.getSbn(), entry.getImportance());
         final boolean isLowPriority = entry.isAmbient();
@@ -238,7 +239,9 @@
         mRowContentBindStage.requestRebind(entry, en -> {
             row.setUsesIncreasedCollapsedHeight(useIncreasedCollapsedHeight);
             row.setIsLowPriority(isLowPriority);
-            inflationCallback.onAsyncInflationFinished(en);
+            if (inflationCallback != null) {
+                inflationCallback.onAsyncInflationFinished(en);
+            }
         });
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
index 565a082..78ee5f2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
@@ -30,6 +30,7 @@
 import com.android.systemui.dagger.qualifiers.Main;
 import com.android.systemui.dagger.qualifiers.UiBackground;
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.settings.CurrentUserContextTracker;
 import com.android.systemui.statusbar.FeatureFlags;
 import com.android.systemui.statusbar.NotificationListener;
 import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -45,7 +46,6 @@
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.init.NotificationsControllerImpl;
 import com.android.systemui.statusbar.notification.init.NotificationsControllerStub;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
@@ -53,13 +53,14 @@
 import com.android.systemui.statusbar.notification.logging.NotificationPanelLoggerImpl;
 import com.android.systemui.statusbar.notification.row.NotificationBlockingHelperManager;
 import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
+import com.android.systemui.statusbar.notification.row.PriorityOnboardingDialogController;
 import com.android.systemui.statusbar.phone.NotificationGroupManager;
 import com.android.systemui.statusbar.phone.StatusBar;
-import com.android.systemui.statusbar.policy.HeadsUpManager;
 import com.android.systemui.util.leak.LeakDetector;
 
 import java.util.concurrent.Executor;
 
+import javax.inject.Provider;
 import javax.inject.Singleton;
 
 import dagger.Binds;
@@ -109,7 +110,9 @@
             HighPriorityProvider highPriorityProvider,
             INotificationManager notificationManager,
             LauncherApps launcherApps,
-            ShortcutManager shortcutManager) {
+            ShortcutManager shortcutManager,
+            CurrentUserContextTracker contextTracker,
+            Provider<PriorityOnboardingDialogController.Builder> builderProvider) {
         return new NotificationGutsManager(
                 context,
                 visualStabilityManager,
@@ -119,7 +122,9 @@
                 highPriorityProvider,
                 notificationManager,
                 launcherApps,
-                shortcutManager);
+                shortcutManager,
+                contextTracker,
+                builderProvider);
     }
 
     /** Provides an instance of {@link VisualStabilityManager} */
@@ -130,27 +135,6 @@
         return new VisualStabilityManager(notificationEntryManager, handler);
     }
 
-    /** Provides an instance of {@link NotificationAlertingManager} */
-    @Singleton
-    @Provides
-    static NotificationAlertingManager provideNotificationAlertingManager(
-            NotificationEntryManager notificationEntryManager,
-            NotificationRemoteInputManager remoteInputManager,
-            VisualStabilityManager visualStabilityManager,
-            StatusBarStateController statusBarStateController,
-            NotificationInterruptStateProvider notificationInterruptStateProvider,
-            NotificationListener notificationListener,
-            HeadsUpManager headsUpManager) {
-        return new NotificationAlertingManager(
-                notificationEntryManager,
-                remoteInputManager,
-                visualStabilityManager,
-                statusBarStateController,
-                notificationInterruptStateProvider,
-                notificationListener,
-                headsUpManager);
-    }
-
     /** Provides an instance of {@link NotificationLogger} */
     @Singleton
     @Provides
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpBindController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpBindController.java
deleted file mode 100644
index a7b1f37..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpBindController.java
+++ /dev/null
@@ -1,95 +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.headsup;
-
-import androidx.annotation.NonNull;
-
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
-import com.android.systemui.statusbar.notification.collection.NotificationEntry;
-import com.android.systemui.statusbar.notification.collection.coordinator.HeadsUpCoordinator;
-import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
-import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
-import com.android.systemui.statusbar.policy.HeadsUpManager;
-import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-/**
- * Controller class for old pipeline heads up view binding. It listens to
- * {@link NotificationEntryManager} entry events and appropriately binds or unbinds the heads up
- * view.
- *
- * This has a subtle contract with {@link NotificationAlertingManager} where this controller handles
- * the heads up binding, but {@link NotificationAlertingManager} listens for general inflation
- * events to actually mark it heads up/update. In the new pipeline, we combine the classes.
- * See {@link HeadsUpCoordinator}.
- */
-@Singleton
-public class HeadsUpBindController {
-    private final HeadsUpViewBinder mHeadsUpViewBinder;
-    private final NotificationInterruptStateProvider mInterruptStateProvider;
-
-    @Inject
-    HeadsUpBindController(
-            HeadsUpViewBinder headsUpViewBinder,
-            NotificationInterruptStateProvider notificationInterruptStateProvider) {
-        mInterruptStateProvider = notificationInterruptStateProvider;
-        mHeadsUpViewBinder = headsUpViewBinder;
-    }
-
-    /**
-     * Attach this controller and add its listeners.
-     */
-    public void attach(
-            NotificationEntryManager entryManager,
-            HeadsUpManager headsUpManager) {
-        entryManager.addCollectionListener(mCollectionListener);
-        headsUpManager.addListener(mOnHeadsUpChangedListener);
-    }
-
-    private NotifCollectionListener mCollectionListener = new NotifCollectionListener() {
-        @Override
-        public void onEntryAdded(NotificationEntry entry) {
-            if (mInterruptStateProvider.shouldHeadsUp(entry)) {
-                mHeadsUpViewBinder.bindHeadsUpView(entry, null);
-            }
-        }
-
-        @Override
-        public void onEntryUpdated(NotificationEntry entry) {
-            if (mInterruptStateProvider.shouldHeadsUp(entry)) {
-                mHeadsUpViewBinder.bindHeadsUpView(entry, null);
-            }
-        }
-
-        @Override
-        public void onEntryCleanUp(NotificationEntry entry) {
-            mHeadsUpViewBinder.abortBindCallback(entry);
-        }
-    };
-
-    private OnHeadsUpChangedListener mOnHeadsUpChangedListener  = new OnHeadsUpChangedListener() {
-        @Override
-        public void onHeadsUpStateChanged(@NonNull NotificationEntry entry, boolean isHeadsUp) {
-            if (!isHeadsUp) {
-                mHeadsUpViewBinder.unbindHeadsUpView(entry);
-            }
-        }
-    };
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt
index 5fac5b1..7f2f898 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt
@@ -28,7 +28,7 @@
 import com.android.systemui.statusbar.notification.NotificationListController
 import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl
 import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer
-import com.android.systemui.statusbar.notification.headsup.HeadsUpBindController
+import com.android.systemui.statusbar.notification.interruption.HeadsUpController
 import com.android.systemui.statusbar.notification.row.NotifBindPipelineInitializer
 import com.android.systemui.statusbar.notification.stack.NotificationListContainer
 import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper
@@ -36,7 +36,7 @@
 import com.android.systemui.statusbar.phone.StatusBar
 import com.android.systemui.statusbar.policy.DeviceProvisionedController
 import com.android.systemui.statusbar.policy.HeadsUpManager
-import com.android.systemui.statusbar.notification.headsup.HeadsUpViewBinder
+import com.android.systemui.statusbar.notification.interruption.HeadsUpViewBinder
 import com.android.systemui.statusbar.policy.RemoteInputUriController
 import dagger.Lazy
 import java.io.FileDescriptor
@@ -66,7 +66,7 @@
     private val groupManager: NotificationGroupManager,
     private val groupAlertTransferHelper: NotificationGroupAlertTransferHelper,
     private val headsUpManager: HeadsUpManager,
-    private val headsUpBindController: HeadsUpBindController,
+    private val headsUpController: HeadsUpController,
     private val headsUpViewBinder: HeadsUpViewBinder
 ) : NotificationsController {
 
@@ -112,7 +112,7 @@
             groupAlertTransferHelper.bind(entryManager, groupManager)
             headsUpManager.addListener(groupManager)
             headsUpManager.addListener(groupAlertTransferHelper)
-            headsUpBindController.attach(entryManager, headsUpManager)
+            headsUpController.attach(entryManager, headsUpManager)
             groupManager.setHeadsUpManager(headsUpManager)
             groupAlertTransferHelper.setHeadsUpManager(headsUpManager)
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpController.java
new file mode 100644
index 0000000..6d14ccf
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpController.java
@@ -0,0 +1,185 @@
+/*
+ * 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.interruption;
+
+import static com.android.systemui.statusbar.NotificationRemoteInputManager.FORCE_REMOTE_INPUT_HISTORY;
+
+import android.app.Notification;
+import android.service.notification.StatusBarNotification;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+
+import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.statusbar.NotificationListener;
+import com.android.systemui.statusbar.NotificationRemoteInputManager;
+import com.android.systemui.statusbar.notification.NotificationEntryManager;
+import com.android.systemui.statusbar.notification.VisualStabilityManager;
+import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
+import com.android.systemui.statusbar.policy.HeadsUpManager;
+import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+/**
+ * Controller class for old pipeline heads up logic. It listens to {@link NotificationEntryManager}
+ * entry events and appropriately binds or unbinds the heads up view and promotes it to the top
+ * of the screen.
+ */
+@Singleton
+public class HeadsUpController {
+    private final HeadsUpViewBinder mHeadsUpViewBinder;
+    private final NotificationInterruptStateProvider mInterruptStateProvider;
+    private final NotificationRemoteInputManager mRemoteInputManager;
+    private final VisualStabilityManager mVisualStabilityManager;
+    private final StatusBarStateController mStatusBarStateController;
+    private final NotificationListener mNotificationListener;
+    private final HeadsUpManager mHeadsUpManager;
+
+    @Inject
+    HeadsUpController(
+            HeadsUpViewBinder headsUpViewBinder,
+            NotificationInterruptStateProvider notificationInterruptStateProvider,
+            HeadsUpManager headsUpManager,
+            NotificationRemoteInputManager remoteInputManager,
+            StatusBarStateController statusBarStateController,
+            VisualStabilityManager visualStabilityManager,
+            NotificationListener notificationListener) {
+        mHeadsUpViewBinder = headsUpViewBinder;
+        mHeadsUpManager = headsUpManager;
+        mInterruptStateProvider = notificationInterruptStateProvider;
+        mRemoteInputManager = remoteInputManager;
+        mStatusBarStateController = statusBarStateController;
+        mVisualStabilityManager = visualStabilityManager;
+        mNotificationListener = notificationListener;
+    }
+
+    /**
+     * Attach this controller and add its listeners.
+     */
+    public void attach(
+            NotificationEntryManager entryManager,
+            HeadsUpManager headsUpManager) {
+        entryManager.addCollectionListener(mCollectionListener);
+        headsUpManager.addListener(mOnHeadsUpChangedListener);
+    }
+
+    private NotifCollectionListener mCollectionListener = new NotifCollectionListener() {
+        @Override
+        public void onEntryAdded(NotificationEntry entry) {
+            if (mInterruptStateProvider.shouldHeadsUp(entry)) {
+                mHeadsUpViewBinder.bindHeadsUpView(
+                        entry, HeadsUpController.this::showAlertingView);
+            }
+        }
+
+        @Override
+        public void onEntryUpdated(NotificationEntry entry) {
+            updateHunState(entry);
+        }
+
+        @Override
+        public void onEntryRemoved(NotificationEntry entry, int reason) {
+            stopAlerting(entry);
+        }
+
+        @Override
+        public void onEntryCleanUp(NotificationEntry entry) {
+            mHeadsUpViewBinder.abortBindCallback(entry);
+        }
+    };
+
+    /**
+     * Adds the entry to the HUN manager and show it for the first time.
+     */
+    private void showAlertingView(NotificationEntry entry) {
+        mHeadsUpManager.showNotification(entry);
+        if (!mStatusBarStateController.isDozing()) {
+            // Mark as seen immediately
+            setNotificationShown(entry.getSbn());
+        }
+    }
+
+    private void updateHunState(NotificationEntry entry) {
+        boolean hunAgain = alertAgain(entry, entry.getSbn().getNotification());
+        // includes check for whether this notification should be filtered:
+        boolean shouldHeadsUp = mInterruptStateProvider.shouldHeadsUp(entry);
+        final boolean wasHeadsUp = mHeadsUpManager.isAlerting(entry.getKey());
+        if (wasHeadsUp) {
+            if (shouldHeadsUp) {
+                mHeadsUpManager.updateNotification(entry.getKey(), hunAgain);
+            } else if (!mHeadsUpManager.isEntryAutoHeadsUpped(entry.getKey())) {
+                // We don't want this to be interrupting anymore, let's remove it
+                mHeadsUpManager.removeNotification(entry.getKey(), false /* removeImmediately */);
+            }
+        } else if (shouldHeadsUp && hunAgain) {
+            mHeadsUpViewBinder.bindHeadsUpView(entry, mHeadsUpManager::showNotification);
+        }
+    }
+
+    private void setNotificationShown(StatusBarNotification n) {
+        try {
+            mNotificationListener.setNotificationsShown(new String[]{n.getKey()});
+        } catch (RuntimeException e) {
+            Log.d(TAG, "failed setNotificationsShown: ", e);
+        }
+    }
+
+    private void stopAlerting(NotificationEntry entry) {
+        // Attempt to remove notifications from their HUN manager.
+        // Though the remove itself may fail, it lets the manager know to remove as soon as
+        // possible.
+        String key = entry.getKey();
+        if (mHeadsUpManager.isAlerting(key)) {
+            // A cancel() in response to a remote input shouldn't be delayed, as it makes the
+            // sending look longer than it takes.
+            // Also we should not defer the removal if reordering isn't allowed since otherwise
+            // some notifications can't disappear before the panel is closed.
+            boolean ignoreEarliestRemovalTime =
+                    mRemoteInputManager.getController().isSpinning(key)
+                            && !FORCE_REMOTE_INPUT_HISTORY
+                            || !mVisualStabilityManager.isReorderingAllowed();
+            mHeadsUpManager.removeNotification(key, ignoreEarliestRemovalTime);
+        }
+    }
+
+    /**
+     * Checks whether an update for a notification warrants an alert for the user.
+     *
+     * @param oldEntry the entry for this notification.
+     * @param newNotification the new notification for this entry.
+     * @return whether this notification should alert the user.
+     */
+    public static boolean alertAgain(
+            NotificationEntry oldEntry, Notification newNotification) {
+        return oldEntry == null || !oldEntry.hasInterrupted()
+                || (newNotification.flags & Notification.FLAG_ONLY_ALERT_ONCE) == 0;
+    }
+
+    private OnHeadsUpChangedListener mOnHeadsUpChangedListener  = new OnHeadsUpChangedListener() {
+        @Override
+        public void onHeadsUpStateChanged(@NonNull NotificationEntry entry, boolean isHeadsUp) {
+            if (!isHeadsUp) {
+                mHeadsUpViewBinder.unbindHeadsUpView(entry);
+            }
+        }
+    };
+
+    private static final String TAG = "HeadsUpBindController";
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpViewBinder.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinder.java
similarity index 97%
rename from packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpViewBinder.java
rename to packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinder.java
index 37acfa8..ff13995 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/headsup/HeadsUpViewBinder.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/HeadsUpViewBinder.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.systemui.statusbar.notification.headsup;
+package com.android.systemui.statusbar.notification.interruption;
 
 import static com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.FLAG_CONTENT_VIEW_HEADS_UP;
 
@@ -42,7 +42,7 @@
  * content view.
  *
  * TODO: This should be moved into {@link HeadsUpCoordinator} when the old pipeline is deprecated
- * (i.e. when {@link HeadsUpBindController} is removed).
+ * (i.e. when {@link HeadsUpController} is removed).
  */
 @Singleton
 public class HeadsUpViewBinder {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationAlertingManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationAlertingManager.java
deleted file mode 100644
index 5d07098..0000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationAlertingManager.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.statusbar.notification.interruption;
-
-import static com.android.systemui.statusbar.NotificationRemoteInputManager.FORCE_REMOTE_INPUT_HISTORY;
-
-import android.app.Notification;
-import android.service.notification.StatusBarNotification;
-import android.util.Log;
-
-import com.android.internal.statusbar.NotificationVisibility;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.NotificationListener;
-import com.android.systemui.statusbar.NotificationRemoteInputManager;
-import com.android.systemui.statusbar.notification.NotificationEntryListener;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
-import com.android.systemui.statusbar.notification.VisualStabilityManager;
-import com.android.systemui.statusbar.notification.collection.NotificationEntry;
-import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
-import com.android.systemui.statusbar.policy.HeadsUpManager;
-
-/** Handles heads-up and pulsing behavior driven by notification changes. */
-public class NotificationAlertingManager {
-
-    private static final String TAG = "NotifAlertManager";
-
-    private final NotificationRemoteInputManager mRemoteInputManager;
-    private final VisualStabilityManager mVisualStabilityManager;
-    private final StatusBarStateController mStatusBarStateController;
-    private final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
-    private final NotificationListener mNotificationListener;
-
-    private HeadsUpManager mHeadsUpManager;
-
-    /**
-     * Injected constructor. See {@link NotificationsModule}.
-     */
-    public NotificationAlertingManager(
-            NotificationEntryManager notificationEntryManager,
-            NotificationRemoteInputManager remoteInputManager,
-            VisualStabilityManager visualStabilityManager,
-            StatusBarStateController statusBarStateController,
-            NotificationInterruptStateProvider notificationInterruptionStateProvider,
-            NotificationListener notificationListener,
-            HeadsUpManager headsUpManager) {
-        mRemoteInputManager = remoteInputManager;
-        mVisualStabilityManager = visualStabilityManager;
-        mStatusBarStateController = statusBarStateController;
-        mNotificationInterruptStateProvider = notificationInterruptionStateProvider;
-        mNotificationListener = notificationListener;
-        mHeadsUpManager = headsUpManager;
-
-        notificationEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
-            @Override
-            public void onEntryInflated(NotificationEntry entry) {
-                showAlertingView(entry);
-            }
-
-            @Override
-            public void onPreEntryUpdated(NotificationEntry entry) {
-                updateAlertState(entry);
-            }
-
-            @Override
-            public void onEntryRemoved(
-                    NotificationEntry entry,
-                    NotificationVisibility visibility,
-                    boolean removedByUser,
-                    int reason) {
-                stopAlerting(entry.getKey());
-            }
-        });
-    }
-
-    /**
-     * Adds the entry to the respective alerting manager if the content view was inflated and
-     * the entry should still alert.
-     */
-    private void showAlertingView(NotificationEntry entry) {
-        // TODO: Instead of this back and forth, we should listen to changes in heads up and
-        // cancel on-going heads up view inflation using the bind pipeline.
-        if (entry.getRow().getPrivateLayout().getHeadsUpChild() != null) {
-            mHeadsUpManager.showNotification(entry);
-            if (!mStatusBarStateController.isDozing()) {
-                // Mark as seen immediately
-                setNotificationShown(entry.getSbn());
-            }
-        }
-    }
-
-    private void updateAlertState(NotificationEntry entry) {
-        boolean alertAgain = alertAgain(entry, entry.getSbn().getNotification());
-        // includes check for whether this notification should be filtered:
-        boolean shouldAlert = mNotificationInterruptStateProvider.shouldHeadsUp(entry);
-        final boolean wasAlerting = mHeadsUpManager.isAlerting(entry.getKey());
-        if (wasAlerting) {
-            if (shouldAlert) {
-                mHeadsUpManager.updateNotification(entry.getKey(), alertAgain);
-            } else if (!mHeadsUpManager.isEntryAutoHeadsUpped(entry.getKey())) {
-                // We don't want this to be interrupting anymore, let's remove it
-                mHeadsUpManager.removeNotification(entry.getKey(), false /* removeImmediately */);
-            }
-        } else if (shouldAlert && alertAgain) {
-            // This notification was updated to be alerting, show it!
-            mHeadsUpManager.showNotification(entry);
-        }
-    }
-
-    /**
-     * Checks whether an update for a notification warrants an alert for the user.
-     *
-     * @param oldEntry the entry for this notification.
-     * @param newNotification the new notification for this entry.
-     * @return whether this notification should alert the user.
-     */
-    public static boolean alertAgain(
-            NotificationEntry oldEntry, Notification newNotification) {
-        return oldEntry == null || !oldEntry.hasInterrupted()
-                || (newNotification.flags & Notification.FLAG_ONLY_ALERT_ONCE) == 0;
-    }
-
-    private void setNotificationShown(StatusBarNotification n) {
-        try {
-            mNotificationListener.setNotificationsShown(new String[]{n.getKey()});
-        } catch (RuntimeException e) {
-            Log.d(TAG, "failed setNotificationsShown: ", e);
-        }
-    }
-
-    private void stopAlerting(final String key) {
-        // Attempt to remove notifications from their alert manager.
-        // Though the remove itself may fail, it lets the manager know to remove as soon as
-        // possible.
-        if (mHeadsUpManager.isAlerting(key)) {
-            // A cancel() in response to a remote input shouldn't be delayed, as it makes the
-            // sending look longer than it takes.
-            // Also we should not defer the removal if reordering isn't allowed since otherwise
-            // some notifications can't disappear before the panel is closed.
-            boolean ignoreEarliestRemovalTime =
-                    mRemoteInputManager.getController().isSpinning(key)
-                            && !FORCE_REMOTE_INPUT_HISTORY
-                            || !mVisualStabilityManager.isReorderingAllowed();
-            mHeadsUpManager.removeNotification(key, ignoreEarliestRemovalTime);
-        }
-    }
-}
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 998230f..c613e64 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
@@ -70,6 +70,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
+import com.android.systemui.bubbles.BubbleController;
 import com.android.systemui.plugins.FalsingManager;
 import com.android.systemui.plugins.PluginListener;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
@@ -410,7 +411,7 @@
             setIconAnimationRunningForChild(running, mChildrenContainer.getHeaderView());
             setIconAnimationRunningForChild(running, mChildrenContainer.getLowPriorityHeaderView());
             List<ExpandableNotificationRow> notificationChildren =
-                    mChildrenContainer.getNotificationChildren();
+                    mChildrenContainer.getAttachedChildren();
             for (int i = 0; i < notificationChildren.size(); i++) {
                 ExpandableNotificationRow child = notificationChildren.get(i);
                 child.setIconAnimationRunning(running);
@@ -559,7 +560,7 @@
         if (mNotificationParent != null) {
             mNotificationParent.updateChildrenHeaderAppearance();
         }
-        onChildrenCountChanged();
+        onAttachedChildrenCountChanged();
         // The public layouts expand button is always visible
         mPublicLayout.updateExpandButtons(true);
         updateLimits();
@@ -579,6 +580,13 @@
         }
     }
 
+    /** Call when bubble state has changed and the button on the notification should be updated. */
+    public void updateBubbleButton() {
+        for (NotificationContentView l : mLayouts) {
+            l.updateBubbleButton(mEntry);
+        }
+    }
+
     @VisibleForTesting
     void updateShelfIconColor() {
         StatusBarIconView expandedIcon = mEntry.getIcons().getShelfIcon();
@@ -763,6 +771,16 @@
     }
 
     /**
+     * @see NotificationChildrenContainer#setUntruncatedChildCount(int)
+     */
+    public void setUntruncatedChildCount(int childCount) {
+        if (mChildrenContainer == null) {
+            mChildrenContainerStub.inflate();
+        }
+        mChildrenContainer.setUntruncatedChildCount(childCount);
+    }
+
+    /**
      * Add a child notification to this view.
      *
      * @param row the row to add
@@ -773,7 +791,7 @@
             mChildrenContainerStub.inflate();
         }
         mChildrenContainer.addNotification(row, childIndex);
-        onChildrenCountChanged();
+        onAttachedChildrenCountChanged();
         row.setIsChildInGroup(true, this);
     }
 
@@ -792,7 +810,7 @@
         if (mChildrenContainer != null) {
             mChildrenContainer.removeNotification(row);
         }
-        onChildrenCountChanged();
+        onAttachedChildrenCountChanged();
         row.setIsChildInGroup(false, null);
         row.setBottomRoundness(0.0f, false /* animate */);
     }
@@ -886,15 +904,8 @@
         return mChildrenExpanded;
     }
 
-    public List<ExpandableNotificationRow> getNotificationChildren() {
-        return mChildrenContainer == null ? null : mChildrenContainer.getNotificationChildren();
-    }
-
-    public int getNumberOfNotificationChildren() {
-        if (mChildrenContainer == null) {
-            return 0;
-        }
-        return mChildrenContainer.getNotificationChildren().size();
+    public List<ExpandableNotificationRow> getAttachedChildren() {
+        return mChildrenContainer == null ? null : mChildrenContainer.getAttachedChildren();
     }
 
     /**
@@ -1028,7 +1039,7 @@
         setChronometerRunning(running, mPublicLayout);
         if (mChildrenContainer != null) {
             List<ExpandableNotificationRow> notificationChildren =
-                    mChildrenContainer.getNotificationChildren();
+                    mChildrenContainer.getAttachedChildren();
             for (int i = 0; i < notificationChildren.size(); i++) {
                 ExpandableNotificationRow child = notificationChildren.get(i);
                 child.setChronometerRunning(running);
@@ -1086,6 +1097,18 @@
         updateClickAndFocus();
     }
 
+    /** The click listener for the bubble button. */
+    public View.OnClickListener getBubbleClickListener() {
+        return new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Dependency.get(BubbleController.class)
+                        .onUserChangedBubble(mEntry, !mEntry.isBubble() /* createBubble */);
+                mHeadsUpManager.removeNotification(mEntry.getKey(), true /* releaseImmediately */);
+            }
+        };
+    }
+
     private void updateClickAndFocus() {
         boolean normalChild = !isChildInGroup() || isGroupExpanded();
         boolean clickable = mOnClickListener != null && normalChild;
@@ -1228,7 +1251,7 @@
         mUpdateBackgroundOnUpdate = true;
         reInflateViews();
         if (mChildrenContainer != null) {
-            for (ExpandableNotificationRow child : mChildrenContainer.getNotificationChildren()) {
+            for (ExpandableNotificationRow child : mChildrenContainer.getAttachedChildren()) {
                 child.onUiModeChanged();
             }
         }
@@ -1267,7 +1290,7 @@
         return mNotificationColor;
     }
 
-    private void updateNotificationColor() {
+    public void updateNotificationColor() {
         Configuration currentConfig = getResources().getConfiguration();
         boolean nightMode = (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK)
                 == Configuration.UI_MODE_NIGHT_YES;
@@ -1286,8 +1309,8 @@
     }
 
     public void removeAllChildren() {
-        List<ExpandableNotificationRow> notificationChildren
-                = mChildrenContainer.getNotificationChildren();
+        List<ExpandableNotificationRow> notificationChildren =
+                mChildrenContainer.getAttachedChildren();
         ArrayList<ExpandableNotificationRow> clonedList = new ArrayList<>(notificationChildren);
         for (int i = 0; i < clonedList.size(); i++) {
             ExpandableNotificationRow row = clonedList.get(i);
@@ -1297,7 +1320,7 @@
             mChildrenContainer.removeNotification(row);
             row.setIsChildInGroup(false, null);
         }
-        onChildrenCountChanged();
+        onAttachedChildrenCountChanged();
     }
 
     @Override
@@ -1308,7 +1331,7 @@
     public void setForceUnlocked(boolean forceUnlocked) {
         mForceUnlocked = forceUnlocked;
         if (mIsSummaryWithChildren) {
-            List<ExpandableNotificationRow> notificationChildren = getNotificationChildren();
+            List<ExpandableNotificationRow> notificationChildren = getAttachedChildren();
             for (ExpandableNotificationRow child : notificationChildren) {
                 child.setForceUnlocked(forceUnlocked);
             }
@@ -1324,7 +1347,7 @@
         mEntry.getIcons().getStatusBarIcon().setDismissed();
         if (isChildInGroup()) {
             List<ExpandableNotificationRow> notificationChildren =
-                    mNotificationParent.getNotificationChildren();
+                    mNotificationParent.getAttachedChildren();
             int i = notificationChildren.indexOf(this);
             if (i != -1 && i < notificationChildren.size() - 1) {
                 mChildAfterViewWhenDismissed = notificationChildren.get(i + 1);
@@ -1613,6 +1636,9 @@
         mFalsingManager = falsingManager;
         mStatusbarStateController = statusBarStateController;
         mPeopleNotificationIdentifier = peopleNotificationIdentifier;
+        for (NotificationContentView l : mLayouts) {
+            l.setPeopleNotificationIdentifier(mPeopleNotificationIdentifier);
+        }
     }
 
     private void initDimens() {
@@ -2328,7 +2354,7 @@
         return mGroupManager.isGroupExpanded(mEntry.getSbn());
     }
 
-    private void onChildrenCountChanged() {
+    private void onAttachedChildrenCountChanged() {
         mIsSummaryWithChildren = mChildrenContainer != null
                 && mChildrenContainer.getNotificationChildCount() > 0;
         if (mIsSummaryWithChildren && mChildrenContainer.getHeaderView() == null) {
@@ -2361,7 +2387,7 @@
         // If this is a summary, then add in the children notification channels for the
         // same user and pkg.
         if (mIsSummaryWithChildren) {
-            final List<ExpandableNotificationRow> childrenRows = getNotificationChildren();
+            final List<ExpandableNotificationRow> childrenRows = getAttachedChildren();
             final int numChildren = childrenRows.size();
             for (int i = 0; i < numChildren; i++) {
                 final ExpandableNotificationRow childRow = childrenRows.get(i);
@@ -2468,7 +2494,7 @@
         mHideSensitiveForIntrinsicHeight = hideSensitive;
         if (mIsSummaryWithChildren) {
             List<ExpandableNotificationRow> notificationChildren =
-                    mChildrenContainer.getNotificationChildren();
+                    mChildrenContainer.getAttachedChildren();
             for (int i = 0; i < notificationChildren.size(); i++) {
                 ExpandableNotificationRow child = notificationChildren.get(i);
                 child.setHideSensitiveForIntrinsicHeight(hideSensitive);
@@ -2806,7 +2832,7 @@
         updateBackgroundForGroupState();
         if (mIsSummaryWithChildren) {
             List<ExpandableNotificationRow> notificationChildren =
-                    mChildrenContainer.getNotificationChildren();
+                    mChildrenContainer.getAttachedChildren();
             for (int i = 0; i < notificationChildren.size(); i++) {
                 ExpandableNotificationRow child = notificationChildren.get(i);
                 child.updateBackgroundForGroupState();
@@ -2831,7 +2857,7 @@
             mShowNoBackground = !mShowGroupBackgroundWhenExpanded && isGroupExpanded()
                     && !isGroupExpansionChanging() && !isUserLocked();
             mChildrenContainer.updateHeaderForExpansion(mShowNoBackground);
-            List<ExpandableNotificationRow> children = mChildrenContainer.getNotificationChildren();
+            List<ExpandableNotificationRow> children = mChildrenContainer.getAttachedChildren();
             for (int i = 0; i < children.size(); i++) {
                 children.get(i).updateBackgroundForGroupState();
             }
@@ -3241,7 +3267,7 @@
             pw.print(", alpha: " + mChildrenContainer.getAlpha());
             pw.print(", translationY: " + mChildrenContainer.getTranslationY());
             pw.println();
-            List<ExpandableNotificationRow> notificationChildren = getNotificationChildren();
+            List<ExpandableNotificationRow> notificationChildren = getAttachedChildren();
             pw.println("  Children: " + notificationChildren.size());
             pw.println("  {");
             for(ExpandableNotificationRow child : notificationChildren) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
index ee3b753..5797944 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
@@ -590,7 +590,7 @@
         // handling reset for child notifications
         if (this instanceof ExpandableNotificationRow) {
             ExpandableNotificationRow row = (ExpandableNotificationRow) this;
-            List<ExpandableNotificationRow> children = row.getNotificationChildren();
+            List<ExpandableNotificationRow> children = row.getAttachedChildren();
             if (row.isSummaryWithChildren() && children != null) {
                 for (ExpandableNotificationRow childRow : children) {
                     childRow.resetViewState();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
index 41b248f..3ec8c23 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
@@ -29,6 +29,7 @@
     private final int mClearAllTopPadding;
     private FooterViewButton mDismissButton;
     private FooterViewButton mManageButton;
+    private boolean mShowHistory;
 
     public FooterView(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -72,15 +73,30 @@
                 || touchY > mContent.getY() + mContent.getHeight();
     }
 
+    public void showHistory(boolean showHistory) {
+        mShowHistory = showHistory;
+        if (mShowHistory) {
+            mManageButton.setText(R.string.manage_notifications_history_text);
+            mManageButton.setContentDescription(
+                    mContext.getString(R.string.manage_notifications_history_text));
+        } else {
+            mManageButton.setText(R.string.manage_notifications_text);
+            mManageButton.setContentDescription(
+                    mContext.getString(R.string.manage_notifications_text));
+        }
+    }
+
+    public boolean isHistoryShown() {
+        return mShowHistory;
+    }
+
     @Override
     protected void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         mDismissButton.setText(R.string.clear_all_notifications_text);
         mDismissButton.setContentDescription(
                 mContext.getString(R.string.accessibility_clear_all));
-        mManageButton.setText(R.string.manage_notifications_history_text);
-        mManageButton.setContentDescription(
-                mContext.getString(R.string.manage_notifications_history_text));
+        showHistory(mShowHistory);
     }
 
     public boolean isButtonVisible() {
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 3c3f1b2..bd1745e 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
@@ -16,13 +16,18 @@
 
 package com.android.systemui.statusbar.notification.row;
 
+
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.Notification;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
 import android.os.Build;
+import android.provider.Settings;
 import android.service.notification.StatusBarNotification;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -47,6 +52,7 @@
 import com.android.systemui.statusbar.TransformableView;
 import com.android.systemui.statusbar.notification.NotificationUtils;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationCustomViewWrapper;
 import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
 import com.android.systemui.statusbar.phone.NotificationGroupManager;
@@ -118,6 +124,7 @@
     private NotificationGroupManager mGroupManager;
     private RemoteInputController mRemoteInputController;
     private Runnable mExpandedVisibleListener;
+    private PeopleNotificationIdentifier mPeopleIdentifier;
     /**
      * List of listeners for when content views become inactive (i.e. not the showing view).
      */
@@ -454,6 +461,9 @@
         mExpandedChild = child;
         mExpandedWrapper = NotificationViewWrapper.wrap(getContext(), child,
                 mContainingNotification);
+        if (mContainingNotification != null) {
+            applyBubbleAction(mExpandedChild, mContainingNotification.getEntry());
+        }
     }
 
     /**
@@ -493,6 +503,9 @@
         mHeadsUpChild = child;
         mHeadsUpWrapper = NotificationViewWrapper.wrap(getContext(), child,
                 mContainingNotification);
+        if (mContainingNotification != null) {
+            applyBubbleAction(mHeadsUpChild, mContainingNotification.getEntry());
+        }
     }
 
     @Override
@@ -1138,6 +1151,8 @@
         mForceSelectNextLayout = true;
         mPreviousExpandedRemoteInputIntent = null;
         mPreviousHeadsUpRemoteInputIntent = null;
+        applyBubbleAction(mExpandedChild, entry);
+        applyBubbleAction(mHeadsUpChild, entry);
     }
 
     private void updateAllSingleLineViews() {
@@ -1308,6 +1323,58 @@
         return null;
     }
 
+    /**
+     * Call to update state of the bubble button (i.e. does it show bubble or unbubble or no
+     * icon at all).
+     *
+     * @param entry the new entry to use.
+     */
+    public void updateBubbleButton(NotificationEntry entry) {
+        applyBubbleAction(mExpandedChild, entry);
+    }
+
+    private boolean isBubblesEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, 0) == 1;
+    }
+
+    private void applyBubbleAction(View layout, NotificationEntry entry) {
+        if (layout == null || mContainingNotification == null || mPeopleIdentifier == null) {
+            return;
+        }
+        ImageView bubbleButton = layout.findViewById(com.android.internal.R.id.bubble_button);
+        View actionContainer = layout.findViewById(com.android.internal.R.id.actions_container);
+        if (bubbleButton == null || actionContainer == null) {
+            return;
+        }
+        boolean isPerson =
+                mPeopleIdentifier.getPeopleNotificationType(entry.getSbn(), entry.getRanking())
+                        != PeopleNotificationIdentifier.TYPE_NON_PERSON;
+        boolean showButton = isBubblesEnabled()
+                && isPerson
+                && entry.getBubbleMetadata() != null;
+        if (showButton) {
+            Drawable d = mContext.getResources().getDrawable(entry.isBubble()
+                    ? R.drawable.ic_stop_bubble
+                    : R.drawable.ic_create_bubble);
+            mContainingNotification.updateNotificationColor();
+            final int tint = mContainingNotification.getNotificationColor();
+            d.setTint(tint);
+
+            String contentDescription = mContext.getResources().getString(entry.isBubble()
+                    ? R.string.notification_conversation_unbubble
+                    : R.string.notification_conversation_bubble);
+
+            bubbleButton.setContentDescription(contentDescription);
+            bubbleButton.setImageDrawable(d);
+            bubbleButton.setOnClickListener(mContainingNotification.getBubbleClickListener());
+            bubbleButton.setVisibility(VISIBLE);
+            actionContainer.setVisibility(VISIBLE);
+        } else  {
+            bubbleButton.setVisibility(GONE);
+        }
+    }
+
     private void applySmartReplyView(
             SmartRepliesAndActions smartRepliesAndActions,
             NotificationEntry entry) {
@@ -1512,6 +1579,10 @@
         mContainingNotification = containingNotification;
     }
 
+    public void setPeopleNotificationIdentifier(PeopleNotificationIdentifier peopleIdentifier) {
+        mPeopleIdentifier = peopleIdentifier;
+    }
+
     public void requestSelectLayout(boolean needsAnimation) {
         selectLayout(needsAnimation, false);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
index 6fc1264..55a5935 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
@@ -17,9 +17,13 @@
 package com.android.systemui.statusbar.notification.row;
 
 import static android.app.Notification.EXTRA_IS_GROUP_CONVERSATION;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
 import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
 
 import static com.android.systemui.Interpolators.FAST_OUT_SLOW_IN;
 
@@ -31,6 +35,7 @@
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -38,11 +43,10 @@
 import android.content.pm.ShortcutInfo;
 import android.content.pm.ShortcutManager;
 import android.graphics.drawable.Icon;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.Parcelable;
 import android.os.RemoteException;
-import android.os.UserHandle;
+import android.provider.Settings;
 import android.service.notification.StatusBarNotification;
 import android.text.TextUtils;
 import android.transition.ChangeBounds;
@@ -51,7 +55,7 @@
 import android.transition.TransitionSet;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.util.Slog;
+import android.view.LayoutInflater;
 import android.view.View;
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.ImageView;
@@ -61,13 +65,17 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settingslib.notification.ConversationIconFactory;
 import com.android.systemui.Dependency;
+import com.android.systemui.Prefs;
 import com.android.systemui.R;
+import com.android.systemui.statusbar.notification.NotificationChannelHelper;
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 
 import java.lang.annotation.Retention;
 import java.util.List;
 
+import javax.inject.Provider;
+
 /**
  * The guts of a conversation notification revealed when performing a long press.
  */
@@ -90,7 +98,11 @@
     private ShortcutInfo mShortcutInfo;
     private String mConversationId;
     private StatusBarNotification mSbn;
+    private Notification.BubbleMetadata mBubbleMetadata;
+    private Context mUserContext;
+    private Provider<PriorityOnboardingDialogController.Builder> mBuilderProvider;
     private boolean mIsDeviceProvisioned;
+    private int mAppBubble;
 
     private TextView mPriorityDescriptionView;
     private TextView mDefaultDescriptionView;
@@ -132,17 +144,17 @@
     */
 
     private OnClickListener mOnFavoriteClick = v -> {
-        mSelectedAction = ACTION_FAVORITE;
+        setSelectedAction(ACTION_FAVORITE);
         updateToggleActions(mSelectedAction, true);
     };
 
     private OnClickListener mOnDefaultClick = v -> {
-        mSelectedAction = ACTION_DEFAULT;
+        setSelectedAction(ACTION_DEFAULT);
         updateToggleActions(mSelectedAction, true);
     };
 
     private OnClickListener mOnMuteClick = v -> {
-        mSelectedAction = ACTION_MUTE;
+        setSelectedAction(ACTION_MUTE);
         updateToggleActions(mSelectedAction, true);
     };
 
@@ -166,6 +178,23 @@
         void onClick(View v, int hoursToSnooze);
     }
 
+    @VisibleForTesting
+    void setSelectedAction(int selectedAction) {
+        if (mSelectedAction == selectedAction) {
+            return;
+        }
+
+        mSelectedAction = selectedAction;
+        onSelectedActionChanged();
+    }
+
+    private void onSelectedActionChanged() {
+        // If the user selected Priority, maybe show the priority onboarding
+        if (mSelectedAction == ACTION_FAVORITE && shouldShowPriorityOnboarding()) {
+            showPriorityOnboarding();
+        }
+    }
+
     public void bindNotification(
             ShortcutManager shortcutManager,
             PackageManager pm,
@@ -177,6 +206,8 @@
             OnSettingsClickListener onSettingsClick,
             OnSnoozeClickListener onSnoozeClickListener,
             ConversationIconFactory conversationIconFactory,
+            Context userContext,
+            Provider<PriorityOnboardingDialogController.Builder> builderProvider,
             boolean isDeviceProvisioned) {
         mSelectedAction = -1;
         mINotificationManager = iNotificationManager;
@@ -192,6 +223,9 @@
         mIsDeviceProvisioned = isDeviceProvisioned;
         mOnSnoozeClickListener = onSnoozeClickListener;
         mIconFactory = conversationIconFactory;
+        mUserContext = userContext;
+        mBubbleMetadata = entry.getBubbleMetadata();
+        mBuilderProvider = builderProvider;
 
         mShortcutManager = shortcutManager;
         mConversationId = mNotificationChannel.getConversationId();
@@ -203,7 +237,15 @@
         }
         mShortcutInfo = entry.getRanking().getShortcutInfo();
 
-        createConversationChannelIfNeeded();
+        mNotificationChannel = NotificationChannelHelper.createConversationChannelIfNeeded(
+                getContext(), mINotificationManager, entry, mNotificationChannel);
+
+        try {
+            mAppBubble = mINotificationManager.getBubblePreferenceForPackage(mPackageName, mAppUid);
+        } catch (RemoteException e) {
+            Log.e(TAG, "can't reach OS", e);
+            mAppBubble = BUBBLE_PREFERENCE_SELECTED;
+        }
 
         bindHeader();
         bindActions();
@@ -212,27 +254,6 @@
         done.setOnClickListener(mOnDone);
     }
 
-    void createConversationChannelIfNeeded() {
-        // If this channel is not already a customized conversation channel, create
-        // a custom channel
-        if (TextUtils.isEmpty(mNotificationChannel.getConversationId())) {
-            try {
-                // TODO: remove
-                mNotificationChannel.setName(mContext.getString(
-                        R.string.notification_summary_message_format,
-                        getName(), mNotificationChannel.getName()));
-                mINotificationManager.createConversationNotificationChannelForPackage(
-                        mPackageName, mAppUid, mSbn.getKey(), mNotificationChannel,
-                        mConversationId);
-                mNotificationChannel = mINotificationManager.getConversationNotificationChannel(
-                        mContext.getOpPackageName(), UserHandle.getUserId(mAppUid), mPackageName,
-                        mNotificationChannel.getId(), false, mConversationId);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Could not create conversation channel", e);
-            }
-        }
-    }
-
     private void bindActions() {
 
         // TODO: b/152050825
@@ -247,6 +268,11 @@
         snooze.setOnClickListener(mOnSnoozeClick);
         */
 
+        if (mAppBubble == BUBBLE_PREFERENCE_ALL) {
+            ((TextView) findViewById(R.id.default_summary)).setText(getResources().getString(
+                    R.string.notification_channel_summary_default_with_bubbles, mAppName));
+        }
+
         findViewById(R.id.priority).setOnClickListener(mOnFavoriteClick);
         findViewById(R.id.default_behavior).setOnClickListener(mOnDefaultClick);
         findViewById(R.id.silence).setOnClickListener(mOnMuteClick);
@@ -284,7 +310,6 @@
         // bindName();
         bindPackage();
         bindIcon(mNotificationChannel.isImportantConversation());
-
     }
 
     private void bindIcon(boolean important) {
@@ -316,24 +341,6 @@
         }
     }
 
-    private void bindName() {
-        TextView name = findViewById(R.id.name);
-        name.setText(getName());
-    }
-
-    private String getName() {
-        if (mShortcutInfo != null) {
-            return mShortcutInfo.getShortLabel().toString();
-        } else {
-            Bundle extras = mSbn.getNotification().extras;
-            String nameString = extras.getString(Notification.EXTRA_CONVERSATION_TITLE);
-            if (TextUtils.isEmpty(nameString)) {
-                nameString = extras.getString(Notification.EXTRA_TITLE);
-            }
-            return nameString;
-        }
-    }
-
     private void bindPackage() {
         ApplicationInfo info;
         try {
@@ -514,6 +521,38 @@
                         mAppUid, mSelectedAction, mNotificationChannel));
     }
 
+    private boolean shouldShowPriorityOnboarding() {
+        return !Prefs.getBoolean(mUserContext, Prefs.Key.HAS_SEEN_PRIORITY_ONBOARDING, false);
+    }
+
+    private void showPriorityOnboarding() {
+        View onboardingView = LayoutInflater.from(mContext)
+                .inflate(R.layout.priority_onboarding_half_shell, null);
+
+        boolean ignoreDnd = false;
+        try {
+            ignoreDnd = (mINotificationManager
+                    .getConsolidatedNotificationPolicy().priorityConversationSenders
+                    & NotificationManager.Policy.CONVERSATION_SENDERS_IMPORTANT) != 0;
+        } catch (RemoteException e) {
+            Log.e(TAG, "Could not check conversation senders", e);
+        }
+
+        boolean showAsBubble = mBubbleMetadata.getAutoExpandBubble()
+                && Settings.Global.getInt(mContext.getContentResolver(),
+                        NOTIFICATION_BUBBLES, 0) == 1;
+
+        PriorityOnboardingDialogController controller = mBuilderProvider.get()
+                .setContext(mUserContext)
+                .setView(onboardingView)
+                .setIgnoresDnd(ignoreDnd)
+                .setShowsAsBubble(showAsBubble)
+                .build();
+
+        controller.init();
+        controller.show();
+    }
+
     /**
      * Closes the controls and commits the updated importance values (indirectly).
      *
@@ -598,6 +637,10 @@
                                 !mChannelToUpdate.isImportantConversation());
                         if (mChannelToUpdate.isImportantConversation()) {
                             mChannelToUpdate.setAllowBubbles(true);
+                            if (mAppBubble == BUBBLE_PREFERENCE_NONE) {
+                                mINotificationManager.setBubblesAllowed(mAppPkg, mAppUid,
+                                        BUBBLE_PREFERENCE_SELECTED);
+                            }
                         }
                         mChannelToUpdate.setImportance(Math.max(
                                 mChannelToUpdate.getOriginalImportance(), IMPORTANCE_DEFAULT));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
index 2487d1a..624fabc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
@@ -49,6 +49,7 @@
 import com.android.systemui.dagger.qualifiers.Main;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.settings.CurrentUserContextTracker;
 import com.android.systemui.statusbar.NotificationLifetimeExtender;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
 import com.android.systemui.statusbar.NotificationPresenter;
@@ -67,6 +68,8 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
+import javax.inject.Provider;
+
 import dagger.Lazy;
 
 /**
@@ -111,6 +114,8 @@
     private final INotificationManager mNotificationManager;
     private final LauncherApps mLauncherApps;
     private final ShortcutManager mShortcutManager;
+    private final CurrentUserContextTracker mContextTracker;
+    private final Provider<PriorityOnboardingDialogController.Builder> mBuilderProvider;
 
     /**
      * Injected constructor. See {@link NotificationsModule}.
@@ -121,7 +126,9 @@
             HighPriorityProvider highPriorityProvider,
             INotificationManager notificationManager,
             LauncherApps launcherApps,
-            ShortcutManager shortcutManager) {
+            ShortcutManager shortcutManager,
+            CurrentUserContextTracker contextTracker,
+            Provider<PriorityOnboardingDialogController.Builder> builderProvider) {
         mContext = context;
         mVisualStabilityManager = visualStabilityManager;
         mStatusBarLazy = statusBarLazy;
@@ -131,6 +138,8 @@
         mNotificationManager = notificationManager;
         mLauncherApps = launcherApps;
         mShortcutManager = shortcutManager;
+        mContextTracker = contextTracker;
+        mBuilderProvider = builderProvider;
     }
 
     public void setUpWithPresenter(NotificationPresenter presenter,
@@ -403,6 +412,8 @@
                 onSettingsClick,
                 onSnoozeClickListener,
                 iconFactoryLoader,
+                mContextTracker.getCurrentUserContext(),
+                mBuilderProvider,
                 mDeviceProvisionedController.isDeviceProvisioned());
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/PriorityOnboardingDialogController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/PriorityOnboardingDialogController.kt
new file mode 100644
index 0000000..d1b4052
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/PriorityOnboardingDialogController.kt
@@ -0,0 +1,146 @@
+/*
+ * 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.row
+
+import android.app.Dialog
+import android.content.Context
+import android.graphics.Color
+import android.graphics.PixelFormat
+import android.graphics.drawable.ColorDrawable
+import android.view.Gravity
+import android.view.View
+import android.view.View.GONE
+import android.view.ViewGroup.LayoutParams.MATCH_PARENT
+import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
+import android.view.Window
+import android.view.WindowInsets.Type.statusBars
+import android.view.WindowManager
+import android.widget.LinearLayout
+import android.widget.TextView
+import com.android.systemui.Prefs
+import com.android.systemui.R
+import java.lang.IllegalStateException
+import javax.inject.Inject
+
+/**
+ * Controller to handle presenting the priority conversations onboarding dialog
+ */
+class PriorityOnboardingDialogController @Inject constructor(
+    val view: View,
+    val context: Context,
+    val ignoresDnd: Boolean,
+    val showsAsBubble: Boolean
+) {
+
+    private lateinit var dialog: Dialog
+
+    fun init() {
+        initDialog()
+    }
+
+    fun show() {
+        dialog.show()
+    }
+
+    private fun done() {
+        // Log that the user has seen the onboarding
+        Prefs.putBoolean(context, Prefs.Key.HAS_SEEN_PRIORITY_ONBOARDING, true)
+        dialog.dismiss()
+    }
+
+    class Builder @Inject constructor() {
+        private lateinit var view: View
+        private lateinit var context: Context
+        private var ignoresDnd = false
+        private var showAsBubble = false
+
+        fun setView(v: View): Builder {
+            view = v
+            return this
+        }
+
+        fun setContext(c: Context): Builder {
+            context = c
+            return this
+        }
+
+        fun setIgnoresDnd(ignore: Boolean): Builder {
+            ignoresDnd = ignore
+            return this
+        }
+
+        fun setShowsAsBubble(bubble: Boolean): Builder {
+            showAsBubble = bubble
+            return this
+        }
+
+        fun build(): PriorityOnboardingDialogController {
+            val controller = PriorityOnboardingDialogController(
+                    view, context, ignoresDnd, showAsBubble)
+            return controller
+        }
+    }
+
+    private fun initDialog() {
+        dialog = Dialog(context)
+
+        if (dialog.window == null) {
+            throw IllegalStateException("Need a window for the onboarding dialog to show")
+        }
+
+        dialog.window?.requestFeature(Window.FEATURE_NO_TITLE)
+        // Prevent a11y readers from reading the first element in the dialog twice
+        dialog.setTitle("\u00A0")
+        dialog.apply {
+            setContentView(view)
+            setCanceledOnTouchOutside(true)
+
+            findViewById<TextView>(R.id.done_button)?.setOnClickListener {
+                done()
+            }
+
+            if (!ignoresDnd) {
+                findViewById<LinearLayout>(R.id.ignore_dnd_tip).visibility = GONE
+            }
+
+            if (!showsAsBubble) {
+                findViewById<LinearLayout>(R.id.floating_bubble_tip).visibility = GONE
+            }
+
+            window?.apply {
+                setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+                addFlags(wmFlags)
+                setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL)
+                setWindowAnimations(com.android.internal.R.style.Animation_InputMethod)
+
+                attributes = attributes.apply {
+                    format = PixelFormat.TRANSLUCENT
+                    title = ChannelEditorDialogController::class.java.simpleName
+                    gravity = Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL
+                    fitInsetsTypes = attributes.fitInsetsTypes and statusBars().inv()
+                    width = MATCH_PARENT
+                    height = WRAP_CONTENT
+                }
+            }
+        }
+    }
+
+    private val wmFlags = (WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
+            or WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
+            or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
+            or WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED)
+}
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 7ac0662..e20be2b 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
@@ -18,7 +18,6 @@
 
 import static com.android.systemui.statusbar.notification.TransformState.TRANSFORM_Y;
 
-import android.annotation.NonNull;
 import android.app.AppOpsManager;
 import android.app.Notification;
 import android.content.Context;
@@ -133,15 +132,6 @@
         if (mAppOps != null) {
             mAppOps.setOnClickListener(listener);
         }
-        if (mCameraIcon != null) {
-            mCameraIcon.setOnClickListener(listener);
-        }
-        if (mMicIcon != null) {
-            mMicIcon.setOnClickListener(listener);
-        }
-        if (mOverlayIcon != null) {
-            mOverlayIcon.setOnClickListener(listener);
-        }
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
index 874d81d..2da2724 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
@@ -193,7 +193,8 @@
                     mBackgroundColor,
                     mActions,
                     compactActions,
-                    notif.contentIntent);
+                    notif.contentIntent,
+                    sbn.getKey());
             QSPanel bigPanel = ctrl.getNotificationShadeView().findViewById(
                     com.android.systemui.R.id.quick_settings_panel);
             bigPanel.addMediaSession(token,
@@ -201,7 +202,8 @@
                     tintColor,
                     mBackgroundColor,
                     mActions,
-                    sbn);
+                    sbn,
+                    sbn.getKey());
         }
 
         boolean showCompactSeekbar = mMediaManager.getShowCompactMediaSeekbar();
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 400e794..351a3ef 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
@@ -65,7 +65,7 @@
     }.setDuration(200);
 
     private final List<View> mDividers = new ArrayList<>();
-    private final List<ExpandableNotificationRow> mChildren = new ArrayList<>();
+    private final List<ExpandableNotificationRow> mAttachedChildren = new ArrayList<>();
     private final HybridGroupManager mHybridGroupManager;
     private int mChildPadding;
     private int mDividerHeight;
@@ -105,6 +105,7 @@
     private int mTranslationForHeader;
     private int mCurrentHeaderTranslation = 0;
     private float mHeaderVisibleAmount = 1.0f;
+    private int mUntruncatedChildCount;
 
     public NotificationChildrenContainer(Context context) {
         this(context, null);
@@ -153,9 +154,10 @@
 
     @Override
     protected void onLayout(boolean changed, int l, int t, int r, int b) {
-        int childCount = Math.min(mChildren.size(), NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED);
+        int childCount =
+                Math.min(mAttachedChildren.size(), NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED);
         for (int i = 0; i < childCount; i++) {
-            View child = mChildren.get(i);
+            View child = mAttachedChildren.get(i);
             // We need to layout all children even the GONE ones, such that the heights are
             // calculated correctly as they are used to calculate how many we can fit on the screen
             child.layout(0, 0, child.getMeasuredWidth(), child.getMeasuredHeight());
@@ -195,11 +197,12 @@
         }
         int dividerHeightSpec = MeasureSpec.makeMeasureSpec(mDividerHeight, MeasureSpec.EXACTLY);
         int height = mNotificationHeaderMargin + mNotificatonTopPadding;
-        int childCount = Math.min(mChildren.size(), NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED);
+        int childCount =
+                Math.min(mAttachedChildren.size(), NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED);
         int collapsedChildren = getMaxAllowedVisibleChildren(true /* likeCollapsed */);
         int overflowIndex = childCount > collapsedChildren ? collapsedChildren - 1 : -1;
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             // We need to measure all children even the GONE ones, such that the heights are
             // calculated correctly as they are used to calculate how many we can fit on the screen.
             boolean isOverflow = i == overflowIndex;
@@ -242,14 +245,24 @@
     }
 
     /**
+     * Set the untruncated number of children in the group so that the view can update the UI
+     * appropriately. Note that this may differ from the number of views attached as truncated
+     * children will not have views.
+     */
+    public void setUntruncatedChildCount(int childCount) {
+        mUntruncatedChildCount = childCount;
+        updateGroupOverflow();
+    }
+
+    /**
      * Add a child notification to this view.
      *
      * @param row the row to add
      * @param childIndex the index to add it at, if -1 it will be added at the end
      */
     public void addNotification(ExpandableNotificationRow row, int childIndex) {
-        int newIndex = childIndex < 0 ? mChildren.size() : childIndex;
-        mChildren.add(newIndex, row);
+        int newIndex = childIndex < 0 ? mAttachedChildren.size() : childIndex;
+        mAttachedChildren.add(newIndex, row);
         addView(row);
         row.setUserLocked(mUserLocked);
 
@@ -257,7 +270,6 @@
         addView(divider);
         mDividers.add(newIndex, divider);
 
-        updateGroupOverflow();
         row.setContentTransformationAmount(0, false /* isLastChild */);
         // It doesn't make sense to keep old animations around, lets cancel them!
         ExpandableViewState viewState = row.getViewState();
@@ -268,8 +280,8 @@
     }
 
     public void removeNotification(ExpandableNotificationRow row) {
-        int childIndex = mChildren.indexOf(row);
-        mChildren.remove(row);
+        int childIndex = mAttachedChildren.indexOf(row);
+        mAttachedChildren.remove(row);
         removeView(row);
 
         final View divider = mDividers.remove(childIndex);
@@ -284,7 +296,6 @@
 
         row.setSystemChildExpanded(false);
         row.setUserLocked(false);
-        updateGroupOverflow();
         if (!row.isRemoved()) {
             mHeaderUtil.restoreNotificationHeader(row);
         }
@@ -294,7 +305,7 @@
      * @return The number of notification children in the container.
      */
     public int getNotificationChildCount() {
-        return mChildren.size();
+        return mAttachedChildren.size();
     }
 
     public void recreateNotificationHeader(OnClickListener listener) {
@@ -364,10 +375,9 @@
     }
 
     public void updateGroupOverflow() {
-        int childCount = mChildren.size();
         int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(true /* likeCollapsed */);
-        if (childCount > maxAllowedVisibleChildren) {
-            int number = childCount - maxAllowedVisibleChildren;
+        if (mUntruncatedChildCount > maxAllowedVisibleChildren) {
+            int number = mUntruncatedChildCount - maxAllowedVisibleChildren;
             mOverflowNumber = mHybridGroupManager.bindOverflowNumber(mOverflowNumber, number);
             if (mGroupOverFlowState == null) {
                 mGroupOverFlowState = new ViewState();
@@ -401,8 +411,11 @@
                 R.layout.notification_children_divider, this, false);
     }
 
-    public List<ExpandableNotificationRow> getNotificationChildren() {
-        return mChildren;
+    /**
+     * Get notification children that are attached currently.
+     */
+    public List<ExpandableNotificationRow> getAttachedChildren() {
+        return mAttachedChildren;
     }
 
     /**
@@ -420,13 +433,13 @@
             return false;
         }
         boolean result = false;
-        for (int i = 0; i < mChildren.size() && i < childOrder.size(); i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+        for (int i = 0; i < mAttachedChildren.size() && i < childOrder.size(); i++) {
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             ExpandableNotificationRow desiredChild = (ExpandableNotificationRow) childOrder.get(i);
             if (child != desiredChild) {
                 if (visualStabilityManager.canReorderNotification(desiredChild)) {
-                    mChildren.remove(desiredChild);
-                    mChildren.add(i, desiredChild);
+                    mAttachedChildren.remove(desiredChild);
+                    mAttachedChildren.add(i, desiredChild);
                     result = true;
                 } else {
                     visualStabilityManager.addReorderingAllowedCallback(callback);
@@ -442,9 +455,9 @@
             // we don't modify it the group is expanded or if we are expanding it
             return;
         }
-        int size = mChildren.size();
+        int size = mAttachedChildren.size();
         for (int i = 0; i < size; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             child.setSystemChildExpanded(i == 0 && size == 1);
         }
     }
@@ -468,7 +481,7 @@
         }
         int intrinsicHeight = mNotificationHeaderMargin + mCurrentHeaderTranslation;
         int visibleChildren = 0;
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         boolean firstChild = true;
         float expandFactor = 0;
         if (mUserLocked) {
@@ -499,7 +512,7 @@
                 }
                 firstChild = false;
             }
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             intrinsicHeight += child.getIntrinsicHeight();
             visibleChildren++;
         }
@@ -518,7 +531,7 @@
      * @param ambientState the ambient state containing ambient information
      */
     public void updateState(ExpandableViewState parentState, AmbientState ambientState) {
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         int yPosition = mNotificationHeaderMargin + mCurrentHeaderTranslation;
         boolean firstChild = true;
         int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren();
@@ -535,7 +548,7 @@
                 && !mContainingNotification.isGroupExpansionChanging();
         int launchTransitionCompensation = 0;
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             if (!firstChild) {
                 if (expandingToExpandedGroup) {
                     yPosition += NotificationUtils.interpolate(mChildPadding, mDividerHeight,
@@ -586,7 +599,7 @@
 
         }
         if (mOverflowNumber != null) {
-            ExpandableNotificationRow overflowView = mChildren.get(Math.min(
+            ExpandableNotificationRow overflowView = mAttachedChildren.get(Math.min(
                     getMaxAllowedVisibleChildren(true /* likeCollapsed */), childCount) - 1);
             mGroupOverFlowState.copyFrom(overflowView.getViewState());
 
@@ -672,7 +685,7 @@
 
     /** Applies state to children. */
     public void applyState() {
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         ViewState tmpState = new ViewState();
         float expandFraction = 0.0f;
         if (mUserLocked) {
@@ -683,7 +696,7 @@
                 || (mContainingNotification.isGroupExpansionChanging()
                 && !mHideDividersDuringExpand);
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             ExpandableViewState viewState = child.getViewState();
             viewState.applyToView(child);
 
@@ -716,10 +729,10 @@
         if (mContainingNotification.hasExpandingChild()) {
             return;
         }
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         int layoutEnd = mContainingNotification.getActualHeight() - mClipBottomAmount;
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             if (child.getVisibility() == GONE) {
                 continue;
             }
@@ -754,7 +767,7 @@
 
     /** Animate to a given state. */
     public void startAnimationToState(AnimationProperties properties) {
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         ViewState tmpState = new ViewState();
         float expandFraction = getGroupExpandFraction();
         final boolean dividersVisible = mUserLocked && !showingAsLowPriority()
@@ -762,7 +775,7 @@
                 || (mContainingNotification.isGroupExpansionChanging()
                 && !mHideDividersDuringExpand);
         for (int i = childCount - 1; i >= 0; i--) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             ExpandableViewState viewState = child.getViewState();
             viewState.animateTo(child, properties);
 
@@ -799,9 +812,9 @@
 
     public ExpandableNotificationRow getViewAtPosition(float y) {
         // find the view under the pointer, accounting for GONE views
-        final int count = mChildren.size();
+        final int count = mAttachedChildren.size();
         for (int childIdx = 0; childIdx < count; childIdx++) {
-            ExpandableNotificationRow slidingChild = mChildren.get(childIdx);
+            ExpandableNotificationRow slidingChild = mAttachedChildren.get(childIdx);
             float childTop = slidingChild.getTranslationY();
             float top = childTop + slidingChild.getClipTopAmount();
             float bottom = childTop + slidingChild.getActualHeight();
@@ -818,9 +831,9 @@
         if (mNotificationHeader != null) {
             mNotificationHeader.setExpanded(childrenExpanded);
         }
-        final int count = mChildren.size();
+        final int count = mAttachedChildren.size();
         for (int childIdx = 0; childIdx < count; childIdx++) {
-            ExpandableNotificationRow child = mChildren.get(childIdx);
+            ExpandableNotificationRow child = mAttachedChildren.get(childIdx);
             child.setChildrenExpanded(childrenExpanded, false);
         }
         updateHeaderTouchability();
@@ -919,12 +932,12 @@
     private void startChildAlphaAnimations(boolean toVisible) {
         float target = toVisible ? 1.0f : 0.0f;
         float start = 1.0f - target;
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         for (int i = 0; i < childCount; i++) {
             if (i >= NUMBER_OF_CHILDREN_WHEN_SYSTEM_EXPANDED) {
                 break;
             }
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             child.setAlpha(start);
             ViewState viewState = new ViewState();
             viewState.initFrom(child);
@@ -979,12 +992,12 @@
         int maxContentHeight = mNotificationHeaderMargin + mCurrentHeaderTranslation
                 + mNotificatonTopPadding;
         int visibleChildren = 0;
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         for (int i = 0; i < childCount; i++) {
             if (visibleChildren >= NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED) {
                 break;
             }
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             float childHeight = child.isExpanded(true /* allowOnKeyguard */)
                     ? child.getMaxExpandHeight()
                     : child.getShowingLayout().getMinHeight(true /* likeGroupExpanded */);
@@ -1006,9 +1019,9 @@
         boolean showingLowPriority = showingAsLowPriority();
         updateHeaderTransformation();
         int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(true /* forceCollapsed */);
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             float childHeight;
             if (showingLowPriority) {
                 childHeight = child.getShowingLayout().getMinHeight(false /* likeGroupExpanded */);
@@ -1042,13 +1055,13 @@
         int intrinsicHeight = mNotificationHeaderMargin + mCurrentHeaderTranslation
                 + mNotificatonTopPadding + mDividerHeight;
         int visibleChildren = 0;
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         int maxAllowedVisibleChildren = getMaxAllowedVisibleChildren(true /* forceCollapsed */);
         for (int i = 0; i < childCount; i++) {
             if (visibleChildren >= maxAllowedVisibleChildren) {
                 break;
             }
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             float childHeight = child.isExpanded(true /* allowOnKeyguard */)
                     ? child.getMaxExpandHeight()
                     : child.getShowingLayout().getMinHeight(true /* likeGroupExpanded */);
@@ -1097,7 +1110,7 @@
         int minExpandHeight = mNotificationHeaderMargin + headerTranslation;
         int visibleChildren = 0;
         boolean firstChild = true;
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         for (int i = 0; i < childCount; i++) {
             if (visibleChildren >= maxAllowedVisibleChildren) {
                 break;
@@ -1107,7 +1120,7 @@
             } else {
                 firstChild = false;
             }
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             minExpandHeight += child.getSingleLineView().getHeight();
             visibleChildren++;
         }
@@ -1149,9 +1162,9 @@
         if (!mUserLocked) {
             updateHeaderVisibility(false /* animate */);
         }
-        int childCount = mChildren.size();
+        int childCount = mAttachedChildren.size();
         for (int i = 0; i < childCount; i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             child.setUserLocked(userLocked && !showingAsLowPriority());
         }
         updateHeaderTouchability();
@@ -1172,8 +1185,8 @@
         int position = mNotificationHeaderMargin + mCurrentHeaderTranslation
                 + mNotificatonTopPadding;
 
-        for (int i = 0; i < mChildren.size(); i++) {
-            ExpandableNotificationRow child = mChildren.get(i);
+        for (int i = 0; i < mAttachedChildren.size(); i++) {
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             boolean notGone = child.getVisibility() != View.GONE;
             if (notGone) {
                 position += mDividerHeight;
@@ -1251,8 +1264,8 @@
 
     public void setCurrentBottomRoundness(float currentBottomRoundness) {
         boolean last = true;
-        for (int i = mChildren.size() - 1; i >= 0; i--) {
-            ExpandableNotificationRow child = mChildren.get(i);
+        for (int i = mAttachedChildren.size() - 1; i >= 0; i--) {
+            ExpandableNotificationRow child = mAttachedChildren.get(i);
             if (child.getVisibility() == View.GONE) {
                 continue;
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListItem.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListItem.java
index 8991abe..c2dd229 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListItem.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListItem.java
@@ -43,7 +43,7 @@
 
     // This generic is kind of ugly - we should change this once the old VHM is gone
     /** @return list of the children of this item */
-    List<? extends NotificationListItem> getNotificationChildren();
+    List<? extends NotificationListItem> getAttachedChildren();
 
     /** remove all children from this list item */
     void removeAllChildren();
@@ -54,6 +54,9 @@
     /** add an item as a child */
     void addChildNotification(NotificationListItem child, int childIndex);
 
+    /** set the child count view should display */
+    void setUntruncatedChildCount(int count);
+
     /** Update the order of the children with the new list */
     boolean applyChildOrder(
             List<? extends NotificationListItem> childOrderList,
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 6054b50..3ba6954 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
@@ -628,8 +628,11 @@
                 mHighPriorityBeforeSpeedBump = "1".equals(newValue);
             } else if (key.equals(Settings.Secure.NOTIFICATION_DISMISS_RTL)) {
                 updateDismissRtlSetting("1".equals(newValue));
+            } else if (key.equals(Settings.Secure.NOTIFICATION_HISTORY_ENABLED)) {
+                updateFooter();
             }
-        }, HIGH_PRIORITY, Settings.Secure.NOTIFICATION_DISMISS_RTL);
+        }, HIGH_PRIORITY, Settings.Secure.NOTIFICATION_DISMISS_RTL,
+                Settings.Secure.NOTIFICATION_HISTORY_ENABLED);
 
         mFeatureFlags = featureFlags;
         mNotifPipeline = notifPipeline;
@@ -742,12 +745,17 @@
     @VisibleForTesting
     @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     public void updateFooter() {
+        if (mFooterView == null) {
+            return;
+        }
         boolean showDismissView = mClearAllEnabled && hasActiveClearableNotifications(ROWS_ALL);
         boolean showFooterView = (showDismissView || hasActiveNotifications())
                 && mStatusBarState != StatusBarState.KEYGUARD
                 && !mRemoteInputManager.getController().isRemoteInputActive();
+        boolean showHistory = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.NOTIFICATION_HISTORY_ENABLED, 0) == 1;
 
-        updateFooterView(showFooterView, showDismissView);
+        updateFooterView(showFooterView, showDismissView, showHistory);
     }
 
     /**
@@ -2377,7 +2385,7 @@
                 ExpandableNotificationRow row = (ExpandableNotificationRow) child;
                 if (row.isSummaryWithChildren() && row.areChildrenExpanded()) {
                     List<ExpandableNotificationRow> notificationChildren =
-                            row.getNotificationChildren();
+                            row.getAttachedChildren();
                     for (int childIndex = 0; childIndex < notificationChildren.size();
                             childIndex++) {
                         ExpandableNotificationRow rowChild = notificationChildren.get(childIndex);
@@ -4638,7 +4646,7 @@
                 ExpandableNotificationRow row = (ExpandableNotificationRow) view;
                 row.setHeadsUpAnimatingAway(false);
                 if (row.isSummaryWithChildren()) {
-                    for (ExpandableNotificationRow child : row.getNotificationChildren()) {
+                    for (ExpandableNotificationRow child : row.getAttachedChildren()) {
                         child.setHeadsUpAnimatingAway(false);
                     }
                 }
@@ -4979,13 +4987,14 @@
     }
 
     @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
-    public void updateFooterView(boolean visible, boolean showDismissView) {
+    public void updateFooterView(boolean visible, boolean showDismissView, boolean showHistory) {
         if (mFooterView == null) {
             return;
         }
         boolean animate = mIsExpanded && mAnimationsEnabled;
         mFooterView.setVisible(visible, animate);
         mFooterView.setSecondaryVisible(showDismissView, animate);
+        mFooterView.showHistory(showHistory);
     }
 
     @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
@@ -5566,12 +5575,6 @@
     }
 
     @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
-    public void manageNotifications(View v) {
-        Intent intent = new Intent(Settings.ACTION_NOTIFICATION_HISTORY);
-        mStatusBar.startActivity(intent, true, true, Intent.FLAG_ACTIVITY_SINGLE_TOP);
-    }
-
-    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
     @VisibleForTesting
     void clearNotifications(
             @SelectedRows int selection,
@@ -5598,7 +5601,7 @@
                         && (!hasClipBounds || mTmpRect.height() > 0)) {
                     parentVisible = true;
                 }
-                List<ExpandableNotificationRow> children = row.getNotificationChildren();
+                List<ExpandableNotificationRow> children = row.getAttachedChildren();
                 if (children != null) {
                     for (ExpandableNotificationRow childRow : children) {
                         if (includeChildInDismissAll(row, selection)) {
@@ -5705,7 +5708,12 @@
             mMetricsLogger.action(MetricsEvent.ACTION_DISMISS_ALL_NOTES);
             clearNotifications(ROWS_ALL, true /* closeShade */);
         });
-        footerView.setManageButtonClickListener(this::manageNotifications);
+        footerView.setManageButtonClickListener(v -> {
+            Intent intent = footerView.isHistoryShown() ? new Intent(
+                    Settings.ACTION_NOTIFICATION_HISTORY) : new Intent(
+                    Settings.ACTION_NOTIFICATION_SETTINGS);
+            mStatusBar.startActivity(intent, true, true, Intent.FLAG_ACTIVITY_SINGLE_TOP);
+        });
         setFooterView(footerView);
     }
 
@@ -6388,7 +6396,7 @@
                 if (parent != null && parent.areChildrenExpanded()
                         && (parent.areGutsExposed()
                         || mSwipeHelper.getExposedMenuView() == parent
-                        || (parent.getNotificationChildren().size() == 1
+                        || (parent.getAttachedChildren().size() == 1
                         && parent.getEntry().isClearable()))) {
                     // In this case the group is expanded and showing the menu for the
                     // group, further interaction should apply to the group, not any
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 9646c01..1a15377 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
@@ -297,7 +297,7 @@
                     ExpandableNotificationRow row = (ExpandableNotificationRow) v;
 
                     // handle the notgoneIndex for the children as well
-                    List<ExpandableNotificationRow> children = row.getNotificationChildren();
+                    List<ExpandableNotificationRow> children = row.getAttachedChildren();
                     if (row.isSummaryWithChildren() && children != null) {
                         for (ExpandableNotificationRow childRow : children) {
                             if (childRow.getVisibility() != View.GONE) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
index f103bd0..7d422e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
@@ -312,7 +312,7 @@
                 WindowManagerGlobal.getWindowManagerService()
                         .unregisterSystemGestureExclusionListener(
                                 mGestureExclusionListener, mDisplayId);
-            } catch (RemoteException e) {
+            } catch (RemoteException | IllegalArgumentException e) {
                 Log.e(TAG, "Failed to unregister window manager callbacks", e);
             }
 
@@ -326,7 +326,7 @@
                 WindowManagerGlobal.getWindowManagerService()
                         .registerSystemGestureExclusionListener(
                                 mGestureExclusionListener, mDisplayId);
-            } catch (RemoteException e) {
+            } catch (RemoteException | IllegalArgumentException e) {
                 Log.e(TAG, "Failed to register window manager callbacks", e);
             }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 31797d1..c9716d3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -1780,7 +1780,13 @@
         });
         animator.addListener(new AnimatorListenerAdapter() {
             @Override
+            public void onAnimationStart(Animator animation) {
+                notifyExpandingStarted();
+            }
+
+            @Override
             public void onAnimationEnd(Animator animation) {
+                notifyExpandingFinished();
                 mNotificationStackScroller.resetCheckSnoozeLeavebehind();
                 mQsExpansionAnimator = null;
                 if (onFinishRunnable != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
index f7d403f..81dc9e1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
@@ -157,7 +157,7 @@
     protected void onExpandingStarted() {
     }
 
-    private void notifyExpandingStarted() {
+    protected void notifyExpandingStarted() {
         if (!mExpanding) {
             mExpanding = true;
             onExpandingStarted();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 900b3ea..ca65665 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -193,7 +193,6 @@
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -623,7 +622,6 @@
             NotificationInterruptStateProvider notificationInterruptStateProvider,
             NotificationViewHierarchyManager notificationViewHierarchyManager,
             KeyguardViewMediator keyguardViewMediator,
-            NotificationAlertingManager notificationAlertingManager, // need to inject for now
             DisplayMetrics displayMetrics,
             MetricsLogger metricsLogger,
             @UiBackground Executor uiBgExecutor,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
index b81a519..02e0312 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
@@ -62,7 +62,6 @@
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
@@ -143,7 +142,6 @@
             NotificationInterruptStateProvider notificationInterruptStateProvider,
             NotificationViewHierarchyManager notificationViewHierarchyManager,
             KeyguardViewMediator keyguardViewMediator,
-            NotificationAlertingManager notificationAlertingManager,
             DisplayMetrics displayMetrics,
             MetricsLogger metricsLogger,
             @UiBackground Executor uiBgExecutor,
@@ -223,7 +221,6 @@
                 notificationInterruptStateProvider,
                 notificationViewHierarchyManager,
                 keyguardViewMediator,
-                notificationAlertingManager,
                 displayMetrics,
                 metricsLogger,
                 uiBgExecutor,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 17cd98f..e65b6fe 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -197,8 +197,13 @@
                 TelephonyIcons.THREE_G);
         mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_EHRPD),
                 TelephonyIcons.THREE_G);
-        mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_UMTS),
+        if (mConfig.show4gFor3g) {
+            mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_UMTS),
+                TelephonyIcons.FOUR_G);
+        } else {
+            mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_UMTS),
                 TelephonyIcons.THREE_G);
+        }
         mNetworkToIconLookup.put(toIconKey(TelephonyManager.NETWORK_TYPE_TD_SCDMA),
                 TelephonyIcons.THREE_G);
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 6e5f8a0..051bd29 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -367,7 +367,7 @@
             mobileSignalController.unregisterListener();
         }
         mSubscriptionManager.removeOnSubscriptionsChangedListener(mSubscriptionListener);
-        mContext.unregisterReceiver(this);
+        mBroadcastDispatcher.unregisterReceiver(this);
     }
 
     public int getConnectedWifiLevel() {
@@ -859,6 +859,7 @@
         pw.println("  - telephony ------");
         pw.print("  hasVoiceCallingFeature()=");
         pw.println(hasVoiceCallingFeature());
+        pw.println("  mListening=" + mListening);
 
         pw.println("  - connectivity ------");
         pw.print("  mConnectedTransports=");
diff --git a/packages/SystemUI/src/com/android/systemui/util/FloatingContentCoordinator.kt b/packages/SystemUI/src/com/android/systemui/util/FloatingContentCoordinator.kt
index ca4b67d..242f7cd 100644
--- a/packages/SystemUI/src/com/android/systemui/util/FloatingContentCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/util/FloatingContentCoordinator.kt
@@ -187,16 +187,23 @@
                 // Tell that content to get out of the way, and save the bounds it says it's moving
                 // (or animating) to.
                 .forEach { (content, bounds) ->
-                    content.moveToBounds(
-                            content.calculateNewBoundsOnOverlap(
-                                    conflictingNewBounds,
-                                    // Pass all of the content bounds except the bounds of the
-                                    // content we're asking to move, and the conflicting new bounds
-                                    // (since those are passed separately).
-                                    otherContentBounds = allContentBounds.values
-                                            .minus(bounds)
-                                            .minus(conflictingNewBounds)))
-                    allContentBounds[content] = content.getFloatingBoundsOnScreen()
+                    val newBounds = content.calculateNewBoundsOnOverlap(
+                            conflictingNewBounds,
+                            // Pass all of the content bounds except the bounds of the
+                            // content we're asking to move, and the conflicting new bounds
+                            // (since those are passed separately).
+                            otherContentBounds = allContentBounds.values
+                                    .minus(bounds)
+                                    .minus(conflictingNewBounds))
+
+                    // If the new bounds are empty, it means there's no non-overlapping position
+                    // that is in bounds. Just leave the content where it is. This should normally
+                    // not happen, but sometimes content like PIP reports incorrect bounds
+                    // temporarily.
+                    if (!newBounds.isEmpty) {
+                        content.moveToBounds(newBounds)
+                        allContentBounds[content] = content.getFloatingBoundsOnScreen()
+                    }
                 }
 
         currentlyResolvingConflicts = false
@@ -229,8 +236,8 @@
          * @param allowedBounds The area within which we're allowed to find new bounds for the
          * content.
          * @return New bounds for the content that don't intersect the exclusion rects or the
-         * newly overlapping rect, and that is within bounds unless no possible in-bounds position
-         * exists.
+         * newly overlapping rect, and that is within bounds - or an empty Rect if no in-bounds
+         * position exists.
          */
         @JvmStatic
         fun findAreaForContentVertically(
@@ -274,7 +281,13 @@
                             !overlappingContentPushingDown && !positionAboveInBounds
 
             // Return the content rect, but offset to reflect the new position.
-            return if (usePositionBelow) newContentBoundsBelow else newContentBoundsAbove
+            val newBounds = if (usePositionBelow) newContentBoundsBelow else newContentBoundsAbove
+
+            // If the new bounds are within the allowed bounds, return them. If not, it means that
+            // there are no legal new bounds. This can happen if the new content's bounds are too
+            // large (for example, full-screen PIP). Since there is no reasonable action to take
+            // here, return an empty Rect and we will just not move the content.
+            return if (allowedBounds.contains(newBounds)) newBounds else Rect()
         }
 
         /**
diff --git a/packages/SystemUI/src/com/android/systemui/util/magnetictarget/MagnetizedObject.kt b/packages/SystemUI/src/com/android/systemui/util/magnetictarget/MagnetizedObject.kt
index f27bdbf..e905e67 100644
--- a/packages/SystemUI/src/com/android/systemui/util/magnetictarget/MagnetizedObject.kt
+++ b/packages/SystemUI/src/com/android/systemui/util/magnetictarget/MagnetizedObject.kt
@@ -27,6 +27,7 @@
 import android.view.MotionEvent
 import android.view.VelocityTracker
 import android.view.View
+import android.view.ViewConfiguration
 import androidx.dynamicanimation.animation.DynamicAnimation
 import androidx.dynamicanimation.animation.FloatPropertyCompat
 import androidx.dynamicanimation.animation.SpringForce
@@ -146,6 +147,10 @@
     private val velocityTracker: VelocityTracker = VelocityTracker.obtain()
     private val vibrator: Vibrator = context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
 
+    private var touchDown = PointF()
+    private var touchSlop = 0
+    private var movedBeyondSlop = false
+
     /** Whether touch events are presently occurring within the magnetic field area of a target. */
     val objectStuckToTarget: Boolean
         get() = targetObjectIsStuckTo != null
@@ -324,15 +329,32 @@
         // When a gesture begins, recalculate target views' positions on the screen in case they
         // have changed. Also, clear state.
         if (ev.action == MotionEvent.ACTION_DOWN) {
-            updateTargetViewLocations()
+            updateTargetViews()
 
-            // Clear the velocity tracker and assume we're not stuck to a target yet.
+            // Clear the velocity tracker and stuck target.
             velocityTracker.clear()
             targetObjectIsStuckTo = null
+
+            // Set the touch down coordinates and reset movedBeyondSlop.
+            touchDown.set(ev.rawX, ev.rawY)
+            movedBeyondSlop = false
         }
 
+        // Always pass events to the VelocityTracker.
         addMovement(ev)
 
+        // If we haven't yet moved beyond the slop distance, check if we have.
+        if (!movedBeyondSlop) {
+            val dragDistance = hypot(ev.rawX - touchDown.x, ev.rawY - touchDown.y)
+            if (dragDistance > touchSlop) {
+                // If we're beyond the slop distance, save that and continue.
+                movedBeyondSlop = true
+            } else {
+                // Otherwise, don't do anything yet.
+                return false
+            }
+        }
+
         val targetObjectIsInMagneticFieldOf = associatedTargets.firstOrNull { target ->
             val distanceFromTargetCenter = hypot(
                     ev.rawX - target.centerOnScreen.x,
@@ -559,8 +581,14 @@
     }
 
     /** Updates the locations on screen of all of the [associatedTargets]. */
-    internal fun updateTargetViewLocations() {
+    internal fun updateTargetViews() {
         associatedTargets.forEach { it.updateLocationOnScreen() }
+
+        // Update the touch slop, since the configuration may have changed.
+        if (associatedTargets.size > 0) {
+            touchSlop =
+                    ViewConfiguration.get(associatedTargets[0].targetView.context).scaledTouchSlop
+        }
     }
 
     /**
diff --git a/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java b/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java
index b97f55c..594f0b1 100644
--- a/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java
+++ b/packages/SystemUI/tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java
@@ -18,7 +18,6 @@
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.assertThat;
 
-import android.content.pm.PackageManager;
 import android.testing.AndroidTestingRunner;
 import android.text.TextUtils;
 import android.util.Log;
@@ -117,12 +116,6 @@
         filter.add(s -> s.startsWith("com.android.systemui")
                 || s.startsWith("com.android.keyguard"));
 
-
-        if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) {
-            // If it's not automotive target, exclude automotive classes from the test.
-            excludeAutomotiveClasses(filter);
-        }
-
         try {
             return scanner.getClassPathEntries(filter);
         } catch (IOException e) {
@@ -131,13 +124,6 @@
         return Collections.emptyList();
     }
 
-    private void excludeAutomotiveClasses(ChainedClassNameFilter filter) {
-        // Modifies the passed in filter.
-        filter.add(s -> !s.startsWith("com.android.systemui.statusbar.car."));
-        filter.add(s -> !s.startsWith("com.android.systemui.qs.car."));
-        filter.add(s -> !s.startsWith("com.android.systemui.car."));
-    }
-
     private String getClsStr() {
         return TextUtils.join(",", Arrays.asList(BASE_CLS_WHITELIST)
                 .stream().map(cls -> cls.getSimpleName()).toArray());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
index 5227aaf..0c69ffd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/ImageWallpaperTest.java
@@ -16,7 +16,6 @@
 
 package com.android.systemui;
 
-import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.Mockito.doReturn;
@@ -32,19 +31,16 @@
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.ColorSpace;
-import android.graphics.Rect;
 import android.hardware.display.DisplayManagerGlobal;
 import android.os.Handler;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
-import android.util.Size;
 import android.view.Display;
 import android.view.DisplayInfo;
 import android.view.SurfaceHolder;
 
 import com.android.systemui.glwallpaper.ImageWallpaperRenderer;
-import com.android.systemui.statusbar.phone.DozeParameters;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -72,8 +68,6 @@
     @Mock
     private Bitmap mWallpaperBitmap;
     @Mock
-    private DozeParameters mDozeParam;
-    @Mock
     private Handler mHandler;
 
     private CountDownLatch mEventCountdown;
@@ -100,14 +94,13 @@
         when(wallpaperManager.getBitmap(false)).thenReturn(mWallpaperBitmap);
         when(mWallpaperBitmap.getColorSpace()).thenReturn(ColorSpace.get(ColorSpace.Named.SRGB));
         when(mWallpaperBitmap.getConfig()).thenReturn(Bitmap.Config.ARGB_8888);
-        when(mDozeParam.getDisplayNeedsBlanking()).thenReturn(false);
     }
 
     private ImageWallpaper createImageWallpaper() {
-        return new ImageWallpaper(mDozeParam) {
+        return new ImageWallpaper() {
             @Override
             public Engine onCreateEngine() {
-                return new GLEngine(mDozeParam, mHandler) {
+                return new GLEngine(mHandler) {
                     @Override
                     public Context getDisplayContext() {
                         return mMockContext;
@@ -130,75 +123,52 @@
         };
     }
 
-    private ImageWallpaperRenderer createImageWallpaperRenderer(ImageWallpaper.GLEngine engine) {
-        return new ImageWallpaperRenderer(mMockContext, engine) {
-            @Override
-            public void startProcessingImage() {
-                // No - Op
-            }
-        };
-    }
-
     @Test
     public void testBitmapWallpaper_normal() {
         // Will use a image wallpaper with dimensions DISPLAY_WIDTH x DISPLAY_WIDTH.
         // Then we expect the surface size will be also DISPLAY_WIDTH x DISPLAY_WIDTH.
-        // Finally, we assert the transition will not be stopped.
-        verifySurfaceSizeAndAssertTransition(DISPLAY_WIDTH /* bmpWidth */,
+        verifySurfaceSize(DISPLAY_WIDTH /* bmpWidth */,
                 DISPLAY_WIDTH /* bmpHeight */,
                 DISPLAY_WIDTH /* surfaceWidth */,
-                DISPLAY_WIDTH /* surfaceHeight */,
-                false /* assertion */);
+                DISPLAY_WIDTH /* surfaceHeight */);
     }
 
     @Test
     public void testBitmapWallpaper_low_resolution() {
         // Will use a image wallpaper with dimensions BMP_WIDTH x BMP_HEIGHT.
         // Then we expect the surface size will be also BMP_WIDTH x BMP_HEIGHT.
-        // Finally, we assert the transition will be stopped.
-        verifySurfaceSizeAndAssertTransition(LOW_BMP_WIDTH /* bmpWidth */,
+        verifySurfaceSize(LOW_BMP_WIDTH /* bmpWidth */,
                 LOW_BMP_HEIGHT /* bmpHeight */,
                 LOW_BMP_WIDTH /* surfaceWidth */,
-                LOW_BMP_HEIGHT /* surfaceHeight */,
-                false /* assertion */);
+                LOW_BMP_HEIGHT /* surfaceHeight */);
     }
 
     @Test
     public void testBitmapWallpaper_too_small() {
         // Will use a image wallpaper with dimensions INVALID_BMP_WIDTH x INVALID_BMP_HEIGHT.
         // Then we expect the surface size will be also MIN_SURFACE_WIDTH x MIN_SURFACE_HEIGHT.
-        // Finally, we assert the transition will be stopped.
-        verifySurfaceSizeAndAssertTransition(INVALID_BMP_WIDTH /* bmpWidth */,
+        verifySurfaceSize(INVALID_BMP_WIDTH /* bmpWidth */,
                 INVALID_BMP_HEIGHT /* bmpHeight */,
                 ImageWallpaper.GLEngine.MIN_SURFACE_WIDTH /* surfaceWidth */,
-                ImageWallpaper.GLEngine.MIN_SURFACE_HEIGHT /* surfaceHeight */,
-                false /* assertion */);
+                ImageWallpaper.GLEngine.MIN_SURFACE_HEIGHT /* surfaceHeight */);
     }
 
-    private void verifySurfaceSizeAndAssertTransition(int bmpWidth, int bmpHeight,
-            int surfaceWidth, int surfaceHeight, boolean assertion) {
+    private void verifySurfaceSize(int bmpWidth, int bmpHeight,
+            int surfaceWidth, int surfaceHeight) {
         ImageWallpaper.GLEngine wallpaperEngine =
                 (ImageWallpaper.GLEngine) createImageWallpaper().onCreateEngine();
 
         ImageWallpaper.GLEngine engineSpy = spy(wallpaperEngine);
-        when(engineSpy.mIsHighEndGfx).thenReturn(true);
 
         when(mWallpaperBitmap.getWidth()).thenReturn(bmpWidth);
         when(mWallpaperBitmap.getHeight()).thenReturn(bmpHeight);
 
-        ImageWallpaperRenderer renderer = createImageWallpaperRenderer(engineSpy);
+        ImageWallpaperRenderer renderer = new ImageWallpaperRenderer(mMockContext);
         doReturn(renderer).when(engineSpy).getRendererInstance();
         engineSpy.onCreate(engineSpy.getSurfaceHolder());
 
         verify(mSurfaceHolder, times(1)).setFixedSize(surfaceWidth, surfaceHeight);
         assertWithMessage("setFixedSizeAllowed should have been called.").that(
                 mEventCountdown.getCount()).isEqualTo(0);
-
-        Size frameSize = renderer.reportSurfaceSize();
-        Rect frame = new Rect(0, 0, frameSize.getWidth(), frameSize.getHeight());
-        when(mSurfaceHolder.getSurfaceFrame()).thenReturn(frame);
-
-        assertThat(engineSpy.checkIfShouldStopTransition()).isEqualTo(assertion);
-        // destroy
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
index e472de3..9e18e61 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
@@ -42,6 +42,7 @@
 import static org.mockito.Mockito.when;
 
 import android.app.IActivityManager;
+import android.app.INotificationManager;
 import android.app.Notification;
 import android.app.PendingIntent;
 import android.content.res.Resources;
@@ -273,7 +274,8 @@
                 mFeatureFlagsOldPipeline,
                 mDumpManager,
                 mFloatingContentCoordinator,
-                mSysUiState);
+                mSysUiState,
+                mock(INotificationManager.class));
         mBubbleController.setBubbleStateChangeListener(mBubbleStateChangeListener);
         mBubbleController.setExpandListener(mBubbleExpandListener);
 
@@ -928,7 +930,7 @@
         mBubbleController.handleDismissalInterception(groupSummary.getEntry());
 
         // THEN only the NON-bubble children are dismissed
-        List<ExpandableNotificationRow> childrenRows = groupSummary.getNotificationChildren();
+        List<ExpandableNotificationRow> childrenRows = groupSummary.getAttachedChildren();
         verify(mNotificationEntryManager, times(1)).performRemoveNotification(
                 childrenRows.get(0).getEntry().getSbn(), REASON_GROUP_SUMMARY_CANCELED);
         verify(mNotificationEntryManager, times(1)).performRemoveNotification(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/NewNotifPipelineBubbleControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/NewNotifPipelineBubbleControllerTest.java
index 5f4f2ef..49236e0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/NewNotifPipelineBubbleControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/NewNotifPipelineBubbleControllerTest.java
@@ -38,6 +38,7 @@
 import static org.mockito.Mockito.when;
 
 import android.app.IActivityManager;
+import android.app.INotificationManager;
 import android.app.Notification;
 import android.app.PendingIntent;
 import android.content.res.Resources;
@@ -250,7 +251,8 @@
                 mFeatureFlagsNewPipeline,
                 mDumpManager,
                 mFloatingContentCoordinator,
-                mSysUiState);
+                mSysUiState,
+                mock(INotificationManager.class));
         mBubbleController.addNotifCallback(mNotifCallback);
         mBubbleController.setBubbleStateChangeListener(mBubbleStateChangeListener);
         mBubbleController.setExpandListener(mBubbleExpandListener);
@@ -793,7 +795,7 @@
         mBubbleController.handleDismissalInterception(groupSummary.getEntry());
 
         // THEN only the NON-bubble children are dismissed
-        List<ExpandableNotificationRow> childrenRows = groupSummary.getNotificationChildren();
+        List<ExpandableNotificationRow> childrenRows = groupSummary.getAttachedChildren();
         verify(mNotifCallback, times(1)).removeNotification(
                 childrenRows.get(0).getEntry(), REASON_GROUP_SUMMARY_CANCELED);
         verify(mNotifCallback, times(1)).removeNotification(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/TestableBubbleController.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/TestableBubbleController.java
index f486102..7815ae7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/TestableBubbleController.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/TestableBubbleController.java
@@ -16,6 +16,7 @@
 
 package com.android.systemui.bubbles;
 
+import android.app.INotificationManager;
 import android.content.Context;
 
 import com.android.systemui.dump.DumpManager;
@@ -54,12 +55,14 @@
             FeatureFlags featureFlags,
             DumpManager dumpManager,
             FloatingContentCoordinator floatingContentCoordinator,
-            SysUiState sysUiState) {
+            SysUiState sysUiState,
+            INotificationManager notificationManager) {
         super(context,
                 notificationShadeWindowController, statusBarStateController, shadeController,
                 data, Runnable::run, configurationController, interruptionStateProvider,
                 zenModeController, lockscreenUserManager, groupManager, entryManager,
-                notifPipeline, featureFlags, dumpManager, floatingContentCoordinator, sysUiState);
+                notifPipeline, featureFlags, dumpManager, floatingContentCoordinator, sysUiState,
+                notificationManager);
         setInflateSynchronously(true);
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogTest.java b/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogTest.java
index 3af164d..b44b23a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogTest.java
@@ -16,6 +16,11 @@
 
 package com.android.systemui.globalactions;
 
+import static junit.framework.Assert.assertEquals;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -200,4 +205,63 @@
         verify(mUiEventLogger, times(1))
                 .log(event);
     }
+
+    @Test
+    public void testCreateActionItems_maxThree() {
+        mGlobalActionsDialog = spy(mGlobalActionsDialog);
+        // allow 3 items to be shown
+        doReturn(3).when(mGlobalActionsDialog).getMaxShownPowerItems();
+        // ensure items are not blocked by keyguard or device provisioning
+        doReturn(true).when(mGlobalActionsDialog).shouldShowAction(any());
+        String[] actions = {
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_EMERGENCY,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_POWER,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_RESTART,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_SCREENSHOT,
+        };
+        doReturn(actions).when(mGlobalActionsDialog).getDefaultActions();
+        mGlobalActionsDialog.createActionItems();
+
+        assertEquals(3, mGlobalActionsDialog.mItems.size());
+        assertEquals(1, mGlobalActionsDialog.mOverflowItems.size());
+    }
+
+    @Test
+    public void testCreateActionItems_maxAny() {
+        mGlobalActionsDialog = spy(mGlobalActionsDialog);
+        // allow any number of power menu items to be shown
+        doReturn(Integer.MAX_VALUE).when(mGlobalActionsDialog).getMaxShownPowerItems();
+        // ensure items are not blocked by keyguard or device provisioning
+        doReturn(true).when(mGlobalActionsDialog).shouldShowAction(any());
+        String[] actions = {
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_EMERGENCY,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_POWER,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_RESTART,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_SCREENSHOT,
+        };
+        doReturn(actions).when(mGlobalActionsDialog).getDefaultActions();
+        mGlobalActionsDialog.createActionItems();
+
+        assertEquals(4, mGlobalActionsDialog.mItems.size());
+        assertEquals(0, mGlobalActionsDialog.mOverflowItems.size());
+    }
+
+    @Test
+    public void testCreateActionItems_maxThree_itemNotShown() {
+        mGlobalActionsDialog = spy(mGlobalActionsDialog);
+        // allow only 3 items to be shown
+        doReturn(3).when(mGlobalActionsDialog).getMaxShownPowerItems();
+        String[] actions = {
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_EMERGENCY,
+                // screenshot blocked because device not provisioned
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_SCREENSHOT,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_POWER,
+                GlobalActionsDialog.GLOBAL_ACTION_KEY_RESTART,
+        };
+        doReturn(actions).when(mGlobalActionsDialog).getDefaultActions();
+        mGlobalActionsDialog.createActionItems();
+
+        assertEquals(3, mGlobalActionsDialog.mItems.size());
+        assertEquals(0, mGlobalActionsDialog.mOverflowItems.size());
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/EglHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/EglHelperTest.java
index 4b47093..e23507b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/EglHelperTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/EglHelperTest.java
@@ -40,6 +40,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -84,22 +85,17 @@
     }
 
     @Test
-    public void testInit_finish() {
+    public void testInit_normal() {
         mEglHelper.init(mSurfaceHolder, false /* wideColorGamut */);
         assertThat(mEglHelper.hasEglDisplay()).isTrue();
         assertThat(mEglHelper.hasEglContext()).isTrue();
         assertThat(mEglHelper.hasEglSurface()).isTrue();
         verify(mEglHelper).askCreatingEglWindowSurface(
                 any(SurfaceHolder.class), eq(null), anyInt());
-
-        mEglHelper.finish();
-        assertThat(mEglHelper.hasEglSurface()).isFalse();
-        assertThat(mEglHelper.hasEglContext()).isFalse();
-        assertThat(mEglHelper.hasEglDisplay()).isFalse();
     }
 
     @Test
-    public void testInit_finish_wide_gamut() {
+    public void testInit_wide_gamut() {
         // In EglHelper, EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT = 0x3490;
         doReturn(0x3490).when(mEglHelper).getWcgCapability();
         // In EglHelper, KHR_GL_COLOR_SPACE = "EGL_KHR_gl_colorspace";
@@ -113,10 +109,10 @@
                 .askCreatingEglWindowSurface(any(SurfaceHolder.class), ac.capture(), anyInt());
         assertThat(ac.getValue()).isNotNull();
         assertThat(ac.getValue()).isEqualTo(expectedArgument);
-        mEglHelper.finish();
     }
 
     @Test
+    @Ignore
     public void testFinish_shouldNotCrash() {
         mEglHelper.terminateEglDisplay();
         assertThat(mEglHelper.hasEglDisplay()).isFalse();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageRevealHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageRevealHelperTest.java
deleted file mode 100644
index c827ac7..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageRevealHelperTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.glwallpaper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.testing.AndroidTestingRunner;
-import android.testing.TestableLooper;
-
-import androidx.test.filters.SmallTest;
-
-import com.android.systemui.SysuiTestCase;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@SmallTest
-@RunWith(AndroidTestingRunner.class)
-@TestableLooper.RunWithLooper
-public class ImageRevealHelperTest extends SysuiTestCase {
-
-    static final int ANIMATION_DURATION = 500;
-    ImageRevealHelper mImageRevealHelper;
-    ImageRevealHelper.RevealStateListener mRevealStateListener;
-
-    @Before
-    public void setUp() throws Exception {
-        mRevealStateListener = new ImageRevealHelper.RevealStateListener() {
-            @Override
-            public void onRevealStateChanged() {
-                // no-op
-            }
-
-            @Override
-            public void onRevealStart(boolean animate) {
-                // no-op
-            }
-
-            @Override
-            public void onRevealEnd() {
-                // no-op
-            }
-        };
-        mImageRevealHelper = new ImageRevealHelper(mRevealStateListener);
-    }
-
-    @Test
-    public void testBiometricAuthUnlockAnimateImageRevealState_shouldNotBlackoutScreen() {
-        assertThat(mImageRevealHelper.getReveal()).isEqualTo(0f);
-
-        mImageRevealHelper.updateAwake(true /* awake */, ANIMATION_DURATION);
-        assertThat(mImageRevealHelper.getReveal()).isEqualTo(0f);
-
-        // When device unlock through Biometric, should not show reveal transition
-        mImageRevealHelper.updateAwake(false /* awake */, 0);
-        assertThat(mImageRevealHelper.getReveal()).isEqualTo(1f);
-    }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageWallpaperRendererTest.java b/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageWallpaperRendererTest.java
index d61be37..24f3eb2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageWallpaperRendererTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/glwallpaper/ImageWallpaperRendererTest.java
@@ -16,8 +16,6 @@
 
 package com.android.systemui.glwallpaper;
 
-import static com.android.systemui.glwallpaper.GLWallpaperRenderer.SurfaceProxy;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
@@ -48,30 +46,12 @@
 public class ImageWallpaperRendererTest extends SysuiTestCase {
 
     private WallpaperManager mWpmSpy;
-    private SurfaceProxy mSurfaceProxy;
 
     @Before
     public void setUp() throws Exception {
         final WallpaperManager wpm = mContext.getSystemService(WallpaperManager.class);
         mWpmSpy = spy(wpm);
         mContext.addMockSystemService(WallpaperManager.class, mWpmSpy);
-
-        mSurfaceProxy = new SurfaceProxy() {
-            @Override
-            public void requestRender() {
-                // NO-op
-            }
-
-            @Override
-            public void preRender() {
-                // No-op
-            }
-
-            @Override
-            public void postRender() {
-                // No-op
-            }
-        };
     }
 
     @Test
@@ -91,12 +71,12 @@
             doReturn(supportedWideGamuts).when(cmProxySpy).getSupportedColorSpaces();
 
             mWpmSpy.setBitmap(p3Bitmap);
-            ImageWallpaperRenderer rendererP3 = new ImageWallpaperRenderer(mContext, mSurfaceProxy);
+            ImageWallpaperRenderer rendererP3 = new ImageWallpaperRenderer(mContext);
             rendererP3.reportSurfaceSize();
             assertThat(rendererP3.isWcgContent()).isTrue();
 
             mWpmSpy.setBitmap(srgbBitmap);
-            ImageWallpaperRenderer renderer = new ImageWallpaperRenderer(mContext, mSurfaceProxy);
+            ImageWallpaperRenderer renderer = new ImageWallpaperRenderer(mContext);
             assertThat(renderer.isWcgContent()).isFalse();
         } finally {
             srgbBitmap.recycle();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
index f316d04..28a3d6a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
@@ -86,7 +86,29 @@
     }
 
     @Test
-    fun updateDuration() {
+    fun updateDurationWithPlayback() {
+        // GIVEN that the duration is contained within the metadata
+        val duration = 12000L
+        val metadata = MediaMetadata.Builder().run {
+            putLong(MediaMetadata.METADATA_KEY_DURATION, duration)
+            build()
+        }
+        whenever(mockController.getMetadata()).thenReturn(metadata)
+        // AND a valid playback state (ie. media session is not destroyed)
+        val state = PlaybackState.Builder().run {
+            setState(PlaybackState.STATE_PLAYING, 200L, 1f)
+            build()
+        }
+        whenever(mockController.getPlaybackState()).thenReturn(state)
+        // WHEN the controller is updated
+        viewModel.updateController(mockController, Color.RED)
+        // THEN the duration is extracted
+        assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
+        assertThat(viewModel.progress.value!!.enabled).isTrue()
+    }
+
+    @Test
+    fun updateDurationWithoutPlayback() {
         // GIVEN that the duration is contained within the metadata
         val duration = 12000L
         val metadata = MediaMetadata.Builder().run {
@@ -98,7 +120,7 @@
         viewModel.updateController(mockController, Color.RED)
         // THEN the duration is extracted
         assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
-        assertThat(viewModel.progress.value!!.enabled).isTrue()
+        assertThat(viewModel.progress.value!!.enabled).isFalse()
     }
 
     @Test
@@ -110,6 +132,12 @@
             build()
         }
         whenever(mockController.getMetadata()).thenReturn(metadata)
+        // AND a valid playback state (ie. media session is not destroyed)
+        val state = PlaybackState.Builder().run {
+            setState(PlaybackState.STATE_PLAYING, 200L, 1f)
+            build()
+        }
+        whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController, Color.RED)
         // THEN the seek bar is disabled
@@ -125,6 +153,12 @@
             build()
         }
         whenever(mockController.getMetadata()).thenReturn(metadata)
+        // AND a valid playback state (ie. media session is not destroyed)
+        val state = PlaybackState.Builder().run {
+            setState(PlaybackState.STATE_PLAYING, 200L, 1f)
+            build()
+        }
+        whenever(mockController.getPlaybackState()).thenReturn(state)
         // WHEN the controller is updated
         viewModel.updateController(mockController, Color.RED)
         // THEN the seek bar is disabled
@@ -372,4 +406,30 @@
         // THEN an update task is queued
         assertThat(fakeExecutor.numPending()).isEqualTo(1)
     }
+
+    @Test
+    fun clearSeekBar() {
+        // GIVEN that the duration is contained within the metadata
+        val metadata = MediaMetadata.Builder().run {
+            putLong(MediaMetadata.METADATA_KEY_DURATION, 12000L)
+            build()
+        }
+        whenever(mockController.getMetadata()).thenReturn(metadata)
+        // AND a valid playback state (ie. media session is not destroyed)
+        val state = PlaybackState.Builder().run {
+            setState(PlaybackState.STATE_PLAYING, 200L, 1f)
+            build()
+        }
+        whenever(mockController.getPlaybackState()).thenReturn(state)
+        // AND the controller has been updated
+        viewModel.updateController(mockController, Color.RED)
+        // WHEN the controller is cleared on the event when the session is destroyed
+        viewModel.clearController()
+        with(fakeExecutor) {
+            advanceClockToNext()
+            runAllReady()
+        }
+        // THEN the seek bar is disabled
+        assertThat(viewModel.progress.value!!.enabled).isFalse()
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
index 862ebe13..9112b65 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSPanelTest.java
@@ -43,7 +43,6 @@
 import com.android.systemui.qs.customize.QSCustomizer;
 import com.android.systemui.qs.logging.QSLogger;
 import com.android.systemui.qs.tileimpl.QSTileImpl;
-import com.android.systemui.statusbar.NotificationMediaManager;
 import com.android.systemui.util.concurrency.DelayableExecutor;
 
 import org.junit.Before;
@@ -84,8 +83,6 @@
     @Mock
     private QSTileView mQSTileView;
     @Mock
-    private NotificationMediaManager mNotificationMediaManager;
-    @Mock
     private Executor mForegroundExecutor;
     @Mock
     private DelayableExecutor mBackgroundExecutor;
@@ -100,7 +97,7 @@
         mTestableLooper.runWithLooper(() -> {
             mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class);
             mQsPanel = new QSPanel(mContext, null, mDumpManager, mBroadcastDispatcher,
-                    mQSLogger, mNotificationMediaManager, mForegroundExecutor, mBackgroundExecutor,
+                    mQSLogger, mForegroundExecutor, mBackgroundExecutor,
                     mLocalBluetoothManager);
             // Provides a parent with non-zero size for QSPanel
             mParentView = new FrameLayout(mContext);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java
index be5b190..fb40177 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java
@@ -192,7 +192,8 @@
 
         assertThat(mTextView.getText()).isEqualTo(
                 mContext.getResources().getString(R.string.dock_alignment_slow_charging));
-        assertThat(mTextView.getCurrentTextColor()).isEqualTo(Color.WHITE);
+        assertThat(mTextView.getCurrentTextColor()).isEqualTo(
+                Utils.getColorError(mContext).getDefaultColor());
     }
 
     @Test
@@ -209,7 +210,8 @@
 
         assertThat(mTextView.getText()).isEqualTo(
                 mContext.getResources().getString(R.string.dock_alignment_not_charging));
-        assertThat(mTextView.getCurrentTextColor()).isEqualTo(Color.WHITE);
+        assertThat(mTextView.getCurrentTextColor()).isEqualTo(
+                Utils.getColorError(mContext).getDefaultColor());
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/GroupEntryHelper.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/GroupEntryHelper.java
new file mode 100644
index 0000000..038dd17
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/GroupEntryHelper.java
@@ -0,0 +1,42 @@
+/*
+ * 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;
+
+import java.util.List;
+
+/**
+ * Helper class to provide methods for test classes that need {@link GroupEntry}'s for their tests.
+ */
+public class GroupEntryHelper {
+    /**
+     * Create a group entry for testing purposes.
+     * @param groupKey group key for the group and all its entries
+     * @param summary summary notification for group
+     * @param children group's children notifications
+     */
+    public static final GroupEntry createGroup(
+            String groupKey,
+            NotificationEntry summary,
+            List<NotificationEntry> children) {
+        GroupEntry groupEntry = new GroupEntry(groupKey);
+        groupEntry.setSummary(summary);
+        for (NotificationEntry child : children) {
+            groupEntry.addChild(child);
+        }
+        return groupEntry;
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinatorTest.java
index f3038ce..730481a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinatorTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinatorTest.java
@@ -39,7 +39,7 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSection;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
-import com.android.systemui.statusbar.notification.headsup.HeadsUpViewBinder;
+import com.android.systemui.statusbar.notification.interruption.HeadsUpViewBinder;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
 import com.android.systemui.statusbar.notification.row.NotifBindPipeline.BindCallback;
 import com.android.systemui.statusbar.policy.HeadsUpManager;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java
index 35b31c0..faf9da3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinatorTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
@@ -32,6 +33,8 @@
 
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.notification.collection.GroupEntry;
+import com.android.systemui.statusbar.notification.collection.GroupEntryHelper;
 import com.android.systemui.statusbar.notification.collection.NotifInflaterImpl;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotifViewBarn;
@@ -50,6 +53,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @SmallTest
@@ -57,6 +61,8 @@
 @TestableLooper.RunWithLooper
 public class PreparationCoordinatorTest extends SysuiTestCase {
     private static final String TEST_MESSAGE = "TEST_MESSAGE";
+    private static final String TEST_GROUP_KEY = "TEST_GROUP_KEY";
+    private static final int TEST_CHILD_BIND_CUTOFF = 9;
 
     private PreparationCoordinator mCoordinator;
     private NotifCollectionListener mCollectionListener;
@@ -88,7 +94,8 @@
                 mNotifInflater,
                 mErrorManager,
                 mock(NotifViewBarn.class),
-                mService);
+                mService,
+                TEST_CHILD_BIND_CUTOFF);
 
         ArgumentCaptor<NotifFilter> filterCaptor = ArgumentCaptor.forClass(NotifFilter.class);
         mCoordinator.attach(mNotifPipeline);
@@ -175,4 +182,44 @@
         // THEN it isn't filtered from shade list
         assertFalse(mUninflatedFilter.shouldFilterOut(mEntry, 0));
     }
+
+    @Test
+    public void testCutoffGroupChildrenNotInflated() {
+        // WHEN there is a new notification group is posted
+        int id = 0;
+        NotificationEntry summary = new NotificationEntryBuilder()
+                .setOverrideGroupKey(TEST_GROUP_KEY)
+                .setId(id++)
+                .build();
+        List<NotificationEntry> children = new ArrayList<>();
+        for (int i = 0; i < TEST_CHILD_BIND_CUTOFF + 1; i++) {
+            NotificationEntry child = new NotificationEntryBuilder()
+                    .setOverrideGroupKey(TEST_GROUP_KEY)
+                    .setId(id++)
+                    .build();
+            children.add(child);
+        }
+        GroupEntry groupEntry = GroupEntryHelper.createGroup(TEST_GROUP_KEY, summary, children);
+
+        mCollectionListener.onEntryInit(summary);
+        for (NotificationEntry entry : children) {
+            mCollectionListener.onEntryInit(entry);
+        }
+
+        mCollectionListener.onEntryAdded(summary);
+        for (NotificationEntry entry : children) {
+            mCollectionListener.onEntryAdded(entry);
+        }
+
+        mBeforeFilterListener.onBeforeFinalizeFilter(List.of(groupEntry));
+
+        // THEN we inflate up to the cut-off only
+        for (int i = 0; i < children.size(); i++) {
+            if (i < TEST_CHILD_BIND_CUTOFF) {
+                verify(mNotifInflater).inflateViews(eq(children.get(i)), any());
+            } else {
+                verify(mNotifInflater, never()).inflateViews(eq(children.get(i)), any());
+            }
+        }
+    }
 }
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 43dcbe3..2684cc2 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
@@ -41,7 +41,6 @@
 import android.testing.TestableLooper;
 import android.testing.TestableLooper.RunWithLooper;
 import android.util.ArraySet;
-import android.view.NotificationHeaderView;
 import android.view.View;
 
 import androidx.test.filters.SmallTest;
@@ -302,7 +301,7 @@
     @Test
     public void testGetNumUniqueChildren_multiChannel() {
         List<ExpandableNotificationRow> childRows =
-                mGroupRow.getChildrenContainer().getNotificationChildren();
+                mGroupRow.getChildrenContainer().getAttachedChildren();
         // Give each child a unique channel id/name.
         int i = 0;
         for (ExpandableNotificationRow childRow : childRows) {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java
index 2336958..9039e1b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/FooterViewTest.java
@@ -24,6 +24,7 @@
 
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.TextView;
 
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
@@ -67,6 +68,22 @@
     }
 
     @Test
+    public void setHistoryShown() {
+        mView.showHistory(true);
+        assertTrue(mView.isHistoryShown());
+        assertTrue(((TextView) mView.findViewById(R.id.manage_text))
+                .getText().toString().contains("History"));
+    }
+
+    @Test
+    public void setHistoryNotShown() {
+        mView.showHistory(false);
+        assertFalse(mView.isHistoryShown());
+        assertTrue(((TextView) mView.findViewById(R.id.manage_text))
+                .getText().toString().contains("Manage"));
+    }
+
+    @Test
     public void testPerformVisibilityAnimation() {
         mView.setVisible(false /* visible */, false /* animate */);
         assertFalse(mView.isVisible());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationBlockingHelperManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationBlockingHelperManagerTest.java
index 7c8328d..5aeb43f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationBlockingHelperManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationBlockingHelperManagerTest.java
@@ -143,7 +143,7 @@
     public void testPerhapsShowBlockingHelper_notShownForMultiChannelGroup() throws Exception {
         ExpandableNotificationRow groupRow = createBlockableGroupRowSpy(10);
         int i = 0;
-        for (ExpandableNotificationRow childRow : groupRow.getNotificationChildren()) {
+        for (ExpandableNotificationRow childRow : groupRow.getAttachedChildren()) {
             modifyRanking(childRow.getEntry())
                     .setChannel(
                             new NotificationChannel(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
index b6bd5e2..61388b6 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
@@ -16,13 +16,12 @@
 
 package com.android.systemui.statusbar.notification.row;
 
-import static android.app.Notification.FLAG_BUBBLE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
 import static android.app.NotificationManager.IMPORTANCE_HIGH;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
 import static android.print.PrintManager.PRINT_SPOOLER_PACKAGE_NAME;
-import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
-import static android.provider.Settings.Secure.BUBBLE_IMPORTANT_CONVERSATIONS;
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 
@@ -36,8 +35,10 @@
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -49,6 +50,7 @@
 import android.app.NotificationChannelGroup;
 import android.app.PendingIntent;
 import android.app.Person;
+import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.LauncherApps;
@@ -59,20 +61,19 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
 import android.os.UserHandle;
-import android.provider.Settings;
 import android.service.notification.StatusBarNotification;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.settingslib.notification.ConversationIconFactory;
 import com.android.systemui.Dependency;
+import com.android.systemui.Prefs;
 import com.android.systemui.R;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.bubbles.BubbleController;
@@ -87,6 +88,7 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Answers;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
@@ -97,6 +99,8 @@
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 
+import javax.inject.Provider;
+
 @SmallTest
 @RunWith(AndroidTestingRunner.class)
 @TestableLooper.RunWithLooper
@@ -143,6 +147,11 @@
     private ShadeController mShadeController;
     @Mock
     private ConversationIconFactory mIconFactory;
+    @Mock
+    private Context mUserContext;
+    @Mock(answer = Answers.RETURNS_SELF)
+    private PriorityOnboardingDialogController.Builder mBuilder;
+    private Provider<PriorityOnboardingDialogController.Builder> mBuilderProvider = () -> mBuilder;
 
     @Before
     public void setUp() throws Exception {
@@ -234,6 +243,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final ImageView view = mNotificationInfo.findViewById(R.id.conversation_icon);
         assertEquals(mIconDrawable, view.getDrawable());
@@ -253,6 +264,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final TextView textView = mNotificationInfo.findViewById(R.id.pkg_name);
         assertTrue(textView.getText().toString().contains("App Name"));
@@ -298,6 +311,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final TextView textView = mNotificationInfo.findViewById(R.id.group_name);
         assertTrue(textView.getText().toString().contains(group.getName()));
@@ -319,6 +334,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final TextView textView = mNotificationInfo.findViewById(R.id.group_name);
         assertEquals(VISIBLE, mNotificationInfo.findViewById(R.id.header).getVisibility());
@@ -339,6 +356,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final TextView nameView = mNotificationInfo.findViewById(R.id.delegate_name);
         assertEquals(GONE, nameView.getVisibility());
@@ -366,6 +385,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final TextView nameView = mNotificationInfo.findViewById(R.id.delegate_name);
         assertEquals(VISIBLE, nameView.getVisibility());
@@ -389,6 +410,8 @@
                 },
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         final View settingsButton = mNotificationInfo.findViewById(R.id.info);
@@ -410,6 +433,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         final View settingsButton = mNotificationInfo.findViewById(R.id.info);
         assertTrue(settingsButton.getVisibility() != View.VISIBLE);
@@ -432,6 +457,8 @@
                 },
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 false);
         final View settingsButton = mNotificationInfo.findViewById(R.id.info);
         assertTrue(settingsButton.getVisibility() != View.VISIBLE);
@@ -452,13 +479,17 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         View view = mNotificationInfo.findViewById(R.id.silence);
         assertThat(view.isSelected()).isTrue();
     }
 
     @Test
-    public void testBindNotification_defaultSelected_notFave_notSilent() {
+    public void testBindNotification_defaultSelected_notFave_notSilent() throws Exception {
+        when(mMockINotificationManager.getBubblePreferenceForPackage(anyString(), anyInt()))
+                .thenReturn(BUBBLE_PREFERENCE_SELECTED);
         mConversationChannel.setImportance(IMPORTANCE_HIGH);
         mConversationChannel.setImportantConversation(false);
         mConversationChannel.setAllowBubbles(true);
@@ -473,9 +504,42 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
         View view = mNotificationInfo.findViewById(R.id.default_behavior);
         assertThat(view.isSelected()).isTrue();
+        assertThat(((TextView) view.findViewById(R.id.default_summary)).getText()).isEqualTo(
+                mContext.getString(R.string.notification_channel_summary_default));
+    }
+
+    @Test
+    public void testBindNotification_default_allCanBubble() throws Exception {
+        when(mMockINotificationManager.getBubblePreferenceForPackage(anyString(), anyInt()))
+                .thenReturn(BUBBLE_PREFERENCE_ALL);
+        when(mMockPackageManager.getApplicationLabel(any())).thenReturn("App Name");
+        mConversationChannel.setImportance(IMPORTANCE_HIGH);
+        mConversationChannel.setImportantConversation(false);
+        mConversationChannel.setAllowBubbles(true);
+        mNotificationInfo.bindNotification(
+                mShortcutManager,
+                mMockPackageManager,
+                mMockINotificationManager,
+                mVisualStabilityManager,
+                TEST_PACKAGE_NAME,
+                mNotificationChannel,
+                mEntry,
+                null,
+                null,
+                mIconFactory,
+                mUserContext,
+                mBuilderProvider,
+                true);
+        View view = mNotificationInfo.findViewById(R.id.default_behavior);
+        assertThat(view.isSelected()).isTrue();
+        assertThat(((TextView) view.findViewById(R.id.default_summary)).getText()).isEqualTo(
+                mContext.getString(R.string.notification_channel_summary_default_with_bubbles,
+                        "App Name"));
     }
 
     @Test
@@ -495,6 +559,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         View fave = mNotificationInfo.findViewById(R.id.priority);
@@ -533,6 +599,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         mNotificationInfo.findViewById(R.id.default_behavior).performClick();
@@ -570,6 +638,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         View silence = mNotificationInfo.findViewById(R.id.silence);
@@ -608,6 +678,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         View fave = mNotificationInfo.findViewById(R.id.priority);
@@ -640,6 +712,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         View fave = mNotificationInfo.findViewById(R.id.priority);
@@ -670,6 +744,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         mNotificationInfo.findViewById(R.id.default_behavior).performClick();
@@ -701,6 +777,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         mNotificationInfo.findViewById(R.id.default_behavior).performClick();
@@ -732,6 +810,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         mNotificationInfo.findViewById(R.id.default_behavior).performClick();
@@ -762,6 +842,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         View silence = mNotificationInfo.findViewById(R.id.silence);
@@ -791,6 +873,8 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         verify(mMockINotificationManager, times(1)).createConversationNotificationChannelForPackage(
@@ -811,9 +895,81 @@
                 null,
                 null,
                 mIconFactory,
+                mUserContext,
+                mBuilderProvider,
                 true);
 
         verify(mMockINotificationManager, never()).createConversationNotificationChannelForPackage(
                 anyString(), anyInt(), anyString(), any(), eq(CONVERSATION_ID));
     }
+
+    @Test
+    public void testSelectPriorityPresentsOnboarding_firstTime() {
+        // GIVEN pref is false
+        Prefs.putBoolean(mContext, Prefs.Key.HAS_SEEN_PRIORITY_ONBOARDING, false);
+
+        // GIVEN the priority onboarding screen is present
+        PriorityOnboardingDialogController.Builder b =
+                new PriorityOnboardingDialogController.Builder();
+        PriorityOnboardingDialogController controller =
+                mock(PriorityOnboardingDialogController.class);
+        when(b.build()).thenReturn(controller);
+
+        // GIVEN the user is changing conversation settings
+        when(mBuilderProvider.get()).thenReturn(b);
+        mNotificationInfo.bindNotification(
+                mShortcutManager,
+                mMockPackageManager,
+                mMockINotificationManager,
+                mVisualStabilityManager,
+                TEST_PACKAGE_NAME,
+                mNotificationChannel,
+                mEntry,
+                null,
+                null,
+                mIconFactory,
+                mUserContext,
+                mBuilderProvider,
+                true);
+
+        // WHEN user clicks "priority"
+        mNotificationInfo.setSelectedAction(NotificationConversationInfo.ACTION_FAVORITE);
+
+        // THEN the user is presented with the priority onboarding screen
+        verify(controller, atLeastOnce()).show();
+    }
+
+    @Test
+    public void testSelectPriorityDoesNotShowOnboarding_secondTime() {
+        //WHEN pref is true
+        Prefs.putBoolean(mContext, Prefs.Key.HAS_SEEN_PRIORITY_ONBOARDING, true);
+
+        PriorityOnboardingDialogController.Builder b =
+                new PriorityOnboardingDialogController.Builder();
+        PriorityOnboardingDialogController controller =
+                mock(PriorityOnboardingDialogController.class);
+        when(b.build()).thenReturn(controller);
+
+        when(mBuilderProvider.get()).thenReturn(b);
+        mNotificationInfo.bindNotification(
+                mShortcutManager,
+                mMockPackageManager,
+                mMockINotificationManager,
+                mVisualStabilityManager,
+                TEST_PACKAGE_NAME,
+                mNotificationChannel,
+                mEntry,
+                null,
+                null,
+                mIconFactory,
+                mUserContext,
+                mBuilderProvider,
+                true);
+
+        // WHEN user clicks "priority"
+        mNotificationInfo.setSelectedAction(NotificationConversationInfo.ACTION_FAVORITE);
+
+        // THEN the user is presented with the priority onboarding screen
+        verify(controller, never()).show();
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
index ed46423..5813740 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
@@ -66,6 +66,7 @@
 import com.android.internal.logging.MetricsLogger;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
+import com.android.systemui.settings.CurrentUserContextTracker;
 import com.android.systemui.statusbar.NotificationLockscreenUserManager;
 import com.android.systemui.statusbar.NotificationPresenter;
 import com.android.systemui.statusbar.notification.NotificationActivityStarter;
@@ -83,11 +84,14 @@
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Answers;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
+import javax.inject.Provider;
+
 /**
  * Tests for {@link NotificationGutsManager}.
  */
@@ -120,6 +124,10 @@
     @Mock private LauncherApps mLauncherApps;
     @Mock private ShortcutManager mShortcutManager;
     @Mock private PeopleNotificationIdentifier mPeopleNotificationIdentifier;
+    @Mock private CurrentUserContextTracker mContextTracker;
+    @Mock(answer = Answers.RETURNS_SELF)
+    private PriorityOnboardingDialogController.Builder mBuilder;
+    private Provider<PriorityOnboardingDialogController.Builder> mProvider = () -> mBuilder;
 
     @Before
     public void setUp() {
@@ -136,7 +144,7 @@
 
         mGutsManager = new NotificationGutsManager(mContext, mVisualStabilityManager,
                 () -> mStatusBar, mHandler, mAccessibilityManager, mHighPriorityProvider,
-                mINotificationManager, mLauncherApps, mShortcutManager);
+                mINotificationManager, mLauncherApps, mShortcutManager, mContextTracker, mProvider);
         mGutsManager.setUpWithPresenter(mPresenter, mStackScroller,
                 mCheckSaveListener, mOnSettingsClickListener);
         mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);
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 657bc8d..1cb4d89 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
@@ -13,6 +13,7 @@
 
 package com.android.systemui.statusbar.notification.stack;
 
+import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED;
 import static android.provider.Settings.Secure.NOTIFICATION_NEW_INTERRUPTION_MODEL;
 
 import static junit.framework.Assert.assertEquals;
@@ -151,6 +152,7 @@
                 NOTIFICATION_NEW_INTERRUPTION_MODEL, 0);
         Settings.Secure.putInt(mContext.getContentResolver(),
                 NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, 1);
 
         // Inject dependencies before initializing the layout
         mDependency.injectMockDependency(VisualStabilityManager.class);
@@ -311,7 +313,7 @@
         mStackScroller.setFooterView(view);
         when(view.willBeGone()).thenReturn(true);
 
-        mStackScroller.updateFooterView(true, false);
+        mStackScroller.updateFooterView(true, false, true);
 
         verify(view).setVisible(eq(true), anyBoolean());
         verify(view).setSecondaryVisible(eq(false), anyBoolean());
@@ -323,7 +325,7 @@
         mStackScroller.setFooterView(view);
         when(view.willBeGone()).thenReturn(true);
 
-        mStackScroller.updateFooterView(true, true);
+        mStackScroller.updateFooterView(true, true, true);
 
         verify(view).setVisible(eq(true), anyBoolean());
         verify(view).setSecondaryVisible(eq(true), anyBoolean());
@@ -344,8 +346,10 @@
         setBarStateForTest(StatusBarState.SHADE);
         assertEquals(0, mEntryManager.getActiveNotificationsCount());
 
+        FooterView view = mock(FooterView.class);
+        mStackScroller.setFooterView(view);
         mStackScroller.updateFooter();
-        verify(mStackScroller, atLeastOnce()).updateFooterView(false, false);
+        verify(mStackScroller, atLeastOnce()).updateFooterView(false, false, true);
     }
 
     @Test
@@ -361,8 +365,10 @@
         when(mStackScroller.getChildAt(anyInt())).thenReturn(row);
         when(mRemoteInputController.isRemoteInputActive()).thenReturn(true);
 
+        FooterView view = mock(FooterView.class);
+        mStackScroller.setFooterView(view);
         mStackScroller.updateFooter();
-        verify(mStackScroller).updateFooterView(false, true);
+        verify(mStackScroller).updateFooterView(false, true, true);
     }
 
     @Test
@@ -378,8 +384,10 @@
         when(mStackScroller.getChildCount()).thenReturn(1);
         when(mStackScroller.getChildAt(anyInt())).thenReturn(row);
 
+        FooterView view = mock(FooterView.class);
+        mStackScroller.setFooterView(view);
         mStackScroller.updateFooter();
-        verify(mStackScroller).updateFooterView(true, true);
+        verify(mStackScroller).updateFooterView(true, true, true);
     }
 
     @Test
@@ -390,8 +398,10 @@
         entries.add(new NotificationEntryBuilder().build());
         addEntriesToEntryManager(entries);
 
+        FooterView view = mock(FooterView.class);
+        mStackScroller.setFooterView(view);
         mStackScroller.updateFooter();
-        verify(mStackScroller).updateFooterView(true, false);
+        verify(mStackScroller).updateFooterView(true, false, true);
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index b905bdd..5a08c9c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -120,7 +120,6 @@
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
 import com.android.systemui.statusbar.notification.init.NotificationsController;
 import com.android.systemui.statusbar.notification.interruption.BypassHeadsUpNotifier;
-import com.android.systemui.statusbar.notification.interruption.NotificationAlertingManager;
 import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl;
 import com.android.systemui.statusbar.notification.logging.NotificationLogger;
 import com.android.systemui.statusbar.notification.logging.NotificationPanelLoggerFake;
@@ -193,7 +192,6 @@
     @Mock private StatusBarNotificationPresenter mNotificationPresenter;
     @Mock private NotificationEntryListener mEntryListener;
     @Mock private NotificationFilter mNotificationFilter;
-    @Mock private NotificationAlertingManager mNotificationAlertingManager;
     @Mock private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
     @Mock private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
     @Mock private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
@@ -352,7 +350,6 @@
                 mNotificationInterruptStateProvider,
                 mNotificationViewHierarchyManager,
                 mKeyguardViewMediator,
-                mNotificationAlertingManager,
                 new DisplayMetrics(),
                 mMetricsLogger,
                 mUiBgExecutor,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/animation/PhysicsAnimatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/util/animation/PhysicsAnimatorTest.kt
index 950f70f..eb435f9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/util/animation/PhysicsAnimatorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/util/animation/PhysicsAnimatorTest.kt
@@ -134,6 +134,7 @@
 
     @Test
     @Throws(InterruptedException::class)
+    @Ignore("Increasingly flaky")
     fun testEndListenersAndActions() {
         PhysicsAnimatorTestUtils.setAllAnimationsBlock(false)
         animator
diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/magnetictarget/MagnetizedObjectTest.kt b/packages/SystemUI/tests/src/com/android/systemui/util/magnetictarget/MagnetizedObjectTest.kt
index f6b7b74..251ca9c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/util/magnetictarget/MagnetizedObjectTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/util/magnetictarget/MagnetizedObjectTest.kt
@@ -186,8 +186,8 @@
 
     @Test
     fun testMotionEventConsumption_downInMagneticField() {
-        // We should consume DOWN events if they occur in the field.
-        assertTrue(magnetizedObject.maybeConsumeMotionEvent(getMotionEvent(
+        // We should not consume DOWN events even if they occur in the field.
+        assertFalse(magnetizedObject.maybeConsumeMotionEvent(getMotionEvent(
                 x = targetCenterX, y = targetCenterY, action = MotionEvent.ACTION_DOWN)))
     }
 
@@ -342,10 +342,14 @@
         // Trigger the magnet animation, and block the test until it ends.
         PhysicsAnimatorTestUtils.setAllAnimationsBlock(true)
         magnetizedObject.maybeConsumeMotionEvent(getMotionEvent(
-                x = targetCenterX,
-                y = targetCenterY,
+                x = targetCenterX - 250,
+                y = targetCenterY - 250,
                 action = MotionEvent.ACTION_DOWN))
 
+        magnetizedObject.maybeConsumeMotionEvent(getMotionEvent(
+                x = targetCenterX,
+                y = targetCenterY))
+
         // The object's (top-left) position should now position it centered over the target.
         assertEquals(targetCenterX - objectSize / 2, objectX)
         assertEquals(targetCenterY - objectSize / 2, objectY)
diff --git a/packages/Tethering/Android.bp b/packages/Tethering/Android.bp
index 5b052df..bfb6524 100644
--- a/packages/Tethering/Android.bp
+++ b/packages/Tethering/Android.bp
@@ -34,7 +34,6 @@
     ],
     libs: [
         "framework-tethering",
-        "framework-telephony-stubs",
         "framework-wifi-stubs-systemapi",
         "unsupportedappusage",
     ],
diff --git a/packages/Tethering/AndroidManifest.xml b/packages/Tethering/AndroidManifest.xml
index 9328611..2b2fe45 100644
--- a/packages/Tethering/AndroidManifest.xml
+++ b/packages/Tethering/AndroidManifest.xml
@@ -34,17 +34,21 @@
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
     <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
     <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.TETHER_PRIVILEGED" />
     <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
     <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 
+    <protected-broadcast android:name="com.android.server.connectivity.tethering.DISABLE_TETHERING" />
+
     <application
         android:process="com.android.networkstack.process"
         android:extractNativeLibs="false"
         android:persistent="true">
-        <service android:name="com.android.server.connectivity.tethering.TetheringService"
-                 android:permission="android.permission.MAINLINE_NETWORK_STACK">
+        <service android:name="com.android.networkstack.tethering.TetheringService"
+                 android:permission="android.permission.MAINLINE_NETWORK_STACK"
+                 android:exported="true">
             <intent-filter>
                 <action android:name="android.net.ITetheringConnector"/>
             </intent-filter>
diff --git a/packages/Tethering/AndroidManifest_InProcess.xml b/packages/Tethering/AndroidManifest_InProcess.xml
index 02ea551..b1f1240 100644
--- a/packages/Tethering/AndroidManifest_InProcess.xml
+++ b/packages/Tethering/AndroidManifest_InProcess.xml
@@ -22,9 +22,10 @@
           android:process="system">
     <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" />
     <application>
-        <service android:name="com.android.server.connectivity.tethering.TetheringService"
+        <service android:name="com.android.networkstack.tethering.TetheringService"
                  android:process="system"
-                 android:permission="android.permission.MAINLINE_NETWORK_STACK">
+                 android:permission="android.permission.MAINLINE_NETWORK_STACK"
+                 android:exported="true">
             <intent-filter>
                 <action android:name="android.net.ITetheringConnector.InProcess"/>
             </intent-filter>
diff --git a/packages/Tethering/common/TetheringLib/Android.bp b/packages/Tethering/common/TetheringLib/Android.bp
index 31c40d2..ee6b9f1 100644
--- a/packages/Tethering/common/TetheringLib/Android.bp
+++ b/packages/Tethering/common/TetheringLib/Android.bp
@@ -16,6 +16,7 @@
 // AIDL interfaces between the core system and the tethering mainline module.
 aidl_interface {
     name: "tethering-aidl-interfaces",
+    unstable: true,
     local_include_dir: "src",
     include_dirs: ["frameworks/base/core/java"], // For framework parcelables.
     srcs: [
diff --git a/packages/Tethering/proguard.flags b/packages/Tethering/proguard.flags
index 1f83a66..051fbd1 100644
--- a/packages/Tethering/proguard.flags
+++ b/packages/Tethering/proguard.flags
@@ -1,5 +1,5 @@
 # Keep class's integer static field for MessageUtils to parsing their name.
--keep class com.android.server.connectivity.tethering.Tethering$TetherMasterSM {
+-keep class com.android.networkstack.tethering.Tethering$TetherMasterSM {
     static final int CMD_*;
     static final int EVENT_*;
 }
diff --git a/packages/Tethering/res/values-mcc204-mnc04/strings.xml b/packages/Tethering/res/values-mcc204-mnc04/strings.xml
deleted file mode 100644
index a996b42..0000000
--- a/packages/Tethering/res/values-mcc204-mnc04/strings.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2020 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_title">Hotspot has no internet</string>
-    <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_message">Devices can\u2019t connect to internet</string>
-    <!-- String for cellular roaming notification disable button [CHAR LIMIT=200]  -->
-    <string name="no_upstream_notification_disable_button">Turn off hotspot</string>
-
-    <!-- String for cellular roaming notification title [CHAR LIMIT=200]  -->
-    <string name="upstream_roaming_notification_title">Hotspot is on</string>
-    <!-- String for cellular roaming notification message [CHAR LIMIT=500]  -->
-    <string name="upstream_roaming_notification_message">Additional charges may apply while roaming</string>
-    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200]  -->
-    <string name="upstream_roaming_notification_continue_button">Continue</string>
-</resources>
diff --git a/packages/Tethering/res/values-mcc310-mnc004/config.xml b/packages/Tethering/res/values-mcc310-mnc004/config.xml
new file mode 100644
index 0000000..5c5be04
--- /dev/null
+++ b/packages/Tethering/res/values-mcc310-mnc004/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <!-- Delay(millisecond) to show no upstream notification after there's no Backhaul. Set delay to
+         "0" for disable this feature. -->
+    <integer name="delay_to_show_no_upstream_after_no_backhaul">5000</integer>
+
+    <!-- Config for showing upstream roaming notification. -->
+    <bool name="config_upstream_roaming_notification">true</bool>
+</resources>
\ No newline at end of file
diff --git a/packages/Tethering/res/values-mcc310-mnc004/strings.xml b/packages/Tethering/res/values-mcc310-mnc004/strings.xml
index a996b42..9dadd49 100644
--- a/packages/Tethering/res/values-mcc310-mnc004/strings.xml
+++ b/packages/Tethering/res/values-mcc310-mnc004/strings.xml
@@ -15,16 +15,16 @@
 -->
 <resources>
     <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_title">Hotspot has no internet</string>
+    <string name="no_upstream_notification_title">Tethering has no internet</string>
     <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_message">Devices can\u2019t connect to internet</string>
-    <!-- String for cellular roaming notification disable button [CHAR LIMIT=200]  -->
-    <string name="no_upstream_notification_disable_button">Turn off hotspot</string>
+    <string name="no_upstream_notification_message">Devices can\u2019t connect</string>
+    <!-- String for no upstream notification disable button [CHAR LIMIT=200] -->
+    <string name="no_upstream_notification_disable_button">Turn off tethering</string>
 
-    <!-- String for cellular roaming notification title [CHAR LIMIT=200]  -->
-    <string name="upstream_roaming_notification_title">Hotspot is on</string>
-    <!-- String for cellular roaming notification message [CHAR LIMIT=500]  -->
+    <!-- String for cellular roaming notification title [CHAR LIMIT=200] -->
+    <string name="upstream_roaming_notification_title">Hotspot or tethering is on</string>
+    <!-- String for cellular roaming notification message [CHAR LIMIT=500] -->
     <string name="upstream_roaming_notification_message">Additional charges may apply while roaming</string>
-    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200]  -->
+    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200] -->
     <string name="upstream_roaming_notification_continue_button">Continue</string>
 </resources>
diff --git a/packages/Tethering/res/values-mcc311-mnc480/config.xml b/packages/Tethering/res/values-mcc311-mnc480/config.xml
new file mode 100644
index 0000000..5c5be04
--- /dev/null
+++ b/packages/Tethering/res/values-mcc311-mnc480/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <!-- Delay(millisecond) to show no upstream notification after there's no Backhaul. Set delay to
+         "0" for disable this feature. -->
+    <integer name="delay_to_show_no_upstream_after_no_backhaul">5000</integer>
+
+    <!-- Config for showing upstream roaming notification. -->
+    <bool name="config_upstream_roaming_notification">true</bool>
+</resources>
\ No newline at end of file
diff --git a/packages/Tethering/res/values-mcc311-mnc480/strings.xml b/packages/Tethering/res/values-mcc311-mnc480/strings.xml
index a996b42..9dadd49 100644
--- a/packages/Tethering/res/values-mcc311-mnc480/strings.xml
+++ b/packages/Tethering/res/values-mcc311-mnc480/strings.xml
@@ -15,16 +15,16 @@
 -->
 <resources>
     <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_title">Hotspot has no internet</string>
+    <string name="no_upstream_notification_title">Tethering has no internet</string>
     <!-- String for no upstream notification title [CHAR LIMIT=200] -->
-    <string name="no_upstream_notification_message">Devices can\u2019t connect to internet</string>
-    <!-- String for cellular roaming notification disable button [CHAR LIMIT=200]  -->
-    <string name="no_upstream_notification_disable_button">Turn off hotspot</string>
+    <string name="no_upstream_notification_message">Devices can\u2019t connect</string>
+    <!-- String for no upstream notification disable button [CHAR LIMIT=200] -->
+    <string name="no_upstream_notification_disable_button">Turn off tethering</string>
 
-    <!-- String for cellular roaming notification title [CHAR LIMIT=200]  -->
-    <string name="upstream_roaming_notification_title">Hotspot is on</string>
-    <!-- String for cellular roaming notification message [CHAR LIMIT=500]  -->
+    <!-- String for cellular roaming notification title [CHAR LIMIT=200] -->
+    <string name="upstream_roaming_notification_title">Hotspot or tethering is on</string>
+    <!-- String for cellular roaming notification message [CHAR LIMIT=500] -->
     <string name="upstream_roaming_notification_message">Additional charges may apply while roaming</string>
-    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200]  -->
+    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200] -->
     <string name="upstream_roaming_notification_continue_button">Continue</string>
 </resources>
diff --git a/packages/Tethering/res/values/config.xml b/packages/Tethering/res/values/config.xml
index 04d6215..66fbefca 100644
--- a/packages/Tethering/res/values/config.xml
+++ b/packages/Tethering/res/values/config.xml
@@ -89,7 +89,7 @@
                         TYPE_MOBILE_HIPRI is appended.
 
          For other changes applied to this list, now and in the future, see
-         com.android.server.connectivity.tethering.TetheringConfiguration.
+         com.android.networkstack.tethering.TetheringConfiguration.
 
          Note also: the order of this is important. The first upstream type
          for which a satisfying network exists is used.
@@ -202,4 +202,15 @@
     <string name="tethering_notification_title">@string/tethered_notification_title</string>
     <!-- String for tether enable notification message. -->
     <string name="tethering_notification_message">@string/tethered_notification_message</string>
+
+    <!-- No upstream notification is shown when there is a downstream but no upstream that is able
+         to do the tethering. -->
+    <!-- Delay(millisecond) to show no upstream notification after there's no Backhaul. Set delay to
+         "-1" for disable this feature. -->
+    <integer name="delay_to_show_no_upstream_after_no_backhaul">-1</integer>
+
+    <!-- Cellular roaming notification is shown when upstream is cellular network and in roaming
+         state. -->
+    <!-- Config for showing upstream roaming notification. -->
+    <bool name="config_upstream_roaming_notification">false</bool>
 </resources>
diff --git a/packages/Tethering/res/values/strings.xml b/packages/Tethering/res/values/strings.xml
index 52a1654..4fa60d4 100644
--- a/packages/Tethering/res/values/strings.xml
+++ b/packages/Tethering/res/values/strings.xml
@@ -40,13 +40,13 @@
     <string name="no_upstream_notification_title"></string>
     <!-- String for no upstream notification message [CHAR LIMIT=200] -->
     <string name="no_upstream_notification_message"></string>
-    <!-- String for cellular roaming notification disable button [CHAR LIMIT=200]  -->
+    <!-- String for no upstream notification disable button [CHAR LIMIT=200] -->
     <string name="no_upstream_notification_disable_button"></string>
 
-    <!-- String for cellular roaming notification title [CHAR LIMIT=200]  -->
+    <!-- String for cellular roaming notification title [CHAR LIMIT=200] -->
     <string name="upstream_roaming_notification_title"></string>
-    <!-- String for cellular roaming notification message [CHAR LIMIT=500]  -->
+    <!-- String for cellular roaming notification message [CHAR LIMIT=500] -->
     <string name="upstream_roaming_notification_message"></string>
-    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200]  -->
+    <!-- String for cellular roaming notification continue button [CHAR LIMIT=200] -->
     <string name="upstream_roaming_notification_continue_button"></string>
 </resources>
diff --git a/packages/Tethering/src/android/net/ip/IpServer.java b/packages/Tethering/src/android/net/ip/IpServer.java
index 1dac5b7..83727bc 100644
--- a/packages/Tethering/src/android/net/ip/IpServer.java
+++ b/packages/Tethering/src/android/net/ip/IpServer.java
@@ -122,6 +122,8 @@
     // TODO: have this configurable
     private static final int DHCP_LEASE_TIME_SECS = 3600;
 
+    private static final MacAddress NULL_MAC_ADDRESS = MacAddress.fromString("00:00:00:00:00:00");
+
     private static final String TAG = "IpServer";
     private static final boolean DBG = false;
     private static final boolean VDBG = false;
@@ -902,9 +904,12 @@
             return;
         }
 
+        // When deleting rules, we still need to pass a non-null MAC, even though it's ignored.
+        // Do this here instead of in the Ipv6ForwardingRule constructor to ensure that we never
+        // add rules with a null MAC, only delete them.
+        MacAddress dstMac = e.isValid() ? e.macAddr : NULL_MAC_ADDRESS;
         Ipv6ForwardingRule rule = new Ipv6ForwardingRule(upstreamIfindex,
-                mInterfaceParams.index, (Inet6Address) e.ip, mInterfaceParams.macAddr,
-                e.macAddr);
+                mInterfaceParams.index, (Inet6Address) e.ip, mInterfaceParams.macAddr, dstMac);
         if (e.isValid()) {
             addIpv6ForwardingRule(rule);
         } else {
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/ConnectedClientsTracker.java b/packages/Tethering/src/com/android/networkstack/tethering/ConnectedClientsTracker.java
similarity index 98%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/ConnectedClientsTracker.java
rename to packages/Tethering/src/com/android/networkstack/tethering/ConnectedClientsTracker.java
index cdd1a5d..8a96988 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/ConnectedClientsTracker.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/ConnectedClientsTracker.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.TetheringManager.TETHERING_WIFI;
 
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/EntitlementManager.java b/packages/Tethering/src/com/android/networkstack/tethering/EntitlementManager.java
similarity index 86%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/EntitlementManager.java
rename to packages/Tethering/src/com/android/networkstack/tethering/EntitlementManager.java
index 639cf65..049a9f6 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/EntitlementManager.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/EntitlementManager.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.TetheringConstants.EXTRA_ADD_TETHER_TYPE;
 import static android.net.TetheringConstants.EXTRA_PROVISION_CALLBACK;
@@ -38,8 +38,6 @@
 import android.net.util.SharedLog;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
 import android.os.Parcel;
 import android.os.PersistableBundle;
 import android.os.ResultReceiver;
@@ -52,7 +50,6 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.StateMachine;
-import com.android.networkstack.tethering.R;
 
 import java.io.PrintWriter;
 
@@ -71,16 +68,11 @@
     @VisibleForTesting
     protected static final String DISABLE_PROVISIONING_SYSPROP_KEY = "net.tethering.noprovisioning";
     private static final String ACTION_PROVISIONING_ALARM =
-            "com.android.server.connectivity.tethering.PROVISIONING_RECHECK_ALARM";
+            "com.android.networkstack.tethering.PROVISIONING_RECHECK_ALARM";
     private static final String EXTRA_SUBID = "subId";
 
     private final ComponentName mSilentProvisioningService;
     private static final int MS_PER_HOUR = 60 * 60 * 1000;
-    private static final int EVENT_START_PROVISIONING = 0;
-    private static final int EVENT_STOP_PROVISIONING = 1;
-    private static final int EVENT_UPSTREAM_CHANGED = 2;
-    private static final int EVENT_MAYBE_RUN_PROVISIONING = 3;
-    private static final int EVENT_GET_ENTITLEMENT_VALUE = 4;
 
     // The ArraySet contains enabled downstream types, ex:
     // {@link TetheringManager.TETHERING_WIFI}
@@ -91,7 +83,7 @@
     private final int mPermissionChangeMessageCode;
     private final SharedLog mLog;
     private final SparseIntArray mEntitlementCacheValue;
-    private final EntitlementHandler mHandler;
+    private final Handler mHandler;
     private final StateMachine mTetherMasterSM;
     // Key: TetheringManager.TETHERING_*(downstream).
     // Value: TetheringManager.TETHER_ERROR_{NO_ERROR or PROVISION_FAILED}(provisioning result).
@@ -113,10 +105,7 @@
         mEntitlementCacheValue = new SparseIntArray();
         mTetherMasterSM = tetherMasterSM;
         mPermissionChangeMessageCode = permissionChangeMessageCode;
-        final Handler masterHandler = tetherMasterSM.getHandler();
-        // Create entitlement's own handler which is associated with TetherMaster thread
-        // let all entitlement processes run in the same thread.
-        mHandler = new EntitlementHandler(masterHandler.getLooper());
+        mHandler = tetherMasterSM.getHandler();
         mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_PROVISIONING_ALARM),
                 null, mHandler);
         mSilentProvisioningService = ComponentName.unflattenFromString(
@@ -173,14 +162,9 @@
      *        provisioning app UI if there is one.
      */
     public void startProvisioningIfNeeded(int downstreamType, boolean showProvisioningUi) {
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_START_PROVISIONING,
-                downstreamType, encodeBool(showProvisioningUi)));
-    }
+        if (!isValidDownstreamType(downstreamType)) return;
 
-    private void handleStartProvisioningIfNeeded(int type, boolean showProvisioningUi) {
-        if (!isValidDownstreamType(type)) return;
-
-        if (!mCurrentTethers.contains(type)) mCurrentTethers.add(type);
+        if (!mCurrentTethers.contains(downstreamType)) mCurrentTethers.add(downstreamType);
 
         final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
         if (isTetherProvisioningRequired(config)) {
@@ -193,9 +177,9 @@
             // till upstream change to cellular.
             if (mUsingCellularAsUpstream) {
                 if (showProvisioningUi) {
-                    runUiTetherProvisioning(type, config.activeDataSubId);
+                    runUiTetherProvisioning(downstreamType, config.activeDataSubId);
                 } else {
-                    runSilentTetherProvisioning(type, config.activeDataSubId);
+                    runSilentTetherProvisioning(downstreamType, config.activeDataSubId);
                 }
                 mNeedReRunProvisioningUi = false;
             } else {
@@ -212,10 +196,6 @@
      * @param type tethering type from TetheringManager.TETHERING_{@code *}
      */
     public void stopProvisioningIfNeeded(int type) {
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_STOP_PROVISIONING, type, 0));
-    }
-
-    private void handleStopProvisioningIfNeeded(int type) {
         if (!isValidDownstreamType(type)) return;
 
         mCurrentTethers.remove(type);
@@ -231,11 +211,6 @@
      * @param isCellular whether tethering upstream is cellular.
      */
     public void notifyUpstream(boolean isCellular) {
-        mHandler.sendMessage(mHandler.obtainMessage(
-                EVENT_UPSTREAM_CHANGED, encodeBool(isCellular), 0));
-    }
-
-    private void handleNotifyUpstream(boolean isCellular) {
         if (DBG) {
             mLog.i("notifyUpstream: " + isCellular
                     + ", mCellularUpstreamPermitted: " + mCellularUpstreamPermitted
@@ -245,16 +220,17 @@
 
         if (mUsingCellularAsUpstream) {
             final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
-            handleMaybeRunProvisioning(config);
+            maybeRunProvisioning(config);
         }
     }
 
     /** Run provisioning if needed */
     public void maybeRunProvisioning() {
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_MAYBE_RUN_PROVISIONING));
+        final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
+        maybeRunProvisioning(config);
     }
 
-    private void handleMaybeRunProvisioning(final TetheringConfiguration config) {
+    private void maybeRunProvisioning(final TetheringConfiguration config) {
         if (mCurrentTethers.size() == 0 || !isTetherProvisioningRequired(config)) {
             return;
         }
@@ -320,7 +296,7 @@
         }
 
         if (mUsingCellularAsUpstream) {
-            handleMaybeRunProvisioning(config);
+            maybeRunProvisioning(config);
         }
     }
 
@@ -495,46 +471,6 @@
         }
     };
 
-    private class EntitlementHandler extends Handler {
-        EntitlementHandler(Looper looper) {
-            super(looper);
-        }
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_START_PROVISIONING:
-                    handleStartProvisioningIfNeeded(msg.arg1, toBool(msg.arg2));
-                    break;
-                case EVENT_STOP_PROVISIONING:
-                    handleStopProvisioningIfNeeded(msg.arg1);
-                    break;
-                case EVENT_UPSTREAM_CHANGED:
-                    handleNotifyUpstream(toBool(msg.arg1));
-                    break;
-                case EVENT_MAYBE_RUN_PROVISIONING:
-                    final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
-                    handleMaybeRunProvisioning(config);
-                    break;
-                case EVENT_GET_ENTITLEMENT_VALUE:
-                    handleRequestLatestTetheringEntitlementValue(msg.arg1,
-                            (ResultReceiver) msg.obj, toBool(msg.arg2));
-                    break;
-                default:
-                    mLog.log("Unknown event: " + msg.what);
-                    break;
-            }
-        }
-    }
-
-    private static boolean toBool(int encodedBoolean) {
-        return encodedBoolean != 0;
-    }
-
-    private static int encodeBool(boolean b) {
-        return b ? 1 : 0;
-    }
-
     private static boolean isValidDownstreamType(int type) {
         switch (type) {
             case TETHERING_BLUETOOTH:
@@ -645,13 +581,6 @@
     /** Get the last value of the tethering entitlement check. */
     public void requestLatestTetheringEntitlementResult(int downstream, ResultReceiver receiver,
             boolean showEntitlementUi) {
-        mHandler.sendMessage(mHandler.obtainMessage(EVENT_GET_ENTITLEMENT_VALUE,
-                downstream, encodeBool(showEntitlementUi), receiver));
-
-    }
-
-    private void handleRequestLatestTetheringEntitlementValue(int downstream,
-            ResultReceiver receiver, boolean showEntitlementUi) {
         if (!isValidDownstreamType(downstream)) {
             receiver.send(TETHER_ERROR_ENTITLEMENT_UNKNOWN, null);
             return;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java b/packages/Tethering/src/com/android/networkstack/tethering/IPv6TetheringCoordinator.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java
rename to packages/Tethering/src/com/android/networkstack/tethering/IPv6TetheringCoordinator.java
index 66b9ade8..d450c46 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/IPv6TetheringCoordinator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import android.net.IpPrefix;
 import android.net.LinkAddress;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/OffloadController.java b/packages/Tethering/src/com/android/networkstack/tethering/OffloadController.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/OffloadController.java
rename to packages/Tethering/src/com/android/networkstack/tethering/OffloadController.java
index 15cdb6a..c007c17 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/OffloadController.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/OffloadController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
 import static android.net.NetworkStats.METERED_NO;
@@ -50,7 +50,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.IndentingPrintWriter;
-import com.android.server.connectivity.tethering.OffloadHardwareInterface.ForwardedStats;
+import com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats;
 
 import java.net.Inet4Address;
 import java.net.Inet6Address;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/OffloadHardwareInterface.java b/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/OffloadHardwareInterface.java
rename to packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java
index b545717..85a23fb 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/OffloadHardwareInterface.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.util.TetheringUtils.uint16;
 
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/Tethering.java b/packages/Tethering/src/com/android/networkstack/tethering/Tethering.java
similarity index 98%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/Tethering.java
rename to packages/Tethering/src/com/android/networkstack/tethering/Tethering.java
index 4b2c921..05cf68e 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/Tethering.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/Tethering.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.Manifest.permission.NETWORK_SETTINGS;
 import static android.Manifest.permission.NETWORK_STACK;
@@ -60,7 +60,7 @@
 import static android.telephony.CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED;
 import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
-import static com.android.server.connectivity.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE;
+import static com.android.networkstack.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE;
 
 import android.app.usage.NetworkStatsManager;
 import android.bluetooth.BluetoothAdapter;
@@ -81,6 +81,7 @@
 import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.net.Network;
+import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
 import android.net.TetherStatesParcel;
 import android.net.TetheredClient;
@@ -257,7 +258,7 @@
         mContext = mDeps.getContext();
         mNetd = mDeps.getINetd(mContext);
         mLooper = mDeps.getTetheringLooper();
-        mNotificationUpdater = mDeps.getNotificationUpdater(mContext);
+        mNotificationUpdater = mDeps.getNotificationUpdater(mContext, mLooper);
 
         mPublicSync = new Object();
 
@@ -337,6 +338,11 @@
         filter.addAction(ACTION_RESTRICT_BACKGROUND_CHANGED);
         mContext.registerReceiver(mStateReceiver, filter, null, mHandler);
 
+        final IntentFilter noUpstreamFilter = new IntentFilter();
+        noUpstreamFilter.addAction(TetheringNotificationUpdater.ACTION_DISABLE_TETHERING);
+        mContext.registerReceiver(
+                mStateReceiver, noUpstreamFilter, PERMISSION_MAINLINE_NETWORK_STACK, mHandler);
+
         final WifiManager wifiManager = getWifiManager();
         if (wifiManager != null) {
             wifiManager.registerSoftApCallback(mExecutor, new TetheringSoftApCallback());
@@ -855,6 +861,8 @@
             } else if (action.equals(ACTION_RESTRICT_BACKGROUND_CHANGED)) {
                 mLog.log("OBSERVED data saver changed");
                 handleDataSaverChanged();
+            } else if (action.equals(TetheringNotificationUpdater.ACTION_DISABLE_TETHERING)) {
+                untetherAll();
             }
         }
 
@@ -922,8 +930,10 @@
                     case WifiManager.WIFI_AP_STATE_ENABLED:
                         enableWifiIpServingLocked(ifname, ipmode);
                         break;
-                    case WifiManager.WIFI_AP_STATE_DISABLED:
                     case WifiManager.WIFI_AP_STATE_DISABLING:
+                        // We can see this state on the way to disabled.
+                        break;
+                    case WifiManager.WIFI_AP_STATE_DISABLED:
                     case WifiManager.WIFI_AP_STATE_FAILED:
                     default:
                         disableWifiIpServingLocked(ifname, curState);
@@ -1467,7 +1477,7 @@
             if (mTetherUpstream != newUpstream) {
                 mTetherUpstream = newUpstream;
                 mUpstreamNetworkMonitor.setCurrentUpstream(mTetherUpstream);
-                reportUpstreamChanged(mTetherUpstream);
+                reportUpstreamChanged(ns);
             }
         }
 
@@ -1589,7 +1599,8 @@
             }
         }
 
-        private void handleUpstreamNetworkMonitorCallback(int arg1, Object o) {
+        @VisibleForTesting
+        void handleUpstreamNetworkMonitorCallback(int arg1, Object o) {
             if (arg1 == UpstreamNetworkMonitor.NOTIFY_LOCAL_PREFIXES) {
                 mOffload.sendOffloadExemptPrefixes((Set<IpPrefix>) o);
                 return;
@@ -1615,6 +1626,9 @@
 
             switch (arg1) {
                 case UpstreamNetworkMonitor.EVENT_ON_CAPABILITIES:
+                    if (ns.network.equals(mTetherUpstream)) {
+                        mNotificationUpdater.onUpstreamCapabilitiesChanged(ns.networkCapabilities);
+                    }
                     handleNewUpstreamNetworkState(ns);
                     break;
                 case UpstreamNetworkMonitor.EVENT_ON_LINKPROPERTIES:
@@ -1944,10 +1958,12 @@
     /** Get the latest value of the tethering entitlement check. */
     void requestLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
             boolean showEntitlementUi) {
-        if (receiver != null) {
+        if (receiver == null) return;
+
+        mHandler.post(() -> {
             mEntitlementMgr.requestLatestTetheringEntitlementResult(type, receiver,
                     showEntitlementUi);
-        }
+        });
     }
 
     /** Register tethering event callback */
@@ -1998,8 +2014,10 @@
         });
     }
 
-    private void reportUpstreamChanged(Network network) {
+    private void reportUpstreamChanged(UpstreamNetworkState ns) {
         final int length = mTetheringEventCallbacks.beginBroadcast();
+        final Network network = (ns != null) ? ns.network : null;
+        final NetworkCapabilities capabilities = (ns != null) ? ns.networkCapabilities : null;
         try {
             for (int i = 0; i < length; i++) {
                 try {
@@ -2011,6 +2029,9 @@
         } finally {
             mTetheringEventCallbacks.finishBroadcast();
         }
+        // Need to notify capabilities change after upstream network changed because new network's
+        // capabilities should be checked every time.
+        mNotificationUpdater.onUpstreamCapabilitiesChanged(capabilities);
     }
 
     private void reportConfigurationChanged(TetheringConfigurationParcel config) {
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringConfiguration.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/TetheringConfiguration.java
rename to packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
index 7e9e26f..aeac437 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringConfiguration.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringConfiguration.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.content.Context.TELEPHONY_SERVICE;
 import static android.net.ConnectivityManager.TYPE_ETHERNET;
@@ -33,7 +33,6 @@
 import android.text.TextUtils;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.networkstack.tethering.R;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringDependencies.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringDependencies.java
similarity index 95%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/TetheringDependencies.java
rename to packages/Tethering/src/com/android/networkstack/tethering/TetheringDependencies.java
index 0330dad..9b54b5f 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringDependencies.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringDependencies.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
@@ -106,8 +106,9 @@
     /**
      * Get a reference to the TetheringNotificationUpdater to be used by tethering.
      */
-    public TetheringNotificationUpdater getNotificationUpdater(@NonNull final Context ctx) {
-        return new TetheringNotificationUpdater(ctx);
+    public TetheringNotificationUpdater getNotificationUpdater(@NonNull final Context ctx,
+            @NonNull final Looper looper) {
+        return new TetheringNotificationUpdater(ctx, looper);
     }
 
     /**
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringInterfaceUtils.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringInterfaceUtils.java
similarity index 98%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/TetheringInterfaceUtils.java
rename to packages/Tethering/src/com/android/networkstack/tethering/TetheringInterfaceUtils.java
index 4dd6830..ff38f71 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringInterfaceUtils.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringInterfaceUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import android.annotation.Nullable;
 import android.net.LinkProperties;
diff --git a/packages/Tethering/src/com/android/networkstack/tethering/TetheringNotificationUpdater.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringNotificationUpdater.java
new file mode 100644
index 0000000..f490cc4
--- /dev/null
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringNotificationUpdater.java
@@ -0,0 +1,448 @@
+/*
+ * 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.networkstack.tethering;
+
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
+import static android.net.TetheringManager.TETHERING_BLUETOOTH;
+import static android.net.TetheringManager.TETHERING_USB;
+import static android.net.TetheringManager.TETHERING_WIFI;
+import static android.text.TextUtils.isEmpty;
+
+import android.app.Notification;
+import android.app.Notification.Action;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.net.NetworkCapabilities;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+import android.util.SparseArray;
+
+import androidx.annotation.ArrayRes;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.IntDef;
+import androidx.annotation.IntRange;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * A class to display tethering-related notifications.
+ *
+ * <p>This class is not thread safe, it is intended to be used only from the tethering handler
+ * thread. However the constructor is an exception, as it is called on another thread ;
+ * therefore for thread safety all members of this class MUST either be final or initialized
+ * to their default value (0, false or null).
+ *
+ * @hide
+ */
+public class TetheringNotificationUpdater {
+    private static final String TAG = TetheringNotificationUpdater.class.getSimpleName();
+    private static final String CHANNEL_ID = "TETHERING_STATUS";
+    private static final String WIFI_DOWNSTREAM = "WIFI";
+    private static final String USB_DOWNSTREAM = "USB";
+    private static final String BLUETOOTH_DOWNSTREAM = "BT";
+    @VisibleForTesting
+    static final String ACTION_DISABLE_TETHERING =
+            "com.android.server.connectivity.tethering.DISABLE_TETHERING";
+    private static final boolean NOTIFY_DONE = true;
+    private static final boolean NO_NOTIFY = false;
+    @VisibleForTesting
+    static final int EVENT_SHOW_NO_UPSTREAM = 1;
+    // Id to update and cancel enable notification. Must be unique within the tethering app.
+    @VisibleForTesting
+    static final int ENABLE_NOTIFICATION_ID = 1000;
+    // Id to update and cancel restricted notification. Must be unique within the tethering app.
+    @VisibleForTesting
+    static final int RESTRICTED_NOTIFICATION_ID = 1001;
+    // Id to update and cancel no upstream notification. Must be unique within the tethering app.
+    @VisibleForTesting
+    static final int NO_UPSTREAM_NOTIFICATION_ID = 1002;
+    // Id to update and cancel roaming notification. Must be unique within the tethering app.
+    @VisibleForTesting
+    static final int ROAMING_NOTIFICATION_ID = 1003;
+    @VisibleForTesting
+    static final int NO_ICON_ID = 0;
+    @VisibleForTesting
+    static final int DOWNSTREAM_NONE = 0;
+    // Refer to TelephonyManager#getSimCarrierId for more details about carrier id.
+    @VisibleForTesting
+    static final int VERIZON_CARRIER_ID = 1839;
+    private final Context mContext;
+    private final NotificationManager mNotificationManager;
+    private final NotificationChannel mChannel;
+    private final Handler mHandler;
+
+    // WARNING : the constructor is called on a different thread. Thread safety therefore
+    // relies on these values being initialized to 0, false or null, and not any other value. If you
+    // need to change this, you will need to change the thread where the constructor is invoked, or
+    // to introduce synchronization.
+    // Downstream type is one of ConnectivityManager.TETHERING_* constants, 0 1 or 2.
+    // This value has to be made 1 2 and 4, and OR'd with the others.
+    private int mDownstreamTypesMask = DOWNSTREAM_NONE;
+    private boolean mNoUpstream = false;
+    private boolean mRoaming = false;
+
+    // WARNING : this value is not able to being initialized to 0 and must have volatile because
+    // telephony service is not guaranteed that is up before tethering service starts. If telephony
+    // is up later than tethering, TetheringNotificationUpdater will use incorrect and valid
+    // subscription id(0) to query resources. Therefore, initialized subscription id must be
+    // INVALID_SUBSCRIPTION_ID.
+    private volatile int mActiveDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(value = {
+            ENABLE_NOTIFICATION_ID,
+            RESTRICTED_NOTIFICATION_ID,
+            NO_UPSTREAM_NOTIFICATION_ID,
+            ROAMING_NOTIFICATION_ID
+    })
+    @interface NotificationId {}
+
+    private static final class MccMncOverrideInfo {
+        public final String visitedMccMnc;
+        public final int homeMcc;
+        public final int homeMnc;
+        MccMncOverrideInfo(String visitedMccMnc, int mcc, int mnc) {
+            this.visitedMccMnc = visitedMccMnc;
+            this.homeMcc = mcc;
+            this.homeMnc = mnc;
+        }
+    }
+
+    private static final SparseArray<MccMncOverrideInfo> sCarrierIdToMccMnc = new SparseArray<>();
+
+    static {
+        sCarrierIdToMccMnc.put(VERIZON_CARRIER_ID, new MccMncOverrideInfo("20404", 311, 480));
+    }
+
+    public TetheringNotificationUpdater(@NonNull final Context context,
+            @NonNull final Looper looper) {
+        mContext = context;
+        mNotificationManager = (NotificationManager) context.createContextAsUser(UserHandle.ALL, 0)
+                .getSystemService(Context.NOTIFICATION_SERVICE);
+        mChannel = new NotificationChannel(
+                CHANNEL_ID,
+                context.getResources().getString(R.string.notification_channel_tethering_status),
+                NotificationManager.IMPORTANCE_LOW);
+        mNotificationManager.createNotificationChannel(mChannel);
+        mHandler = new NotificationHandler(looper);
+    }
+
+    private class NotificationHandler extends Handler {
+        NotificationHandler(Looper looper) {
+            super(looper);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch(msg.what) {
+                case EVENT_SHOW_NO_UPSTREAM:
+                    notifyTetheringNoUpstream();
+                    break;
+            }
+        }
+    }
+
+    /** Called when downstream has changed */
+    public void onDownstreamChanged(@IntRange(from = 0, to = 7) final int downstreamTypesMask) {
+        updateActiveNotifications(
+                mActiveDataSubId, downstreamTypesMask, mNoUpstream, mRoaming);
+    }
+
+    /** Called when active data subscription id changed */
+    public void onActiveDataSubscriptionIdChanged(final int subId) {
+        updateActiveNotifications(subId, mDownstreamTypesMask, mNoUpstream, mRoaming);
+    }
+
+    /** Called when upstream network capabilities changed */
+    public void onUpstreamCapabilitiesChanged(@Nullable final NetworkCapabilities capabilities) {
+        final boolean isNoUpstream = (capabilities == null);
+        final boolean isRoaming = capabilities != null
+                && !capabilities.hasCapability(NET_CAPABILITY_NOT_ROAMING);
+        updateActiveNotifications(
+                mActiveDataSubId, mDownstreamTypesMask, isNoUpstream, isRoaming);
+    }
+
+    @NonNull
+    @VisibleForTesting
+    final Handler getHandler() {
+        return mHandler;
+    }
+
+    @NonNull
+    @VisibleForTesting
+    Resources getResourcesForSubId(@NonNull final Context context, final int subId) {
+        final Resources res = SubscriptionManager.getResourcesForSubId(context, subId);
+        final TelephonyManager tm =
+                ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE))
+                        .createForSubscriptionId(mActiveDataSubId);
+        final int carrierId = tm.getSimCarrierId();
+        final String mccmnc = tm.getSimOperator();
+        final MccMncOverrideInfo overrideInfo = sCarrierIdToMccMnc.get(carrierId);
+        if (overrideInfo != null && overrideInfo.visitedMccMnc.equals(mccmnc)) {
+            // Re-configure MCC/MNC value to specific carrier to get right resources.
+            final Configuration config = res.getConfiguration();
+            config.mcc = overrideInfo.homeMcc;
+            config.mnc = overrideInfo.homeMnc;
+            return context.createConfigurationContext(config).getResources();
+        }
+        return res;
+    }
+
+    private void updateActiveNotifications(final int subId, final int downstreamTypes,
+            final boolean noUpstream, final boolean isRoaming) {
+        final boolean tetheringActiveChanged =
+                (downstreamTypes == DOWNSTREAM_NONE) != (mDownstreamTypesMask == DOWNSTREAM_NONE);
+        final boolean subIdChanged = subId != mActiveDataSubId;
+        final boolean downstreamChanged = downstreamTypes != mDownstreamTypesMask;
+        final boolean upstreamChanged = noUpstream != mNoUpstream;
+        final boolean roamingChanged = isRoaming != mRoaming;
+        final boolean updateAll = tetheringActiveChanged || subIdChanged;
+        mActiveDataSubId = subId;
+        mDownstreamTypesMask = downstreamTypes;
+        mNoUpstream = noUpstream;
+        mRoaming = isRoaming;
+
+        if (updateAll || downstreamChanged) updateEnableNotification();
+        if (updateAll || upstreamChanged) updateNoUpstreamNotification();
+        if (updateAll || roamingChanged) updateRoamingNotification();
+    }
+
+    private void updateEnableNotification() {
+        final boolean tetheringInactive = mDownstreamTypesMask == DOWNSTREAM_NONE;
+
+        if (tetheringInactive || setupNotification() == NO_NOTIFY) {
+            clearNotification(ENABLE_NOTIFICATION_ID);
+        }
+    }
+
+    private void updateNoUpstreamNotification() {
+        final boolean tetheringInactive = mDownstreamTypesMask == DOWNSTREAM_NONE;
+
+        if (tetheringInactive || !mNoUpstream || setupNoUpstreamNotification() == NO_NOTIFY) {
+            clearNotification(NO_UPSTREAM_NOTIFICATION_ID);
+            mHandler.removeMessages(EVENT_SHOW_NO_UPSTREAM);
+        }
+    }
+
+    private void updateRoamingNotification() {
+        final boolean tetheringInactive = mDownstreamTypesMask == DOWNSTREAM_NONE;
+
+        if (tetheringInactive || !mRoaming || setupRoamingNotification() == NO_NOTIFY) {
+            clearNotification(ROAMING_NOTIFICATION_ID);
+        }
+    }
+
+    @VisibleForTesting
+    void tetheringRestrictionLifted() {
+        clearNotification(RESTRICTED_NOTIFICATION_ID);
+    }
+
+    private void clearNotification(@NotificationId final int id) {
+        mNotificationManager.cancel(null /* tag */, id);
+    }
+
+    @VisibleForTesting
+    void notifyTetheringDisabledByRestriction() {
+        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
+        final String title = res.getString(R.string.disable_tether_notification_title);
+        final String message = res.getString(R.string.disable_tether_notification_message);
+        if (isEmpty(title) || isEmpty(message)) return;
+
+        final PendingIntent pi = PendingIntent.getActivity(
+                mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */),
+                0 /* requestCode */,
+                new Intent(Settings.ACTION_TETHER_SETTINGS),
+                Intent.FLAG_ACTIVITY_NEW_TASK,
+                null /* options */);
+
+        showNotification(R.drawable.stat_sys_tether_general, title, message,
+                RESTRICTED_NOTIFICATION_ID, pi, new Action[0]);
+    }
+
+    private void notifyTetheringNoUpstream() {
+        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
+        final String title = res.getString(R.string.no_upstream_notification_title);
+        final String message = res.getString(R.string.no_upstream_notification_message);
+        final String disableButton =
+                res.getString(R.string.no_upstream_notification_disable_button);
+        if (isEmpty(title) || isEmpty(message) || isEmpty(disableButton)) return;
+
+        final Intent intent = new Intent(ACTION_DISABLE_TETHERING);
+        intent.setPackage(mContext.getPackageName());
+        final PendingIntent pi = PendingIntent.getBroadcast(
+                mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */),
+                0 /* requestCode */,
+                intent,
+                0 /* flags */);
+        final Action action = new Action.Builder(NO_ICON_ID, disableButton, pi).build();
+
+        showNotification(R.drawable.stat_sys_tether_general, title, message,
+                NO_UPSTREAM_NOTIFICATION_ID, null /* pendingIntent */, action);
+    }
+
+    /**
+     * Returns the downstream types mask which convert from given string.
+     *
+     * @param types This string has to be made by "WIFI", "USB", "BT", and OR'd with the others.
+     *
+     * @return downstream types mask value.
+     */
+    @VisibleForTesting
+    @IntRange(from = 0, to = 7)
+    int getDownstreamTypesMask(@NonNull final String types) {
+        int downstreamTypesMask = DOWNSTREAM_NONE;
+        final String[] downstreams = types.split("\\|");
+        for (String downstream : downstreams) {
+            if (USB_DOWNSTREAM.equals(downstream.trim())) {
+                downstreamTypesMask |= (1 << TETHERING_USB);
+            } else if (WIFI_DOWNSTREAM.equals(downstream.trim())) {
+                downstreamTypesMask |= (1 << TETHERING_WIFI);
+            } else if (BLUETOOTH_DOWNSTREAM.equals(downstream.trim())) {
+                downstreamTypesMask |= (1 << TETHERING_BLUETOOTH);
+            }
+        }
+        return downstreamTypesMask;
+    }
+
+    /**
+     * Returns the icons {@link android.util.SparseArray} which get from given string-array resource
+     * id.
+     *
+     * @param id String-array resource id
+     *
+     * @return {@link android.util.SparseArray} with downstream types and icon id info.
+     */
+    @NonNull
+    @VisibleForTesting
+    SparseArray<Integer> getIcons(@ArrayRes int id, @NonNull Resources res) {
+        final String[] array = res.getStringArray(id);
+        final SparseArray<Integer> icons = new SparseArray<>();
+        for (String config : array) {
+            if (isEmpty(config)) continue;
+
+            final String[] elements = config.split(";");
+            if (elements.length != 2) {
+                Log.wtf(TAG,
+                        "Unexpected format in Tethering notification configuration : " + config);
+                continue;
+            }
+
+            final String[] types = elements[0].split(",");
+            for (String type : types) {
+                int mask = getDownstreamTypesMask(type);
+                if (mask == DOWNSTREAM_NONE) continue;
+                icons.put(mask, res.getIdentifier(
+                        elements[1].trim(), null /* defType */, null /* defPackage */));
+            }
+        }
+        return icons;
+    }
+
+    private boolean setupRoamingNotification() {
+        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
+        final boolean upstreamRoamingNotification =
+                res.getBoolean(R.bool.config_upstream_roaming_notification);
+
+        if (!upstreamRoamingNotification) return NO_NOTIFY;
+
+        final String title = res.getString(R.string.upstream_roaming_notification_title);
+        final String message = res.getString(R.string.upstream_roaming_notification_message);
+        if (isEmpty(title) || isEmpty(message)) return NO_NOTIFY;
+
+        final PendingIntent pi = PendingIntent.getActivity(
+                mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */),
+                0 /* requestCode */,
+                new Intent(Settings.ACTION_TETHER_SETTINGS),
+                Intent.FLAG_ACTIVITY_NEW_TASK,
+                null /* options */);
+
+        showNotification(R.drawable.stat_sys_tether_general, title, message,
+                ROAMING_NOTIFICATION_ID, pi, new Action[0]);
+        return NOTIFY_DONE;
+    }
+
+    private boolean setupNoUpstreamNotification() {
+        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
+        final int delayToShowUpstreamNotification =
+                res.getInteger(R.integer.delay_to_show_no_upstream_after_no_backhaul);
+
+        if (delayToShowUpstreamNotification < 0) return NO_NOTIFY;
+
+        mHandler.sendMessageDelayed(mHandler.obtainMessage(EVENT_SHOW_NO_UPSTREAM),
+                delayToShowUpstreamNotification);
+        return NOTIFY_DONE;
+    }
+
+    private boolean setupNotification() {
+        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
+        final SparseArray<Integer> downstreamIcons =
+                getIcons(R.array.tethering_notification_icons, res);
+
+        final int iconId = downstreamIcons.get(mDownstreamTypesMask, NO_ICON_ID);
+        if (iconId == NO_ICON_ID) return NO_NOTIFY;
+
+        final String title = res.getString(R.string.tethering_notification_title);
+        final String message = res.getString(R.string.tethering_notification_message);
+        if (isEmpty(title) || isEmpty(message)) return NO_NOTIFY;
+
+        final PendingIntent pi = PendingIntent.getActivity(
+                mContext.createContextAsUser(UserHandle.CURRENT, 0 /* flags */),
+                0 /* requestCode */,
+                new Intent(Settings.ACTION_TETHER_SETTINGS),
+                Intent.FLAG_ACTIVITY_NEW_TASK,
+                null /* options */);
+
+        showNotification(iconId, title, message, ENABLE_NOTIFICATION_ID, pi, new Action[0]);
+        return NOTIFY_DONE;
+    }
+
+    private void showNotification(@DrawableRes final int iconId, @NonNull final String title,
+            @NonNull final String message, @NotificationId final int id, @Nullable PendingIntent pi,
+            @NonNull final Action... actions) {
+        final Notification notification =
+                new Notification.Builder(mContext, mChannel.getId())
+                        .setSmallIcon(iconId)
+                        .setContentTitle(title)
+                        .setContentText(message)
+                        .setOngoing(true)
+                        .setColor(mContext.getColor(
+                                android.R.color.system_notification_accent_color))
+                        .setVisibility(Notification.VISIBILITY_PUBLIC)
+                        .setCategory(Notification.CATEGORY_STATUS)
+                        .setContentIntent(pi)
+                        .setActions(actions)
+                        .build();
+
+        mNotificationManager.notify(null /* tag */, id, notification);
+    }
+}
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java b/packages/Tethering/src/com/android/networkstack/tethering/TetheringService.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
rename to packages/Tethering/src/com/android/networkstack/tethering/TetheringService.java
index c30be25..3ed2115 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/TetheringService.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.net.TetheringManager.TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java b/packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
similarity index 99%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java
rename to packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
index 45bb4ab..25ddce4 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkMonitor.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.ConnectivityManager.TYPE_BLUETOOTH;
 import static android.net.ConnectivityManager.TYPE_ETHERNET;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkState.java b/packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkState.java
similarity index 96%
rename from packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkState.java
rename to packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkState.java
index 68bb837..bab9f84 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/UpstreamNetworkState.java
+++ b/packages/Tethering/src/com/android/networkstack/tethering/UpstreamNetworkState.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import android.net.LinkProperties;
 import android.net.Network;
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringNotificationUpdater.java b/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringNotificationUpdater.java
deleted file mode 100644
index 992cdd8..0000000
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringNotificationUpdater.java
+++ /dev/null
@@ -1,244 +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.server.connectivity.tethering;
-
-import static android.net.TetheringManager.TETHERING_BLUETOOTH;
-import static android.net.TetheringManager.TETHERING_USB;
-import static android.net.TetheringManager.TETHERING_WIFI;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.telephony.SubscriptionManager;
-import android.text.TextUtils;
-import android.util.Log;
-import android.util.SparseArray;
-
-import androidx.annotation.ArrayRes;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.IntDef;
-import androidx.annotation.IntRange;
-import androidx.annotation.NonNull;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.networkstack.tethering.R;
-
-/**
- * A class to display tethering-related notifications.
- *
- * <p>This class is not thread safe, it is intended to be used only from the tethering handler
- * thread. However the constructor is an exception, as it is called on another thread ;
- * therefore for thread safety all members of this class MUST either be final or initialized
- * to their default value (0, false or null).
- *
- * @hide
- */
-public class TetheringNotificationUpdater {
-    private static final String TAG = TetheringNotificationUpdater.class.getSimpleName();
-    private static final String CHANNEL_ID = "TETHERING_STATUS";
-    private static final String WIFI_DOWNSTREAM = "WIFI";
-    private static final String USB_DOWNSTREAM = "USB";
-    private static final String BLUETOOTH_DOWNSTREAM = "BT";
-    private static final boolean NOTIFY_DONE = true;
-    private static final boolean NO_NOTIFY = false;
-    // Id to update and cancel tethering notification. Must be unique within the tethering app.
-    private static final int ENABLE_NOTIFICATION_ID = 1000;
-    // Id to update and cancel restricted notification. Must be unique within the tethering app.
-    private static final int RESTRICTED_NOTIFICATION_ID = 1001;
-    @VisibleForTesting
-    static final int NO_ICON_ID = 0;
-    @VisibleForTesting
-    static final int DOWNSTREAM_NONE = 0;
-    private final Context mContext;
-    private final NotificationManager mNotificationManager;
-    private final NotificationChannel mChannel;
-
-    // WARNING : the constructor is called on a different thread. Thread safety therefore
-    // relies on this value being initialized to 0, and not any other value. If you need
-    // to change this, you will need to change the thread where the constructor is invoked,
-    // or to introduce synchronization.
-    // Downstream type is one of ConnectivityManager.TETHERING_* constants, 0 1 or 2.
-    // This value has to be made 1 2 and 4, and OR'd with the others.
-    private int mDownstreamTypesMask = DOWNSTREAM_NONE;
-
-    // WARNING : this value is not able to being initialized to 0 and must have volatile because
-    // telephony service is not guaranteed that is up before tethering service starts. If telephony
-    // is up later than tethering, TetheringNotificationUpdater will use incorrect and valid
-    // subscription id(0) to query resources. Therefore, initialized subscription id must be
-    // INVALID_SUBSCRIPTION_ID.
-    private volatile int mActiveDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-
-    @IntDef({ENABLE_NOTIFICATION_ID, RESTRICTED_NOTIFICATION_ID})
-    @interface NotificationId {}
-
-    public TetheringNotificationUpdater(@NonNull final Context context) {
-        mContext = context;
-        mNotificationManager = (NotificationManager) context.createContextAsUser(UserHandle.ALL, 0)
-                .getSystemService(Context.NOTIFICATION_SERVICE);
-        mChannel = new NotificationChannel(
-                CHANNEL_ID,
-                context.getResources().getString(R.string.notification_channel_tethering_status),
-                NotificationManager.IMPORTANCE_LOW);
-        mNotificationManager.createNotificationChannel(mChannel);
-    }
-
-    /** Called when downstream has changed */
-    public void onDownstreamChanged(@IntRange(from = 0, to = 7) final int downstreamTypesMask) {
-        if (mDownstreamTypesMask == downstreamTypesMask) return;
-        mDownstreamTypesMask = downstreamTypesMask;
-        updateEnableNotification();
-    }
-
-    /** Called when active data subscription id changed */
-    public void onActiveDataSubscriptionIdChanged(final int subId) {
-        if (mActiveDataSubId == subId) return;
-        mActiveDataSubId = subId;
-        updateEnableNotification();
-    }
-
-    @VisibleForTesting
-    Resources getResourcesForSubId(@NonNull final Context c, final int subId) {
-        return SubscriptionManager.getResourcesForSubId(c, subId);
-    }
-
-    private void updateEnableNotification() {
-        final boolean tetheringInactive = mDownstreamTypesMask <= DOWNSTREAM_NONE;
-
-        if (tetheringInactive || setupNotification() == NO_NOTIFY) {
-            clearNotification(ENABLE_NOTIFICATION_ID);
-        }
-    }
-
-    @VisibleForTesting
-    void tetheringRestrictionLifted() {
-        clearNotification(RESTRICTED_NOTIFICATION_ID);
-    }
-
-    private void clearNotification(@NotificationId final int id) {
-        mNotificationManager.cancel(null /* tag */, id);
-    }
-
-    @VisibleForTesting
-    void notifyTetheringDisabledByRestriction() {
-        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
-        final String title = res.getString(R.string.disable_tether_notification_title);
-        final String message = res.getString(R.string.disable_tether_notification_message);
-
-        showNotification(R.drawable.stat_sys_tether_general, title, message,
-                RESTRICTED_NOTIFICATION_ID);
-    }
-
-    /**
-     * Returns the downstream types mask which convert from given string.
-     *
-     * @param types This string has to be made by "WIFI", "USB", "BT", and OR'd with the others.
-     *
-     * @return downstream types mask value.
-     */
-    @VisibleForTesting
-    @IntRange(from = 0, to = 7)
-    int getDownstreamTypesMask(@NonNull final String types) {
-        int downstreamTypesMask = DOWNSTREAM_NONE;
-        final String[] downstreams = types.split("\\|");
-        for (String downstream : downstreams) {
-            if (USB_DOWNSTREAM.equals(downstream.trim())) {
-                downstreamTypesMask |= (1 << TETHERING_USB);
-            } else if (WIFI_DOWNSTREAM.equals(downstream.trim())) {
-                downstreamTypesMask |= (1 << TETHERING_WIFI);
-            } else if (BLUETOOTH_DOWNSTREAM.equals(downstream.trim())) {
-                downstreamTypesMask |= (1 << TETHERING_BLUETOOTH);
-            }
-        }
-        return downstreamTypesMask;
-    }
-
-    /**
-     * Returns the icons {@link android.util.SparseArray} which get from given string-array resource
-     * id.
-     *
-     * @param id String-array resource id
-     *
-     * @return {@link android.util.SparseArray} with downstream types and icon id info.
-     */
-    @VisibleForTesting
-    SparseArray<Integer> getIcons(@ArrayRes int id, @NonNull Resources res) {
-        final String[] array = res.getStringArray(id);
-        final SparseArray<Integer> icons = new SparseArray<>();
-        for (String config : array) {
-            if (TextUtils.isEmpty(config)) continue;
-
-            final String[] elements = config.split(";");
-            if (elements.length != 2) {
-                Log.wtf(TAG,
-                        "Unexpected format in Tethering notification configuration : " + config);
-                continue;
-            }
-
-            final String[] types = elements[0].split(",");
-            for (String type : types) {
-                int mask = getDownstreamTypesMask(type);
-                if (mask == DOWNSTREAM_NONE) continue;
-                icons.put(mask, res.getIdentifier(
-                        elements[1].trim(), null /* defType */, null /* defPackage */));
-            }
-        }
-        return icons;
-    }
-
-    private boolean setupNotification() {
-        final Resources res = getResourcesForSubId(mContext, mActiveDataSubId);
-        final SparseArray<Integer> downstreamIcons =
-                getIcons(R.array.tethering_notification_icons, res);
-
-        final int iconId = downstreamIcons.get(mDownstreamTypesMask, NO_ICON_ID);
-        if (iconId == NO_ICON_ID) return NO_NOTIFY;
-
-        final String title = res.getString(R.string.tethering_notification_title);
-        final String message = res.getString(R.string.tethering_notification_message);
-
-        showNotification(iconId, title, message, ENABLE_NOTIFICATION_ID);
-        return NOTIFY_DONE;
-    }
-
-    private void showNotification(@DrawableRes final int iconId, @NonNull final String title,
-            @NonNull final String message, @NotificationId final int id) {
-        final Intent intent = new Intent(Settings.ACTION_TETHER_SETTINGS);
-        final PendingIntent pi = PendingIntent.getActivity(
-                mContext.createContextAsUser(UserHandle.CURRENT, 0),
-                0 /* requestCode */, intent, 0 /* flags */, null /* options */);
-        final Notification notification =
-                new Notification.Builder(mContext, mChannel.getId())
-                        .setSmallIcon(iconId)
-                        .setContentTitle(title)
-                        .setContentText(message)
-                        .setOngoing(true)
-                        .setColor(mContext.getColor(
-                                android.R.color.system_notification_accent_color))
-                        .setVisibility(Notification.VISIBILITY_PUBLIC)
-                        .setCategory(Notification.CATEGORY_STATUS)
-                        .setContentIntent(pi)
-                        .build();
-
-        mNotificationManager.notify(null /* tag */, id, notification);
-    }
-}
diff --git a/packages/Tethering/tests/integration/Android.bp b/packages/Tethering/tests/integration/Android.bp
index 620261b..6b751af 100644
--- a/packages/Tethering/tests/integration/Android.bp
+++ b/packages/Tethering/tests/integration/Android.bp
@@ -13,19 +13,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 //
-
-android_test {
-    name: "TetheringIntegrationTests",
-    certificate: "platform",
-    platform_apis: true,
+java_defaults {
+    name: "TetheringIntegrationTestsDefaults",
     srcs: [
         "src/**/*.java",
         "src/**/*.kt",
     ],
-    test_suites: [
-        "device-tests",
-        "mts",
-    ],
     static_libs: [
         "NetworkStackApiStableLib",
         "androidx.test.rules",
@@ -44,4 +37,49 @@
         "libdexmakerjvmtiagent",
         "libstaticjvmtiagent",
     ],
+    jarjar_rules: ":NetworkStackJarJarRules",
 }
+
+android_library {
+    name: "TetheringIntegrationTestsLib",
+    platform_apis: true,
+    defaults: ["TetheringIntegrationTestsDefaults"],
+    visibility: ["//cts/tests/tests/tethering"]
+}
+
+android_test {
+    name: "TetheringIntegrationTests",
+    platform_apis: true,
+    defaults: ["TetheringIntegrationTestsDefaults"],
+    test_suites: [
+        "device-tests",
+        "mts",
+    ],
+    compile_multilib: "both",
+}
+
+// Special version of the tethering tests that includes all tests necessary for code coverage
+// purposes. This is currently the union of TetheringTests, TetheringIntegrationTests and
+// NetworkStackTests.
+android_test {
+    name: "TetheringCoverageTests",
+    certificate: "platform",
+    platform_apis: true,
+    test_suites: ["device-tests", "mts"],
+    test_config: "AndroidTest_Coverage.xml",
+    defaults: ["libnetworkstackutilsjni_deps"],
+    static_libs: [
+        "NetworkStackTestsLib",
+        "TetheringTestsLib",
+        "TetheringIntegrationTestsLib",
+    ],
+    jni_libs: [
+        // For mockito extended
+        "libdexmakerjvmtiagent",
+        "libstaticjvmtiagent",
+        // For NetworkStackUtils included in NetworkStackBase
+        "libnetworkstackutilsjni",
+    ],
+    compile_multilib: "both",
+    manifest: "AndroidManifest_coverage.xml",
+}
\ No newline at end of file
diff --git a/packages/Tethering/tests/integration/AndroidManifest.xml b/packages/Tethering/tests/integration/AndroidManifest.xml
index 233ba40..fddfaad 100644
--- a/packages/Tethering/tests/integration/AndroidManifest.xml
+++ b/packages/Tethering/tests/integration/AndroidManifest.xml
@@ -17,7 +17,6 @@
           package="com.android.networkstack.tethering.tests.integration">
 
     <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-permission android:name="android.permission.TETHER_PRIVILEGED"/>
 
     <application android:debuggable="true">
         <uses-library android:name="android.test.runner" />
diff --git a/packages/Tethering/tests/integration/AndroidManifest_coverage.xml b/packages/Tethering/tests/integration/AndroidManifest_coverage.xml
new file mode 100644
index 0000000..06de00d
--- /dev/null
+++ b/packages/Tethering/tests/integration/AndroidManifest_coverage.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          xmlns:tools="http://schemas.android.com/tools"
+          package="com.android.networkstack.tethering.tests.coverage">
+
+    <application tools:replace="android:label"
+                 android:debuggable="true"
+                 android:label="Tethering coverage tests">
+        <uses-library android:name="android.test.runner" />
+    </application>
+    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="com.android.networkstack.tethering.tests.coverage"
+                     android:label="Tethering coverage tests">
+    </instrumentation>
+</manifest>
diff --git a/packages/Tethering/tests/integration/AndroidTest_Coverage.xml b/packages/Tethering/tests/integration/AndroidTest_Coverage.xml
new file mode 100644
index 0000000..3def209
--- /dev/null
+++ b/packages/Tethering/tests/integration/AndroidTest_Coverage.xml
@@ -0,0 +1,12 @@
+<configuration description="Runs coverage tests for Tethering">
+    <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
+        <option name="test-file-name" value="TetheringCoverageTests.apk" />
+    </target_preparer>
+
+    <option name="test-tag" value="TetheringCoverageTests" />
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <option name="package" value="com.android.networkstack.tethering.tests.coverage" />
+        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="hidden-api-checks" value="false"/>
+    </test>
+</configuration>
\ No newline at end of file
diff --git a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
index b02bb23..4bac9da 100644
--- a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
+++ b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java
@@ -18,6 +18,7 @@
 
 import static android.Manifest.permission.MANAGE_TEST_NETWORKS;
 import static android.Manifest.permission.NETWORK_SETTINGS;
+import static android.Manifest.permission.TETHER_PRIVILEGED;
 import static android.net.TetheringManager.TETHERING_ETHERNET;
 
 import static org.junit.Assert.assertEquals;
@@ -109,7 +110,8 @@
         mTetheredInterfaceRequester = new TetheredInterfaceRequester(mHandler, mEm);
         // Needed to create a TestNetworkInterface, to call requestTetheredInterface, and to receive
         // tethered client callbacks.
-        mUiAutomation.adoptShellPermissionIdentity(MANAGE_TEST_NETWORKS, NETWORK_SETTINGS);
+        mUiAutomation.adoptShellPermissionIdentity(
+                MANAGE_TEST_NETWORKS, NETWORK_SETTINGS, TETHER_PRIVILEGED);
     }
 
     private void cleanUp() throws Exception {
diff --git a/packages/Tethering/tests/unit/Android.bp b/packages/Tethering/tests/unit/Android.bp
index 59681e9..26517ce 100644
--- a/packages/Tethering/tests/unit/Android.bp
+++ b/packages/Tethering/tests/unit/Android.bp
@@ -14,39 +14,32 @@
 // limitations under the License.
 //
 
-android_test {
-    name: "TetheringTests",
-    certificate: "platform",
+java_defaults {
+    name: "TetheringTestsDefaults",
     srcs: [
         "src/**/*.java",
         "src/**/*.kt",
     ],
-    test_suites: [
-        "device-tests",
-        "mts",
-    ],
-    compile_multilib: "both",
     static_libs: [
+        "TetheringApiCurrentLib",
         "androidx.test.rules",
         "frameworks-base-testutils",
-        "net-tests-utils",
         "mockito-target-extended-minus-junit4",
-        "TetheringApiCurrentLib",
+        "net-tests-utils",
         "testables",
     ],
     // TODO(b/147200698) change sdk_version to module-current and
     // remove framework-minus-apex, ext, and framework-res
     sdk_version: "core_platform",
     libs: [
-        "framework-minus-apex",
-        "ext",
-        "framework-res",
-        "framework-wifi-stubs-module_libs_api",
-        "framework-telephony-stubs",
         "android.test.runner",
         "android.test.base",
         "android.test.mock",
+        "ext",
+        "framework-minus-apex",
+        "framework-res",
         "framework-tethering",
+        "framework-wifi-stubs-module_libs_api",
     ],
     jni_libs: [
         // For mockito extended
@@ -55,3 +48,25 @@
     ],
     jarjar_rules: "jarjar-rules.txt",
 }
+
+// Library containing the unit tests. This is used by the coverage test target to pull in the
+// unit test code. It is not currently used by the tests themselves because all the build
+// configuration needed by the tests is in the TetheringTestsDefaults rule.
+android_library {
+    name: "TetheringTestsLib",
+    defaults: ["TetheringTestsDefaults"],
+    visibility: [
+        "//frameworks/base/packages/Tethering/tests/integration",
+    ]
+}
+
+android_test {
+    name: "TetheringTests",
+    certificate: "platform",
+    test_suites: [
+        "device-tests",
+        "mts",
+    ],
+    defaults: ["TetheringTestsDefaults"],
+    compile_multilib: "both",
+}
diff --git a/packages/Tethering/tests/unit/AndroidManifest.xml b/packages/Tethering/tests/unit/AndroidManifest.xml
index 4ff1d37..31eaabf 100644
--- a/packages/Tethering/tests/unit/AndroidManifest.xml
+++ b/packages/Tethering/tests/unit/AndroidManifest.xml
@@ -16,16 +16,17 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.android.networkstack.tethering.tests.unit">
 
+    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.TETHER_PRIVILEGED"/>
 
     <application android:debuggable="true">
         <uses-library android:name="android.test.runner" />
         <service
-            android:name="com.android.server.connectivity.tethering.MockTetheringService"
+            android:name="com.android.networkstack.tethering.MockTetheringService"
             android:permission="android.permission.TETHER_PRIVILEGED"
             android:exported="true">
             <intent-filter>
-                <action android:name="com.android.server.connectivity.tethering.TetheringService"/>
+                <action android:name="com.android.networkstack.tethering.TetheringService"/>
             </intent-filter>
         </service>
     </application>
diff --git a/packages/Tethering/tests/unit/src/android/net/ip/IpServerTest.java b/packages/Tethering/tests/unit/src/android/net/ip/IpServerTest.java
index fdfdae8..f9be7b9 100644
--- a/packages/Tethering/tests/unit/src/android/net/ip/IpServerTest.java
+++ b/packages/Tethering/tests/unit/src/android/net/ip/IpServerTest.java
@@ -587,6 +587,7 @@
         final InetAddress neighB = InetAddresses.parseNumericAddress("2001:db8::2");
         final InetAddress neighLL = InetAddresses.parseNumericAddress("fe80::1");
         final InetAddress neighMC = InetAddresses.parseNumericAddress("ff02::1234");
+        final MacAddress macNull = MacAddress.fromString("00:00:00:00:00:00");
         final MacAddress macA = MacAddress.fromString("00:00:00:00:00:0a");
         final MacAddress macB = MacAddress.fromString("11:22:33:00:00:0b");
 
@@ -612,13 +613,14 @@
         verifyNoMoreInteractions(mNetd);
 
         // A neighbor that is no longer valid causes the rule to be removed.
-        recvNewNeigh(myIfindex, neighA, NUD_FAILED, macA);
-        verify(mNetd).tetherOffloadRuleRemove(matches(UPSTREAM_IFINDEX, neighA, macA));
+        // NUD_FAILED events do not have a MAC address.
+        recvNewNeigh(myIfindex, neighA, NUD_FAILED, null);
+        verify(mNetd).tetherOffloadRuleRemove(matches(UPSTREAM_IFINDEX, neighA, macNull));
         reset(mNetd);
 
         // A neighbor that is deleted causes the rule to be removed.
         recvDelNeigh(myIfindex, neighB, NUD_STALE, macB);
-        verify(mNetd).tetherOffloadRuleRemove(matches(UPSTREAM_IFINDEX, neighB, macB));
+        verify(mNetd).tetherOffloadRuleRemove(matches(UPSTREAM_IFINDEX, neighB, macNull));
         reset(mNetd);
 
         // Upstream changes result in deleting and re-adding the rules.
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/ConnectedClientsTrackerTest.kt b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/ConnectedClientsTrackerTest.kt
similarity index 98%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/ConnectedClientsTrackerTest.kt
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/ConnectedClientsTrackerTest.kt
index 1cdc3bb..d915354 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/ConnectedClientsTrackerTest.kt
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/ConnectedClientsTrackerTest.kt
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering
+package com.android.networkstack.tethering
 
 import android.net.LinkAddress
 import android.net.MacAddress
@@ -159,4 +159,4 @@
             return time
         }
     }
-}
\ No newline at end of file
+}
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/EntitlementManagerTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/EntitlementManagerTest.java
similarity index 99%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/EntitlementManagerTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/EntitlementManagerTest.java
index 6695eed..8bd0edc 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/EntitlementManagerTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/EntitlementManagerTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.TetheringManager.TETHERING_BLUETOOTH;
 import static android.net.TetheringManager.TETHERING_ETHERNET;
@@ -59,7 +59,6 @@
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
 import com.android.internal.util.test.BroadcastInterceptingContext;
-import com.android.networkstack.tethering.R;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinatorTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/IPv6TetheringCoordinatorTest.java
similarity index 98%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinatorTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/IPv6TetheringCoordinatorTest.java
index 9121243..820f255 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/IPv6TetheringCoordinatorTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/IPv6TetheringCoordinatorTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
 import static android.net.RouteInfo.RTN_UNICAST;
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/MockTetheringService.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/MockTetheringService.java
similarity index 96%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/MockTetheringService.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/MockTetheringService.java
index 355ece9..1c81c12 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/MockTetheringService.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/MockTetheringService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static org.mockito.Mockito.mock;
 
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/OffloadControllerTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java
similarity index 98%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/OffloadControllerTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java
index fe84086..6579720 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/OffloadControllerTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
 import static android.net.NetworkStats.METERED_NO;
@@ -26,9 +26,9 @@
 import static android.net.RouteInfo.RTN_UNICAST;
 import static android.provider.Settings.Global.TETHER_OFFLOAD_DISABLED;
 
-import static com.android.server.connectivity.tethering.OffloadController.StatsType.STATS_PER_IFACE;
-import static com.android.server.connectivity.tethering.OffloadController.StatsType.STATS_PER_UID;
-import static com.android.server.connectivity.tethering.OffloadHardwareInterface.ForwardedStats;
+import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_IFACE;
+import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_UID;
+import static com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats;
 import static com.android.testutils.MiscAssertsKt.assertContainsAll;
 import static com.android.testutils.MiscAssertsKt.assertThrows;
 import static com.android.testutils.NetworkStatsUtilsKt.orderInsensitiveEquals;
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringConfigurationTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java
similarity index 99%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java
index 3635964..07ddea4 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringConfigurationTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.ConnectivityManager.TYPE_ETHERNET;
 import static android.net.ConnectivityManager.TYPE_MOBILE;
@@ -44,7 +44,6 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.util.test.BroadcastInterceptingContext;
-import com.android.networkstack.tethering.R;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringNotificationUpdaterTest.kt b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringNotificationUpdaterTest.kt
new file mode 100644
index 0000000..04f31a7
--- /dev/null
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringNotificationUpdaterTest.kt
@@ -0,0 +1,483 @@
+/*
+ * 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.networkstack.tethering
+
+import android.app.Notification
+import android.app.NotificationManager
+import android.content.Context
+import android.content.res.Resources
+import android.net.ConnectivityManager.TETHERING_BLUETOOTH
+import android.net.ConnectivityManager.TETHERING_USB
+import android.net.ConnectivityManager.TETHERING_WIFI
+import android.os.Handler
+import android.os.HandlerThread
+import android.os.Looper
+import android.net.NetworkCapabilities
+import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING
+import android.os.UserHandle
+import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID
+import android.telephony.TelephonyManager
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.runner.AndroidJUnit4
+import com.android.internal.util.test.BroadcastInterceptingContext
+import com.android.networkstack.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE
+import com.android.networkstack.tethering.TetheringNotificationUpdater.ENABLE_NOTIFICATION_ID
+import com.android.networkstack.tethering.TetheringNotificationUpdater.EVENT_SHOW_NO_UPSTREAM
+import com.android.networkstack.tethering.TetheringNotificationUpdater.NO_UPSTREAM_NOTIFICATION_ID
+import com.android.networkstack.tethering.TetheringNotificationUpdater.RESTRICTED_NOTIFICATION_ID
+import com.android.networkstack.tethering.TetheringNotificationUpdater.ROAMING_NOTIFICATION_ID
+import com.android.networkstack.tethering.TetheringNotificationUpdater.VERIZON_CARRIER_ID
+import com.android.testutils.waitForIdle
+import org.junit.After
+import org.junit.Assert.assertEquals
+import org.junit.Assert.fail
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentCaptor
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.Mock
+import org.mockito.Mockito.doReturn
+import org.mockito.Mockito.never
+import org.mockito.Mockito.reset
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.verifyZeroInteractions
+import org.mockito.MockitoAnnotations
+
+const val TEST_SUBID = 1
+const val WIFI_ICON_ID = 1
+const val USB_ICON_ID = 2
+const val BT_ICON_ID = 3
+const val GENERAL_ICON_ID = 4
+const val WIFI_MASK = 1 shl TETHERING_WIFI
+const val USB_MASK = 1 shl TETHERING_USB
+const val BT_MASK = 1 shl TETHERING_BLUETOOTH
+const val TITLE = "Tethering active"
+const val MESSAGE = "Tap here to set up."
+const val TEST_TITLE = "Hotspot active"
+const val TEST_MESSAGE = "Tap to set up hotspot."
+const val TEST_NO_UPSTREAM_TITLE = "Hotspot has no internet access"
+const val TEST_NO_UPSTREAM_MESSAGE = "Device cannot connect to internet."
+const val TEST_NO_UPSTREAM_BUTTON = "Turn off hotspot"
+const val TEST_ROAMING_TITLE = "Hotspot is on"
+const val TEST_ROAMING_MESSAGE = "Additional charges may apply while roaming."
+
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class TetheringNotificationUpdaterTest {
+    // lateinit used here for mocks as they need to be reinitialized between each test and the test
+    // should crash if they are used before being initialized.
+    @Mock private lateinit var mockContext: Context
+    @Mock private lateinit var notificationManager: NotificationManager
+    @Mock private lateinit var telephonyManager: TelephonyManager
+    @Mock private lateinit var defaultResources: Resources
+    @Mock private lateinit var testResources: Resources
+
+    // lateinit for these classes under test, as they should be reset to a different instance for
+    // every test but should always be initialized before use (or the test should crash).
+    private lateinit var context: TestContext
+    private lateinit var notificationUpdater: TetheringNotificationUpdater
+    private lateinit var fakeTetheringThread: HandlerThread
+
+    private val ENABLE_ICON_CONFIGS = arrayOf(
+            "USB;android.test:drawable/usb", "BT;android.test:drawable/bluetooth",
+            "WIFI|BT;android.test:drawable/general", "WIFI|USB;android.test:drawable/general",
+            "USB|BT;android.test:drawable/general", "WIFI|USB|BT;android.test:drawable/general")
+
+    private val ROAMING_CAPABILITIES = NetworkCapabilities()
+    private val HOME_CAPABILITIES = NetworkCapabilities().addCapability(NET_CAPABILITY_NOT_ROAMING)
+    private val NOTIFICATION_ICON_ID = R.drawable.stat_sys_tether_general
+    private val TIMEOUT_MS = 500L
+
+    private inner class TestContext(c: Context) : BroadcastInterceptingContext(c) {
+        override fun createContextAsUser(user: UserHandle, flags: Int) =
+                if (user == UserHandle.ALL) mockContext else this
+        override fun getSystemService(name: String) =
+                if (name == Context.TELEPHONY_SERVICE) telephonyManager
+                else super.getSystemService(name)
+    }
+
+    private inner class WrappedNotificationUpdater(c: Context, looper: Looper)
+        : TetheringNotificationUpdater(c, looper) {
+        override fun getResourcesForSubId(context: Context, subId: Int) =
+                when (subId) {
+                    TEST_SUBID -> testResources
+                    INVALID_SUBSCRIPTION_ID -> defaultResources
+                    else -> super.getResourcesForSubId(context, subId)
+                }
+    }
+
+    private fun setupResources() {
+        doReturn(ENABLE_ICON_CONFIGS).`when`(defaultResources)
+                .getStringArray(R.array.tethering_notification_icons)
+        doReturn(arrayOf("WIFI;android.test:drawable/wifi")).`when`(testResources)
+                .getStringArray(R.array.tethering_notification_icons)
+        doReturn(5).`when`(testResources)
+                .getInteger(R.integer.delay_to_show_no_upstream_after_no_backhaul)
+        doReturn(true).`when`(testResources)
+                .getBoolean(R.bool.config_upstream_roaming_notification)
+        doReturn(TITLE).`when`(defaultResources).getString(R.string.tethering_notification_title)
+        doReturn(MESSAGE).`when`(defaultResources)
+                .getString(R.string.tethering_notification_message)
+        doReturn(TEST_TITLE).`when`(testResources).getString(R.string.tethering_notification_title)
+        doReturn(TEST_MESSAGE).`when`(testResources)
+                .getString(R.string.tethering_notification_message)
+        doReturn(TEST_NO_UPSTREAM_TITLE).`when`(testResources)
+                .getString(R.string.no_upstream_notification_title)
+        doReturn(TEST_NO_UPSTREAM_MESSAGE).`when`(testResources)
+                .getString(R.string.no_upstream_notification_message)
+        doReturn(TEST_NO_UPSTREAM_BUTTON).`when`(testResources)
+                .getString(R.string.no_upstream_notification_disable_button)
+        doReturn(TEST_ROAMING_TITLE).`when`(testResources)
+                .getString(R.string.upstream_roaming_notification_title)
+        doReturn(TEST_ROAMING_MESSAGE).`when`(testResources)
+                .getString(R.string.upstream_roaming_notification_message)
+        doReturn(USB_ICON_ID).`when`(defaultResources)
+                .getIdentifier(eq("android.test:drawable/usb"), any(), any())
+        doReturn(BT_ICON_ID).`when`(defaultResources)
+                .getIdentifier(eq("android.test:drawable/bluetooth"), any(), any())
+        doReturn(GENERAL_ICON_ID).`when`(defaultResources)
+                .getIdentifier(eq("android.test:drawable/general"), any(), any())
+        doReturn(WIFI_ICON_ID).`when`(testResources)
+                .getIdentifier(eq("android.test:drawable/wifi"), any(), any())
+    }
+
+    @Before
+    fun setUp() {
+        MockitoAnnotations.initMocks(this)
+        context = TestContext(InstrumentationRegistry.getInstrumentation().context)
+        doReturn(notificationManager).`when`(mockContext)
+                .getSystemService(Context.NOTIFICATION_SERVICE)
+        fakeTetheringThread = HandlerThread(this::class.simpleName)
+        fakeTetheringThread.start()
+        notificationUpdater = WrappedNotificationUpdater(context, fakeTetheringThread.looper)
+        setupResources()
+    }
+
+    @After
+    fun tearDown() {
+        fakeTetheringThread.quitSafely()
+    }
+
+    private fun Notification.title() = this.extras.getString(Notification.EXTRA_TITLE)
+    private fun Notification.text() = this.extras.getString(Notification.EXTRA_TEXT)
+
+    private fun verifyNotification(iconId: Int, title: String, text: String, id: Int) {
+        verify(notificationManager, never()).cancel(any(), eq(id))
+
+        val notificationCaptor = ArgumentCaptor.forClass(Notification::class.java)
+        verify(notificationManager, times(1))
+                .notify(any(), eq(id), notificationCaptor.capture())
+
+        val notification = notificationCaptor.getValue()
+        assertEquals(iconId, notification.smallIcon.resId)
+        assertEquals(title, notification.title())
+        assertEquals(text, notification.text())
+
+        reset(notificationManager)
+    }
+
+    private fun verifyNotificationCancelled(
+        notificationIds: List<Int>,
+        resetAfterVerified: Boolean = true
+    ) {
+        notificationIds.forEach {
+            verify(notificationManager, times(1)).cancel(any(), eq(it))
+        }
+        if (resetAfterVerified) reset(notificationManager)
+    }
+
+    @Test
+    fun testNotificationWithDownstreamChanged() {
+        // Wifi downstream. No notification.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID))
+
+        // Same downstream changed. Nothing happened.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyZeroInteractions(notificationManager)
+
+        // Wifi and usb downstreams. Show enable notification
+        notificationUpdater.onDownstreamChanged(WIFI_MASK or USB_MASK)
+        verifyNotification(GENERAL_ICON_ID, TITLE, MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // Usb downstream. Still show enable notification.
+        notificationUpdater.onDownstreamChanged(USB_MASK)
+        verifyNotification(USB_ICON_ID, TITLE, MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // No downstream. No notification.
+        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+    }
+
+    @Test
+    fun testNotificationWithActiveDataSubscriptionIdChanged() {
+        // Usb downstream. Showed enable notification with default resource.
+        notificationUpdater.onDownstreamChanged(USB_MASK)
+        verifyNotification(USB_ICON_ID, TITLE, MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // Same subId changed. Nothing happened.
+        notificationUpdater.onActiveDataSubscriptionIdChanged(INVALID_SUBSCRIPTION_ID)
+        verifyZeroInteractions(notificationManager)
+
+        // Set test sub id. Clear notification with test resource.
+        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // Wifi downstream. Show enable notification with test resource.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyNotification(WIFI_ICON_ID, TEST_TITLE, TEST_MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // No downstream. No notification.
+        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+    }
+
+    private fun assertIconNumbers(number: Int, configs: Array<String?>) {
+        doReturn(configs).`when`(defaultResources)
+                .getStringArray(R.array.tethering_notification_icons)
+        assertEquals(number, notificationUpdater.getIcons(
+                R.array.tethering_notification_icons, defaultResources).size())
+    }
+
+    @Test
+    fun testGetIcons() {
+        assertIconNumbers(0, arrayOfNulls<String>(0))
+        assertIconNumbers(0, arrayOf(null, ""))
+        assertIconNumbers(3, arrayOf(
+                // These configurations are invalid with wrong strings or symbols.
+                ";", ",", "|", "|,;", "WIFI", "1;2", " U SB; ", "bt;", "WIFI;USB;BT", "WIFI|USB|BT",
+                "WIFI,BT,USB", " WIFI| |  | USB, test:drawable/test",
+                // This configuration is valid with two downstream types (USB, BT).
+                "USB|,,,,,|BT;drawable/test ",
+                // This configuration is valid with one downstream types (WIFI).
+                "     WIFI     ; android.test:drawable/xxx "))
+    }
+
+    @Test
+    fun testGetDownstreamTypesMask() {
+        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask(""))
+        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("1"))
+        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("WIFI_P2P"))
+        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("usb"))
+        assertEquals(WIFI_MASK, notificationUpdater.getDownstreamTypesMask(" WIFI "))
+        assertEquals(USB_MASK, notificationUpdater.getDownstreamTypesMask("USB | B T"))
+        assertEquals(BT_MASK, notificationUpdater.getDownstreamTypesMask(" WIFI: | BT"))
+        assertEquals(WIFI_MASK or USB_MASK,
+                notificationUpdater.getDownstreamTypesMask("1|2|USB|WIFI|BLUETOOTH||"))
+    }
+
+    @Test
+    fun testSetupRestrictedNotification() {
+        val title = context.resources.getString(R.string.disable_tether_notification_title)
+        val message = context.resources.getString(R.string.disable_tether_notification_message)
+        val disallowTitle = "Tether function is disallowed"
+        val disallowMessage = "Please contact your admin"
+        doReturn(title).`when`(defaultResources)
+                .getString(R.string.disable_tether_notification_title)
+        doReturn(message).`when`(defaultResources)
+                .getString(R.string.disable_tether_notification_message)
+        doReturn(disallowTitle).`when`(testResources)
+                .getString(R.string.disable_tether_notification_title)
+        doReturn(disallowMessage).`when`(testResources)
+                .getString(R.string.disable_tether_notification_message)
+
+        // User restrictions on. Show restricted notification.
+        notificationUpdater.notifyTetheringDisabledByRestriction()
+        verifyNotification(NOTIFICATION_ICON_ID, title, message, RESTRICTED_NOTIFICATION_ID)
+
+        // User restrictions off. Clear notification.
+        notificationUpdater.tetheringRestrictionLifted()
+        verifyNotificationCancelled(listOf(RESTRICTED_NOTIFICATION_ID))
+
+        // Set test sub id. No notification.
+        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // User restrictions on again. Show restricted notification with test resource.
+        notificationUpdater.notifyTetheringDisabledByRestriction()
+        verifyNotification(NOTIFICATION_ICON_ID, disallowTitle, disallowMessage,
+                RESTRICTED_NOTIFICATION_ID)
+    }
+
+    val MAX_BACKOFF_MS = 200L
+    /**
+     * Waits for all messages, including delayed ones, to be processed.
+     *
+     * This will wait until the handler has no more messages to be processed including
+     * delayed ones, or the timeout has expired. It uses an exponential backoff strategy
+     * to wait longer and longer to consume less CPU, with the max granularity being
+     * MAX_BACKOFF_MS.
+     *
+     * @return true if all messages have been processed including delayed ones, false if timeout
+     *
+     * TODO: Move this method to com.android.testutils.HandlerUtils.kt.
+     */
+    private fun Handler.waitForDelayedMessage(what: Int?, timeoutMs: Long) {
+        fun hasMatchingMessages() =
+                if (what == null) hasMessagesOrCallbacks() else hasMessages(what)
+        val expiry = System.currentTimeMillis() + timeoutMs
+        var delay = 5L
+        while (System.currentTimeMillis() < expiry && hasMatchingMessages()) {
+            // None of Handler, Looper, Message and MessageQueue expose any way to retrieve
+            // the time when the next (let alone the last) message will be processed, so
+            // short of examining the internals with reflection sleep() is the only solution.
+            Thread.sleep(delay)
+            delay = (delay * 2)
+                    .coerceAtMost(expiry - System.currentTimeMillis())
+                    .coerceAtMost(MAX_BACKOFF_MS)
+        }
+
+        val timeout = expiry - System.currentTimeMillis()
+        if (timeout <= 0) fail("Delayed message did not process yet after ${timeoutMs}ms")
+        waitForIdle(timeout)
+    }
+
+    @Test
+    fun testNotificationWithUpstreamCapabilitiesChanged_NoUpstream() {
+        // Set test sub id. No notification.
+        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // Wifi downstream. Show enable notification with test resource.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyNotification(WIFI_ICON_ID, TEST_TITLE, TEST_MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // There is no upstream. Show no upstream notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(null)
+        notificationUpdater.handler.waitForDelayedMessage(EVENT_SHOW_NO_UPSTREAM, TIMEOUT_MS)
+        verifyNotification(NOTIFICATION_ICON_ID, TEST_NO_UPSTREAM_TITLE, TEST_NO_UPSTREAM_MESSAGE,
+                NO_UPSTREAM_NOTIFICATION_ID)
+
+        // Same capabilities changed. Nothing happened.
+        notificationUpdater.onUpstreamCapabilitiesChanged(null)
+        verifyZeroInteractions(notificationManager)
+
+        // Upstream come back. Clear no upstream notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(HOME_CAPABILITIES)
+        verifyNotificationCancelled(listOf(NO_UPSTREAM_NOTIFICATION_ID))
+
+        // No upstream again. Show no upstream notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(null)
+        notificationUpdater.handler.waitForDelayedMessage(EVENT_SHOW_NO_UPSTREAM, TIMEOUT_MS)
+        verifyNotification(NOTIFICATION_ICON_ID, TEST_NO_UPSTREAM_TITLE, TEST_NO_UPSTREAM_MESSAGE,
+                NO_UPSTREAM_NOTIFICATION_ID)
+
+        // No downstream. No notification.
+        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // Put up enable notification with wifi downstream and home capabilities.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        notificationUpdater.onUpstreamCapabilitiesChanged(HOME_CAPABILITIES)
+        verifyNotification(WIFI_ICON_ID, TEST_TITLE, TEST_MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // Set R.integer.delay_to_show_no_upstream_after_no_backhaul to -1 and change to no upstream
+        // again. Don't put up no upstream notification.
+        doReturn(-1).`when`(testResources)
+                .getInteger(R.integer.delay_to_show_no_upstream_after_no_backhaul)
+        notificationUpdater.onUpstreamCapabilitiesChanged(null)
+        notificationUpdater.handler.waitForDelayedMessage(EVENT_SHOW_NO_UPSTREAM, TIMEOUT_MS)
+        verifyNotificationCancelled(listOf(NO_UPSTREAM_NOTIFICATION_ID))
+    }
+
+    @Test
+    fun testGetResourcesForSubId() {
+        doReturn(telephonyManager).`when`(telephonyManager).createForSubscriptionId(anyInt())
+        doReturn(1234).`when`(telephonyManager).getSimCarrierId()
+        doReturn("000000").`when`(telephonyManager).getSimOperator()
+
+        val subId = -2 // Use invalid subId to avoid getting resource from cache or real subId.
+        val config = context.resources.configuration
+        var res = notificationUpdater.getResourcesForSubId(context, subId)
+        assertEquals(config.mcc, res.configuration.mcc)
+        assertEquals(config.mnc, res.configuration.mnc)
+
+        doReturn(VERIZON_CARRIER_ID).`when`(telephonyManager).getSimCarrierId()
+        res = notificationUpdater.getResourcesForSubId(context, subId)
+        assertEquals(config.mcc, res.configuration.mcc)
+        assertEquals(config.mnc, res.configuration.mnc)
+
+        doReturn("20404").`when`(telephonyManager).getSimOperator()
+        res = notificationUpdater.getResourcesForSubId(context, subId)
+        assertEquals(311, res.configuration.mcc)
+        assertEquals(480, res.configuration.mnc)
+    }
+
+    @Test
+    fun testNotificationWithUpstreamCapabilitiesChanged_Roaming() {
+        // Set test sub id. Clear notification.
+        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // Wifi downstream. Show enable notification with test resource.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyNotification(WIFI_ICON_ID, TEST_TITLE, TEST_MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // Upstream capabilities changed to roaming state. Show roaming notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(ROAMING_CAPABILITIES)
+        verifyNotification(NOTIFICATION_ICON_ID, TEST_ROAMING_TITLE, TEST_ROAMING_MESSAGE,
+                ROAMING_NOTIFICATION_ID)
+
+        // Same capabilities change. Nothing happened.
+        notificationUpdater.onUpstreamCapabilitiesChanged(ROAMING_CAPABILITIES)
+        verifyZeroInteractions(notificationManager)
+
+        // Upstream capabilities changed to home state. Clear roaming notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(HOME_CAPABILITIES)
+        verifyNotificationCancelled(listOf(ROAMING_NOTIFICATION_ID))
+
+        // Upstream capabilities changed to roaming state again. Show roaming notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(ROAMING_CAPABILITIES)
+        verifyNotification(NOTIFICATION_ICON_ID, TEST_ROAMING_TITLE, TEST_ROAMING_MESSAGE,
+                ROAMING_NOTIFICATION_ID)
+
+        // No upstream. Clear roaming notification and show no upstream notification.
+        notificationUpdater.onUpstreamCapabilitiesChanged(null)
+        notificationUpdater.handler.waitForDelayedMessage(EVENT_SHOW_NO_UPSTREAM, TIMEOUT_MS)
+        verifyNotificationCancelled(listOf(ROAMING_NOTIFICATION_ID), false)
+        verifyNotification(NOTIFICATION_ICON_ID, TEST_NO_UPSTREAM_TITLE, TEST_NO_UPSTREAM_MESSAGE,
+                NO_UPSTREAM_NOTIFICATION_ID)
+
+        // No downstream. No notification.
+        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
+        verifyNotificationCancelled(listOf(ENABLE_NOTIFICATION_ID, NO_UPSTREAM_NOTIFICATION_ID,
+                ROAMING_NOTIFICATION_ID))
+
+        // Wifi downstream again. Show enable notification with test resource.
+        notificationUpdater.onDownstreamChanged(WIFI_MASK)
+        verifyNotification(WIFI_ICON_ID, TEST_TITLE, TEST_MESSAGE, ENABLE_NOTIFICATION_ID)
+
+        // Set R.bool.config_upstream_roaming_notification to false and change upstream
+        // network to roaming state again. No roaming notification.
+        doReturn(false).`when`(testResources)
+                .getBoolean(R.bool.config_upstream_roaming_notification)
+        notificationUpdater.onUpstreamCapabilitiesChanged(ROAMING_CAPABILITIES)
+        verifyNotificationCancelled(listOf(NO_UPSTREAM_NOTIFICATION_ID, ROAMING_NOTIFICATION_ID))
+    }
+}
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringServiceTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringServiceTest.java
similarity index 97%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringServiceTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringServiceTest.java
index d9d3e73..51bad9a 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringServiceTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringServiceTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.TetheringManager.TETHERING_WIFI;
 import static android.net.TetheringManager.TETHER_ERROR_NO_ERROR;
@@ -37,7 +37,7 @@
 import androidx.test.rule.ServiceTestRule;
 import androidx.test.runner.AndroidJUnit4;
 
-import com.android.server.connectivity.tethering.MockTetheringService.MockTetheringConnector;
+import com.android.networkstack.tethering.MockTetheringService.MockTetheringConnector;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
similarity index 96%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
index 2955903c..cf05483 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.hardware.usb.UsbManager.USB_CONFIGURED;
 import static android.hardware.usb.UsbManager.USB_CONNECTED;
@@ -47,7 +47,8 @@
 import static android.net.wifi.WifiManager.WIFI_AP_STATE_ENABLED;
 import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
-import static com.android.server.connectivity.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE;
+import static com.android.networkstack.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE;
+import static com.android.networkstack.tethering.UpstreamNetworkMonitor.EVENT_ON_CAPABILITIES;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -137,7 +138,6 @@
 import com.android.internal.util.StateMachine;
 import com.android.internal.util.test.BroadcastInterceptingContext;
 import com.android.internal.util.test.FakeSettingsProvider;
-import com.android.networkstack.tethering.R;
 import com.android.testutils.MiscAssertsKt;
 
 import org.junit.After;
@@ -384,7 +384,7 @@
         }
 
         @Override
-        public TetheringNotificationUpdater getNotificationUpdater(Context ctx) {
+        public TetheringNotificationUpdater getNotificationUpdater(Context ctx, Looper looper) {
             return mNotificationUpdater;
         }
     }
@@ -1692,6 +1692,40 @@
         assertEquals(clientAddrParceled, params.clientAddr);
     }
 
+    @Test
+    public void testUpstreamNetworkChanged() {
+        final Tethering.TetherMasterSM stateMachine = (Tethering.TetherMasterSM)
+                mTetheringDependencies.mUpstreamNetworkMonitorMasterSM;
+        final UpstreamNetworkState upstreamState = buildMobileIPv4UpstreamState();
+        when(mUpstreamNetworkMonitor.selectPreferredUpstreamType(any())).thenReturn(upstreamState);
+        stateMachine.chooseUpstreamType(true);
+
+        verify(mUpstreamNetworkMonitor, times(1)).setCurrentUpstream(eq(upstreamState.network));
+        verify(mNotificationUpdater, times(1)).onUpstreamCapabilitiesChanged(any());
+    }
+
+    @Test
+    public void testUpstreamCapabilitiesChanged() {
+        final Tethering.TetherMasterSM stateMachine = (Tethering.TetherMasterSM)
+                mTetheringDependencies.mUpstreamNetworkMonitorMasterSM;
+        final UpstreamNetworkState upstreamState = buildMobileIPv4UpstreamState();
+        when(mUpstreamNetworkMonitor.selectPreferredUpstreamType(any())).thenReturn(upstreamState);
+        stateMachine.chooseUpstreamType(true);
+
+        stateMachine.handleUpstreamNetworkMonitorCallback(EVENT_ON_CAPABILITIES, upstreamState);
+        // Should have two onUpstreamCapabilitiesChanged().
+        // One is called by reportUpstreamChanged(). One is called by EVENT_ON_CAPABILITIES.
+        verify(mNotificationUpdater, times(2)).onUpstreamCapabilitiesChanged(any());
+        reset(mNotificationUpdater);
+
+        // Verify that onUpstreamCapabilitiesChanged won't be called if not current upstream network
+        // capabilities changed.
+        final UpstreamNetworkState upstreamState2 = new UpstreamNetworkState(
+                upstreamState.linkProperties, upstreamState.networkCapabilities, new Network(101));
+        stateMachine.handleUpstreamNetworkMonitorCallback(EVENT_ON_CAPABILITIES, upstreamState2);
+        verify(mNotificationUpdater, never()).onUpstreamCapabilitiesChanged(any());
+    }
+
     // TODO: Test that a request for hotspot mode doesn't interfere with an
     // already operating tethering mode interface.
 }
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/UpstreamNetworkMonitorTest.java
similarity index 99%
rename from packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java
rename to packages/Tethering/tests/unit/src/com/android/networkstack/tethering/UpstreamNetworkMonitorTest.java
index 7c98f62..232588c7 100644
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java
+++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/UpstreamNetworkMonitorTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.connectivity.tethering;
+package com.android.networkstack.tethering;
 
 import static android.net.ConnectivityManager.TYPE_MOBILE_DUN;
 import static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI;
@@ -24,7 +24,7 @@
 import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
 import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
 
-import static com.android.server.connectivity.tethering.UpstreamNetworkMonitor.TYPE_NONE;
+import static com.android.networkstack.tethering.UpstreamNetworkMonitor.TYPE_NONE;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringNotificationUpdaterTest.kt b/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringNotificationUpdaterTest.kt
deleted file mode 100644
index b869491..0000000
--- a/packages/Tethering/tests/unit/src/com/android/server/connectivity/tethering/TetheringNotificationUpdaterTest.kt
+++ /dev/null
@@ -1,262 +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.server.connectivity.tethering
-
-import android.app.Notification
-import android.app.NotificationManager
-import android.content.Context
-import android.content.res.Resources
-import android.net.ConnectivityManager.TETHERING_BLUETOOTH
-import android.net.ConnectivityManager.TETHERING_USB
-import android.net.ConnectivityManager.TETHERING_WIFI
-import android.os.UserHandle
-import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID
-import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.filters.SmallTest
-import androidx.test.runner.AndroidJUnit4
-import com.android.internal.util.test.BroadcastInterceptingContext
-import com.android.networkstack.tethering.R
-import com.android.server.connectivity.tethering.TetheringNotificationUpdater.DOWNSTREAM_NONE
-import org.junit.Assert.assertEquals
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.ArgumentMatchers.any
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.Mock
-import org.mockito.Mockito.doReturn
-import org.mockito.Mockito.never
-import org.mockito.Mockito.reset
-import org.mockito.Mockito.times
-import org.mockito.Mockito.verifyZeroInteractions
-import org.mockito.Mockito.verify
-import org.mockito.MockitoAnnotations
-
-const val TEST_SUBID = 1
-const val WIFI_ICON_ID = 1
-const val USB_ICON_ID = 2
-const val BT_ICON_ID = 3
-const val GENERAL_ICON_ID = 4
-const val WIFI_MASK = 1 shl TETHERING_WIFI
-const val USB_MASK = 1 shl TETHERING_USB
-const val BT_MASK = 1 shl TETHERING_BLUETOOTH
-const val TITTLE = "Tethering active"
-const val MESSAGE = "Tap here to set up."
-const val TEST_TITTLE = "Hotspot active"
-const val TEST_MESSAGE = "Tap to set up hotspot."
-
-@RunWith(AndroidJUnit4::class)
-@SmallTest
-class TetheringNotificationUpdaterTest {
-    // lateinit used here for mocks as they need to be reinitialized between each test and the test
-    // should crash if they are used before being initialized.
-    @Mock private lateinit var mockContext: Context
-    @Mock private lateinit var notificationManager: NotificationManager
-    @Mock private lateinit var defaultResources: Resources
-    @Mock private lateinit var testResources: Resources
-
-    // lateinit for this class under test, as it should be reset to a different instance for every
-    // tests but should always be initialized before use (or the test should crash).
-    private lateinit var notificationUpdater: TetheringNotificationUpdater
-
-    private val ENABLE_ICON_CONFIGS = arrayOf(
-            "USB;android.test:drawable/usb", "BT;android.test:drawable/bluetooth",
-            "WIFI|BT;android.test:drawable/general", "WIFI|USB;android.test:drawable/general",
-            "USB|BT;android.test:drawable/general", "WIFI|USB|BT;android.test:drawable/general")
-
-    private inner class TestContext(c: Context) : BroadcastInterceptingContext(c) {
-        override fun createContextAsUser(user: UserHandle, flags: Int) =
-                if (user == UserHandle.ALL) mockContext else this
-    }
-
-    private inner class WrappedNotificationUpdater(c: Context) : TetheringNotificationUpdater(c) {
-        override fun getResourcesForSubId(context: Context, subId: Int) =
-                if (subId == TEST_SUBID) testResources else defaultResources
-    }
-
-    private fun setupResources() {
-        doReturn(ENABLE_ICON_CONFIGS).`when`(defaultResources)
-                .getStringArray(R.array.tethering_notification_icons)
-        doReturn(arrayOf("WIFI;android.test:drawable/wifi")).`when`(testResources)
-                .getStringArray(R.array.tethering_notification_icons)
-        doReturn(TITTLE).`when`(defaultResources).getString(R.string.tethering_notification_title)
-        doReturn(MESSAGE).`when`(defaultResources)
-                .getString(R.string.tethering_notification_message)
-        doReturn(TEST_TITTLE).`when`(testResources).getString(R.string.tethering_notification_title)
-        doReturn(TEST_MESSAGE).`when`(testResources)
-                .getString(R.string.tethering_notification_message)
-        doReturn(USB_ICON_ID).`when`(defaultResources)
-                .getIdentifier(eq("android.test:drawable/usb"), any(), any())
-        doReturn(BT_ICON_ID).`when`(defaultResources)
-                .getIdentifier(eq("android.test:drawable/bluetooth"), any(), any())
-        doReturn(GENERAL_ICON_ID).`when`(defaultResources)
-                .getIdentifier(eq("android.test:drawable/general"), any(), any())
-        doReturn(WIFI_ICON_ID).`when`(testResources)
-                .getIdentifier(eq("android.test:drawable/wifi"), any(), any())
-    }
-
-    @Before
-    fun setUp() {
-        MockitoAnnotations.initMocks(this)
-        val context = TestContext(InstrumentationRegistry.getInstrumentation().context)
-        doReturn(notificationManager).`when`(mockContext)
-                .getSystemService(Context.NOTIFICATION_SERVICE)
-        notificationUpdater = WrappedNotificationUpdater(context)
-        setupResources()
-    }
-
-    private fun Notification.title() = this.extras.getString(Notification.EXTRA_TITLE)
-    private fun Notification.text() = this.extras.getString(Notification.EXTRA_TEXT)
-
-    private fun verifyNotification(iconId: Int = 0, title: String = "", text: String = "") {
-        verify(notificationManager, never()).cancel(any(), anyInt())
-
-        val notificationCaptor = ArgumentCaptor.forClass(Notification::class.java)
-        verify(notificationManager, times(1))
-                .notify(any(), anyInt(), notificationCaptor.capture())
-
-        val notification = notificationCaptor.getValue()
-        assertEquals(iconId, notification.smallIcon.resId)
-        assertEquals(title, notification.title())
-        assertEquals(text, notification.text())
-
-        reset(notificationManager)
-    }
-
-    private fun verifyNoNotification() {
-        verify(notificationManager, times(1)).cancel(any(), anyInt())
-        verify(notificationManager, never()).notify(any(), anyInt(), any())
-
-        reset(notificationManager)
-    }
-
-    @Test
-    fun testNotificationWithDownstreamChanged() {
-        // Wifi downstream. No notification.
-        notificationUpdater.onDownstreamChanged(WIFI_MASK)
-        verifyNoNotification()
-
-        // Same downstream changed. Nothing happened.
-        notificationUpdater.onDownstreamChanged(WIFI_MASK)
-        verifyZeroInteractions(notificationManager)
-
-        // Wifi and usb downstreams. Show enable notification
-        notificationUpdater.onDownstreamChanged(WIFI_MASK or USB_MASK)
-        verifyNotification(GENERAL_ICON_ID, TITTLE, MESSAGE)
-
-        // Usb downstream. Still show enable notification.
-        notificationUpdater.onDownstreamChanged(USB_MASK)
-        verifyNotification(USB_ICON_ID, TITTLE, MESSAGE)
-
-        // No downstream. No notification.
-        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
-        verifyNoNotification()
-    }
-
-    @Test
-    fun testNotificationWithActiveDataSubscriptionIdChanged() {
-        // Usb downstream. Showed enable notification with default resource.
-        notificationUpdater.onDownstreamChanged(USB_MASK)
-        verifyNotification(USB_ICON_ID, TITTLE, MESSAGE)
-
-        // Same subId changed. Nothing happened.
-        notificationUpdater.onActiveDataSubscriptionIdChanged(INVALID_SUBSCRIPTION_ID)
-        verifyZeroInteractions(notificationManager)
-
-        // Set test sub id. Clear notification with test resource.
-        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
-        verifyNoNotification()
-
-        // Wifi downstream. Show enable notification with test resource.
-        notificationUpdater.onDownstreamChanged(WIFI_MASK)
-        verifyNotification(WIFI_ICON_ID, TEST_TITTLE, TEST_MESSAGE)
-
-        // No downstream. No notification.
-        notificationUpdater.onDownstreamChanged(DOWNSTREAM_NONE)
-        verifyNoNotification()
-    }
-
-    private fun assertIconNumbers(number: Int, configs: Array<String?>) {
-        doReturn(configs).`when`(defaultResources)
-                .getStringArray(R.array.tethering_notification_icons)
-        assertEquals(number, notificationUpdater.getIcons(
-                R.array.tethering_notification_icons, defaultResources).size())
-    }
-
-    @Test
-    fun testGetIcons() {
-        assertIconNumbers(0, arrayOfNulls<String>(0))
-        assertIconNumbers(0, arrayOf(null, ""))
-        assertIconNumbers(3, arrayOf(
-                // These configurations are invalid with wrong strings or symbols.
-                ";", ",", "|", "|,;", "WIFI", "1;2", " U SB; ", "bt;", "WIFI;USB;BT", "WIFI|USB|BT",
-                "WIFI,BT,USB", " WIFI| |  | USB, test:drawable/test",
-                // This configuration is valid with two downstream types (USB, BT).
-                "USB|,,,,,|BT;drawable/test ",
-                // This configuration is valid with one downstream types (WIFI).
-                "     WIFI     ; android.test:drawable/xxx "))
-    }
-
-    @Test
-    fun testGetDownstreamTypesMask() {
-        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask(""))
-        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("1"))
-        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("WIFI_P2P"))
-        assertEquals(DOWNSTREAM_NONE, notificationUpdater.getDownstreamTypesMask("usb"))
-        assertEquals(WIFI_MASK, notificationUpdater.getDownstreamTypesMask(" WIFI "))
-        assertEquals(USB_MASK, notificationUpdater.getDownstreamTypesMask("USB | B T"))
-        assertEquals(BT_MASK, notificationUpdater.getDownstreamTypesMask(" WIFI: | BT"))
-        assertEquals(WIFI_MASK or USB_MASK,
-                notificationUpdater.getDownstreamTypesMask("1|2|USB|WIFI|BLUETOOTH||"))
-    }
-
-    @Test
-    fun testSetupRestrictedNotification() {
-        val title = InstrumentationRegistry.getInstrumentation().context.resources
-                .getString(R.string.disable_tether_notification_title)
-        val message = InstrumentationRegistry.getInstrumentation().context.resources
-                .getString(R.string.disable_tether_notification_message)
-        val disallowTitle = "Tether function is disallowed"
-        val disallowMessage = "Please contact your admin"
-        doReturn(title).`when`(defaultResources)
-                .getString(R.string.disable_tether_notification_title)
-        doReturn(message).`when`(defaultResources)
-                .getString(R.string.disable_tether_notification_message)
-        doReturn(disallowTitle).`when`(testResources)
-                .getString(R.string.disable_tether_notification_title)
-        doReturn(disallowMessage).`when`(testResources)
-                .getString(R.string.disable_tether_notification_message)
-
-        // User restrictions on. Show restricted notification.
-        notificationUpdater.notifyTetheringDisabledByRestriction()
-        verifyNotification(R.drawable.stat_sys_tether_general, title, message)
-
-        // User restrictions off. Clear notification.
-        notificationUpdater.tetheringRestrictionLifted()
-        verifyNoNotification()
-
-        // Set test sub id. No notification.
-        notificationUpdater.onActiveDataSubscriptionIdChanged(TEST_SUBID)
-        verifyNoNotification()
-
-        // User restrictions on again. Show restricted notification with test resource.
-        notificationUpdater.notifyTetheringDisabledByRestriction()
-        verifyNotification(R.drawable.stat_sys_tether_general, disallowTitle, disallowMessage)
-    }
-}
\ No newline at end of file
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index ef0e044..dcdb80b 100644
--- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk
@@ -45,8 +45,6 @@
 	IconPackRoundedSettingsOverlay \
 	IconPackRoundedSystemUIOverlay \
 	IconPackRoundedThemePickerOverlay \
-        IconShapeFlowerOverlay \
-        IconShapeHexagonOverlay \
 	IconShapeRoundedRectOverlay \
 	IconShapeSquircleOverlay \
 	IconShapeTeardropOverlay \
diff --git a/packages/overlays/IconShapeFlowerOverlay/AndroidManifest.xml b/packages/overlays/IconShapeFlowerOverlay/AndroidManifest.xml
index 22411a2..9d20c6b 100644
--- a/packages/overlays/IconShapeFlowerOverlay/AndroidManifest.xml
+++ b/packages/overlays/IconShapeFlowerOverlay/AndroidManifest.xml
@@ -19,7 +19,6 @@
           android:versionName="1.0">
     <overlay
         android:targetPackage="android"
-        android:targetName="IconShapeCustomization"
         android:category="android.theme.customization.adaptive_icon_shape"
         android:priority="1"/>
 
diff --git a/packages/overlays/IconShapeHeartOverlay/AndroidManifest.xml b/packages/overlays/IconShapeHeartOverlay/AndroidManifest.xml
index 8fb19df..82bff7d 100644
--- a/packages/overlays/IconShapeHeartOverlay/AndroidManifest.xml
+++ b/packages/overlays/IconShapeHeartOverlay/AndroidManifest.xml
@@ -21,7 +21,6 @@
     android:versionName="1.0">
 <overlay
         android:targetPackage="android"
-        android:targetName="IconShapeCustomization"
         android:category="android.theme.customization.adaptive_icon_shape"
         android:priority="1"/>
 
diff --git a/packages/overlays/IconShapeHexagonOverlay/AndroidManifest.xml b/packages/overlays/IconShapeHexagonOverlay/AndroidManifest.xml
index 384d5b3..bf408fd 100644
--- a/packages/overlays/IconShapeHexagonOverlay/AndroidManifest.xml
+++ b/packages/overlays/IconShapeHexagonOverlay/AndroidManifest.xml
@@ -20,7 +20,6 @@
           android:versionName="1.0">
     <overlay
         android:targetPackage="android"
-        android:targetName="IconShapeCustomization"
         android:category="android.theme.customization.adaptive_icon_shape"
         android:priority="1"/>
 
diff --git a/packages/overlays/IconShapePebbleOverlay/AndroidManifest.xml b/packages/overlays/IconShapePebbleOverlay/AndroidManifest.xml
index 6842dde..d719a97 100644
--- a/packages/overlays/IconShapePebbleOverlay/AndroidManifest.xml
+++ b/packages/overlays/IconShapePebbleOverlay/AndroidManifest.xml
@@ -21,7 +21,6 @@
     android:versionName="1.0">
 <overlay
         android:targetPackage="android"
-        android:targetName="IconShapeCustomization"
         android:category="android.theme.customization.adaptive_icon_shape"
         android:priority="1"/>
 
diff --git a/proto/src/system_messages.proto b/proto/src/system_messages.proto
index 34d2b73..7750e32 100644
--- a/proto/src/system_messages.proto
+++ b/proto/src/system_messages.proto
@@ -256,6 +256,10 @@
     // Package: android
     NOTE_ADB_WIFI_ACTIVE = 62;
 
+    // Notify user there was a non-framework gnss location access during an emergency
+    // Package: android
+    NOTE_GNSS_NFW_LOCATION_ACCESS = 63;
+
     // ADD_NEW_IDS_ABOVE_THIS_LINE
     // Legacy IDs with arbitrary values appear below
     // Legacy IDs existed as stable non-conflicting constants prior to the O release
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 7230b00..f21f0e7 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -197,8 +197,7 @@
 
     private final MainHandler mMainHandler;
 
-    // Lazily initialized - access through getSystemActionPerfomer()
-    private SystemActionPerformer mSystemActionPerformer;
+    private final SystemActionPerformer mSystemActionPerformer;
 
     private MagnificationController mMagnificationController;
 
@@ -296,6 +295,8 @@
         mActivityTaskManagerService = LocalServices.getService(ActivityTaskManagerInternal.class);
         mPackageManager = mContext.getPackageManager();
         mSecurityPolicy = new AccessibilitySecurityPolicy(mContext, this);
+        mSystemActionPerformer =
+                new SystemActionPerformer(mContext, mWindowManagerService, null, this);
         mA11yWindowManager = new AccessibilityWindowManager(mLock, mMainHandler,
                 mWindowManagerService, this, mSecurityPolicy, this);
         mA11yDisplayListener = new AccessibilityDisplayListener(mContext, mMainHandler);
@@ -671,7 +672,7 @@
         mSecurityPolicy.enforceCallerIsRecentsOrHasPermission(
                 Manifest.permission.MANAGE_ACCESSIBILITY,
                 FUNCTION_REGISTER_SYSTEM_ACTION);
-        getSystemActionPerformer().registerSystemAction(actionId, action);
+        mSystemActionPerformer.registerSystemAction(actionId, action);
     }
 
     /**
@@ -684,15 +685,7 @@
         mSecurityPolicy.enforceCallerIsRecentsOrHasPermission(
                 Manifest.permission.MANAGE_ACCESSIBILITY,
                 FUNCTION_UNREGISTER_SYSTEM_ACTION);
-        getSystemActionPerformer().unregisterSystemAction(actionId);
-    }
-
-    private SystemActionPerformer getSystemActionPerformer() {
-        if (mSystemActionPerformer == null) {
-            mSystemActionPerformer =
-                    new SystemActionPerformer(mContext, mWindowManagerService, null, this);
-        }
-        return mSystemActionPerformer;
+        mSystemActionPerformer.unregisterSystemAction(actionId);
     }
 
     @Override
@@ -804,7 +797,7 @@
         synchronized (mLock) {
             mUiAutomationManager.registerUiTestAutomationServiceLocked(owner, serviceClient,
                     mContext, accessibilityServiceInfo, sIdCounter++, mMainHandler,
-                    mSecurityPolicy, this, mWindowManagerService, getSystemActionPerformer(),
+                    mSecurityPolicy, this, mWindowManagerService, mSystemActionPerformer,
                     mA11yWindowManager, flags);
             onUserStateChangedLocked(getCurrentUserStateLocked());
         }
@@ -1515,7 +1508,7 @@
                 if (service == null) {
                     service = new AccessibilityServiceConnection(userState, mContext, componentName,
                             installedService, sIdCounter++, mMainHandler, mLock, mSecurityPolicy,
-                            this, mWindowManagerService, getSystemActionPerformer(),
+                            this, mWindowManagerService, mSystemActionPerformer,
                             mA11yWindowManager, mActivityTaskManagerService);
                 } else if (userState.mBoundServices.contains(service)) {
                     continue;
@@ -2441,7 +2434,11 @@
      *    accessibility button.
      * 2) For {@link AccessibilityManager#ACCESSIBILITY_SHORTCUT_KEY} type and service targeting sdk
      *    version <= Q: turns on / off the accessibility service.
-     * 3) For services targeting sdk version > Q:
+     * 3) For {@link AccessibilityManager#ACCESSIBILITY_SHORTCUT_KEY} type and service targeting sdk
+     *    version > Q and request accessibility button: turn on the accessibility service if it's
+     *    not in the enabled state.
+     *    (It'll happen when a service is disabled and assigned to shortcut then upgraded.)
+     * 4) For services targeting sdk version > Q:
      *    a) Turns on / off the accessibility service, if service does not request accessibility
      *       button.
      *    b) Callbacks to accessibility service if service is bounded and requests accessibility
@@ -2475,6 +2472,13 @@
                 }
                 return true;
             }
+            if (shortcutType == ACCESSIBILITY_SHORTCUT_KEY && targetSdk > Build.VERSION_CODES.Q
+                    && requestA11yButton) {
+                if (!userState.getEnabledServicesLocked().contains(assignedTarget)) {
+                    enableAccessibilityServiceLocked(assignedTarget, mCurrentUserId);
+                    return true;
+                }
+            }
             // Callbacks to a11y service if it's bounded and requests a11y button.
             if (serviceConnection == null
                     || !userState.mBoundServices.contains(serviceConnection)
@@ -2753,7 +2757,7 @@
                     userState, mContext,
                     COMPONENT_NAME, info, sIdCounter++, mMainHandler, mLock, mSecurityPolicy,
                     AccessibilityManagerService.this, mWindowManagerService,
-                    getSystemActionPerformer(), mA11yWindowManager, mActivityTaskManagerService) {
+                    mSystemActionPerformer, mA11yWindowManager, mActivityTaskManagerService) {
                 @Override
                 public boolean supportsFlagForNotImportantViews(AccessibilityServiceInfo info) {
                     return true;
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index ca1b27b..74e4e4a 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -3652,11 +3652,12 @@
      * Note an app widget is tapped on. If a app widget is tapped, the underlying app is treated as
      * foreground so the app can get while-in-use permission.
      *
-     * @param uid UID of the underlying app.
-     * @param packageName Package name of the app.
+     * @param callingPackage calling app's packageName.
+     * @param appWidgetId App widget id.
      */
     @Override
-    public void noteAppWidgetTapped(int uid, String packageName) {
+    public void noteAppWidgetTapped(String callingPackage, int appWidgetId) {
+        mSecurityPolicy.enforceCallFromPackage(callingPackage);
         final int callingUid = Binder.getCallingUid();
         final long ident = Binder.clearCallingIdentity();
         try {
@@ -3665,32 +3666,22 @@
             if (procState > ActivityManager.PROCESS_STATE_TOP) {
                 return;
             }
-
-            // Default launcher from package manager.
-            final ComponentName defaultLauncher = mPackageManagerInternal
-                    .getDefaultHomeActivity(UserHandle.getUserId(callingUid));
-            if (defaultLauncher == null) {
-                return;
+            synchronized (mLock) {
+                final Widget widget = lookupWidgetLocked(appWidgetId, callingUid, callingPackage);
+                if (widget == null) {
+                    return;
+                }
+                final ProviderId providerId = widget.provider.id;
+                final String packageName = providerId.componentName.getPackageName();
+                if (packageName == null) {
+                    return;
+                }
+                final SparseArray<String> uid2PackageName = new SparseArray<String>();
+                uid2PackageName.put(providerId.uid, packageName);
+                mAppOpsManagerInternal.updateAppWidgetVisibility(uid2PackageName, true);
+                mUsageStatsManagerInternal.reportEvent(packageName,
+                        UserHandle.getUserId(providerId.uid), UsageEvents.Event.USER_INTERACTION);
             }
-            int defaultLauncherUid  = 0;
-            try {
-                defaultLauncherUid = mPackageManager.getApplicationInfo(
-                        defaultLauncher.getPackageName(), 0 ,
-                        UserHandle.getUserId(callingUid)).uid;
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Failed to getApplicationInfo for package:"
-                        + defaultLauncher.getPackageName(), e);
-                return;
-            }
-            // The callingUid must be default launcher uid.
-            if (defaultLauncherUid != callingUid) {
-                return;
-            }
-            final SparseArray<String> uid2PackageName = new SparseArray<String>();
-            uid2PackageName.put(uid, packageName);
-            mAppOpsManagerInternal.updateAppWidgetVisibility(uid2PackageName, true);
-            mUsageStatsManagerInternal.reportEvent(packageName, UserHandle.getUserId(uid),
-                    UsageEvents.Event.USER_INTERACTION);
         } finally {
             Binder.restoreCallingIdentity(ident);
         }
diff --git a/services/art-profile b/services/art-profile
index 8ebb21f..e2974a1 100644
--- a/services/art-profile
+++ b/services/art-profile
@@ -24,6 +24,8 @@
 HSPLandroid/hardware/authsecret/V1_0/IAuthSecret;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
 HSPLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService()Landroid/hardware/authsecret/V1_0/IAuthSecret;
 HSPLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService(Ljava/lang/String;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
+PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService(Ljava/lang/String;Z)Landroid/hardware/authsecret/V1_0/IAuthSecret;
+PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService(Z)Landroid/hardware/authsecret/V1_0/IAuthSecret;
 HSPLandroid/hardware/biometrics/face/V1_0/IBiometricsFace$Proxy;-><init>(Landroid/os/IHwBinder;)V
 HSPLandroid/hardware/biometrics/face/V1_0/IBiometricsFace$Proxy;->asBinder()Landroid/os/IHwBinder;
 HPLandroid/hardware/biometrics/face/V1_0/IBiometricsFace$Proxy;->authenticate(J)I
@@ -101,6 +103,7 @@
 HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
 HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
 HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V
+HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeStatus(Landroid/hardware/health/V2_0/IHealth$getChargeStatusCallback;)V
 HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCurrentAverage(Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;)V
 HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCurrentNow(Landroid/hardware/health/V2_0/IHealth$getCurrentNowCallback;)V
 HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getEnergyCounter(Landroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;)V
@@ -138,6 +141,8 @@
 HSPLandroid/hardware/oemlock/V1_0/IOemLock;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/oemlock/V1_0/IOemLock;
 HSPLandroid/hardware/oemlock/V1_0/IOemLock;->getService()Landroid/hardware/oemlock/V1_0/IOemLock;
 HSPLandroid/hardware/oemlock/V1_0/IOemLock;->getService(Ljava/lang/String;)Landroid/hardware/oemlock/V1_0/IOemLock;
+PLandroid/hardware/oemlock/V1_0/IOemLock;->getService(Ljava/lang/String;Z)Landroid/hardware/oemlock/V1_0/IOemLock;
+PLandroid/hardware/oemlock/V1_0/IOemLock;->getService(Z)Landroid/hardware/oemlock/V1_0/IOemLock;
 PLandroid/hardware/rebootescrow/IRebootEscrow$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/hardware/rebootescrow/IRebootEscrow$Stub$Proxy;->retrieveKey()[B
 PLandroid/hardware/rebootescrow/IRebootEscrow$Stub$Proxy;->storeKey([B)V
@@ -200,6 +205,7 @@
 HPLandroid/hardware/soundtrigger/V2_2/ISoundTriggerHw$Proxy;->unloadSoundModel(I)I
 HSPLandroid/hardware/soundtrigger/V2_2/ISoundTriggerHw;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/soundtrigger/V2_2/ISoundTriggerHw;
 HSPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;-><init>(Landroid/os/IHwBinder;)V
+HPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->getModelState(I)I
 PLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->getProperties_2_3(Landroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$getProperties_2_3Callback;)V
 HSPLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->interfaceChain()Ljava/util/ArrayList;
 PLandroid/hardware/soundtrigger/V2_3/ISoundTriggerHw$Proxy;->loadPhraseSoundModel_2_1(Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHw$PhraseSoundModel;Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback;ILandroid/hardware/soundtrigger/V2_1/ISoundTriggerHw$loadPhraseSoundModel_2_1Callback;)V
@@ -254,6 +260,8 @@
 HSPLandroid/hardware/weaver/V1_0/IWeaver;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/weaver/V1_0/IWeaver;
 HSPLandroid/hardware/weaver/V1_0/IWeaver;->getService()Landroid/hardware/weaver/V1_0/IWeaver;
 HSPLandroid/hardware/weaver/V1_0/IWeaver;->getService(Ljava/lang/String;)Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/IWeaver;->getService(Ljava/lang/String;Z)Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/IWeaver;->getService(Z)Landroid/hardware/weaver/V1_0/IWeaver;
 HSPLandroid/hardware/weaver/V1_0/WeaverConfig;-><init>()V
 HSPLandroid/hardware/weaver/V1_0/WeaverConfig;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/weaver/V1_0/WeaverConfig;->readFromParcel(Landroid/os/HwParcel;)V
@@ -365,11 +373,13 @@
 HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetCfg(Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
 HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetList()[Ljava/lang/String;
 PLandroid/net/INetd$Stub$Proxy;->interfaceSetCfg(Landroid/net/InterfaceConfigurationParcel;)V
+PLandroid/net/INetd$Stub$Proxy;->interfaceSetEnableIPv6(Ljava/lang/String;Z)V
 HPLandroid/net/INetd$Stub$Proxy;->interfaceSetMtu(Ljava/lang/String;I)V
 HSPLandroid/net/INetd$Stub$Proxy;->isAlive()Z
 HPLandroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkAddLegacyRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 HPLandroid/net/INetd$Stub$Proxy;->networkAddRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->networkAddRouteParcel(ILandroid/net/RouteInfoParcel;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkAddUidRanges(I[Landroid/net/UidRangeParcel;)V
 PLandroid/net/INetd$Stub$Proxy;->networkClearDefault()V
 HPLandroid/net/INetd$Stub$Proxy;->networkClearPermissionForUser([I)V
@@ -379,12 +389,14 @@
 PLandroid/net/INetd$Stub$Proxy;->networkRejectNonSecureVpn(Z[Landroid/net/UidRangeParcel;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkRemoveInterface(ILjava/lang/String;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkRemoveRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->networkRemoveRouteParcel(ILandroid/net/RouteInfoParcel;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkRemoveUidRanges(I[Landroid/net/UidRangeParcel;)V
 HPLandroid/net/INetd$Stub$Proxy;->networkSetDefault(I)V
 HPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForNetwork(II)V
 HSPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForUser(I[I)V
 PLandroid/net/INetd$Stub$Proxy;->networkSetProtectAllow(I)V
 PLandroid/net/INetd$Stub$Proxy;->networkSetProtectDeny(I)V
+PLandroid/net/INetd$Stub$Proxy;->networkUpdateRouteParcel(ILandroid/net/RouteInfoParcel;)V
 HSPLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
 HPLandroid/net/INetd$Stub$Proxy;->setTcpRWmemorySize(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRangeParcel;[I)V
@@ -412,7 +424,7 @@
 HPLandroid/net/INetworkMonitor$Stub$Proxy;->start()V
 PLandroid/net/INetworkMonitor$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkMonitor;
 HPLandroid/net/INetworkMonitorCallbacks$Stub;-><init>()V
-PLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/net/INetworkMonitorCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkStackConnector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 PLandroid/net/INetworkStackConnector$Stub$Proxy;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
@@ -457,11 +469,35 @@
 HPLandroid/net/IpMemoryStoreClient;->lambda$storeBlob$4$IpMemoryStoreClient(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;Landroid/net/IIpMemoryStore;)V
 PLandroid/net/IpMemoryStoreClient;->retrieveBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
 HPLandroid/net/IpMemoryStoreClient;->storeBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/Layer2InformationParcelable$1;-><init>()V
+PLandroid/net/Layer2InformationParcelable;-><clinit>()V
+PLandroid/net/Layer2InformationParcelable;-><init>()V
+PLandroid/net/Layer2InformationParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 PLandroid/net/NattKeepalivePacketDataParcelable$1;-><init>()V
 PLandroid/net/NattKeepalivePacketDataParcelable;-><clinit>()V
 PLandroid/net/NattKeepalivePacketDataParcelable;-><init>()V
 HPLandroid/net/NattKeepalivePacketDataParcelable;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/NetworkFactory$1;-><init>(Landroid/net/NetworkFactory;Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;)V
+HPLandroid/net/NetworkFactory$1;->onNetworkRequestWithdrawn(Landroid/net/NetworkRequest;)V
+HSPLandroid/net/NetworkFactory$1;->onNetworkRequested(Landroid/net/NetworkRequest;II)V
+HSPLandroid/net/NetworkFactory$1;->onRequestWithdrawn(Landroid/net/NetworkRequest;)V
+HSPLandroid/net/NetworkFactory$NetworkRequestInfo;-><init>(Landroid/net/NetworkFactory;Landroid/net/NetworkRequest;II)V
+HPLandroid/net/NetworkFactory$NetworkRequestInfo;->toString()Ljava/lang/String;
+HSPLandroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
+HPLandroid/net/NetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HSPLandroid/net/NetworkFactory;->evalRequest(Landroid/net/NetworkFactory$NetworkRequestInfo;)V
+HSPLandroid/net/NetworkFactory;->evalRequests()V
 PLandroid/net/NetworkFactory;->getProvider()Landroid/net/NetworkProvider;
+HSPLandroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;II)V
+HSPLandroid/net/NetworkFactory;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
+HSPLandroid/net/NetworkFactory;->handleSetScore(I)V
+HSPLandroid/net/NetworkFactory;->log(Ljava/lang/String;)V
+HSPLandroid/net/NetworkFactory;->register()V
+HSPLandroid/net/NetworkFactory;->setScoreFilter(I)V
+HSPLandroid/net/NetworkFactory;->shouldNeedNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
+HSPLandroid/net/NetworkFactory;->shouldReleaseNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
+PLandroid/net/NetworkFactory;->toString()Ljava/lang/String;
 HPLandroid/net/NetworkMonitorManager;-><init>(Landroid/net/INetworkMonitor;)V
 HPLandroid/net/NetworkMonitorManager;-><init>(Landroid/net/INetworkMonitor;Ljava/lang/String;)V
 HPLandroid/net/NetworkMonitorManager;->forceReevaluation(I)Z
@@ -516,6 +552,10 @@
 PLandroid/net/ResolverParamsParcel;-><clinit>()V
 HPLandroid/net/ResolverParamsParcel;-><init>()V
 HPLandroid/net/ResolverParamsParcel;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/RouteInfoParcel$1;-><init>()V
+PLandroid/net/RouteInfoParcel;-><clinit>()V
+HPLandroid/net/RouteInfoParcel;-><init>()V
+HPLandroid/net/RouteInfoParcel;->writeToParcel(Landroid/os/Parcel;I)V
 PLandroid/net/ScanResultInfoParcelable$1;-><init>()V
 PLandroid/net/ScanResultInfoParcelable;-><clinit>()V
 PLandroid/net/ScanResultInfoParcelable;-><init>()V
@@ -582,6 +622,7 @@
 PLandroid/net/ip/IIpClient$Stub$Proxy;->shutdown()V
 HPLandroid/net/ip/IIpClient$Stub$Proxy;->startProvisioning(Landroid/net/ProvisioningConfigurationParcelable;)V
 HPLandroid/net/ip/IIpClient$Stub$Proxy;->stop()V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->updateLayer2Information(Landroid/net/Layer2InformationParcelable;)V
 HSPLandroid/net/ip/IIpClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/ip/IIpClient;
 HSPLandroid/net/ip/IIpClientCallbacks$Stub;-><init>()V
 HSPLandroid/net/ip/IIpClientCallbacks$Stub;->asBinder()Landroid/os/IBinder;
@@ -651,6 +692,27 @@
 HPLandroid/net/ipmemorystore/StatusParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/net/metrics/INetdEventListener$Stub;-><init>()V
 HPLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/networkstack/-$$Lambda$NetworkStackClientBase$OwDc2jxNNxij2DwZJOxHrSIkT4w;-><init>(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/networkstack/-$$Lambda$NetworkStackClientBase$OwDc2jxNNxij2DwZJOxHrSIkT4w;->accept(Ljava/lang/Object;)V
+PLandroid/net/networkstack/-$$Lambda$NetworkStackClientBase$okdj3YJsErzDSIpQV-9KsxdCYmM;-><init>(Landroid/net/IIpMemoryStoreCallbacks;)V
+PLandroid/net/networkstack/-$$Lambda$NetworkStackClientBase$okdj3YJsErzDSIpQV-9KsxdCYmM;->accept(Ljava/lang/Object;)V
+PLandroid/net/networkstack/ModuleNetworkStackClient$PollingRunner;-><init>(Landroid/net/networkstack/ModuleNetworkStackClient;)V
+PLandroid/net/networkstack/ModuleNetworkStackClient$PollingRunner;-><init>(Landroid/net/networkstack/ModuleNetworkStackClient;Landroid/content/Context;)V
+PLandroid/net/networkstack/ModuleNetworkStackClient$PollingRunner;-><init>(Landroid/net/networkstack/ModuleNetworkStackClient;Landroid/content/Context;Landroid/net/networkstack/ModuleNetworkStackClient$1;)V
+PLandroid/net/networkstack/ModuleNetworkStackClient$PollingRunner;-><init>(Landroid/net/networkstack/ModuleNetworkStackClient;Landroid/net/networkstack/ModuleNetworkStackClient$1;)V
+HPLandroid/net/networkstack/ModuleNetworkStackClient$PollingRunner;->run()V
+PLandroid/net/networkstack/ModuleNetworkStackClient;-><clinit>()V
+PLandroid/net/networkstack/ModuleNetworkStackClient;-><init>()V
+PLandroid/net/networkstack/ModuleNetworkStackClient;->getInstance(Landroid/content/Context;)Landroid/net/networkstack/ModuleNetworkStackClient;
+PLandroid/net/networkstack/ModuleNetworkStackClient;->startPolling()V
+PLandroid/net/networkstack/ModuleNetworkStackClient;->startPolling(Landroid/content/Context;)V
+PLandroid/net/networkstack/NetworkStackClientBase;-><init>()V
+PLandroid/net/networkstack/NetworkStackClientBase;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
+PLandroid/net/networkstack/NetworkStackClientBase;->lambda$fetchIpMemoryStore$3(Landroid/net/IIpMemoryStoreCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/networkstack/NetworkStackClientBase;->lambda$makeIpClient$1(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/networkstack/NetworkStackClientBase;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/networkstack/NetworkStackClientBase;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+PLandroid/net/networkstack/NetworkStackClientBase;->requestConnector(Ljava/util/function/Consumer;)V
 PLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><clinit>()V
 PLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><init>()V
 PLandroid/net/shared/-$$Lambda$SYWvjOUPlAZ_O2Z6yfFU9np1858;-><clinit>()V
@@ -663,6 +725,8 @@
 PLandroid/net/shared/InitialConfiguration;->copy(Landroid/net/shared/InitialConfiguration;)Landroid/net/shared/InitialConfiguration;
 HPLandroid/net/shared/IpConfigurationParcelableUtil;->fromStableParcelable(Landroid/net/DhcpResultsParcelable;)Landroid/net/DhcpResults;
 HPLandroid/net/shared/IpConfigurationParcelableUtil;->unparcelAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+PLandroid/net/shared/Layer2Information;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/net/MacAddress;)V
+PLandroid/net/shared/Layer2Information;->toStableParcelable()Landroid/net/Layer2InformationParcelable;
 HPLandroid/net/shared/NetworkMonitorUtils;->isPrivateDnsValidationRequired(Landroid/net/NetworkCapabilities;)Z
 HPLandroid/net/shared/ParcelableUtil;->fromParcelableArray([Ljava/lang/Object;Ljava/util/function/Function;)Ljava/util/ArrayList;
 HPLandroid/net/shared/ParcelableUtil;->toParcelableArray(Ljava/util/Collection;Ljava/util/function/Function;Ljava/lang/Class;)[Ljava/lang/Object;
@@ -689,7 +753,7 @@
 PLandroid/net/shared/ProvisioningConfiguration$ScanResultInfo;-><init>(Ljava/lang/String;Ljava/util/List;)V
 PLandroid/net/shared/ProvisioningConfiguration$ScanResultInfo;->access$000(Ljava/nio/ByteBuffer;)[B
 PLandroid/net/shared/ProvisioningConfiguration$ScanResultInfo;->convertToByteArray(Ljava/nio/ByteBuffer;)[B
-PLandroid/net/shared/ProvisioningConfiguration$ScanResultInfo;->toStableParcelable()Landroid/net/ScanResultInfoParcelable;
+HPLandroid/net/shared/ProvisioningConfiguration$ScanResultInfo;->toStableParcelable()Landroid/net/ScanResultInfoParcelable;
 PLandroid/net/shared/ProvisioningConfiguration;-><init>()V
 PLandroid/net/shared/ProvisioningConfiguration;-><init>(Landroid/net/shared/ProvisioningConfiguration;)V
 PLandroid/net/shared/ProvisioningConfiguration;->toStableParcelable()Landroid/net/ProvisioningConfigurationParcelable;
@@ -723,6 +787,7 @@
 HSPLandroid/os/IIdmap2$Stub$Proxy;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
 PLandroid/os/IIdmap2$Stub$Proxy;->removeIdmap(Ljava/lang/String;I)Z
 HSPLandroid/os/IIdmap2$Stub$Proxy;->verifyIdmap(Ljava/lang/String;IZI)Z
+HPLandroid/os/IIdmap2$Stub$Proxy;->verifyIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Z
 HSPLandroid/os/IIdmap2$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIdmap2;
 HSPLandroid/os/UserManagerInternal;-><init>()V
 HSPLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><clinit>()V
@@ -760,6 +825,8 @@
 PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$JTQ79fl14NyImudsJhx-Mp1dJI8;->onValues(II)V
 HPLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
 HPLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;->onValues(II)V
+HPLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$hInbvsihGvN2hXqvdcoFYzdeqHw;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$hInbvsihGvN2hXqvdcoFYzdeqHw;->onValues(II)V
 HSPLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$muNPoFqxU6pF6un7sF70iW4-Fus;-><init>(Lcom/android/server/BatteryService$BatteryPropertiesRegistrar;)V
 HSPLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$muNPoFqxU6pF6un7sF70iW4-Fus;->run()V
 HSPLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;-><init>(Lcom/android/server/BatteryService;)V
@@ -768,6 +835,8 @@
 HPLcom/android/server/-$$Lambda$ConnectivityService$3$_itgrpHpWu3QvA9Wb0gtsEYJWZY;->run()V
 HSPLcom/android/server/-$$Lambda$ConnectivityService$4mdI2BrJnxGXPEiesjVbm4BY2so;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;)V
 PLcom/android/server/-$$Lambda$ConnectivityService$4mdI2BrJnxGXPEiesjVbm4BY2so;->binderDied()V
+PLcom/android/server/-$$Lambda$ConnectivityService$6bEB7WFnOunsH4qwhZ_F6bf0Lb8;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/-$$Lambda$ConnectivityService$6bEB7WFnOunsH4qwhZ_F6bf0Lb8;->run()V
 PLcom/android/server/-$$Lambda$ConnectivityService$Bd0Iky-FHBTmS5tJGxK9OZvajR4;-><init>(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/-$$Lambda$ConnectivityService$Bd0Iky-FHBTmS5tJGxK9OZvajR4;->run()V
 PLcom/android/server/-$$Lambda$ConnectivityService$GX97FVWNZr22L2SZWTK3UYHOOe0;-><clinit>()V
@@ -784,6 +853,9 @@
 HPLcom/android/server/-$$Lambda$ConnectivityService$ONlkcNIY7zZyZhG_msTp1qIA_cQ;->runOrThrow()V
 HSPLcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;-><init>(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;->run()V
+PLcom/android/server/-$$Lambda$ConnectivityService$XT2zS9HW9HrYR9HM0MhxU58wtIo;-><clinit>()V
+PLcom/android/server/-$$Lambda$ConnectivityService$XT2zS9HW9HrYR9HM0MhxU58wtIo;-><init>()V
+HPLcom/android/server/-$$Lambda$ConnectivityService$XT2zS9HW9HrYR9HM0MhxU58wtIo;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;-><clinit>()V
 PLcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;-><init>()V
 PLcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;->applyAsInt(Ljava/lang/Object;)I
@@ -798,6 +870,9 @@
 HPLcom/android/server/-$$Lambda$ConnectivityService$uvmt4yGRo-ufWZED19neBxJaTNk;->run()V
 PLcom/android/server/-$$Lambda$ConnectivityService$vGRhfNpFTw0hellWUlmBolfzRy8;-><init>(Lcom/android/server/ConnectivityService;Landroid/content/Intent;)V
 PLcom/android/server/-$$Lambda$ConnectivityService$vGRhfNpFTw0hellWUlmBolfzRy8;->runOrThrow()V
+PLcom/android/server/-$$Lambda$ConnectivityService$x0Ij0w36gakQlfjj4QRMgSl4VPo;-><clinit>()V
+PLcom/android/server/-$$Lambda$ConnectivityService$x0Ij0w36gakQlfjj4QRMgSl4VPo;-><init>()V
+HPLcom/android/server/-$$Lambda$ConnectivityService$x0Ij0w36gakQlfjj4QRMgSl4VPo;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;-><init>(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
 HSPLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;->run()V
 HSPLcom/android/server/-$$Lambda$CountryDetectorService$ESi5ICoEixGJHWdY67G_J38VrJI;-><init>(Lcom/android/server/CountryDetectorService;)V
@@ -886,6 +961,10 @@
 HSPLcom/android/server/-$$Lambda$LocationManagerService$oIimlThgbbmKRAN80H4tpnruGtk;->onSettingChanged(I)V
 HSPLcom/android/server/-$$Lambda$LocationManagerService$qbZh8GXCTpZ1wNP3qw1VXZxlKQg;-><init>(Lcom/android/server/LocationManagerService;)V
 HSPLcom/android/server/-$$Lambda$LocationManagerService$qbZh8GXCTpZ1wNP3qw1VXZxlKQg;->onSettingChanged(I)V
+PLcom/android/server/-$$Lambda$LocationManagerService$rCyjSaqQ-rLpPfZIkKmdIMxpVhs;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$rCyjSaqQ-rLpPfZIkKmdIMxpVhs;->onAppOpsChanged(Ljava/lang/String;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$s3R56DsYN07S8NsTGndtSeeOvjM;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$s3R56DsYN07S8NsTGndtSeeOvjM;->onCancel()V
 PLcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;-><clinit>()V
 PLcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;-><init>()V
 HPLcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;->apply(Ljava/lang/Object;)Ljava/lang/Object;
@@ -952,13 +1031,21 @@
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$Q0WI2EJpRFO1jF_7_YDaj1eGHas;->run()V
 PLcom/android/server/-$$Lambda$PackageWatchdog$VAW1s9zLN90OWS2gosDw9xdVjr8;-><init>(Lcom/android/server/PackageWatchdog;)V
 PLcom/android/server/-$$Lambda$PackageWatchdog$VAW1s9zLN90OWS2gosDw9xdVjr8;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$Ya4lYGbdDy3Dda20wvc2AHBqIMM;-><init>(Lcom/android/server/PackageWatchdog;ILjava/util/List;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$Ya4lYGbdDy3Dda20wvc2AHBqIMM;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$c6DeFAaAsEUAlPf0Sv5YyUydmCk;-><init>(Lcom/android/server/PackageWatchdog;)V
 HPLcom/android/server/-$$Lambda$PackageWatchdog$hFdPWF73rahpzi1hJ-d9hNfUNrY;-><init>(Lcom/android/server/PackageWatchdog;ILjava/util/List;)V
 HPLcom/android/server/-$$Lambda$PackageWatchdog$hFdPWF73rahpzi1hJ-d9hNfUNrY;->run()V
 PLcom/android/server/-$$Lambda$PackageWatchdog$ib8X74W4PjX4xo1uv-QgOpcuf4o;-><init>(Lcom/android/server/PackageWatchdog;)V
 PLcom/android/server/-$$Lambda$PackageWatchdog$ib8X74W4PjX4xo1uv-QgOpcuf4o;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$jINplDIdLxNaZiKt8dCCJn1Cx6c;-><init>(Lcom/android/server/PackageWatchdog;Lcom/android/server/PackageWatchdog$PackageHealthObserver;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$jINplDIdLxNaZiKt8dCCJn1Cx6c;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$l0t57Hik0VChZk77GfFE4tnfo0g;-><init>(Lcom/android/server/PackageWatchdog;)V
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$nOS9OaZO4hPsSe0I8skPT1UgQoo;-><init>(Lcom/android/server/PackageWatchdog;)V
 PLcom/android/server/-$$Lambda$PackageWatchdog$nOS9OaZO4hPsSe0I8skPT1UgQoo;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$oAoA92I4TtJeqztFu3XBOLEs7gE;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$pCeN8Lr1-8Uwvg-VmBTEDs1Ak0w;-><init>(Lcom/android/server/PackageWatchdog;Lcom/android/server/PackageWatchdog$ObserverInternal;Ljava/util/Set;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$pCeN8Lr1-8Uwvg-VmBTEDs1Ak0w;->run()V
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$uFI2R7Ip9Bh1wQPJqJ5H5A0soVU;-><init>(Lcom/android/server/PackageWatchdog;)V
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$uFI2R7Ip9Bh1wQPJqJ5H5A0soVU;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/-$$Lambda$PackageWatchdog$vRKcIrucEj03dz6ypRVINZtns1s;-><init>(Lcom/android/server/PackageWatchdog;)V
@@ -993,7 +1080,7 @@
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$K66HPJls7ga1t3t859fKACfAgZc;-><init>(Lcom/android/server/ServiceWatcher;)V
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$K66HPJls7ga1t3t859fKACfAgZc;->run()V
 HPLcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;-><init>(Lcom/android/server/ServiceWatcher;Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)V
-PLcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;->call()Ljava/lang/Object;
+HPLcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;->call()Ljava/lang/Object;
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;-><init>(Lcom/android/server/ServiceWatcher;Lcom/android/server/ServiceWatcher$BinderRunner;)V
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;->run()V
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$kpBQqFYVia3SVpOH46tF4fNydw0;-><init>(Lcom/android/server/ServiceWatcher;Lcom/android/server/ServiceWatcher$BinderRunner;)V
@@ -1004,6 +1091,10 @@
 HSPLcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;->run()V
 HPLcom/android/server/-$$Lambda$ServiceWatcher$x-WpgD2R0YjDE53WHPzWKGSSc4I;-><init>(Lcom/android/server/ServiceWatcher;Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)V
 HPLcom/android/server/-$$Lambda$ServiceWatcher$x-WpgD2R0YjDE53WHPzWKGSSc4I;->call()Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$StorageManagerService$6g0hhcpj48ZZWYDGsK6G9FBeFyI;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/-$$Lambda$StorageManagerService$6g0hhcpj48ZZWYDGsK6G9FBeFyI;->run()V
+PLcom/android/server/-$$Lambda$StorageManagerService$B77ZuGSn5EDc_Ly81JaezAetgfQ;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/-$$Lambda$StorageManagerService$B77ZuGSn5EDc_Ly81JaezAetgfQ;->run()V
 PLcom/android/server/-$$Lambda$StorageManagerService$iQEwQayMYzs9Ew4L6Gk7kRIO9wM;-><init>(Lcom/android/server/StorageManagerService;)V
 PLcom/android/server/-$$Lambda$StorageManagerService$iQEwQayMYzs9Ew4L6Gk7kRIO9wM;->run()V
 HSPLcom/android/server/-$$Lambda$StorageManagerService$js3bHvdd2Mf8gztNxvL27JoT034;-><init>(Lcom/android/server/StorageManagerService;)V
@@ -1039,10 +1130,15 @@
 PLcom/android/server/-$$Lambda$TelephonyRegistry$1bce8MzlZGgWfCoSiX5udUvFDQ0;->test(I)Z
 HPLcom/android/server/-$$Lambda$TelephonyRegistry$ANYH01Imb6dMua6cgKvMEl4kD3I;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)V
 HPLcom/android/server/-$$Lambda$TelephonyRegistry$ANYH01Imb6dMua6cgKvMEl4kD3I;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$TelephonyRegistry$ConfigurationProvider$A5xhR3lZDw53BlzyFNt_k-u3iFQ;-><clinit>()V
+PLcom/android/server/-$$Lambda$TelephonyRegistry$ConfigurationProvider$A5xhR3lZDw53BlzyFNt_k-u3iFQ;-><init>()V
+HPLcom/android/server/-$$Lambda$TelephonyRegistry$ConfigurationProvider$A5xhR3lZDw53BlzyFNt_k-u3iFQ;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/-$$Lambda$TelephonyRegistry$KwKYEFoKdijV5jZbDqX1IUV4CzY;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)V
 HPLcom/android/server/-$$Lambda$TelephonyRegistry$KwKYEFoKdijV5jZbDqX1IUV4CzY;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/-$$Lambda$UiModeManagerService$10$s3H4QPM2YRtAd9qa2Ja54k7yJO0;-><init>(Ljava/lang/String;)V
 PLcom/android/server/-$$Lambda$UiModeManagerService$10$s3H4QPM2YRtAd9qa2Ja54k7yJO0;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$UiModeManagerService$11$hX6U5hjZADuyktvQMUj2cydVQns;-><init>(Ljava/lang/String;)V
+PLcom/android/server/-$$Lambda$UiModeManagerService$11$hX6U5hjZADuyktvQMUj2cydVQns;->test(Ljava/lang/Object;)Z
 PLcom/android/server/-$$Lambda$UiModeManagerService$9$ytrifY2iawCLCBtYLrmL70q1UhI;-><init>(Ljava/lang/String;)V
 PLcom/android/server/-$$Lambda$UiModeManagerService$9$ytrifY2iawCLCBtYLrmL70q1UhI;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/-$$Lambda$UiModeManagerService$AwUHdh7CYhroUMaGm35a4uvZcnY;-><init>(Lcom/android/server/UiModeManagerService;)V
@@ -1051,6 +1147,8 @@
 PLcom/android/server/-$$Lambda$UiModeManagerService$BF3rAsw9_KQuADymF0UAmeEA7QQ;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/-$$Lambda$UiModeManagerService$LsJLdIbeoHmgOz46O-Ez9nmVZ2w;-><init>(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;)V
 HSPLcom/android/server/-$$Lambda$UiModeManagerService$LsJLdIbeoHmgOz46O-Ez9nmVZ2w;->run()V
+PLcom/android/server/-$$Lambda$UiModeManagerService$VLNn_GQ5Eu6ftBtzL1gH0sSXyCk;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/-$$Lambda$UiModeManagerService$VLNn_GQ5Eu6ftBtzL1gH0sSXyCk;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/-$$Lambda$UiModeManagerService$bGpxq9ta5GBYtiUBAOy4iNtThus;-><init>(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/-$$Lambda$UiModeManagerService$bGpxq9ta5GBYtiUBAOy4iNtThus;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;-><init>(Lcom/android/server/UiModeManagerService;)V
@@ -1338,6 +1436,7 @@
 HSPLcom/android/server/AnimationThread;->getHandler()Landroid/os/Handler;
 HSPLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;)V
 HSPLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
+PLcom/android/server/AppStateTracker$AppOpsWatcher;->opChanged(IILjava/lang/String;)V
 HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;-><init>(Lcom/android/server/AppStateTracker;)V
 HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyEnabled()Z
 HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
@@ -1350,14 +1449,17 @@
 PLcom/android/server/AppStateTracker$Listener;->access$1700(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;)V
 HSPLcom/android/server/AppStateTracker$Listener;->onExemptChanged(Lcom/android/server/AppStateTracker;)V
 PLcom/android/server/AppStateTracker$Listener;->onForceAllAppsStandbyChanged(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$Listener;->onRunAnyAppOpsChanged(Lcom/android/server/AppStateTracker;ILjava/lang/String;)V
 PLcom/android/server/AppStateTracker$Listener;->onTempPowerSaveWhitelistChanged(Lcom/android/server/AppStateTracker;)V
 HSPLcom/android/server/AppStateTracker$Listener;->onUidActiveStateChanged(Lcom/android/server/AppStateTracker;I)V
 HSPLcom/android/server/AppStateTracker$Listener;->onUidForeground(IZ)V
 HSPLcom/android/server/AppStateTracker$Listener;->onUidForegroundStateChanged(Lcom/android/server/AppStateTracker;I)V
+PLcom/android/server/AppStateTracker$Listener;->stopForegroundServicesForUidPackage(ILjava/lang/String;)V
 HSPLcom/android/server/AppStateTracker$Listener;->unblockAlarmsForUid(I)V
 HSPLcom/android/server/AppStateTracker$Listener;->unblockAllUnrestrictedAlarms()V
 HSPLcom/android/server/AppStateTracker$Listener;->updateAllJobs()V
 HSPLcom/android/server/AppStateTracker$Listener;->updateJobsForUid(IZ)V
+PLcom/android/server/AppStateTracker$Listener;->updateJobsForUidPackage(ILjava/lang/String;Z)V
 HSPLcom/android/server/AppStateTracker$MyHandler;-><init>(Lcom/android/server/AppStateTracker;Landroid/os/Looper;)V
 HSPLcom/android/server/AppStateTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/AppStateTracker$MyHandler;->handleUidActive(I)V
@@ -1367,6 +1469,7 @@
 HSPLcom/android/server/AppStateTracker$MyHandler;->notifyAllWhitelistChanged()V
 HSPLcom/android/server/AppStateTracker$MyHandler;->notifyExemptChanged()V
 PLcom/android/server/AppStateTracker$MyHandler;->notifyForceAllAppsStandbyChanged()V
+PLcom/android/server/AppStateTracker$MyHandler;->notifyRunAnyAppOpsChanged(ILjava/lang/String;)V
 HPLcom/android/server/AppStateTracker$MyHandler;->notifyTempWhitelistChanged()V
 HSPLcom/android/server/AppStateTracker$MyHandler;->notifyUidActiveStateChanged(I)V
 HSPLcom/android/server/AppStateTracker$MyHandler;->notifyUidForegroundStateChanged(I)V
@@ -1434,6 +1537,7 @@
 HSPLcom/android/server/AppStateTracker;->setPowerSaveWhitelistAppIds([I[I[I)V
 HSPLcom/android/server/AppStateTracker;->toggleForceAllAppsStandbyLocked(Z)V
 HSPLcom/android/server/AppStateTracker;->updateForceAllAppStandbyState()V
+PLcom/android/server/AppStateTracker;->updateForcedAppStandbyUidPackageLocked(ILjava/lang/String;Z)Z
 HSPLcom/android/server/AttributeCache$Entry;-><init>(Landroid/content/Context;Landroid/content/res/TypedArray;)V
 PLcom/android/server/AttributeCache$Entry;->recycle()V
 HSPLcom/android/server/AttributeCache$Package;-><init>(Landroid/content/Context;)V
@@ -1465,6 +1569,7 @@
 PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$1(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
 HPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$2(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
 HPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$3(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$4(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
 HPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$5(Landroid/util/MutableInt;Landroid/os/BatteryProperty;IJ)V
 HSPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$scheduleUpdate$6$BatteryService$BatteryPropertiesRegistrar()V
 HSPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->scheduleUpdate()V
@@ -1621,14 +1726,19 @@
 PLcom/android/server/BluetoothManagerService$ClientDeathRecipient;->getPackageName()Ljava/lang/String;
 HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/content/Intent;)V
 HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1300(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1400(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1400(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1500(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1500(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1600(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$1600(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
 HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2000(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2100(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2200(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2300(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)V
 HPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3300(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 HPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3500(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3600(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 HPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->addProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->bindService()Z
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->binderDied()V
@@ -1644,10 +1754,14 @@
 HSPLcom/android/server/BluetoothManagerService;->access$1000(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
 HSPLcom/android/server/BluetoothManagerService;->access$1002(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
 HSPLcom/android/server/BluetoothManagerService;->access$1100(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
+PLcom/android/server/BluetoothManagerService;->access$1100(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
 PLcom/android/server/BluetoothManagerService;->access$1100(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$1102(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
+PLcom/android/server/BluetoothManagerService;->access$1200(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
 PLcom/android/server/BluetoothManagerService;->access$1200(Lcom/android/server/BluetoothManagerService;ILjava/lang/String;Z)V
+PLcom/android/server/BluetoothManagerService;->access$1202(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
 HSPLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;ILjava/lang/String;Z)V
 HSPLcom/android/server/BluetoothManagerService;->access$1302(Lcom/android/server/BluetoothManagerService;Z)Z
 PLcom/android/server/BluetoothManagerService;->access$1400(Lcom/android/server/BluetoothManagerService;)Z
 PLcom/android/server/BluetoothManagerService;->access$1402(Lcom/android/server/BluetoothManagerService;Z)Z
@@ -1657,22 +1771,38 @@
 HSPLcom/android/server/BluetoothManagerService;->access$1700(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/BluetoothManagerService;->access$1702(Lcom/android/server/BluetoothManagerService;Z)Z
 PLcom/android/server/BluetoothManagerService;->access$1800(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
-PLcom/android/server/BluetoothManagerService;->access$1900(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$1800(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$1802(Lcom/android/server/BluetoothManagerService;Z)Z
+HPLcom/android/server/BluetoothManagerService;->access$1900(Lcom/android/server/BluetoothManagerService;)Z
 HSPLcom/android/server/BluetoothManagerService;->access$1902(Lcom/android/server/BluetoothManagerService;Z)Z
 HSPLcom/android/server/BluetoothManagerService;->access$200(Lcom/android/server/BluetoothManagerService;)Lcom/android/server/BluetoothManagerService$BluetoothHandler;
+PLcom/android/server/BluetoothManagerService;->access$2000(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2002(Lcom/android/server/BluetoothManagerService;Z)Z
 PLcom/android/server/BluetoothManagerService;->access$2100(Lcom/android/server/BluetoothManagerService;I)V
 HSPLcom/android/server/BluetoothManagerService;->access$2200(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2200(Lcom/android/server/BluetoothManagerService;I)V
 HSPLcom/android/server/BluetoothManagerService;->access$2202(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$2300(Lcom/android/server/BluetoothManagerService;)Z
 HSPLcom/android/server/BluetoothManagerService;->access$2300(Lcom/android/server/BluetoothManagerService;Z)V
+PLcom/android/server/BluetoothManagerService;->access$2302(Lcom/android/server/BluetoothManagerService;Z)Z
 PLcom/android/server/BluetoothManagerService;->access$2400(Lcom/android/server/BluetoothManagerService;Ljava/util/Set;)Z
+PLcom/android/server/BluetoothManagerService;->access$2400(Lcom/android/server/BluetoothManagerService;Z)V
 PLcom/android/server/BluetoothManagerService;->access$2400(Lcom/android/server/BluetoothManagerService;ZZ)Z
 PLcom/android/server/BluetoothManagerService;->access$2500(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$2500(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2502(Lcom/android/server/BluetoothManagerService;I)I
 HSPLcom/android/server/BluetoothManagerService;->access$2502(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$2508(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$2600(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$2602(Lcom/android/server/BluetoothManagerService;I)I
+PLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2702(Lcom/android/server/BluetoothManagerService;I)I
 HSPLcom/android/server/BluetoothManagerService;->access$2702(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$2800(Lcom/android/server/BluetoothManagerService;)I
 HSPLcom/android/server/BluetoothManagerService;->access$2800(Lcom/android/server/BluetoothManagerService;Z)V
+PLcom/android/server/BluetoothManagerService;->access$2802(Lcom/android/server/BluetoothManagerService;I)I
+PLcom/android/server/BluetoothManagerService;->access$2900(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$2900(Lcom/android/server/BluetoothManagerService;ZZ)Z
 PLcom/android/server/BluetoothManagerService;->access$300(Lcom/android/server/BluetoothManagerService;IZ)V
 PLcom/android/server/BluetoothManagerService;->access$3000(Lcom/android/server/BluetoothManagerService;)I
@@ -1682,36 +1812,50 @@
 HSPLcom/android/server/BluetoothManagerService;->access$3200(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
 HPLcom/android/server/BluetoothManagerService;->access$3200(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
 HSPLcom/android/server/BluetoothManagerService;->access$3300(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
+HPLcom/android/server/BluetoothManagerService;->access$3400(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
 PLcom/android/server/BluetoothManagerService;->access$3400(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
 PLcom/android/server/BluetoothManagerService;->access$3402(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
+PLcom/android/server/BluetoothManagerService;->access$3500(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
 PLcom/android/server/BluetoothManagerService;->access$3500(Lcom/android/server/BluetoothManagerService;)V
 PLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
 HSPLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
 PLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$3702(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
 HSPLcom/android/server/BluetoothManagerService;->access$3800(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
+PLcom/android/server/BluetoothManagerService;->access$3800(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$3802(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
 HSPLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$3902(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
 PLcom/android/server/BluetoothManagerService;->access$400(Lcom/android/server/BluetoothManagerService;)Landroid/content/Context;
 PLcom/android/server/BluetoothManagerService;->access$4000(Lcom/android/server/BluetoothManagerService;)I
 HSPLcom/android/server/BluetoothManagerService;->access$4000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
+PLcom/android/server/BluetoothManagerService;->access$4000(Lcom/android/server/BluetoothManagerService;)Z
 HSPLcom/android/server/BluetoothManagerService;->access$4002(Lcom/android/server/BluetoothManagerService;I)I
+PLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
 HSPLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;II)V
 PLcom/android/server/BluetoothManagerService;->access$4200(Lcom/android/server/BluetoothManagerService;)I
+PLcom/android/server/BluetoothManagerService;->access$4200(Lcom/android/server/BluetoothManagerService;)V
 HSPLcom/android/server/BluetoothManagerService;->access$4202(Lcom/android/server/BluetoothManagerService;I)I
 PLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;)I
 HSPLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;II)V
+PLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;Ljava/util/Set;)Z
 PLcom/android/server/BluetoothManagerService;->access$4302(Lcom/android/server/BluetoothManagerService;I)I
 PLcom/android/server/BluetoothManagerService;->access$4308(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$4400(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$4400(Lcom/android/server/BluetoothManagerService;II)V
 PLcom/android/server/BluetoothManagerService;->access$4500(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$4500(Lcom/android/server/BluetoothManagerService;)V
 PLcom/android/server/BluetoothManagerService;->access$4502(Lcom/android/server/BluetoothManagerService;I)I
 PLcom/android/server/BluetoothManagerService;->access$4508(Lcom/android/server/BluetoothManagerService;)I
+PLcom/android/server/BluetoothManagerService;->access$4600(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$4600(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$4602(Lcom/android/server/BluetoothManagerService;I)I
+PLcom/android/server/BluetoothManagerService;->access$4608(Lcom/android/server/BluetoothManagerService;)I
 PLcom/android/server/BluetoothManagerService;->access$4700(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$4800(Lcom/android/server/BluetoothManagerService;)V
 PLcom/android/server/BluetoothManagerService;->access$4900(Lcom/android/server/BluetoothManagerService;)V
 PLcom/android/server/BluetoothManagerService;->access$500(Lcom/android/server/BluetoothManagerService;ILjava/lang/String;)V
 PLcom/android/server/BluetoothManagerService;->access$600(Lcom/android/server/BluetoothManagerService;)Z
@@ -1724,23 +1868,26 @@
 PLcom/android/server/BluetoothManagerService;->addCrashLog()V
 HSPLcom/android/server/BluetoothManagerService;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
 HSPLcom/android/server/BluetoothManagerService;->bluetoothStateChangeHandler(II)V
+PLcom/android/server/BluetoothManagerService;->checkBluetoothPermissions(Ljava/lang/String;Z)Z
 HPLcom/android/server/BluetoothManagerService;->checkIfCallerIsForegroundUser()Z
 HPLcom/android/server/BluetoothManagerService;->checkPackage(ILjava/lang/String;)V
 PLcom/android/server/BluetoothManagerService;->clearBleApps()V
 PLcom/android/server/BluetoothManagerService;->continueFromBleOnState()V
 PLcom/android/server/BluetoothManagerService;->disable(Ljava/lang/String;Z)Z
+HPLcom/android/server/BluetoothManagerService;->disableBle(Ljava/lang/String;Landroid/os/IBinder;)Z
 PLcom/android/server/BluetoothManagerService;->disableBleScanMode()V
 HSPLcom/android/server/BluetoothManagerService;->doBind(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
 HPLcom/android/server/BluetoothManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/server/BluetoothManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
 HPLcom/android/server/BluetoothManagerService;->enable(Ljava/lang/String;)Z
+HPLcom/android/server/BluetoothManagerService;->enableBle(Ljava/lang/String;Landroid/os/IBinder;)Z
 PLcom/android/server/BluetoothManagerService;->enableNoAutoConnect(Ljava/lang/String;)Z
 HPLcom/android/server/BluetoothManagerService;->getAddress()Ljava/lang/String;
 HPLcom/android/server/BluetoothManagerService;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
 PLcom/android/server/BluetoothManagerService;->getEnableDisableReasonString(I)Ljava/lang/String;
 HPLcom/android/server/BluetoothManagerService;->getName()Ljava/lang/String;
 PLcom/android/server/BluetoothManagerService;->getServiceRestartMs()I
-PLcom/android/server/BluetoothManagerService;->getState()I
+HPLcom/android/server/BluetoothManagerService;->getState()I
 HSPLcom/android/server/BluetoothManagerService;->getSystemConfigEnabledProfilesForPackage(Ljava/lang/String;)Ljava/util/List;
 PLcom/android/server/BluetoothManagerService;->handleDisable()V
 HSPLcom/android/server/BluetoothManagerService;->handleEnable(Z)V
@@ -1754,7 +1901,7 @@
 HSPLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOn()Z
 PLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOnAirplane()Z
 HSPLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOnBluetooth()Z
-PLcom/android/server/BluetoothManagerService;->isEnabled()Z
+HPLcom/android/server/BluetoothManagerService;->isEnabled()Z
 HSPLcom/android/server/BluetoothManagerService;->isHearingAidProfileSupported()Z
 HSPLcom/android/server/BluetoothManagerService;->isNameAndAddressSet()Z
 HSPLcom/android/server/BluetoothManagerService;->loadStoredNameAndAddress()V
@@ -1780,7 +1927,7 @@
 HPLcom/android/server/BluetoothManagerService;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
 PLcom/android/server/BluetoothManagerService;->updateOppLauncherComponentState(IZ)V
 HPLcom/android/server/BluetoothManagerService;->waitForOnOff(ZZ)Z
-PLcom/android/server/BluetoothManagerService;->waitForState(Ljava/util/Set;)Z
+HPLcom/android/server/BluetoothManagerService;->waitForState(Ljava/util/Set;)Z
 HSPLcom/android/server/BluetoothService;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/BluetoothService;->initialize()V
 HSPLcom/android/server/BluetoothService;->onBootPhase(I)V
@@ -1842,6 +1989,8 @@
 PLcom/android/server/ConnectivityService$ConnectivityReportEvent;->access$8200(Lcom/android/server/ConnectivityService$ConnectivityReportEvent;)J
 HPLcom/android/server/ConnectivityService$ConnectivityReportEvent;->access$8300(Lcom/android/server/ConnectivityService$ConnectivityReportEvent;)Lcom/android/server/connectivity/NetworkAgentInfo;
 HPLcom/android/server/ConnectivityService$ConnectivityReportEvent;->access$8400(Lcom/android/server/ConnectivityService$ConnectivityReportEvent;)J
+HPLcom/android/server/ConnectivityService$ConnectivityReportEvent;->access$8400(Lcom/android/server/ConnectivityService$ConnectivityReportEvent;)Lcom/android/server/connectivity/NetworkAgentInfo;
+HPLcom/android/server/ConnectivityService$ConnectivityReportEvent;->access$8500(Lcom/android/server/ConnectivityService$ConnectivityReportEvent;)J
 HSPLcom/android/server/ConnectivityService$Dependencies;-><init>()V
 PLcom/android/server/ConnectivityService$Dependencies;->getBatteryStatsService()Lcom/android/internal/app/IBatteryStats;
 HSPLcom/android/server/ConnectivityService$Dependencies;->getIpConnectivityMetrics()Landroid/net/IIpConnectivityMetrics;
@@ -1948,6 +2097,7 @@
 HPLcom/android/server/ConnectivityService;->access$1600(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
 HPLcom/android/server/ConnectivityService;->access$1600(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkScore;)V
 HPLcom/android/server/ConnectivityService;->access$1700(I)Z
+HPLcom/android/server/ConnectivityService;->access$1700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;I)V
 PLcom/android/server/ConnectivityService;->access$1700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkScore;)V
 HPLcom/android/server/ConnectivityService;->access$1800(I)Z
 PLcom/android/server/ConnectivityService;->access$1800(Lcom/android/server/ConnectivityService;)Lcom/android/server/connectivity/KeepaliveTracker;
@@ -1990,17 +2140,21 @@
 PLcom/android/server/ConnectivityService;->access$3300(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$NetworkStateTrackerHandler;
 PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;Landroid/net/Network;)V
 PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->access$3500(Lcom/android/server/ConnectivityService;)Landroid/content/Context;
 PLcom/android/server/ConnectivityService;->access$3500(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/ConnectivityService;->access$3500(Lcom/android/server/ConnectivityService;I)V
+PLcom/android/server/ConnectivityService;->access$3600(Lcom/android/server/ConnectivityService;)Landroid/content/Context;
 PLcom/android/server/ConnectivityService;->access$3600(Lcom/android/server/ConnectivityService;I)V
 PLcom/android/server/ConnectivityService;->access$3600(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;I)Z
 HSPLcom/android/server/ConnectivityService;->access$3700(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkProviderInfo;)V
 PLcom/android/server/ConnectivityService;->access$3700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->access$3700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;I)Z
 PLcom/android/server/ConnectivityService;->access$3800(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;)V
 HSPLcom/android/server/ConnectivityService;->access$3800(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
 HSPLcom/android/server/ConnectivityService;->access$3800(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkProviderInfo;)V
+PLcom/android/server/ConnectivityService;->access$3800(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->access$3900(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$NetworkStateTrackerHandler;
 PLcom/android/server/ConnectivityService;->access$3900(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;)V
 HSPLcom/android/server/ConnectivityService;->access$3900(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
@@ -2017,6 +2171,7 @@
 HSPLcom/android/server/ConnectivityService;->access$4200(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
 PLcom/android/server/ConnectivityService;->access$4300(Lcom/android/server/ConnectivityService;Landroid/app/PendingIntent;I)V
 PLcom/android/server/ConnectivityService;->access$4300(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->access$4400(Lcom/android/server/ConnectivityService;I)V
 PLcom/android/server/ConnectivityService;->access$4400(Lcom/android/server/ConnectivityService;Landroid/app/PendingIntent;I)V
 HPLcom/android/server/ConnectivityService;->access$4400(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;IZ)V
 HSPLcom/android/server/ConnectivityService;->access$4400(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkProviderInfo;)V
@@ -2048,6 +2203,7 @@
 HSPLcom/android/server/ConnectivityService;->access$5700(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/ConnectivityService;->access$5700(Lcom/android/server/ConnectivityService;I)V
 PLcom/android/server/ConnectivityService;->access$5800(Lcom/android/server/ConnectivityService;I)V
+PLcom/android/server/ConnectivityService;->access$5800(Lcom/android/server/ConnectivityService;Landroid/net/Network;IZ)V
 PLcom/android/server/ConnectivityService;->access$5800(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
 PLcom/android/server/ConnectivityService;->access$5800(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
 HSPLcom/android/server/ConnectivityService;->access$5900(Lcom/android/server/ConnectivityService;)V
@@ -2068,10 +2224,12 @@
 HSPLcom/android/server/ConnectivityService;->access$6300(Lcom/android/server/ConnectivityService;)Landroid/util/SparseIntArray;
 PLcom/android/server/ConnectivityService;->access$6400(Lcom/android/server/ConnectivityService;I)V
 PLcom/android/server/ConnectivityService;->access$6500(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService;->access$6600(Lcom/android/server/ConnectivityService;I)V
 PLcom/android/server/ConnectivityService;->access$6600(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
 PLcom/android/server/ConnectivityService;->access$6700(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
 PLcom/android/server/ConnectivityService;->access$6700(Lcom/android/server/ConnectivityService;Ljava/lang/String;IZ)V
 HSPLcom/android/server/ConnectivityService;->access$6800(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;)V
+PLcom/android/server/ConnectivityService;->access$6800(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
 HSPLcom/android/server/ConnectivityService;->access$6900(Lcom/android/server/ConnectivityService;)Landroid/util/SparseIntArray;
 PLcom/android/server/ConnectivityService;->access$6900(Lcom/android/server/ConnectivityService;Ljava/lang/String;IZ)V
 HPLcom/android/server/ConnectivityService;->access$700(Lcom/android/server/ConnectivityService;)Landroid/net/NetworkRequest;
@@ -2082,8 +2240,10 @@
 PLcom/android/server/ConnectivityService;->access$7700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;JILandroid/os/PersistableBundle;)V
 PLcom/android/server/ConnectivityService;->access$7800(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$ConnectivityReportEvent;Landroid/os/PersistableBundle;)V
 HPLcom/android/server/ConnectivityService;->access$7800(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
+PLcom/android/server/ConnectivityService;->access$7900(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;JILandroid/os/PersistableBundle;)V
 PLcom/android/server/ConnectivityService;->access$800(Lcom/android/server/ConnectivityService;IZLjava/lang/String;I)V
 HPLcom/android/server/ConnectivityService;->access$800(Lcom/android/server/ConnectivityService;Landroid/os/Message;)V
+HPLcom/android/server/ConnectivityService;->access$8000(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
 HPLcom/android/server/ConnectivityService;->access$900(Lcom/android/server/ConnectivityService;)Ljava/util/HashMap;
 HSPLcom/android/server/ConnectivityService;->access$900(Lcom/android/server/ConnectivityService;Landroid/os/Message;)V
 HPLcom/android/server/ConnectivityService;->addLegacyRouteToHost(Landroid/net/LinkProperties;Ljava/net/InetAddress;II)Z
@@ -2098,10 +2258,12 @@
 HPLcom/android/server/ConnectivityService;->checkNetworkStackPermission()Z
 HSPLcom/android/server/ConnectivityService;->checkSettingsPermission()Z
 HPLcom/android/server/ConnectivityService;->checkSettingsPermission(II)Z
+HPLcom/android/server/ConnectivityService;->clearNetworkCapabilitiesUids(Landroid/net/NetworkCapabilities;)V
 HSPLcom/android/server/ConnectivityService;->computeInitialReassignment()Lcom/android/server/ConnectivityService$NetworkReassignment;
 HSPLcom/android/server/ConnectivityService;->computeNetworkReassignment()Lcom/android/server/ConnectivityService$NetworkReassignment;
 HPLcom/android/server/ConnectivityService;->computeRequestReassignmentForNetwork(Lcom/android/server/ConnectivityService$NetworkReassignment;Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/util/ArrayMap;
 HPLcom/android/server/ConnectivityService;->computeRequestReassignmentForNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/util/ArrayMap;
+HPLcom/android/server/ConnectivityService;->convertRouteInfo(Landroid/net/RouteInfo;)Landroid/net/RouteInfoParcel;
 HSPLcom/android/server/ConnectivityService;->createDefaultInternetRequestForTransport(ILandroid/net/NetworkRequest$Type;)Landroid/net/NetworkRequest;
 HSPLcom/android/server/ConnectivityService;->createDefaultNetworkCapabilitiesForUid(I)Landroid/net/NetworkCapabilities;
 HPLcom/android/server/ConnectivityService;->createNativeNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
@@ -2176,6 +2338,7 @@
 HSPLcom/android/server/ConnectivityService;->getNetworkCapabilities(Landroid/net/Network;Ljava/lang/String;)Landroid/net/NetworkCapabilities;
 HSPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
 HSPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/ConnectivityService;->getNetworkCapabilitiesWithoutUids(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
 HPLcom/android/server/ConnectivityService;->getNetworkInfo(I)Landroid/net/NetworkInfo;
 HSPLcom/android/server/ConnectivityService;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
 HPLcom/android/server/ConnectivityService;->getNetworkPermission(Landroid/net/NetworkCapabilities;)I
@@ -2245,10 +2408,13 @@
 PLcom/android/server/ConnectivityService;->lambda$requestsSortedById$3(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)I
 HPLcom/android/server/ConnectivityService;->lambda$setUnderlyingNetworksForVpn$7$ConnectivityService()V
 PLcom/android/server/ConnectivityService;->lambda$setUnderlyingNetworksForVpn$8$ConnectivityService()V
+PLcom/android/server/ConnectivityService;->lambda$setUnderlyingNetworksForVpn$9$ConnectivityService()V
 PLcom/android/server/ConnectivityService;->lambda$startCaptivePortalApp$3$ConnectivityService(Landroid/net/Network;)V
 PLcom/android/server/ConnectivityService;->lambda$startCaptivePortalApp$4$ConnectivityService(Landroid/net/Network;)V
 PLcom/android/server/ConnectivityService;->lambda$startCaptivePortalAppInternal$4$ConnectivityService(Landroid/content/Intent;)V
 PLcom/android/server/ConnectivityService;->lambda$startCaptivePortalAppInternal$5$ConnectivityService(Landroid/content/Intent;)V
+HPLcom/android/server/ConnectivityService;->lambda$updateRoutes$8(Landroid/net/RouteInfo;)Landroid/net/IpPrefix;
+PLcom/android/server/ConnectivityService;->lambda$updateRoutes$8(Landroid/net/RouteInfo;)Landroid/net/RouteInfo$RouteKey;
 HPLcom/android/server/ConnectivityService;->linkPropertiesRestrictedForCallerPermissions(Landroid/net/LinkProperties;II)Landroid/net/LinkProperties;
 HSPLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
 HSPLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/NetworkRequest;
@@ -2375,7 +2541,7 @@
 HPLcom/android/server/ConnectivityService;->updateMtu(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
 HPLcom/android/server/ConnectivityService;->updateNetworkInfo(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
 HPLcom/android/server/ConnectivityService;->updateNetworkPermissions(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
+HPLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
 HPLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkScore;)V
 PLcom/android/server/ConnectivityService;->updatePrivateDns(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/shared/PrivateDnsConfig;)V
 HPLcom/android/server/ConnectivityService;->updateProxy(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
@@ -2558,8 +2724,11 @@
 HPLcom/android/server/EventLogTags;->writeVolumeChanged(IIIILjava/lang/String;)V
 HSPLcom/android/server/ExplicitHealthCheckController$1;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
 HSPLcom/android/server/ExplicitHealthCheckController$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
 HSPLcom/android/server/ExplicitHealthCheckController;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/ExplicitHealthCheckController;->access$000(Lcom/android/server/ExplicitHealthCheckController;Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController;->access$100(Lcom/android/server/ExplicitHealthCheckController;)Ljava/lang/Object;
+PLcom/android/server/ExplicitHealthCheckController;->access$202(Lcom/android/server/ExplicitHealthCheckController;Landroid/service/watchdog/IExplicitHealthCheckService;)Landroid/service/watchdog/IExplicitHealthCheckService;
 HSPLcom/android/server/ExplicitHealthCheckController;->actOnDifference(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/function/Consumer;)V
 HSPLcom/android/server/ExplicitHealthCheckController;->bindService()V
 PLcom/android/server/ExplicitHealthCheckController;->cancel(Ljava/lang/String;)V
@@ -2668,6 +2837,8 @@
 PLcom/android/server/GraphicsStatsService;->onAlarm()V
 HPLcom/android/server/GraphicsStatsService;->pathForApp(Lcom/android/server/GraphicsStatsService$BufferInfo;)Ljava/io/File;
 HPLcom/android/server/GraphicsStatsService;->processDied(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
+PLcom/android/server/GraphicsStatsService;->pullGraphicsStats(Z)J
+HPLcom/android/server/GraphicsStatsService;->pullGraphicsStatsImpl(Z)J
 HSPLcom/android/server/GraphicsStatsService;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
 HSPLcom/android/server/GraphicsStatsService;->requestBufferForProcessLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Landroid/os/ParcelFileDescriptor;
 HPLcom/android/server/GraphicsStatsService;->saveBuffer(Lcom/android/server/GraphicsStatsService$HistoricalBuffer;)V
@@ -2744,10 +2915,14 @@
 PLcom/android/server/IpSecService$UserResourceTracker;->toString()Ljava/lang/String;
 HSPLcom/android/server/IpSecService;-><clinit>()V
 HSPLcom/android/server/IpSecService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;)V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Lcom/android/server/IpSecService$IpSecServiceConfiguration;)V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Lcom/android/server/IpSecService$IpSecServiceConfiguration;Lcom/android/server/IpSecService$UidFdTagger;)V
 HSPLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;)V
 HSPLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;Lcom/android/server/IpSecService$UidFdTagger;)V
 HSPLcom/android/server/IpSecService;->connectNativeNetdService()V
 HSPLcom/android/server/IpSecService;->create(Landroid/content/Context;)Lcom/android/server/IpSecService;
+PLcom/android/server/IpSecService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/IpSecService;
 PLcom/android/server/IpSecService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HSPLcom/android/server/IpSecService;->isNetdAlive()Z
 HSPLcom/android/server/IpSecService;->systemReady()V
@@ -2755,8 +2930,10 @@
 HSPLcom/android/server/LocationManagerService$1;->lambda$onOpChanged$0$LocationManagerService$1()V
 HSPLcom/android/server/LocationManagerService$1;->lambda$onOpChanged$0$LocationManagerService$1(Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService$1;->onOpChanged(ILjava/lang/String;)V
+PLcom/android/server/LocationManagerService$1;->onPackageDisappeared(Ljava/lang/String;I)V
 HSPLcom/android/server/LocationManagerService$2;-><init>(Lcom/android/server/LocationManagerService;)V
 HSPLcom/android/server/LocationManagerService$2;->onPackageDisappeared(Ljava/lang/String;I)V
+HPLcom/android/server/LocationManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/LocationManagerService$3;-><init>(Lcom/android/server/LocationManagerService;)V
 HPLcom/android/server/LocationManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/LocationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
@@ -2773,6 +2950,7 @@
 PLcom/android/server/LocationManagerService$LocationProviderManager;->dumpLocked(Ljava/io/FileDescriptor;Lcom/android/internal/util/IndentingPrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/LocationManagerService$LocationProviderManager;->getLastCoarseLocation(I)Landroid/location/Location;
 HPLcom/android/server/LocationManagerService$LocationProviderManager;->getLastFineLocation(I)Landroid/location/Location;
+HPLcom/android/server/LocationManagerService$LocationProviderManager;->getLastLocation(II)Landroid/location/Location;
 HSPLcom/android/server/LocationManagerService$LocationProviderManager;->getName()Ljava/lang/String;
 HPLcom/android/server/LocationManagerService$LocationProviderManager;->getPackages()Ljava/util/Set;
 PLcom/android/server/LocationManagerService$LocationProviderManager;->getProperties()Lcom/android/internal/location/ProviderProperties;
@@ -2805,6 +2983,10 @@
 HPLcom/android/server/LocationManagerService$PassiveLocationProviderManager;->updateLocation(Landroid/location/Location;)V
 HSPLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;)V
 HSPLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;Lcom/android/server/LocationManagerService$1;)V
+HPLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Lcom/android/server/location/CallerIdentity;Landroid/os/WorkSource;Z)V
+PLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Lcom/android/server/location/CallerIdentity;Landroid/os/WorkSource;ZLcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$Receiver;->access$2400(Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/LocationManagerService$Receiver;->access$2500(Lcom/android/server/LocationManagerService$Receiver;Ljava/lang/String;Z)Z
 HSPLcom/android/server/LocationManagerService$Receiver;->access$2700(Lcom/android/server/LocationManagerService$Receiver;)V
 HSPLcom/android/server/LocationManagerService$Receiver;->access$2800(Lcom/android/server/LocationManagerService$Receiver;)V
 HSPLcom/android/server/LocationManagerService$Receiver;->access$2800(Lcom/android/server/LocationManagerService$Receiver;Ljava/lang/String;Z)Z
@@ -2816,6 +2998,7 @@
 HSPLcom/android/server/LocationManagerService$Receiver;->access$3100(Lcom/android/server/LocationManagerService$Receiver;)I
 PLcom/android/server/LocationManagerService$Receiver;->access$3200(Lcom/android/server/LocationManagerService$Receiver;Ljava/lang/String;Z)Z
 HSPLcom/android/server/LocationManagerService$Receiver;->access$3300(Lcom/android/server/LocationManagerService$Receiver;)I
+PLcom/android/server/LocationManagerService$Receiver;->access$3400(Lcom/android/server/LocationManagerService$Receiver;)Ljava/lang/Object;
 PLcom/android/server/LocationManagerService$Receiver;->access$3800(Lcom/android/server/LocationManagerService$Receiver;)Ljava/lang/Object;
 PLcom/android/server/LocationManagerService$Receiver;->access$3900(Lcom/android/server/LocationManagerService$Receiver;)Ljava/lang/Object;
 PLcom/android/server/LocationManagerService$Receiver;->access$4000(Lcom/android/server/LocationManagerService$Receiver;)Ljava/lang/Object;
@@ -2834,6 +3017,7 @@
 HPLcom/android/server/LocationManagerService$Receiver;->toString()Ljava/lang/String;
 HSPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(Z)V
 HPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZI)Z
+HPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZZ)Z
 HSPLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
 HSPLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;Lcom/android/server/LocationManagerService$1;)V
 HSPLcom/android/server/LocationManagerService$UpdateRecord;->access$1000(Lcom/android/server/LocationManagerService$UpdateRecord;)Lcom/android/server/LocationManagerService$Receiver;
@@ -2844,10 +3028,15 @@
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$1200(Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$1200(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$1300(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$2600(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
 HSPLcom/android/server/LocationManagerService$UpdateRecord;->access$3000(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
 HSPLcom/android/server/LocationManagerService$UpdateRecord;->access$3100(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
 HSPLcom/android/server/LocationManagerService$UpdateRecord;->access$3200(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$3300(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
 HSPLcom/android/server/LocationManagerService$UpdateRecord;->access$3400(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$3500(Lcom/android/server/LocationManagerService$UpdateRecord;)J
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$3600(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/Location;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$3602(Lcom/android/server/LocationManagerService$UpdateRecord;Landroid/location/Location;)Landroid/location/Location;
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$3700(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$3800(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
 PLcom/android/server/LocationManagerService$UpdateRecord;->access$3900(Lcom/android/server/LocationManagerService$UpdateRecord;)J
@@ -2874,15 +3063,19 @@
 HSPLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/LocationManagerService$1;)V
 PLcom/android/server/LocationManagerService;->access$100(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
 HSPLcom/android/server/LocationManagerService;->access$100(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->access$1000(Lcom/android/server/LocationManagerService;)V
 HSPLcom/android/server/LocationManagerService;->access$1300(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
+PLcom/android/server/LocationManagerService;->access$1300(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/SettingsHelper;
 HSPLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
 PLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationFudger;
 HSPLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/SettingsHelper;
+PLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/UserInfoHelper;
 HPLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
 HSPLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;)I
 PLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/SettingsHelper;
 HSPLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/UserInfoHelper;
 HPLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
+PLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;Landroid/location/Location;Landroid/location/Location;)V
 PLcom/android/server/LocationManagerService;->access$1600(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/PassiveProvider;
 HSPLcom/android/server/LocationManagerService;->access$1600(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/UserInfoHelper;
 HSPLcom/android/server/LocationManagerService;->access$1600(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/UserInfoStore;
@@ -2892,21 +3085,25 @@
 HSPLcom/android/server/LocationManagerService;->access$1700(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/UserInfoStore;
 HPLcom/android/server/LocationManagerService;->access$1700(Lcom/android/server/LocationManagerService;Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
 PLcom/android/server/LocationManagerService;->access$1700(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;Landroid/location/Location;Landroid/location/Location;)V
+PLcom/android/server/LocationManagerService;->access$1700(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;Z)V
 HSPLcom/android/server/LocationManagerService;->access$1800(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
+PLcom/android/server/LocationManagerService;->access$1800(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
 HSPLcom/android/server/LocationManagerService;->access$1800(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationSettingsStore;
 HSPLcom/android/server/LocationManagerService;->access$1800(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/SettingsHelper;
 PLcom/android/server/LocationManagerService;->access$1800(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
 PLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
 PLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
 HSPLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;Z)V
-PLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
+HPLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
 HSPLcom/android/server/LocationManagerService;->access$200(Lcom/android/server/LocationManagerService;)V
 HSPLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;)Ljava/util/ArrayList;
 PLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
 HSPLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;II)I
 HSPLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
 HSPLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;Z)V
+PLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 HSPLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
+PLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/AppOpsHelper;
 HSPLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;I)Z
 HSPLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;II)I
 HSPLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
@@ -2916,6 +3113,7 @@
 HSPLcom/android/server/LocationManagerService;->access$2200(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
 HSPLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
 PLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
+PLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$Receiver;)V
 PLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 HSPLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
 PLcom/android/server/LocationManagerService;->access$2400(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
@@ -2923,18 +3121,23 @@
 HPLcom/android/server/LocationManagerService;->access$2400(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 HPLcom/android/server/LocationManagerService;->access$2400(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
 PLcom/android/server/LocationManagerService;->access$2500(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/LocationManagerService;->access$2500(Lcom/android/server/LocationManagerService;I)Ljava/lang/String;
 HSPLcom/android/server/LocationManagerService;->access$2500(Lcom/android/server/LocationManagerService;II)I
 PLcom/android/server/LocationManagerService;->access$2500(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 PLcom/android/server/LocationManagerService;->access$2600(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
 HSPLcom/android/server/LocationManagerService;->access$2600(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
 PLcom/android/server/LocationManagerService;->access$2600(Lcom/android/server/LocationManagerService;I)Ljava/lang/String;
 PLcom/android/server/LocationManagerService;->access$2600(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/LocationManagerService;->access$2700(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/AppForegroundHelper;
 PLcom/android/server/LocationManagerService;->access$2700(Lcom/android/server/LocationManagerService;I)Ljava/lang/String;
 PLcom/android/server/LocationManagerService;->access$2700(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$Receiver;)V
 PLcom/android/server/LocationManagerService;->access$2800(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/LocationManagerService;->access$2800(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
 PLcom/android/server/LocationManagerService;->access$2800(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/LocationManagerService;->access$2900(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationRequestStatistics;
 HSPLcom/android/server/LocationManagerService;->access$300(Lcom/android/server/LocationManagerService;)Landroid/os/Handler;
 HSPLcom/android/server/LocationManagerService;->access$300(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->access$3000(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationUsageLogger;
 HSPLcom/android/server/LocationManagerService;->access$3100(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/AppForegroundHelper;
 HSPLcom/android/server/LocationManagerService;->access$3200(Lcom/android/server/LocationManagerService;)Landroid/app/ActivityManager;
 HSPLcom/android/server/LocationManagerService;->access$3200(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/AppForegroundHelper;
@@ -2952,8 +3155,10 @@
 PLcom/android/server/LocationManagerService;->access$3600(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationUsageLogger;
 HSPLcom/android/server/LocationManagerService;->access$3600(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
 HSPLcom/android/server/LocationManagerService;->access$3700(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationRequestStatistics;
+PLcom/android/server/LocationManagerService;->access$3700(Lcom/android/server/LocationManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLcom/android/server/LocationManagerService;->access$400(Lcom/android/server/LocationManagerService;)Landroid/os/Handler;
 HSPLcom/android/server/LocationManagerService;->access$400(Lcom/android/server/LocationManagerService;)Ljava/lang/Object;
+PLcom/android/server/LocationManagerService;->access$4100(Lcom/android/server/LocationManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
 PLcom/android/server/LocationManagerService;->access$4200(Lcom/android/server/LocationManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
 PLcom/android/server/LocationManagerService;->access$4300(Lcom/android/server/LocationManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
 HSPLcom/android/server/LocationManagerService;->access$500(Lcom/android/server/LocationManagerService;)Landroid/os/Handler;
@@ -2972,6 +3177,7 @@
 HSPLcom/android/server/LocationManagerService;->access$800(Lcom/android/server/LocationManagerService;Ljava/lang/String;)V
 PLcom/android/server/LocationManagerService;->access$900(Lcom/android/server/LocationManagerService;)V
 PLcom/android/server/LocationManagerService;->access$900(Lcom/android/server/LocationManagerService;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->addGnssMeasurementsListener(Landroid/location/GnssRequest;Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->addGnssMeasurementsListener(Landroid/location/GnssRequest;Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/LocationManagerService;->addProviderLocked(Lcom/android/server/LocationManagerService$LocationProviderManager;)V
@@ -2983,6 +3189,7 @@
 PLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForGeofenceUse(I)V
 HSPLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForProviderUseLocked(ILjava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;IZ)Landroid/location/LocationRequest;
+HPLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;Lcom/android/server/location/CallerIdentity;Z)Landroid/location/LocationRequest;
 HPLcom/android/server/LocationManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->enforceCallingOrSelfLocationPermission()V
 HSPLcom/android/server/LocationManagerService;->enforceCallingOrSelfPackageName(Ljava/lang/String;)V
@@ -2992,10 +3199,12 @@
 HSPLcom/android/server/LocationManagerService;->getAllowedResolutionLevel(II)I
 HPLcom/android/server/LocationManagerService;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
 HSPLcom/android/server/LocationManagerService;->getCallerAllowedResolutionLevel()I
+PLcom/android/server/LocationManagerService;->getCurrentLocation(Landroid/location/LocationRequest;Landroid/os/ICancellationSignal;Landroid/location/ILocationListener;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->getCurrentLocation(Landroid/location/LocationRequest;Landroid/os/ICancellationSignal;Landroid/location/ILocationListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/server/LocationManagerService;->getExtraLocationControllerPackage()Ljava/lang/String;
 HPLcom/android/server/LocationManagerService;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
 PLcom/android/server/LocationManagerService;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->getGnssCapabilities()J
 HPLcom/android/server/LocationManagerService;->getGnssCapabilities(Ljava/lang/String;)J
 HPLcom/android/server/LocationManagerService;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;Ljava/lang/String;)Landroid/location/Location;
 HSPLcom/android/server/LocationManagerService;->getLocationProviderLocked(Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProviderManager;
@@ -3004,7 +3213,9 @@
 HPLcom/android/server/LocationManagerService;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
 HPLcom/android/server/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
 HPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/app/PendingIntent;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;)Lcom/android/server/LocationManagerService$Receiver;
+PLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/app/PendingIntent;Lcom/android/server/location/CallerIdentity;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
 HSPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;)Lcom/android/server/LocationManagerService$Receiver;
+HPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;Lcom/android/server/location/CallerIdentity;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
 PLcom/android/server/LocationManagerService;->getResolutionPermission(I)Ljava/lang/String;
 HPLcom/android/server/LocationManagerService;->handleLocationChangedLocked(Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProviderManager;)V
 HPLcom/android/server/LocationManagerService;->handleLocationChangedLocked(Lcom/android/server/LocationManagerService$LocationProviderManager;Landroid/location/Location;Landroid/location/Location;)V
@@ -3024,6 +3235,7 @@
 HSPLcom/android/server/LocationManagerService;->lambda$DgmGqZVwms-Y6rAmZybXkZVgJ-Q(Lcom/android/server/LocationManagerService;II)V
 PLcom/android/server/LocationManagerService;->lambda$KXKNxpIZDrysWhFilQxLdYekB3M(Lcom/android/server/LocationManagerService;)V
 PLcom/android/server/LocationManagerService;->lambda$getCurrentLocation$13$LocationManagerService(Landroid/location/ILocationListener;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->lambda$getCurrentLocation$6$LocationManagerService(Landroid/location/ILocationListener;)V
 PLcom/android/server/LocationManagerService;->lambda$getCurrentLocation$6$LocationManagerService(Landroid/location/ILocationListener;Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->lambda$new$0$LocationManagerService(I)[Ljava/lang/String;
 HSPLcom/android/server/LocationManagerService;->lambda$new$1$LocationManagerService(I)[Ljava/lang/String;
@@ -3041,6 +3253,7 @@
 PLcom/android/server/LocationManagerService;->lambda$onSystemReady$7$LocationManagerService(Landroid/os/PowerSaveState;)V
 HSPLcom/android/server/LocationManagerService;->lambda$onSystemReady$8$LocationManagerService(I)V
 PLcom/android/server/LocationManagerService;->lambda$onSystemReady$9$LocationManagerService()V
+PLcom/android/server/LocationManagerService;->lambda$rCyjSaqQ-rLpPfZIkKmdIMxpVhs(Lcom/android/server/LocationManagerService;Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->locationCallbackFinished(Landroid/location/ILocationListener;)V
 HSPLcom/android/server/LocationManagerService;->onAppForegroundChanged(IZ)V
 HSPLcom/android/server/LocationManagerService;->onAppOpChanged(Ljava/lang/String;)V
@@ -3052,8 +3265,10 @@
 PLcom/android/server/LocationManagerService;->onIgnoreSettingsWhitelistChangedLocked()V
 HSPLcom/android/server/LocationManagerService;->onLocationModeChanged(I)V
 HSPLcom/android/server/LocationManagerService;->onLocationModeChangedLocked(I)V
+HPLcom/android/server/LocationManagerService;->onPackageDisappeared(Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->onPackageDisappearedLocked(Ljava/lang/String;)V
 HPLcom/android/server/LocationManagerService;->onPermissionsChangedLocked()V
+HPLcom/android/server/LocationManagerService;->onScreenStateChanged()V
 HPLcom/android/server/LocationManagerService;->onScreenStateChangedLocked()V
 HSPLcom/android/server/LocationManagerService;->onSystemReady()V
 HSPLcom/android/server/LocationManagerService;->onSystemThirdPartyAppsCanStart()V
@@ -3065,10 +3280,12 @@
 HPLcom/android/server/LocationManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->removeGeofence(Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
 PLcom/android/server/LocationManagerService;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
+HPLcom/android/server/LocationManagerService;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;)V
 HPLcom/android/server/LocationManagerService;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
 HPLcom/android/server/LocationManagerService;->removeUpdatesLocked(Lcom/android/server/LocationManagerService$Receiver;)V
 HPLcom/android/server/LocationManagerService;->reportLocationAccessNoThrow(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->requestGeofence(Landroid/location/LocationRequest;Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
 HSPLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;ILjava/lang/String;)V
@@ -3084,10 +3301,12 @@
 HSPLcom/android/server/LocationManagerService;->updateProviderEnabledLocked(Lcom/android/server/LocationManagerService$LocationProviderManager;)V
 HSPLcom/android/server/LocationManagerService;->updateProviderEnabledLocked(Lcom/android/server/LocationManagerService$LocationProviderManager;Z)V
 HSPLcom/android/server/LocationManagerService;->updateProviderUseableLocked(Lcom/android/server/LocationManagerService$LocationProviderManager;)V
+PLcom/android/server/LocationManagerServiceUtils$LinkedListener;-><init>(Ljava/lang/Object;Ljava/lang/Object;Lcom/android/server/location/CallerIdentity;Ljava/util/function/Consumer;)V
 PLcom/android/server/LocationManagerServiceUtils$LinkedListener;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Lcom/android/server/location/CallerIdentity;Ljava/util/function/Consumer;)V
 PLcom/android/server/LocationManagerServiceUtils$LinkedListener;-><init>(Ljava/lang/Object;Ljava/lang/String;Lcom/android/server/location/CallerIdentity;Ljava/util/function/Consumer;)V
 PLcom/android/server/LocationManagerServiceUtils$LinkedListener;->binderDied()V
 HPLcom/android/server/LocationManagerServiceUtils$LinkedListener;->getRequest()Ljava/lang/Object;
+PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;-><init>(Lcom/android/server/location/CallerIdentity;)V
 HSPLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;-><init>(Lcom/android/server/location/CallerIdentity;Ljava/lang/String;)V
 PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;->getCallerIdentity()Lcom/android/server/location/CallerIdentity;
 HSPLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;->linkToListenerDeathNotificationLocked(Landroid/os/IBinder;)Z
@@ -3253,7 +3472,7 @@
 HSPLcom/android/server/NetworkManagementService;->access$800(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
 HSPLcom/android/server/NetworkManagementService;->access$900(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
 HPLcom/android/server/NetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
-PLcom/android/server/NetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
+HPLcom/android/server/NetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
 HPLcom/android/server/NetworkManagementService;->addLegacyRouteForNetId(ILandroid/net/RouteInfo;I)V
 HPLcom/android/server/NetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
 PLcom/android/server/NetworkManagementService;->addVpnUidRanges(I[Landroid/net/UidRange;)V
@@ -3437,6 +3656,7 @@
 HPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getSecureInt(Landroid/content/Context;Ljava/lang/String;I)I
 HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/NetworkScorerAppManager;-><clinit>()V
 HSPLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager$SettingsFacade;)V
@@ -3455,6 +3675,7 @@
 PLcom/android/server/NetworkScorerAppManager;->isLocationModeEnabled()Z
 HSPLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
 HSPLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
+PLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsPackage(Ljava/lang/String;)V
 HSPLcom/android/server/NetworkScorerAppManager;->updateState()V
 HSPLcom/android/server/NetworkTimeUpdateService$1;-><init>(Lcom/android/server/NetworkTimeUpdateService;)V
 PLcom/android/server/NetworkTimeUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
@@ -3604,8 +3825,11 @@
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;-><init>(Lcom/android/server/PackageWatchdog;Landroid/content/pm/VersionedPackage;JJZ)V
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;-><init>(Lcom/android/server/PackageWatchdog;Landroid/content/pm/VersionedPackage;JJZLcom/android/server/PackageWatchdog$1;)V
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->access$000(Lcom/android/server/PackageWatchdog$MonitoredPackage;)Ljava/lang/String;
+PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$1200(Lcom/android/server/PackageWatchdog$MonitoredPackage;)Landroid/content/pm/VersionedPackage;
+PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$200(Lcom/android/server/PackageWatchdog$MonitoredPackage;)J
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$300(Lcom/android/server/PackageWatchdog$MonitoredPackage;)Landroid/util/LongArrayQueue;
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$400(Lcom/android/server/PackageWatchdog$MonitoredPackage;)J
+PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$400(Lcom/android/server/PackageWatchdog$MonitoredPackage;)Landroid/util/LongArrayQueue;
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$500(Lcom/android/server/PackageWatchdog$MonitoredPackage;)J
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$600(Lcom/android/server/PackageWatchdog$MonitoredPackage;)I
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->access$700(Lcom/android/server/PackageWatchdog$MonitoredPackage;I)Ljava/lang/String;
@@ -3613,13 +3837,14 @@
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->getName()Ljava/lang/String;
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->getShortestScheduleDurationMsLocked()J
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->handleElapsedTimeLocked(J)I
-PLcom/android/server/PackageWatchdog$MonitoredPackage;->isExpiredLocked()Z
+HPLcom/android/server/PackageWatchdog$MonitoredPackage;->isExpiredLocked()Z
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->isPendingHealthChecksLocked()Z
 PLcom/android/server/PackageWatchdog$MonitoredPackage;->onFailureLocked()Z
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->setHealthCheckActiveLocked(J)I
-PLcom/android/server/PackageWatchdog$MonitoredPackage;->toPositive(J)J
+HPLcom/android/server/PackageWatchdog$MonitoredPackage;->toPositive(J)J
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->toString(I)Ljava/lang/String;
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->tryPassHealthCheckLocked()I
+PLcom/android/server/PackageWatchdog$MonitoredPackage;->updateHealthCheckDuration(J)V
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->updateHealthCheckStateLocked()I
 HPLcom/android/server/PackageWatchdog$MonitoredPackage;->writeLocked(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/PackageWatchdog$ObserverInternal;-><init>(Ljava/lang/String;Ljava/util/List;)V
@@ -3647,12 +3872,15 @@
 HSPLcom/android/server/PackageWatchdog;->lambda$CQuOnXthwwBaxcS5WoAlJJAz8Tk(Lcom/android/server/PackageWatchdog;)V
 HSPLcom/android/server/PackageWatchdog;->lambda$Q0WI2EJpRFO1jF_7_YDaj1eGHas(Lcom/android/server/PackageWatchdog;)Z
 PLcom/android/server/PackageWatchdog;->lambda$checkAndMitigateNativeCrashes$4$PackageWatchdog()V
+PLcom/android/server/PackageWatchdog;->lambda$onHealthCheckFailed$6$PackageWatchdog(Lcom/android/server/PackageWatchdog$ObserverInternal;Ljava/util/Set;)V
 HPLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$3$PackageWatchdog(ILjava/util/List;)V
+PLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$4$PackageWatchdog(ILjava/util/List;)V
 PLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$0$PackageWatchdog(Ljava/lang/String;)V
 HSPLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$1$PackageWatchdog(Ljava/util/List;)V
 HSPLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$2$PackageWatchdog()V
 PLcom/android/server/PackageWatchdog;->lambda$scheduleCheckAndMitigateNativeCrashes$5$PackageWatchdog()V
 PLcom/android/server/PackageWatchdog;->lambda$setPropertyChangedListenerLocked$7$PackageWatchdog(Landroid/provider/DeviceConfig$Properties;)V
+HPLcom/android/server/PackageWatchdog;->lambda$startObservingHealth$3$PackageWatchdog(Lcom/android/server/PackageWatchdog$PackageHealthObserver;Ljava/util/List;Ljava/util/List;)V
 PLcom/android/server/PackageWatchdog;->lambda$vRKcIrucEj03dz6ypRVINZtns1s(Lcom/android/server/PackageWatchdog;)V
 HSPLcom/android/server/PackageWatchdog;->loadFromFile()V
 HSPLcom/android/server/PackageWatchdog;->newMonitoredPackage(Ljava/lang/String;JJZ)Lcom/android/server/PackageWatchdog$MonitoredPackage;
@@ -3915,7 +4143,7 @@
 HSPLcom/android/server/ServiceWatcher;->lambda$register$0$ServiceWatcher()V
 HSPLcom/android/server/ServiceWatcher;->lambda$runOnBinder$1$ServiceWatcher(Lcom/android/server/ServiceWatcher$BinderRunner;)V
 HSPLcom/android/server/ServiceWatcher;->lambda$runOnBinder$2$ServiceWatcher(Lcom/android/server/ServiceWatcher$BinderRunner;)V
-PLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$2$ServiceWatcher(Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
+HPLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$2$ServiceWatcher(Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
 HPLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$3$ServiceWatcher(Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
 HSPLcom/android/server/ServiceWatcher;->lambda$start$0$ServiceWatcher()V
 HSPLcom/android/server/ServiceWatcher;->onBestServiceChanged(Z)V
@@ -3938,7 +4166,7 @@
 HSPLcom/android/server/ServiceWatcher;->unbind()V
 HSPLcom/android/server/StorageManagerService$10;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;)V
 HPLcom/android/server/StorageManagerService$10;-><init>(Lcom/android/server/StorageManagerService;Ljava/lang/Runnable;)V
-HPLcom/android/server/StorageManagerService$10;->onFinished(ILandroid/os/PersistableBundle;)V
+HSPLcom/android/server/StorageManagerService$10;->onFinished(ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService$10;->onStatus(ILandroid/os/PersistableBundle;)V
 PLcom/android/server/StorageManagerService$11;-><init>(Lcom/android/server/StorageManagerService;Ljava/lang/Runnable;)V
 PLcom/android/server/StorageManagerService$11;->onFinished(ILandroid/os/PersistableBundle;)V
@@ -3968,7 +4196,7 @@
 PLcom/android/server/StorageManagerService$7;->onPackageRemoved(Ljava/lang/String;I)V
 PLcom/android/server/StorageManagerService$7;->onVolumeChecking(Ljava/io/FileDescriptor;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/StorageManagerService$8;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/StorageManagerService$8;->onVolumeChecking(Ljava/io/FileDescriptor;Ljava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/server/StorageManagerService$8;->onVolumeChecking(Ljava/io/FileDescriptor;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/StorageManagerService$9;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;)V
 HSPLcom/android/server/StorageManagerService$9;->onFinished(ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService$9;->onStatus(ILandroid/os/PersistableBundle;)V
@@ -3979,9 +4207,11 @@
 HSPLcom/android/server/StorageManagerService$Callbacks;-><init>(Landroid/os/Looper;)V
 PLcom/android/server/StorageManagerService$Callbacks;->access$2700(Lcom/android/server/StorageManagerService$Callbacks;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/StorageManagerService$Callbacks;->access$2800(Lcom/android/server/StorageManagerService$Callbacks;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$Callbacks;->access$2900(Lcom/android/server/StorageManagerService$Callbacks;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/StorageManagerService$Callbacks;->access$3700(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
 PLcom/android/server/StorageManagerService$Callbacks;->access$3800(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
 PLcom/android/server/StorageManagerService$Callbacks;->access$3900(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService$Callbacks;->access$4000(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
 HPLcom/android/server/StorageManagerService$Callbacks;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/StorageManagerService$Callbacks;->invokeCallback(Landroid/os/storage/IStorageEventListener;ILcom/android/internal/os/SomeArgs;)V
 PLcom/android/server/StorageManagerService$Callbacks;->notifyStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -4003,6 +4233,7 @@
 HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
 HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
 HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->isExternalStorageService(I)Z
 HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onAppOpsChanged(IILjava/lang/String;I)V
 HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onExternalStoragePolicyChanged(ILjava/lang/String;)V
 PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onReset(Landroid/os/IVold;)V
@@ -4035,6 +4266,7 @@
 PLcom/android/server/StorageManagerService;->access$1502(Lcom/android/server/StorageManagerService;Landroid/os/IVold;)Landroid/os/IVold;
 PLcom/android/server/StorageManagerService;->access$1600(Lcom/android/server/StorageManagerService;)Landroid/os/IVold;
 PLcom/android/server/StorageManagerService;->access$1600(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/StorageManagerService;->access$1602(Lcom/android/server/StorageManagerService;Landroid/os/IVold;)Landroid/os/IVold;
 PLcom/android/server/StorageManagerService;->access$1700(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
 PLcom/android/server/StorageManagerService;->access$1700(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)Z
 PLcom/android/server/StorageManagerService;->access$1800(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
@@ -4042,27 +4274,38 @@
 HSPLcom/android/server/StorageManagerService;->access$200(Lcom/android/server/StorageManagerService;)V
 HSPLcom/android/server/StorageManagerService;->access$2000(Lcom/android/server/StorageManagerService;)Landroid/content/Context;
 PLcom/android/server/StorageManagerService;->access$2100(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$2200(Lcom/android/server/StorageManagerService;)V
 PLcom/android/server/StorageManagerService;->access$2200(Lcom/android/server/StorageManagerService;I)V
 PLcom/android/server/StorageManagerService;->access$2300(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
 PLcom/android/server/StorageManagerService;->access$2300(Lcom/android/server/StorageManagerService;I)V
 PLcom/android/server/StorageManagerService;->access$2400(Lcom/android/server/StorageManagerService;)Landroid/os/Handler;
 PLcom/android/server/StorageManagerService;->access$2400(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->access$2400(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
 PLcom/android/server/StorageManagerService;->access$2500(Lcom/android/server/StorageManagerService;)Landroid/os/Handler;
+PLcom/android/server/StorageManagerService;->access$2500(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
 PLcom/android/server/StorageManagerService;->access$2500(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$2600(Lcom/android/server/StorageManagerService;)Landroid/os/Handler;
 PLcom/android/server/StorageManagerService;->access$2600(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$2700(Lcom/android/server/StorageManagerService;)V
 HSPLcom/android/server/StorageManagerService;->access$2800(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
 PLcom/android/server/StorageManagerService;->access$2900(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
 HSPLcom/android/server/StorageManagerService;->access$2900(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
 PLcom/android/server/StorageManagerService;->access$300(Lcom/android/server/StorageManagerService;)V
 PLcom/android/server/StorageManagerService;->access$3000(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->access$3000(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
+PLcom/android/server/StorageManagerService;->access$3100(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
 PLcom/android/server/StorageManagerService;->access$3300(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
 PLcom/android/server/StorageManagerService;->access$3400(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
 PLcom/android/server/StorageManagerService;->access$3400(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->access$3500(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
 PLcom/android/server/StorageManagerService;->access$3500(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
 PLcom/android/server/StorageManagerService;->access$3600(Lcom/android/server/StorageManagerService;)Lcom/android/server/storage/StorageSessionController;
+PLcom/android/server/StorageManagerService;->access$3600(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->access$3700(Lcom/android/server/StorageManagerService;)Lcom/android/server/storage/StorageSessionController;
 PLcom/android/server/StorageManagerService;->access$402(Lcom/android/server/StorageManagerService;I)I
 PLcom/android/server/StorageManagerService;->access$4100(Lcom/android/server/StorageManagerService;)V
 HSPLcom/android/server/StorageManagerService;->access$4100(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
+PLcom/android/server/StorageManagerService;->access$4200(Lcom/android/server/StorageManagerService;)V
 HSPLcom/android/server/StorageManagerService;->access$4200(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService;->access$4300(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService;->access$4300(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Ljava/lang/String;
@@ -4070,10 +4313,14 @@
 HSPLcom/android/server/StorageManagerService;->access$4400(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService;->access$4400(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
 HSPLcom/android/server/StorageManagerService;->access$4400(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->access$4500(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
+PLcom/android/server/StorageManagerService;->access$4400(Lcom/android/server/StorageManagerService;Ljava/lang/String;IZ)V
+HSPLcom/android/server/StorageManagerService;->access$4500(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService;->access$4500(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
+PLcom/android/server/StorageManagerService;->access$4600(Lcom/android/server/StorageManagerService;Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
 HSPLcom/android/server/StorageManagerService;->access$4600(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/StorageManagerService;->access$4700(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
+PLcom/android/server/StorageManagerService;->access$4700(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->access$4800(Lcom/android/server/StorageManagerService;Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
 HSPLcom/android/server/StorageManagerService;->access$4900()Z
 PLcom/android/server/StorageManagerService;->access$500(Lcom/android/server/StorageManagerService;I)V
 HSPLcom/android/server/StorageManagerService;->access$5000()Z
@@ -4082,11 +4329,18 @@
 HSPLcom/android/server/StorageManagerService;->access$5100(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I
 HSPLcom/android/server/StorageManagerService;->access$5200()Z
 HSPLcom/android/server/StorageManagerService;->access$5200(Lcom/android/server/StorageManagerService;II)V
+PLcom/android/server/StorageManagerService;->access$5300()Z
 HSPLcom/android/server/StorageManagerService;->access$5300(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I
 PLcom/android/server/StorageManagerService;->access$5400(Lcom/android/server/StorageManagerService;II)V
+HPLcom/android/server/StorageManagerService;->access$5400(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService;->access$5500(Lcom/android/server/StorageManagerService;II)V
 PLcom/android/server/StorageManagerService;->access$600(Lcom/android/server/StorageManagerService;I)V
 HPLcom/android/server/StorageManagerService;->access$6000(Lcom/android/server/StorageManagerService;)Z
 PLcom/android/server/StorageManagerService;->access$6400(Lcom/android/server/StorageManagerService;)Z
+PLcom/android/server/StorageManagerService;->access$6500(Lcom/android/server/StorageManagerService;)I
+PLcom/android/server/StorageManagerService;->access$6600(Lcom/android/server/StorageManagerService;)I
+PLcom/android/server/StorageManagerService;->access$6600(Lcom/android/server/StorageManagerService;)Z
+PLcom/android/server/StorageManagerService;->access$6700(Lcom/android/server/StorageManagerService;)Z
 PLcom/android/server/StorageManagerService;->access$700(Lcom/android/server/StorageManagerService;I)V
 HSPLcom/android/server/StorageManagerService;->access$800(Lcom/android/server/StorageManagerService;Landroid/os/UserHandle;)V
 HSPLcom/android/server/StorageManagerService;->addInternalVolumeLocked()V
@@ -4112,6 +4366,7 @@
 HSPLcom/android/server/StorageManagerService;->enforcePermission(Ljava/lang/String;)V
 HSPLcom/android/server/StorageManagerService;->findRecordForPath(Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
 PLcom/android/server/StorageManagerService;->fixateNewestUserKeyAuth(I)V
+HPLcom/android/server/StorageManagerService;->fixupAppDir(Ljava/lang/String;)V
 HSPLcom/android/server/StorageManagerService;->fstrim(ILandroid/os/IVoldTaskListener;)V
 HPLcom/android/server/StorageManagerService;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
 PLcom/android/server/StorageManagerService;->getCacheQuotaBytes(Ljava/lang/String;I)J
@@ -4138,6 +4393,8 @@
 PLcom/android/server/StorageManagerService;->killMediaProvider(Ljava/util/List;)V
 PLcom/android/server/StorageManagerService;->lambda$connectVold$2$StorageManagerService()V
 PLcom/android/server/StorageManagerService;->lambda$handleSystemReady$0$StorageManagerService(Landroid/provider/DeviceConfig$Properties;)V
+PLcom/android/server/StorageManagerService;->lambda$mount$3$StorageManagerService(Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/StorageManagerService;->lambda$onVolumeStateChangedLocked$1$StorageManagerService(Landroid/os/storage/VolumeInfo;I)V
 HSPLcom/android/server/StorageManagerService;->lastMaintenance()J
 PLcom/android/server/StorageManagerService;->lockUserKey(I)V
 PLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
@@ -4153,6 +4410,8 @@
 PLcom/android/server/StorageManagerService;->onStopUser(I)V
 PLcom/android/server/StorageManagerService;->onUnlockUser(I)V
 PLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->onVolumeStateChangedAsync(Landroid/os/storage/VolumeInfo;II)V
+HPLcom/android/server/StorageManagerService;->onVolumeStateChangedInternal(Landroid/os/storage/VolumeInfo;II)V
 HPLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;II)V
 HPLcom/android/server/StorageManagerService;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
 PLcom/android/server/StorageManagerService;->prepareUserStorage(Ljava/lang/String;III)V
@@ -4162,6 +4421,7 @@
 HSPLcom/android/server/StorageManagerService;->refreshIsolatedStorageSettings()V
 HSPLcom/android/server/StorageManagerService;->refreshZramSettings()V
 HSPLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
+PLcom/android/server/StorageManagerService;->remountAppStorageDirs(Ljava/util/Map;I)V
 HSPLcom/android/server/StorageManagerService;->remountUidExternalStorage(II)V
 HSPLcom/android/server/StorageManagerService;->resetIfBootedAndConnected()V
 HPLcom/android/server/StorageManagerService;->runIdleMaint(Ljava/lang/Runnable;)V
@@ -4181,6 +4441,7 @@
 PLcom/android/server/StorageManagerService;->unregisterListener(Landroid/os/storage/IStorageEventListener;)V
 PLcom/android/server/StorageManagerService;->updateFusePropFromSettings()V
 HSPLcom/android/server/StorageManagerService;->updateLegacyStorageApps(Ljava/lang/String;IZ)V
+PLcom/android/server/StorageManagerService;->updateLegacyStorageOpSticky()V
 HSPLcom/android/server/SystemConfigService$1;-><init>(Lcom/android/server/SystemConfigService;)V
 PLcom/android/server/SystemConfigService$1;->getDisabledUntilUsedPreinstalledCarrierApps()Ljava/util/List;
 PLcom/android/server/SystemConfigService$1;->getDisabledUntilUsedPreinstalledCarrierAssociatedApps()Ljava/util/Map;
@@ -4243,13 +4504,14 @@
 PLcom/android/server/SystemService;->onStopUser(Landroid/content/pm/UserInfo;)V
 HPLcom/android/server/SystemService;->onStopUser(Lcom/android/server/SystemService$TargetUser;)V
 PLcom/android/server/SystemService;->onSwitchUser(I)V
-PLcom/android/server/SystemService;->onSwitchUser(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)V
+HPLcom/android/server/SystemService;->onSwitchUser(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)V
 PLcom/android/server/SystemService;->onUnlockUser(I)V
 HPLcom/android/server/SystemService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
 HPLcom/android/server/SystemService;->onUnlockUser(Lcom/android/server/SystemService$TargetUser;)V
 HPLcom/android/server/SystemService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
-PLcom/android/server/SystemService;->onUserStopping(Lcom/android/server/SystemService$TargetUser;)V
-PLcom/android/server/SystemService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/SystemService;->onUserStopping(Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/SystemService;->onUserSwitching(Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;)V
+HPLcom/android/server/SystemService;->onUserUnlocked(Lcom/android/server/SystemService$TargetUser;)V
 HPLcom/android/server/SystemService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
 HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;Z)V
@@ -4296,6 +4558,9 @@
 HSPLcom/android/server/TelephonyRegistry$2;-><init>(Lcom/android/server/TelephonyRegistry;)V
 HSPLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/TelephonyRegistry$3;-><clinit>()V
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;-><init>()V
+PLcom/android/server/TelephonyRegistry$ConfigurationProvider;->getRegistrationLimit()I
+HPLcom/android/server/TelephonyRegistry$ConfigurationProvider;->lambda$getRegistrationLimit$0()Ljava/lang/Integer;
 HSPLcom/android/server/TelephonyRegistry$Record;-><init>()V
 HSPLcom/android/server/TelephonyRegistry$Record;-><init>(Lcom/android/server/TelephonyRegistry$1;)V
 HPLcom/android/server/TelephonyRegistry$Record;->canReadCallLog()Z
@@ -4307,6 +4572,7 @@
 HPLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;->binderDied()V
 HSPLcom/android/server/TelephonyRegistry;-><clinit>()V
 HSPLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;)V
+PLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;Lcom/android/server/TelephonyRegistry$ConfigurationProvider;)V
 HSPLcom/android/server/TelephonyRegistry;->access$000(Lcom/android/server/TelephonyRegistry;)Landroid/telephony/TelephonyManager;
 PLcom/android/server/TelephonyRegistry;->access$100(Lcom/android/server/TelephonyRegistry;)Landroid/telephony/TelephonyManager;
 PLcom/android/server/TelephonyRegistry;->access$100(Lcom/android/server/TelephonyRegistry;)[Landroid/os/Bundle;
@@ -4335,7 +4601,9 @@
 PLcom/android/server/TelephonyRegistry;->access$800(Lcom/android/server/TelephonyRegistry;)Landroid/util/LocalLog;
 HPLcom/android/server/TelephonyRegistry;->access$800(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
 HSPLcom/android/server/TelephonyRegistry;->access$900(Lcom/android/server/TelephonyRegistry;)Landroid/os/Handler;
+PLcom/android/server/TelephonyRegistry;->access$900(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
 HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;)Lcom/android/server/TelephonyRegistry$Record;
+HPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;IIZ)Lcom/android/server/TelephonyRegistry$Record;
 HPLcom/android/server/TelephonyRegistry;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 HSPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 HPLcom/android/server/TelephonyRegistry;->broadcastCallStateChanged(ILjava/lang/String;II)V
@@ -4384,6 +4652,7 @@
 HPLcom/android/server/TelephonyRegistry;->notifyDataConnectionForSubscriber(IIIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
 HPLcom/android/server/TelephonyRegistry;->notifyDisconnectCause(IIII)V
 HPLcom/android/server/TelephonyRegistry;->notifyDisplayInfoChanged(IILandroid/telephony/DisplayInfo;)V
+HPLcom/android/server/TelephonyRegistry;->notifyDisplayInfoChanged(IILandroid/telephony/TelephonyDisplayInfo;)V
 HPLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList(II)V
 HPLcom/android/server/TelephonyRegistry;->notifyImsDisconnectCause(ILandroid/telephony/ims/ImsReasonInfo;)V
 HPLcom/android/server/TelephonyRegistry;->notifyMessageWaitingChangedForPhoneId(IIZ)V
@@ -4432,6 +4701,17 @@
 PLcom/android/server/UiModeManagerService$10;->setCustomNightModeStart(J)V
 PLcom/android/server/UiModeManagerService$10;->setNightMode(I)V
 PLcom/android/server/UiModeManagerService$10;->setNightModeActivated(Z)Z
+PLcom/android/server/UiModeManagerService$11;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$11;->disableCarModeByCallingPackage(ILjava/lang/String;)V
+PLcom/android/server/UiModeManagerService$11;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/UiModeManagerService$11;->enableCarMode(IILjava/lang/String;)V
+HPLcom/android/server/UiModeManagerService$11;->getCurrentModeType()I
+HPLcom/android/server/UiModeManagerService$11;->getNightMode()I
+PLcom/android/server/UiModeManagerService$11;->isNightModeLocked()Z
+PLcom/android/server/UiModeManagerService$11;->isUiModeLocked()Z
+PLcom/android/server/UiModeManagerService$11;->lambda$disableCarModeByCallingPackage$0(Ljava/lang/String;Ljava/util/Map$Entry;)Z
+PLcom/android/server/UiModeManagerService$11;->setNightMode(I)V
+PLcom/android/server/UiModeManagerService$11;->setNightModeActivated(Z)Z
 HSPLcom/android/server/UiModeManagerService$1;-><init>(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/UiModeManagerService$2;-><init>(Lcom/android/server/UiModeManagerService;)V
@@ -4467,6 +4747,7 @@
 PLcom/android/server/UiModeManagerService$Shell;->access$2900(I)Ljava/lang/String;
 PLcom/android/server/UiModeManagerService$Shell;->access$3000(I)Ljava/lang/String;
 PLcom/android/server/UiModeManagerService$Shell;->access$3200(I)Ljava/lang/String;
+PLcom/android/server/UiModeManagerService$Shell;->access$3300(I)Ljava/lang/String;
 PLcom/android/server/UiModeManagerService$Shell;->nightModeToStr(I)Ljava/lang/String;
 HSPLcom/android/server/UiModeManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/UiModeManagerService;)V
 HSPLcom/android/server/UiModeManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/UiModeManagerService;Lcom/android/server/UiModeManagerService$1;)V
@@ -4475,6 +4756,8 @@
 HSPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/UiModeManagerService;->access$000(Lcom/android/server/UiModeManagerService;Ljava/lang/String;II)V
 PLcom/android/server/UiModeManagerService;->access$1000(Lcom/android/server/UiModeManagerService;)Z
+PLcom/android/server/UiModeManagerService;->access$1002(Lcom/android/server/UiModeManagerService;Z)Z
+PLcom/android/server/UiModeManagerService;->access$1100(Lcom/android/server/UiModeManagerService;)Landroid/database/ContentObserver;
 HSPLcom/android/server/UiModeManagerService;->access$1100(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;I)Z
 HSPLcom/android/server/UiModeManagerService;->access$1200(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;I)Z
 PLcom/android/server/UiModeManagerService;->access$1300()Ljava/lang/String;
@@ -4483,15 +4766,19 @@
 PLcom/android/server/UiModeManagerService;->access$1400(Lcom/android/server/UiModeManagerService;)Ljava/util/Map;
 PLcom/android/server/UiModeManagerService;->access$1500()Ljava/lang/String;
 PLcom/android/server/UiModeManagerService;->access$1500(Lcom/android/server/UiModeManagerService;)Ljava/util/Map;
+PLcom/android/server/UiModeManagerService;->access$1500(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$1502(Lcom/android/server/UiModeManagerService;I)I
+PLcom/android/server/UiModeManagerService;->access$1600()Ljava/lang/String;
 PLcom/android/server/UiModeManagerService;->access$1600(Lcom/android/server/UiModeManagerService;)Ljava/util/Map;
 PLcom/android/server/UiModeManagerService;->access$1600(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$1600(Lcom/android/server/UiModeManagerService;)Z
+PLcom/android/server/UiModeManagerService;->access$1700(Lcom/android/server/UiModeManagerService;)Ljava/util/Map;
 PLcom/android/server/UiModeManagerService;->access$1700(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$1700(Lcom/android/server/UiModeManagerService;I)V
 PLcom/android/server/UiModeManagerService;->access$1702(Lcom/android/server/UiModeManagerService;I)I
 PLcom/android/server/UiModeManagerService;->access$1800(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$1802(Lcom/android/server/UiModeManagerService;I)I
+PLcom/android/server/UiModeManagerService;->access$1900(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$1900(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$1900(Lcom/android/server/UiModeManagerService;I)V
 PLcom/android/server/UiModeManagerService;->access$2000(Lcom/android/server/UiModeManagerService;)Z
@@ -4499,11 +4786,13 @@
 HSPLcom/android/server/UiModeManagerService;->access$202(Lcom/android/server/UiModeManagerService;Z)Z
 PLcom/android/server/UiModeManagerService;->access$2100(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$2100(Lcom/android/server/UiModeManagerService;)Z
+PLcom/android/server/UiModeManagerService;->access$2100(Lcom/android/server/UiModeManagerService;I)V
 PLcom/android/server/UiModeManagerService;->access$2200(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$2200(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$2300(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$2400(Lcom/android/server/UiModeManagerService;)Landroid/content/res/Configuration;
 PLcom/android/server/UiModeManagerService;->access$2400(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService;->access$2400(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$2500(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$2600(Lcom/android/server/UiModeManagerService;)Ljava/time/LocalTime;
 PLcom/android/server/UiModeManagerService;->access$2600(Lcom/android/server/UiModeManagerService;)V
@@ -4511,12 +4800,15 @@
 PLcom/android/server/UiModeManagerService;->access$2700(Lcom/android/server/UiModeManagerService;)Ljava/time/LocalTime;
 PLcom/android/server/UiModeManagerService;->access$2700(Lcom/android/server/UiModeManagerService;I)V
 PLcom/android/server/UiModeManagerService;->access$2800(Lcom/android/server/UiModeManagerService;)Ljava/time/LocalTime;
+PLcom/android/server/UiModeManagerService;->access$2800(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$2802(Lcom/android/server/UiModeManagerService;Ljava/time/LocalTime;)Ljava/time/LocalTime;
 PLcom/android/server/UiModeManagerService;->access$2900(Lcom/android/server/UiModeManagerService;)Ljava/time/LocalTime;
+PLcom/android/server/UiModeManagerService;->access$2900(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$300(Lcom/android/server/UiModeManagerService;)I
 PLcom/android/server/UiModeManagerService;->access$3000(Lcom/android/server/UiModeManagerService;)Landroid/content/res/Configuration;
 PLcom/android/server/UiModeManagerService;->access$302(Lcom/android/server/UiModeManagerService;I)I
 PLcom/android/server/UiModeManagerService;->access$3100(Lcom/android/server/UiModeManagerService;)Landroid/content/res/Configuration;
+PLcom/android/server/UiModeManagerService;->access$3400(Lcom/android/server/UiModeManagerService;)Landroid/content/res/Configuration;
 PLcom/android/server/UiModeManagerService;->access$400(Lcom/android/server/UiModeManagerService;)Z
 PLcom/android/server/UiModeManagerService;->access$500(Lcom/android/server/UiModeManagerService;)V
 PLcom/android/server/UiModeManagerService;->access$600(Lcom/android/server/UiModeManagerService;)V
@@ -4535,6 +4827,7 @@
 HSPLcom/android/server/UiModeManagerService;->initPowerSave()V
 PLcom/android/server/UiModeManagerService;->isCarModeEnabled()Z
 HSPLcom/android/server/UiModeManagerService;->isDeskDockState(I)Z
+PLcom/android/server/UiModeManagerService;->lambda$initPowerSave$2$UiModeManagerService(Landroid/os/PowerSaveState;)V
 PLcom/android/server/UiModeManagerService;->lambda$initPowerSave$3$UiModeManagerService(Landroid/os/PowerSaveState;)V
 PLcom/android/server/UiModeManagerService;->lambda$new$0$UiModeManagerService()V
 PLcom/android/server/UiModeManagerService;->lambda$onStart$0$UiModeManagerService(Landroid/os/PowerSaveState;)V
@@ -4552,6 +4845,7 @@
 PLcom/android/server/UiModeManagerService;->registerScreenOffEvent()V
 HPLcom/android/server/UiModeManagerService;->registerTimeChangeEvent()V
 HSPLcom/android/server/UiModeManagerService;->registerVrStateListener()V
+PLcom/android/server/UiModeManagerService;->resetNightModeOverrideLocked()V
 HPLcom/android/server/UiModeManagerService;->scheduleNextCustomTimeListener()V
 HSPLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
 PLcom/android/server/UiModeManagerService;->setCarModeLocked(ZIILjava/lang/String;)V
@@ -4777,11 +5071,13 @@
 HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->checkSwitchExists()Z
 HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->getSwitchStatePath()Ljava/lang/String;
 HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;-><init>(Lcom/android/server/WiredAccessoryManager;)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->init()V
 HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->makeObservedUEventList()Ljava/util/List;
 HSPLcom/android/server/WiredAccessoryManager;-><clinit>()V
 HSPLcom/android/server/WiredAccessoryManager;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
 HSPLcom/android/server/WiredAccessoryManager;->access$200(Lcom/android/server/WiredAccessoryManager;)Landroid/os/PowerManager$WakeLock;
 HSPLcom/android/server/WiredAccessoryManager;->access$300(Lcom/android/server/WiredAccessoryManager;)V
+PLcom/android/server/WiredAccessoryManager;->access$400(Lcom/android/server/WiredAccessoryManager;)Ljava/lang/Object;
 HSPLcom/android/server/WiredAccessoryManager;->access$500()Ljava/lang/String;
 HSPLcom/android/server/WiredAccessoryManager;->access$600(Lcom/android/server/WiredAccessoryManager;)Z
 PLcom/android/server/WiredAccessoryManager;->notifyWiredAccessoryChanged(JII)V
@@ -4807,6 +5103,7 @@
 PLcom/android/server/accessibility/-$$Lambda$AbiCM6mjSOPpIPMT9CFGL4UAcKY;-><init>()V
 PLcom/android/server/accessibility/-$$Lambda$AbiCM6mjSOPpIPMT9CFGL4UAcKY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$49HMbWlhAK8DBFFzhu5wH_-EQaM;-><init>(Ljava/lang/String;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$49HMbWlhAK8DBFFzhu5wH_-EQaM;->test(Ljava/lang/Object;)Z
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$J4pGG-UiTxhxH1VLNWBa7KLTh48;-><init>(Ljava/lang/String;)V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$J4pGG-UiTxhxH1VLNWBa7KLTh48;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$4A2E7YnYuU3-mDj4eBvmxi8PEpA;-><clinit>()V
@@ -4853,6 +5150,7 @@
 HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$ifdWn5KwwehtrFVplnBr1oDsgh8;->acceptOrThrow(Ljava/lang/Object;)V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$j2QeVWedl6n56ZCByHdIyOcYsHw;-><clinit>()V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$j2QeVWedl6n56ZCByHdIyOcYsHw;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$j2QeVWedl6n56ZCByHdIyOcYsHw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;-><clinit>()V
 HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;-><init>()V
 HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
@@ -4997,6 +5295,7 @@
 PLcom/android/server/accessibility/AccessibilityInputFilter;->resetStreamState()V
 PLcom/android/server/accessibility/AccessibilityInputFilter;->setUserAndEnabledFeatures(II)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$1;->lambda$onPackageUpdateFinished$0(Ljava/lang/String;Landroid/content/ComponentName;)Z
 PLcom/android/server/accessibility/AccessibilityManagerService$1;->lambda$onPackageUpdateFinished$1(Ljava/lang/String;Landroid/content/ComponentName;)Z
 PLcom/android/server/accessibility/AccessibilityManagerService$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
 HSPLcom/android/server/accessibility/AccessibilityManagerService$1;->onPackageRemoved(Ljava/lang/String;I)V
@@ -5071,6 +5370,7 @@
 HPLcom/android/server/accessibility/AccessibilityManagerService;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
 PLcom/android/server/accessibility/AccessibilityManagerService;->announceNewUserIfNeeded()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->associateEmbeddedHierarchy(Landroid/os/IBinder;Landroid/os/IBinder;)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->broadcastToClients(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/function/Consumer;)V
 PLcom/android/server/accessibility/AccessibilityManagerService;->canRequestAndRequestsTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityServiceConnection;Lcom/android/server/accessibility/AccessibilityUserState;)Z
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
@@ -5092,6 +5392,7 @@
 PLcom/android/server/accessibility/AccessibilityManagerService;->getPendingIntentActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillisLocked(Lcom/android/server/accessibility/AccessibilityUserState;)J
+PLcom/android/server/accessibility/AccessibilityManagerService;->getSystemActionPerformer()Lcom/android/server/accessibility/SystemActionPerformer;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityUserState;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->getUserStateLocked(I)Lcom/android/server/accessibility/AccessibilityUserState;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->getValidDisplayList()Ljava/util/ArrayList;
@@ -5115,6 +5416,7 @@
 HPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$readComponentNamesFromSettingLocked$2(Ljava/lang/String;)Landroid/content/ComponentName;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$sendStateToClients$5(ILandroid/view/accessibility/IAccessibilityManagerClient;)V
 PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateAccessibilityButtonTargetsLocked$11(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/lang/String;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateAccessibilityShortcutKeyTargetsLocked$10(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateAccessibilityShortcutKeyTargetsLocked$9(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/lang/String;)Z
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$1$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityUserState;)V
@@ -5188,7 +5490,7 @@
 PLcom/android/server/accessibility/AccessibilityManagerService;->showAccessibilityTargetsSelection(II)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
 PLcom/android/server/accessibility/AccessibilityManagerService;->unlockUser(I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->unregisterSystemAction(I)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->unregisterSystemAction(I)V
 PLcom/android/server/accessibility/AccessibilityManagerService;->unregisterUiTestAutomationService(Landroid/accessibilityservice/IAccessibilityServiceClient;)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
 HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
@@ -5349,6 +5651,8 @@
 PLcom/android/server/accessibility/AccessibilityWindowManager;->access$900(Lcom/android/server/accessibility/AccessibilityWindowManager;)Z
 HPLcom/android/server/accessibility/AccessibilityWindowManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/os/IBinder;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
 HPLcom/android/server/accessibility/AccessibilityWindowManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
+PLcom/android/server/accessibility/AccessibilityWindowManager;->associateEmbeddedHierarchyLocked(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->associateLocked(Landroid/os/IBinder;Landroid/os/IBinder;)V
 PLcom/android/server/accessibility/AccessibilityWindowManager;->clearAccessibilityFocusLocked(I)V
 HPLcom/android/server/accessibility/AccessibilityWindowManager;->clearAccessibilityFocusMainThread(II)V
 HPLcom/android/server/accessibility/AccessibilityWindowManager;->computePartialInteractiveRegionForWindowLocked(ILandroid/graphics/Region;)Z
@@ -5506,9 +5810,9 @@
 HPLcom/android/server/accessibility/MagnificationController$ControllerContext;->getAms()Lcom/android/server/accessibility/AccessibilityManagerService;
 PLcom/android/server/accessibility/MagnificationController$ControllerContext;->getAnimationDuration()J
 PLcom/android/server/accessibility/MagnificationController$ControllerContext;->getContext()Landroid/content/Context;
-PLcom/android/server/accessibility/MagnificationController$ControllerContext;->getHandler()Landroid/os/Handler;
+HPLcom/android/server/accessibility/MagnificationController$ControllerContext;->getHandler()Landroid/os/Handler;
 PLcom/android/server/accessibility/MagnificationController$ControllerContext;->getMagnificationScale(I)F
-PLcom/android/server/accessibility/MagnificationController$ControllerContext;->getWindowManager()Lcom/android/server/wm/WindowManagerInternal;
+HPLcom/android/server/accessibility/MagnificationController$ControllerContext;->getWindowManager()Lcom/android/server/wm/WindowManagerInternal;
 PLcom/android/server/accessibility/MagnificationController$ControllerContext;->newValueAnimator()Landroid/animation/ValueAnimator;
 PLcom/android/server/accessibility/MagnificationController$ControllerContext;->putMagnificationScale(FI)V
 PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;-><init>(Lcom/android/server/accessibility/MagnificationController;I)V
@@ -5527,7 +5831,7 @@
 PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->getSentOffsetX()F
 PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->getSentOffsetY()F
 PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->getSentScale()F
-PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->isMagnifying()Z
+HPLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->isMagnifying()Z
 PLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->isRegistered()Z
 HPLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->magnificationRegionContains(FF)Z
 HPLcom/android/server/accessibility/MagnificationController$DisplayMagnification;->offsetMagnifiedRegion(FFI)V
@@ -5601,7 +5905,7 @@
 HSPLcom/android/server/accessibility/SystemActionPerformer;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;Ljava/util/function/Supplier;Lcom/android/server/accessibility/SystemActionPerformer$SystemActionsChangedListener;)V
 PLcom/android/server/accessibility/SystemActionPerformer;->performSystemAction(I)Z
 HPLcom/android/server/accessibility/SystemActionPerformer;->registerSystemAction(ILandroid/app/RemoteAction;)V
-PLcom/android/server/accessibility/SystemActionPerformer;->unregisterSystemAction(I)V
+HPLcom/android/server/accessibility/SystemActionPerformer;->unregisterSystemAction(I)V
 HSPLcom/android/server/accessibility/UiAutomationManager$1;-><init>(Lcom/android/server/accessibility/UiAutomationManager;)V
 PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;-><init>(Lcom/android/server/accessibility/UiAutomationManager;Landroid/content/Context;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/SystemActionPerformer;Lcom/android/server/accessibility/AccessibilityWindowManager;)V
 PLcom/android/server/accessibility/UiAutomationManager$UiAutomationService;->connectServiceUnknownThread()V
@@ -5669,6 +5973,7 @@
 PLcom/android/server/accessibility/gestures/GestureUtils;->isTimedOut(Landroid/view/MotionEvent;Landroid/view/MotionEvent;I)Z
 PLcom/android/server/accessibility/gestures/MultiFingerMultiTap;-><init>(Landroid/content/Context;IIILcom/android/server/accessibility/gestures/GestureMatcher$StateChangeListener;)V
 PLcom/android/server/accessibility/gestures/MultiFingerMultiTap;->clear()V
+PLcom/android/server/accessibility/gestures/MultiFingerMultiTapAndHold;-><init>(Landroid/content/Context;IIILcom/android/server/accessibility/gestures/GestureMatcher$StateChangeListener;)V
 PLcom/android/server/accessibility/gestures/MultiFingerSwipe;-><init>(Landroid/content/Context;IIILcom/android/server/accessibility/gestures/GestureMatcher$StateChangeListener;)V
 PLcom/android/server/accessibility/gestures/MultiFingerSwipe;->clear()V
 PLcom/android/server/accessibility/gestures/MultiTap;-><init>(Landroid/content/Context;IILcom/android/server/accessibility/gestures/GestureMatcher$StateChangeListener;)V
@@ -5712,6 +6017,7 @@
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendAccessibilityEventDelayed;->run()V
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;-><init>(Lcom/android/server/accessibility/gestures/TouchExplorer;)V
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->access$100(Lcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;)Z
+HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->access$200(Lcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;)Z
 HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->addEvent(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V
 HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->cancel()V
 HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->clear()V
@@ -5719,6 +6025,7 @@
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->post(Landroid/view/MotionEvent;Landroid/view/MotionEvent;II)V
 HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverEnterAndMoveDelayed;->run()V
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;-><init>(Lcom/android/server/accessibility/gestures/TouchExplorer;)V
+PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;->access$100(Lcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;)Z
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;->cancel()V
 PLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;->clear()V
 HPLcom/android/server/accessibility/gestures/TouchExplorer$SendHoverExitDelayed;->isPending()Z
@@ -5727,10 +6034,14 @@
 PLcom/android/server/accessibility/gestures/TouchExplorer;-><init>(Landroid/content/Context;Lcom/android/server/accessibility/AccessibilityManagerService;)V
 PLcom/android/server/accessibility/gestures/TouchExplorer;-><init>(Landroid/content/Context;Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/gestures/GestureManifold;)V
 PLcom/android/server/accessibility/gestures/TouchExplorer;->access$200(Lcom/android/server/accessibility/gestures/TouchExplorer;)Landroid/os/Handler;
+HPLcom/android/server/accessibility/gestures/TouchExplorer;->access$300(Lcom/android/server/accessibility/gestures/TouchExplorer;)Landroid/os/Handler;
 PLcom/android/server/accessibility/gestures/TouchExplorer;->access$300(Lcom/android/server/accessibility/gestures/TouchExplorer;)Lcom/android/server/accessibility/gestures/EventDispatcher;
+PLcom/android/server/accessibility/gestures/TouchExplorer;->access$400(Lcom/android/server/accessibility/gestures/TouchExplorer;)Lcom/android/server/accessibility/gestures/EventDispatcher;
 PLcom/android/server/accessibility/gestures/TouchExplorer;->access$500(Lcom/android/server/accessibility/gestures/TouchExplorer;)I
+PLcom/android/server/accessibility/gestures/TouchExplorer;->access$600(Lcom/android/server/accessibility/gestures/TouchExplorer;)I
 PLcom/android/server/accessibility/gestures/TouchExplorer;->access$600(Lcom/android/server/accessibility/gestures/TouchExplorer;)Lcom/android/server/accessibility/gestures/TouchExplorer$SendAccessibilityEventDelayed;
 PLcom/android/server/accessibility/gestures/TouchExplorer;->access$700(Lcom/android/server/accessibility/gestures/TouchExplorer;)Lcom/android/server/accessibility/gestures/TouchExplorer$SendAccessibilityEventDelayed;
+PLcom/android/server/accessibility/gestures/TouchExplorer;->access$800(Lcom/android/server/accessibility/gestures/TouchExplorer;)Lcom/android/server/accessibility/gestures/TouchExplorer$SendAccessibilityEventDelayed;
 HPLcom/android/server/accessibility/gestures/TouchExplorer;->adjustEventLocationForDrag(Landroid/view/MotionEvent;)V
 PLcom/android/server/accessibility/gestures/TouchExplorer;->clear()V
 PLcom/android/server/accessibility/gestures/TouchExplorer;->clearEvents(I)V
@@ -5756,7 +6067,9 @@
 HPLcom/android/server/accessibility/gestures/TouchExplorer;->onMotionEvent(Landroid/view/MotionEvent;Landroid/view/MotionEvent;I)V
 PLcom/android/server/accessibility/gestures/TouchExplorer;->sendHoverExitAndTouchExplorationGestureEndIfNeeded(I)V
 HPLcom/android/server/accessibility/gestures/TouchExplorer;->sendTouchExplorationGestureStartAndHoverEnterIfNeeded(I)V
+PLcom/android/server/accessibility/gestures/TouchExplorer;->sendsPendingA11yEventsIfNeed()V
 PLcom/android/server/accessibility/gestures/TouchExplorer;->setNext(Lcom/android/server/accessibility/EventStreamTransformation;)V
+HPLcom/android/server/accessibility/gestures/TouchExplorer;->shouldPerformGestureDetection(Landroid/view/MotionEvent;)Z
 HPLcom/android/server/accessibility/gestures/TouchState$PointerDownInfo;-><init>(Lcom/android/server/accessibility/gestures/TouchState;)V
 PLcom/android/server/accessibility/gestures/TouchState$PointerDownInfo;->access$000(Lcom/android/server/accessibility/gestures/TouchState$PointerDownInfo;)F
 PLcom/android/server/accessibility/gestures/TouchState$PointerDownInfo;->access$100(Lcom/android/server/accessibility/gestures/TouchState$PointerDownInfo;)F
@@ -6034,6 +6347,7 @@
 HSPLcom/android/server/accounts/AccountManagerService;->lambda$new$0$AccountManagerService(I)V
 PLcom/android/server/accounts/AccountManagerService;->lambda$onUnlockUser$1$AccountManagerService(I)V
 PLcom/android/server/accounts/AccountManagerService;->lambda$removeAccountInternal$2$AccountManagerService(Landroid/accounts/Account;I)V
+PLcom/android/server/accounts/AccountManagerService;->logRecord(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->logRecord(Ljava/lang/String;Ljava/lang/String;JLcom/android/server/accounts/AccountManagerService$UserAccounts;)V
 PLcom/android/server/accounts/AccountManagerService;->logRecord(Ljava/lang/String;Ljava/lang/String;JLcom/android/server/accounts/AccountManagerService$UserAccounts;I)V
 PLcom/android/server/accounts/AccountManagerService;->logRecordWithUid(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;I)V
@@ -6194,6 +6508,9 @@
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$eYI_FNtHA7A5dnyLFnC4mhwBDEo;-><clinit>()V
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$eYI_FNtHA7A5dnyLFnC4mhwBDEo;-><init>()V
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$eYI_FNtHA7A5dnyLFnC4mhwBDEo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$jgrEiL2yPVkymVh0sKSMHbmTnmY;-><clinit>()V
+PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$jgrEiL2yPVkymVh0sKSMHbmTnmY;-><init>()V
+PLcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$jgrEiL2yPVkymVh0sKSMHbmTnmY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbSettingsObserver$RoyT5Mqx9S17cRYS-VTdgg8I7zc;-><clinit>()V
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbSettingsObserver$RoyT5Mqx9S17cRYS-VTdgg8I7zc;-><init>()V
 PLcom/android/server/adb/-$$Lambda$AdbService$AdbSettingsObserver$RoyT5Mqx9S17cRYS-VTdgg8I7zc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -6204,16 +6521,24 @@
 PLcom/android/server/adb/-$$Lambda$snZvZtOkSiN_ZXrW9Ua-AMDz9HU;-><init>()V
 PLcom/android/server/adb/-$$Lambda$snZvZtOkSiN_ZXrW9Ua-AMDz9HU;->accept(Ljava/lang/Object;)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;-><init>(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;->getBSSID()Ljava/lang/String;
+PLcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;->getSSID()Ljava/lang/String;
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$1;-><init>(Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;)V
 HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$1;-><init>(Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;Landroid/os/Handler;)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$2;-><init>(Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;Landroid/os/Handler;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$2;->onChange(ZLandroid/net/Uri;)V
 HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;-><init>(Lcom/android/server/adb/AdbDebuggingManager;Landroid/os/Looper;)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->cancelJobToUpdateAdbKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->getCurrentWifiApInfo()Lcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->logAdbConnectionChanged(Ljava/lang/String;IZ)V
+HPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->logAdbConnectionChanged(Ljava/lang/String;IZ)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->registerForAuthTimeChanges()V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->scheduleJobToUpdateAdbKeyStore()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->sendServerConnectionState(ZI)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->startAdbDebuggingThread()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->stopAdbDebuggingThread()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->verifyWifiNetwork(Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->closeSocketLocked()V
 PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->listenToSocket()V
@@ -6235,6 +6560,7 @@
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->init()V
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->initKeyFile()V
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->isEmpty()Z
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->isTrustedNetwork(Ljava/lang/String;)Z
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->persistKeyStore()V
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->setLastConnectionTime(Ljava/lang/String;J)V
 PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->setLastConnectionTime(Ljava/lang/String;JZ)V
@@ -6245,13 +6571,19 @@
 PLcom/android/server/adb/AdbDebuggingManager;->access$000(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/os/Handler;
 PLcom/android/server/adb/AdbDebuggingManager;->access$100(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/os/Handler;
 PLcom/android/server/adb/AdbDebuggingManager;->access$100(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
+PLcom/android/server/adb/AdbDebuggingManager;->access$1000(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/lang/String;
 PLcom/android/server/adb/AdbDebuggingManager;->access$1000(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager;->access$1002(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/adb/AdbDebuggingManager;->access$102(Lcom/android/server/adb/AdbDebuggingManager;Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
 PLcom/android/server/adb/AdbDebuggingManager;->access$1100(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;)V
+PLcom/android/server/adb/AdbDebuggingManager;->access$1100(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$1200(Lcom/android/server/adb/AdbDebuggingManager;)Z
+PLcom/android/server/adb/AdbDebuggingManager;->access$1700(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$1800(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/Iterable;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$1900(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager;->access$200(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/content/ContentResolver;
 PLcom/android/server/adb/AdbDebuggingManager;->access$200(Lcom/android/server/adb/AdbDebuggingManager;)Z
+PLcom/android/server/adb/AdbDebuggingManager;->access$2000(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$202(Lcom/android/server/adb/AdbDebuggingManager;Z)Z
 PLcom/android/server/adb/AdbDebuggingManager;->access$300(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/util/List;
 PLcom/android/server/adb/AdbDebuggingManager;->access$400(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
@@ -6262,17 +6594,20 @@
 PLcom/android/server/adb/AdbDebuggingManager;->access$600(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/lang/String;
 PLcom/android/server/adb/AdbDebuggingManager;->access$600(Lcom/android/server/adb/AdbDebuggingManager;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$602(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/adb/AdbDebuggingManager;->access$700(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/util/Set;
 PLcom/android/server/adb/AdbDebuggingManager;->access$700(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->access$800(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/content/Context;
 PLcom/android/server/adb/AdbDebuggingManager;->access$800(Lcom/android/server/adb/AdbDebuggingManager;)Z
 PLcom/android/server/adb/AdbDebuggingManager;->access$802(Lcom/android/server/adb/AdbDebuggingManager;Z)Z
 PLcom/android/server/adb/AdbDebuggingManager;->access$900(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/Iterable;)V
+PLcom/android/server/adb/AdbDebuggingManager;->access$900(Lcom/android/server/adb/AdbDebuggingManager;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/adb/AdbDebuggingManager;->allowDebugging(ZLjava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->clearDebuggingKeys()V
 PLcom/android/server/adb/AdbDebuggingManager;->createConfirmationIntent(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/adb/AdbDebuggingManager;->createConfirmationIntent(Landroid/content/ComponentName;Ljava/util/List;)Landroid/content/Intent;
 PLcom/android/server/adb/AdbDebuggingManager;->deleteKeyFile()V
 PLcom/android/server/adb/AdbDebuggingManager;->denyDebugging()V
+PLcom/android/server/adb/AdbDebuggingManager;->denyWirelessDebugging()V
 PLcom/android/server/adb/AdbDebuggingManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
 PLcom/android/server/adb/AdbDebuggingManager;->getAdbFile(Ljava/lang/String;)Ljava/io/File;
 PLcom/android/server/adb/AdbDebuggingManager;->getAdbTempKeysFile()Ljava/io/File;
@@ -6285,6 +6620,7 @@
 PLcom/android/server/adb/AdbDebuggingManager;->startConfirmationActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/adb/AdbDebuggingManager;->startConfirmationActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Ljava/util/List;)Z
 PLcom/android/server/adb/AdbDebuggingManager;->startConfirmationForKey(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/adb/AdbDebuggingManager;->startConfirmationForNetwork(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->writeKey(Ljava/lang/String;)V
 PLcom/android/server/adb/AdbDebuggingManager;->writeKeys(Ljava/lang/Iterable;)V
 PLcom/android/server/adb/AdbService$AdbConnectionPortListener;-><init>(Lcom/android/server/adb/AdbService;)V
@@ -6297,8 +6633,10 @@
 HSPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled()Z
 HSPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled(B)Z
 PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->lambda$startAdbdForTransport$0(Ljava/lang/Object;ZB)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->lambda$stopAdbdForTransport$1(Ljava/lang/Object;ZB)V
 HSPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->registerTransport(Landroid/debug/IAdbTransport;)V
 PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->startAdbdForTransport(B)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->stopAdbdForTransport(B)V
 HSPLcom/android/server/adb/AdbService$AdbSettingsObserver;-><init>(Lcom/android/server/adb/AdbService;)V
 PLcom/android/server/adb/AdbService$AdbSettingsObserver;->lambda$onChange$0(Ljava/lang/Object;ZB)V
 PLcom/android/server/adb/AdbService$AdbSettingsObserver;->lambda$onChange$1(Ljava/lang/Object;ZB)V
@@ -6326,13 +6664,16 @@
 PLcom/android/server/adb/AdbService;->clearDebuggingKeys()V
 HSPLcom/android/server/adb/AdbService;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/adb/AdbService;->denyDebugging()V
+PLcom/android/server/adb/AdbService;->denyWirelessDebugging()V
 PLcom/android/server/adb/AdbService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HSPLcom/android/server/adb/AdbService;->initAdbState()V
-PLcom/android/server/adb/AdbService;->isAdbWifiSupported()Z
+HPLcom/android/server/adb/AdbService;->isAdbWifiQrSupported()Z
+HPLcom/android/server/adb/AdbService;->isAdbWifiSupported()Z
 HSPLcom/android/server/adb/AdbService;->setAdbEnabled(Z)V
 PLcom/android/server/adb/AdbService;->setAdbEnabled(ZB)V
 PLcom/android/server/adb/AdbService;->setAdbdEnabledForTransport(ZB)V
 PLcom/android/server/adb/AdbService;->startAdbd()V
+PLcom/android/server/adb/AdbService;->stopAdbd()V
 HSPLcom/android/server/adb/AdbService;->systemReady()V
 PLcom/android/server/am/-$$Lambda$1WA8m3qLmGLM_p471nun2GeoDvg;-><clinit>()V
 PLcom/android/server/am/-$$Lambda$1WA8m3qLmGLM_p471nun2GeoDvg;-><init>()V
@@ -6345,6 +6686,7 @@
 PLcom/android/server/am/-$$Lambda$ActiveServices$0WENDXD5vmtSS6wlQjMNWJNWoHA;-><init>(Lcom/android/server/am/ActiveServices;Ljava/lang/String;)V
 PLcom/android/server/am/-$$Lambda$ActiveServices$0WENDXD5vmtSS6wlQjMNWJNWoHA;->run()V
 HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$2afaFERxNQEnSdevJxY5plp1fS4;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$2afaFERxNQEnSdevJxY5plp1fS4;->run()V
 PLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;-><clinit>()V
 PLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;-><init>()V
 HPLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
@@ -6382,14 +6724,26 @@
 HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$AppExitInfoContainer$UGYjMlfjNQLNoNs9jB0lra88GDI;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$AppExitInfoContainer$UJh7jNVpjR6lqMYBGte4jdTlSE0;-><clinit>()V
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$AppExitInfoContainer$UJh7jNVpjR6lqMYBGte4jdTlSE0;-><init>()V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$Du2pQ0u67kwpa3kgguj5fWqQfXM;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$IvsxxpH-tYhqZSARqXULzKdbmW4;-><clinit>()V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$IvsxxpH-tYhqZSARqXULzKdbmW4;-><init>()V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$IvsxxpH-tYhqZSARqXULzKdbmW4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$JduFGZz0nH2A0BHWR2JObNY-HIA;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$JduFGZz0nH2A0BHWR2JObNY-HIA;->accept(Ljava/io/File;)Z
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$M7pmR3pU58DetrzQsI3M2-go5XU;-><init>(Landroid/util/proto/ProtoOutputStream;)V
 HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$M7pmR3pU58DetrzQsI3M2-go5XU;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$Q3GtkIfPxcC3Upjekif3W0ekKvY;-><init>(Landroid/util/ArraySet;)V
+HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$Q3GtkIfPxcC3Upjekif3W0ekKvY;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$UhdolDh03szrz0tHY4ggJ2c_9IQ;-><init>(I)V
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$UhdolDh03szrz0tHY4ggJ2c_9IQ;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$Yc6vluAEWPBi2TSflPrFu351ztU;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
 HSPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$Yc6vluAEWPBi2TSflPrFu351ztU;->run()V
 HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$e3RqpmVvDTV44W327x1Bbxd4Iqc;-><init>(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;)V
 HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$e3RqpmVvDTV44W327x1Bbxd4Iqc;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$pGj1RV5EdCXTSGnbNiqDUSduYTk;-><init>(Landroid/util/ArraySet;)V
+PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$pGj1RV5EdCXTSGnbNiqDUSduYTk;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$xUd65bpeb_3cGXv8w6rHG0fu89U;-><init>(Lcom/android/server/am/AppExitInfoTracker;ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;)V
+HPLcom/android/server/am/-$$Lambda$AppExitInfoTracker$xUd65bpeb_3cGXv8w6rHG0fu89U;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$ykvdMbwZILd9oyb6cyIe3GfomwU;-><init>(Lcom/android/server/am/AppExitInfoTracker;Ljava/io/PrintWriter;Landroid/icu/text/SimpleDateFormat;)V
 PLcom/android/server/am/-$$Lambda$AppExitInfoTracker$ykvdMbwZILd9oyb6cyIe3GfomwU;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$MJXTdtPzBwRCdTjCDCE77VXPHBk;-><init>(Landroid/os/SynchronousResultReceiver;)V
@@ -6488,6 +6842,11 @@
 PLcom/android/server/am/-$$Lambda$UserController$fU2mcMYCcCOsyUuGHKIUB-nSo1Y;->run()V
 PLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;-><init>(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
 PLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;->run()V
+PLcom/android/server/am/-$$Lambda$VSkN0NYXfJkOHZPqzFU-0f4s4R4;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
+PLcom/android/server/am/-$$Lambda$VSkN0NYXfJkOHZPqzFU-0f4s4R4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;-><clinit>()V
+PLcom/android/server/am/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;-><init>()V
+PLcom/android/server/am/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;->get()Ljava/lang/Object;
 PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;-><clinit>()V
 PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;-><init>()V
 HPLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;->apply(Ljava/lang/Object;)Ljava/lang/Object;
@@ -6516,16 +6875,17 @@
 PLcom/android/server/am/ActiveServices$AppOpCallback;-><clinit>()V
 HPLcom/android/server/am/ActiveServices$AppOpCallback;-><init>(Lcom/android/server/am/ProcessRecord;Landroid/app/AppOpsManager;)V
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->access$000(Lcom/android/server/am/ActiveServices$AppOpCallback;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActiveServices$AppOpCallback;->access$100(Lcom/android/server/am/ActiveServices$AppOpCallback;)Z
-PLcom/android/server/am/ActiveServices$AppOpCallback;->access$200(Lcom/android/server/am/ActiveServices$AppOpCallback;IZ)V
+HPLcom/android/server/am/ActiveServices$AppOpCallback;->access$100(Lcom/android/server/am/ActiveServices$AppOpCallback;)Z
+HPLcom/android/server/am/ActiveServices$AppOpCallback;->access$200(Lcom/android/server/am/ActiveServices$AppOpCallback;IZ)V
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->incrementOpCount(IZ)V
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->isNotTop()Z
-PLcom/android/server/am/ActiveServices$AppOpCallback;->isObsoleteLocked()Z
+HPLcom/android/server/am/ActiveServices$AppOpCallback;->isObsoleteLocked()Z
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->logFinalValues()V
 PLcom/android/server/am/ActiveServices$AppOpCallback;->modeToEnum(I)I
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->registerLocked()V
 HPLcom/android/server/am/ActiveServices$AppOpCallback;->unregisterLocked()V
 HSPLcom/android/server/am/ActiveServices$ForcedStandbyListener;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$ForcedStandbyListener;->stopForegroundServicesForUidPackage(ILjava/lang/String;)V
 HSPLcom/android/server/am/ActiveServices$ServiceDumper;-><init>(Lcom/android/server/am/ActiveServices;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
 HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpHeaderLocked()V
 HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpLocked()V
@@ -6545,6 +6905,7 @@
 HSPLcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 HSPLcom/android/server/am/ActiveServices;->access$200(Lcom/android/server/am/ActiveServices;I)Lcom/android/server/am/ActiveServices$ServiceMap;
 PLcom/android/server/am/ActiveServices;->access$300(I)I
+PLcom/android/server/am/ActiveServices;->access$500(Lcom/android/server/am/ActiveServices;I)Lcom/android/server/am/ActiveServices$ServiceMap;
 PLcom/android/server/am/ActiveServices;->access$600(Lcom/android/server/am/ActiveServices;I)Lcom/android/server/am/ActiveServices$ServiceMap;
 HSPLcom/android/server/am/ActiveServices;->appIsTopLocked(I)Z
 HSPLcom/android/server/am/ActiveServices;->appRestrictedAnyInBackground(ILjava/lang/String;)Z
@@ -6611,7 +6972,7 @@
 HSPLcom/android/server/am/ActiveServices;->shouldAllowWhileInUsePermissionInFgsLocked(Ljava/lang/String;ILandroid/content/Intent;Lcom/android/server/am/ServiceRecord;Z)Z
 HPLcom/android/server/am/ActiveServices;->showWhileInUseDebugNotificationLocked(III)V
 HPLcom/android/server/am/ActiveServices;->showWhileInUseDebugToastLocked(III)V
-PLcom/android/server/am/ActiveServices;->showWhileInUsePermissionInFgsBlockedNotificationLocked(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActiveServices;->showWhileInUsePermissionInFgsBlockedNotificationLocked(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/am/ActiveServices;->showWhileInUsePermissionInFgsBlockedToastLocked(Ljava/lang/String;)V
 HSPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZ)Landroid/content/ComponentName;
 HSPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;I)Landroid/content/ComponentName;
@@ -6672,41 +7033,58 @@
 PLcom/android/server/am/ActivityManagerService$11;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 PLcom/android/server/am/ActivityManagerService$11;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 HPLcom/android/server/am/ActivityManagerService$12;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$13;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/ComponentName;Landroid/os/IBinder;)V
 PLcom/android/server/am/ActivityManagerService$13;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
 PLcom/android/server/am/ActivityManagerService$13;->run()V
 PLcom/android/server/am/ActivityManagerService$14;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLcom/android/server/am/ActivityManagerService$15;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLcom/android/server/am/ActivityManagerService$15;->run()V
+PLcom/android/server/am/ActivityManagerService$16;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$16;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 PLcom/android/server/am/ActivityManagerService$17;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$17;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerService$17;->onChange(Z)V
 PLcom/android/server/am/ActivityManagerService$17;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 HSPLcom/android/server/am/ActivityManagerService$18;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$18;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
 HSPLcom/android/server/am/ActivityManagerService$18;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HPLcom/android/server/am/ActivityManagerService$18;->run()V
 PLcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
 PLcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Landroid/content/Context;)V
+HPLcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
 PLcom/android/server/am/ActivityManagerService$19;->onChange(Z)V
-PLcom/android/server/am/ActivityManagerService$19;->run()V
+HPLcom/android/server/am/ActivityManagerService$19;->run()V
 HSPLcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 PLcom/android/server/am/ActivityManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
 PLcom/android/server/am/ActivityManagerService$1;->dumpCritical(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
 PLcom/android/server/am/ActivityManagerService$1;->dumpNormal(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
+PLcom/android/server/am/ActivityManagerService$20;-><init>()V
 HSPLcom/android/server/am/ActivityManagerService$20;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
 HSPLcom/android/server/am/ActivityManagerService$20;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
+HPLcom/android/server/am/ActivityManagerService$20;->compare(Landroid/util/Pair;Landroid/util/Pair;)I
+HPLcom/android/server/am/ActivityManagerService$20;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/am/ActivityManagerService$20;->run()V
 HSPLcom/android/server/am/ActivityManagerService$21;-><init>()V
 HSPLcom/android/server/am/ActivityManagerService$21;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
+PLcom/android/server/am/ActivityManagerService$21;-><init>(Z)V
 HSPLcom/android/server/am/ActivityManagerService$21;->compare(Landroid/util/Pair;Landroid/util/Pair;)I
+HPLcom/android/server/am/ActivityManagerService$21;->compare(Lcom/android/server/am/ActivityManagerService$MemItem;Lcom/android/server/am/ActivityManagerService$MemItem;)I
 HSPLcom/android/server/am/ActivityManagerService$21;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/am/ActivityManagerService$21;->run()V
 PLcom/android/server/am/ActivityManagerService$22;-><init>()V
+PLcom/android/server/am/ActivityManagerService$22;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 PLcom/android/server/am/ActivityManagerService$22;-><init>(Z)V
 HPLcom/android/server/am/ActivityManagerService$22;->compare(Landroid/util/Pair;Landroid/util/Pair;)I
 PLcom/android/server/am/ActivityManagerService$22;->compare(Lcom/android/server/am/ActivityManagerService$MemItem;Lcom/android/server/am/ActivityManagerService$MemItem;)I
+HPLcom/android/server/am/ActivityManagerService$22;->compare(Lcom/android/server/am/ProcessMemInfo;Lcom/android/server/am/ProcessMemInfo;)I
 HPLcom/android/server/am/ActivityManagerService$22;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/am/ActivityManagerService$23;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$23;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
 HPLcom/android/server/am/ActivityManagerService$23;-><init>(Z)V
 HPLcom/android/server/am/ActivityManagerService$23;->compare(Lcom/android/server/am/ActivityManagerService$MemItem;Lcom/android/server/am/ActivityManagerService$MemItem;)I
 HSPLcom/android/server/am/ActivityManagerService$23;->compare(Lcom/android/server/am/ProcessMemInfo;Lcom/android/server/am/ProcessMemInfo;)I
 HSPLcom/android/server/am/ActivityManagerService$23;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/am/ActivityManagerService$23;->run()V
 PLcom/android/server/am/ActivityManagerService$24;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 HPLcom/android/server/am/ActivityManagerService$24;->compare(Lcom/android/server/am/ProcessMemInfo;Lcom/android/server/am/ProcessMemInfo;)I
 HPLcom/android/server/am/ActivityManagerService$24;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
@@ -6740,6 +7118,7 @@
 HPLcom/android/server/am/ActivityManagerService$5;->handleMessage(Landroid/os/Message;)V
 HPLcom/android/server/am/ActivityManagerService$5;->lambda$handleMessage$0(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
 HSPLcom/android/server/am/ActivityManagerService$6;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$6;->opChanged(IILjava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService$7;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService$7;->run()V
 PLcom/android/server/am/ActivityManagerService$8;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;IZIILandroid/content/pm/IPackageDataObserver;)V
@@ -6792,6 +7171,7 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 HPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastCloseSystemDialogs(Ljava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastGlobalConfigurationChanged(IZ)V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntent(Landroid/content/Intent;Landroid/content/IIntentReceiver;[Ljava/lang/String;ZI[I)I
 HPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
 HPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
@@ -6809,6 +7189,7 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentProfileIds()[I
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I
 HPLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryStateForProcesses()Ljava/util/List;
+PLcom/android/server/am/ActivityManagerService$LocalService;->getProcessesWithPendingBindMounts(I)Ljava/util/Map;
 HPLcom/android/server/am/ActivityManagerService$LocalService;->getTaskIdForActivity(Landroid/os/IBinder;Z)I
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
 HPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
@@ -6822,6 +7203,7 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z
 HPLcom/android/server/am/ActivityManagerService$LocalService;->isCurrentProfile(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isDeviceOwner(I)Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isRuntimeRestarted()Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isSplitConfigurationChange(I)Z
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
@@ -6845,6 +7227,7 @@
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->setBooting(Z)V
 PLcom/android/server/am/ActivityManagerService$LocalService;->setDebugFlagsForStartingActivity(Landroid/content/pm/ActivityInfo;ILandroid/app/ProfilerInfo;Ljava/lang/Object;)V
 HSPLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleWhitelist([I[I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceOwnerUid(I)V
 HPLcom/android/server/am/ActivityManagerService$LocalService;->setHasOverlayUi(IZ)V
 HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V
 HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
@@ -6913,6 +7296,13 @@
 HSPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfilerInfo()Landroid/app/ProfilerInfo;
 PLcom/android/server/am/ActivityManagerService$RecordPssRunnable;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;Landroid/net/Uri;Landroid/content/ContentResolver;)V
 PLcom/android/server/am/ActivityManagerService$RecordPssRunnable;->run()V
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;I[Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->checkOperation(IILjava/lang/String;ZLcom/android/internal/util/function/QuadFunction;)I
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->checkPermission(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/util/function/TriFunction;)I
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->checkUidPermission(Ljava/lang/String;ILjava/util/function/BiFunction;)I
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->isTargetOp(I)Z
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->isTargetPermission(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService$ShellDelegate;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;Lcom/android/internal/util/function/HexFunction;)I
 HSPLcom/android/server/am/ActivityManagerService$UiHandler;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 HSPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/am/ActivityManagerService$UidObserverRegistration;-><clinit>()V
@@ -6930,6 +7320,8 @@
 HPLcom/android/server/am/ActivityManagerService;->access$1600(Lcom/android/server/am/ActivityManagerService;I)Z
 HSPLcom/android/server/am/ActivityManagerService;->access$1700(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;)Z
 PLcom/android/server/am/ActivityManagerService;->access$1800(Lcom/android/server/am/ActivityManagerService;I)V
+PLcom/android/server/am/ActivityManagerService;->access$1900(Lcom/android/server/am/ActivityManagerService;)I
+PLcom/android/server/am/ActivityManagerService;->access$1902(Lcom/android/server/am/ActivityManagerService;I)I
 HSPLcom/android/server/am/ActivityManagerService;->access$200(Lcom/android/server/am/ActivityManagerService;)V
 HSPLcom/android/server/am/ActivityManagerService;->access$300(Lcom/android/server/am/ActivityManagerService;II)V
 PLcom/android/server/am/ActivityManagerService;->access$400(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
@@ -6981,6 +7373,7 @@
 HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ)I
 HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
 HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ[I)I
 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;ILandroid/os/Bundle;ZZI)I
 HSPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
 HPLcom/android/server/am/ActivityManagerService;->canClearIdentity(III)Z
@@ -7007,6 +7400,7 @@
 HPLcom/android/server/am/ActivityManagerService;->closeSystemDialogs(Ljava/lang/String;)V
 HPLcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;IZ[Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I)Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I[I)Ljava/util/List;
 HSPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
 PLcom/android/server/am/ActivityManagerService;->crashApplication(IILjava/lang/String;ILjava/lang/String;Z)V
 HPLcom/android/server/am/ActivityManagerService;->createAnrDumpFile(Ljava/io/File;)Ljava/io/File;
@@ -7050,9 +7444,11 @@
 PLcom/android/server/am/ActivityManagerService;->dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
 PLcom/android/server/am/ActivityManagerService;->dumpProviderProto(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)Z
 PLcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)Landroid/util/Pair;
 HPLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
 HPLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseArray;Ljava/util/ArrayList;)Ljava/io/File;
 HPLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseArray;Ljava/util/ArrayList;Ljava/io/StringWriter;)Ljava/io/File;
+HPLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseArray;Ljava/util/ArrayList;Ljava/io/StringWriter;[J)Ljava/io/File;
 HSPLcom/android/server/am/ActivityManagerService;->dumpUids(Ljava/io/PrintWriter;Ljava/lang/String;ILcom/android/server/am/ActiveUids;Ljava/lang/String;Z)Z
 PLcom/android/server/am/ActivityManagerService;->dumpUsersLocked(Ljava/io/PrintWriter;)V
 HSPLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
@@ -7151,6 +7547,7 @@
 HPLcom/android/server/am/ActivityManagerService;->isBackgroundRestrictedNoCheck(ILjava/lang/String;)Z
 PLcom/android/server/am/ActivityManagerService;->isCallerShell()Z
 HSPLcom/android/server/am/ActivityManagerService;->isDeviceProvisioned(Landroid/content/Context;)Z
+PLcom/android/server/am/ActivityManagerService;->isEphemeralLocked(I)Z
 PLcom/android/server/am/ActivityManagerService;->isInRestrictedBucket(ILjava/lang/String;J)Z
 HSPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
 HPLcom/android/server/am/ActivityManagerService;->isIntentSenderABroadcast(Landroid/content/IIntentSender;)Z
@@ -7165,6 +7562,7 @@
 HSPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
 HSPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z
 HSPLcom/android/server/am/ActivityManagerService;->isUidActiveLocked(I)Z
+HPLcom/android/server/am/ActivityManagerService;->isUidActiveOrForeground(ILjava/lang/String;)Z
 HPLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z
 HSPLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
 HSPLcom/android/server/am/ActivityManagerService;->isValidSingletonCall(II)Z
@@ -7177,6 +7575,7 @@
 PLcom/android/server/am/ActivityManagerService;->killPids([ILjava/lang/String;Z)Z
 HPLcom/android/server/am/ActivityManagerService;->killUid(IILjava/lang/String;)V
 HPLcom/android/server/am/ActivityManagerService;->lambda$getProviderMimeTypeAsync$1$ActivityManagerService(Ljava/lang/String;ILandroid/os/RemoteCallback;Landroid/os/Bundle;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$handleAppDiedLocked$0$ActivityManagerService(Lcom/android/server/am/ProcessRecord;)V
 HSPLcom/android/server/am/ActivityManagerService;->lambda$logStrictModeViolationToDropBox$3(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService;->lambda$logStrictModeViolationToDropBox$4(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/ActivityManagerService;->lambda$reportMemUsage$4(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
@@ -7250,6 +7649,7 @@
 HSPLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
 HPLcom/android/server/am/ActivityManagerService;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
 HSPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
+PLcom/android/server/am/ActivityManagerService;->runInBackgroundDisabled(I)V
 HSPLcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
 HSPLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
 HPLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
@@ -7283,8 +7683,10 @@
 HSPLcom/android/server/am/ActivityManagerService;->sortProcessOomList(Ljava/util/List;Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLcom/android/server/am/ActivityManagerService;->start()V
 PLcom/android/server/am/ActivityManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
+PLcom/android/server/am/ActivityManagerService;->startActivityAsUserWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
 HSPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
 HSPLcom/android/server/am/ActivityManagerService;->startBroadcastObservers()V
+PLcom/android/server/am/ActivityManagerService;->startDelegateShellPermissionIdentity(I[Ljava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->startHeapDumpLocked(Lcom/android/server/am/ProcessRecord;Z)V
 HPLcom/android/server/am/ActivityManagerService;->startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;ILjava/lang/String;)Z
 HSPLcom/android/server/am/ActivityManagerService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
@@ -7367,9 +7769,24 @@
 PLcom/android/server/am/ActivityManagerShellCommand;->runAttachAgent(Ljava/io/PrintWriter;)I
 PLcom/android/server/am/ActivityManagerShellCommand;->runDumpHeap(Ljava/io/PrintWriter;)I
 PLcom/android/server/am/ActivityManagerShellCommand;->runForceStop(Ljava/io/PrintWriter;)I
-PLcom/android/server/am/ActivityManagerShellCommand;->runGetConfig(Ljava/io/PrintWriter;)I
+HPLcom/android/server/am/ActivityManagerShellCommand;->runGetConfig(Ljava/io/PrintWriter;)I
+PLcom/android/server/am/ActivityManagerShellCommand;->runGetCurrentUser(Ljava/io/PrintWriter;)I
 PLcom/android/server/am/ActivityManagerShellCommand;->runSendBroadcast(Ljava/io/PrintWriter;)I
 PLcom/android/server/am/ActivityManagerShellCommand;->runStartActivity(Ljava/io/PrintWriter;)I
+PLcom/android/server/am/ActivityManagerShellCommand;->runStartService(Ljava/io/PrintWriter;Z)I
+PLcom/android/server/am/AnrHelper$AnrConsumerThread;-><init>(Lcom/android/server/am/AnrHelper;)V
+PLcom/android/server/am/AnrHelper$AnrConsumerThread;->next()Lcom/android/server/am/AnrHelper$AnrRecord;
+HPLcom/android/server/am/AnrHelper$AnrConsumerThread;->run()V
+PLcom/android/server/am/AnrHelper$AnrRecord;-><init>(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;)V
+PLcom/android/server/am/AnrHelper$AnrRecord;->appNotResponding(Z)V
+HSPLcom/android/server/am/AnrHelper;-><clinit>()V
+HSPLcom/android/server/am/AnrHelper;-><init>()V
+PLcom/android/server/am/AnrHelper;->access$000(Lcom/android/server/am/AnrHelper;)Ljava/util/ArrayList;
+PLcom/android/server/am/AnrHelper;->access$100()J
+PLcom/android/server/am/AnrHelper;->access$200(Lcom/android/server/am/AnrHelper;)Ljava/util/concurrent/atomic/AtomicBoolean;
+PLcom/android/server/am/AnrHelper;->appNotResponding(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+PLcom/android/server/am/AnrHelper;->appNotResponding(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;)V
+PLcom/android/server/am/AnrHelper;->startAnrConsumerIfNeeded()V
 HSPLcom/android/server/am/AppBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Lcom/android/server/am/ProcessRecord;)V
 HPLcom/android/server/am/AppBindRecord;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
@@ -7469,17 +7886,23 @@
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;-><init>(Lcom/android/server/am/AppExitInfoTracker;I)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->access$002(Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;I)I
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;)V
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->appendTraceIfNecessaryLocked(ILjava/io/File;)Z
+PLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->destroyLocked()V
 HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->dumpLocked(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/icu/text/SimpleDateFormat;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->forEachRecordLocked(Ljava/util/function/BiFunction;)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->getExitInfoLocked(IILjava/util/ArrayList;)V
 HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->lambda$dumpLocked$2(Landroid/app/ApplicationExitInfo;Landroid/app/ApplicationExitInfo;)I
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->readFromProto(Landroid/util/proto/ProtoInputStream;J)I
 HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;-><init>(Lcom/android/server/am/AppExitInfoTracker;Ljava/lang/String;Ljava/lang/Integer;)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->add(IILjava/lang/Object;)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->addLocked(IILjava/lang/Object;)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->onProcDied(IILjava/lang/Integer;)V
 HSPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->remove(II)Landroid/util/Pair;
 HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->removeByUid(IZ)V
+HPLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->removeByUidLocked(IZ)V
 PLcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;->removeByUserId(I)V
+HSPLcom/android/server/am/AppExitInfoTracker$AppTraceRetriever;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
 HSPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;-><init>(Lcom/android/server/am/AppExitInfoTracker;)V
 HSPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->addIsolatedUid(II)V
 HPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->getUidByIsolatedUid(I)Ljava/lang/Integer;
@@ -7487,21 +7910,34 @@
 PLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->removeAppUidLocked(I)V
 PLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->removeByUserId(I)V
 HSPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->removeIsolatedUid(I)I
+HPLcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;->removeIsolatedUidLocked(I)I
 HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;-><init>(Lcom/android/server/am/AppExitInfoTracker;Landroid/os/Looper;)V
 HSPLcom/android/server/am/AppExitInfoTracker$KillHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/am/AppExitInfoTracker;-><clinit>()V
 HSPLcom/android/server/am/AppExitInfoTracker;-><init>()V
+PLcom/android/server/am/AppExitInfoTracker;->access$100(Landroid/util/SparseArray;II)Ljava/lang/Object;
 HSPLcom/android/server/am/AppExitInfoTracker;->access$100(Lcom/android/server/am/AppExitInfoTracker;)Ljava/lang/Object;
 HSPLcom/android/server/am/AppExitInfoTracker;->access$200(Lcom/android/server/am/AppExitInfoTracker;)Lcom/android/server/am/ActivityManagerService;
+HPLcom/android/server/am/AppExitInfoTracker;->access$200(Lcom/android/server/am/AppExitInfoTracker;)Ljava/lang/Object;
 HSPLcom/android/server/am/AppExitInfoTracker;->access$300(J)Z
+PLcom/android/server/am/AppExitInfoTracker;->access$300(Lcom/android/server/am/AppExitInfoTracker;)Lcom/android/server/am/ActivityManagerService;
+PLcom/android/server/am/AppExitInfoTracker;->access$400(J)Z
 HSPLcom/android/server/am/AppExitInfoTracker;->access$400(Lcom/android/server/am/AppExitInfoTracker;IILjava/lang/Integer;Ljava/lang/Integer;)Z
+PLcom/android/server/am/AppExitInfoTracker;->access$500(Lcom/android/server/am/AppExitInfoTracker;IILjava/lang/Integer;Ljava/lang/Integer;)Z
 HSPLcom/android/server/am/AppExitInfoTracker;->addExitInfoInner(Ljava/lang/String;ILandroid/app/ApplicationExitInfo;)V
+HPLcom/android/server/am/AppExitInfoTracker;->addExitInfoInnerLocked(Ljava/lang/String;ILandroid/app/ApplicationExitInfo;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->addExitInfoLocked(Landroid/app/ApplicationExitInfo;)Landroid/app/ApplicationExitInfo;
+HPLcom/android/server/am/AppExitInfoTracker;->copyToGzFile(Ljava/io/File;Ljava/io/File;JJ)Z
 PLcom/android/server/am/AppExitInfoTracker;->dumpHistoryProcessExitInfo(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/am/AppExitInfoTracker;->dumpHistoryProcessExitInfoLocked(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/SparseArray;Landroid/icu/text/SimpleDateFormat;)V
+HPLcom/android/server/am/AppExitInfoTracker;->findAndRemoveFromSparse2dArray(Landroid/util/SparseArray;II)Ljava/lang/Object;
 HSPLcom/android/server/am/AppExitInfoTracker;->forEachPackage(Ljava/util/function/BiFunction;)V
+HPLcom/android/server/am/AppExitInfoTracker;->forEachPackageLocked(Ljava/util/function/BiFunction;)V
+PLcom/android/server/am/AppExitInfoTracker;->forEachSparse2dArray(Landroid/util/SparseArray;Ljava/util/function/Consumer;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfo(Ljava/lang/String;II)Landroid/app/ApplicationExitInfo;
 HSPLcom/android/server/am/AppExitInfoTracker;->getExitInfo(Ljava/lang/String;IIILjava/util/ArrayList;)V
+HPLcom/android/server/am/AppExitInfoTracker;->getExitInfoLocked(Ljava/lang/String;II)Landroid/app/ApplicationExitInfo;
+HPLcom/android/server/am/AppExitInfoTracker;->handleLogAnrTrace(II[Ljava/lang/String;Ljava/io/File;JJ)V
 HPLcom/android/server/am/AppExitInfoTracker;->handleNoteAppKillLocked(Landroid/app/ApplicationExitInfo;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->handleNoteProcessDiedLocked(Landroid/app/ApplicationExitInfo;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->handleZygoteSigChld(III)V
@@ -7509,12 +7945,17 @@
 HSPLcom/android/server/am/AppExitInfoTracker;->init(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->isFresh(J)Z
 HPLcom/android/server/am/AppExitInfoTracker;->lambda$dumpHistoryProcessExitInfo$6$AppExitInfoTracker(Ljava/io/PrintWriter;Landroid/icu/text/SimpleDateFormat;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->lambda$handleLogAnrTrace$11(Ljava/io/File;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->lambda$onSystemReady$0$AppExitInfoTracker()V
 HPLcom/android/server/am/AppExitInfoTracker;->lambda$persistProcessExitInfo$4(Landroid/util/proto/ProtoOutputStream;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
 HPLcom/android/server/am/AppExitInfoTracker;->lambda$persistProcessExitInfo$5(Landroid/util/proto/ProtoOutputStream;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+PLcom/android/server/am/AppExitInfoTracker;->lambda$pruneAnrTracesIfNecessaryLocked$12(Landroid/util/ArraySet;Ljava/io/File;)Z
+HPLcom/android/server/am/AppExitInfoTracker;->lambda$pruneAnrTracesIfNecessaryLocked$13(Landroid/util/ArraySet;Ljava/lang/Integer;Landroid/app/ApplicationExitInfo;)Ljava/lang/Integer;
+HPLcom/android/server/am/AppExitInfoTracker;->lambda$pruneAnrTracesIfNecessaryLocked$14(Landroid/util/ArraySet;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
 HPLcom/android/server/am/AppExitInfoTracker;->lambda$removeByUserId$7(ILjava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
 HPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessary$1$AppExitInfoTracker(ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
 HSPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessary$2$AppExitInfoTracker(ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
+HPLcom/android/server/am/AppExitInfoTracker;->lambda$updateExitInfoIfNecessaryLocked$2$AppExitInfoTracker(ILjava/util/ArrayList;ILjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Landroid/util/SparseArray;)Ljava/lang/Integer;
 HSPLcom/android/server/am/AppExitInfoTracker;->loadExistingProcessExitInfo()V
 HSPLcom/android/server/am/AppExitInfoTracker;->loadPackagesFromProto(Landroid/util/proto/ProtoInputStream;J)V
 HSPLcom/android/server/am/AppExitInfoTracker;->obtainRawRecordLocked(Lcom/android/server/am/ProcessRecord;)Landroid/app/ApplicationExitInfo;
@@ -7522,12 +7963,16 @@
 HSPLcom/android/server/am/AppExitInfoTracker;->onSystemReady()V
 PLcom/android/server/am/AppExitInfoTracker;->onUserRemoved(I)V
 HPLcom/android/server/am/AppExitInfoTracker;->persistProcessExitInfo()V
+PLcom/android/server/am/AppExitInfoTracker;->pruneAnrTracesIfNecessaryLocked()V
+PLcom/android/server/am/AppExitInfoTracker;->putToSparse2dArray(Landroid/util/SparseArray;IILjava/lang/Object;Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->recycleRawRecordLocked(Landroid/app/ApplicationExitInfo;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->registerForPackageRemoval()V
 HSPLcom/android/server/am/AppExitInfoTracker;->registerForUserRemoval()V
 PLcom/android/server/am/AppExitInfoTracker;->removeByUserId(I)V
 HPLcom/android/server/am/AppExitInfoTracker;->removePackage(Ljava/lang/String;I)V
+PLcom/android/server/am/AppExitInfoTracker;->removePackageLocked(Ljava/lang/String;IZI)V
 HSPLcom/android/server/am/AppExitInfoTracker;->scheduleChildProcDied(III)V
+PLcom/android/server/am/AppExitInfoTracker;->scheduleLogAnrTrace(II[Ljava/lang/String;Ljava/io/File;JJ)V
 HSPLcom/android/server/am/AppExitInfoTracker;->scheduleNoteAppKill(Lcom/android/server/am/ProcessRecord;IILjava/lang/String;)V
 HPLcom/android/server/am/AppExitInfoTracker;->scheduleNoteLmkdProcKilled(II)V
 HPLcom/android/server/am/AppExitInfoTracker;->scheduleNoteProcessDied(Lcom/android/server/am/ProcessRecord;)V
@@ -7535,6 +7980,7 @@
 HSPLcom/android/server/am/AppExitInfoTracker;->schedulePersistProcessExitInfo(Z)V
 HSPLcom/android/server/am/AppExitInfoTracker;->updateExistingExitInfoRecordLocked(Landroid/app/ApplicationExitInfo;Ljava/lang/Integer;Ljava/lang/Integer;)V
 HSPLcom/android/server/am/AppExitInfoTracker;->updateExitInfoIfNecessary(IILjava/lang/Integer;Ljava/lang/Integer;)Z
+HPLcom/android/server/am/AppExitInfoTracker;->updateExitInfoIfNecessaryLocked(IILjava/lang/Integer;Ljava/lang/Integer;)Z
 PLcom/android/server/am/AppNotRespondingDialog$1;-><init>(Lcom/android/server/am/AppNotRespondingDialog;)V
 PLcom/android/server/am/AppNotRespondingDialog$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/am/AppNotRespondingDialog$Data;-><init>(Lcom/android/server/am/ProcessRecord;Landroid/content/pm/ApplicationInfo;Z)V
@@ -7871,6 +8317,9 @@
 HSPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
 HPLcom/android/server/am/BroadcastStats;->dumpCheckinStats(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/am/BroadcastStats;->dumpStats(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/am/BugReportHandlerUtil$ResultBroadcastReceiver;-><init>()V
+PLcom/android/server/am/BugReportHandlerUtil$ResultBroadcastReceiver;-><init>(Lcom/android/server/am/BugReportHandlerUtil$1;)V
+PLcom/android/server/am/BugReportHandlerUtil$ResultBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/am/BugReportHandlerUtil;->getBugReportHandlerAppReceivers(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/List;
 PLcom/android/server/am/BugReportHandlerUtil;->getCustomBugReportHandlerApp(Landroid/content/Context;)Ljava/lang/String;
 PLcom/android/server/am/BugReportHandlerUtil;->getCustomBugReportHandlerUser(Landroid/content/Context;)I
@@ -7888,12 +8337,18 @@
 HSPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$1;)V
 HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->freezeProcess(Lcom/android/server/am/ProcessRecord;)V
 HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->reportUnfreeze(IILjava/lang/String;)V
+HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->reportUnfreeze(Lcom/android/server/am/CachedAppOptimizer$UnfreezeStats;)V
 HPLcom/android/server/am/CachedAppOptimizer$FreezeHandler;->unfreezeProcess(Lcom/android/server/am/ProcessRecord;)V
 HPLcom/android/server/am/CachedAppOptimizer$LastCompactionStats;-><init>([J)V
 HPLcom/android/server/am/CachedAppOptimizer$LastCompactionStats;->getRssAfterCompaction()[J
 HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;)V
 HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;-><init>(Lcom/android/server/am/CachedAppOptimizer;Lcom/android/server/am/CachedAppOptimizer$1;)V
 HPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/CachedAppOptimizer$UnfreezeStats;-><init>(Lcom/android/server/am/CachedAppOptimizer;ILjava/lang/String;J)V
+PLcom/android/server/am/CachedAppOptimizer$UnfreezeStats;->getFrozenDuration()J
+PLcom/android/server/am/CachedAppOptimizer$UnfreezeStats;->getName()Ljava/lang/String;
+PLcom/android/server/am/CachedAppOptimizer$UnfreezeStats;->getPid()I
 HSPLcom/android/server/am/CachedAppOptimizer;-><clinit>()V
 HSPLcom/android/server/am/CachedAppOptimizer;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 PLcom/android/server/am/CachedAppOptimizer;->access$000(Lcom/android/server/am/CachedAppOptimizer;)Ljava/lang/Object;
@@ -7935,6 +8390,7 @@
 HPLcom/android/server/am/CachedAppOptimizer;->shouldCompactBFGS(Lcom/android/server/am/ProcessRecord;J)Z
 HPLcom/android/server/am/CachedAppOptimizer;->shouldCompactPersistent(Lcom/android/server/am/ProcessRecord;J)Z
 PLcom/android/server/am/CachedAppOptimizer;->unfreezeAppAsync(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/CachedAppOptimizer;->unfreezeAppLocked(Lcom/android/server/am/ProcessRecord;)V
 HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactStatsdSampleRate()V
 HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactionActions()V
 HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactionThrottles()V
@@ -8259,6 +8715,7 @@
 HSPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J
 HPLcom/android/server/am/ProcessList;->createAppZygoteForProcessIfNeeded(Lcom/android/server/am/ProcessRecord;)Landroid/os/AppZygote;
 HSPLcom/android/server/am/ProcessList;->createSystemServerSocketForZygote()Landroid/net/LocalSocket;
+HPLcom/android/server/am/ProcessList;->decideGwpAsanLevel(Lcom/android/server/am/ProcessRecord;)I
 HPLcom/android/server/am/ProcessList;->doStopUidForIdleUidsLocked()V
 HSPLcom/android/server/am/ProcessList;->dumpLruListHeaderLocked(Ljava/io/PrintWriter;)V
 HPLcom/android/server/am/ProcessList;->fillInProcMemInfoLocked(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
@@ -8273,6 +8730,7 @@
 PLcom/android/server/am/ProcessList;->getOrCreateIsolatedUidRangeLocked(Landroid/content/pm/ApplicationInfo;Lcom/android/server/am/HostingRecord;)Lcom/android/server/am/ProcessList$IsolatedUidRange;
 HSPLcom/android/server/am/ProcessList;->getPackageAppDataInfoMap(Landroid/content/pm/PackageManagerInternal;[Ljava/lang/String;I)Ljava/util/Map;
 HSPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->getProcessesWithPendingBindMounts(I)Ljava/util/Map;
 HPLcom/android/server/am/ProcessList;->getRunningAppProcessesLocked(ZIZII)Ljava/util/List;
 HSPLcom/android/server/am/ProcessList;->getUidProcStateLocked(I)I
 HSPLcom/android/server/am/ProcessList;->getUidRecordLocked(I)Lcom/android/server/am/UidRecord;
@@ -8291,6 +8749,7 @@
 HPLcom/android/server/am/ProcessList;->killAppZygoteIfNeededLocked(Landroid/os/AppZygote;)V
 HPLcom/android/server/am/ProcessList;->killAppZygoteIfNeededLocked(Landroid/os/AppZygote;Z)V
 HSPLcom/android/server/am/ProcessList;->killAppZygotesLocked(Ljava/lang/String;IIZ)V
+PLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIIILjava/lang/String;)Z
 HPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIILjava/lang/String;)Z
 HPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZZIILjava/lang/String;)Z
 HSPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZZLjava/lang/String;)Z
@@ -8313,7 +8772,8 @@
 HSPLcom/android/server/am/ProcessList;->remove(I)V
 HSPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
 HPLcom/android/server/am/ProcessList;->removeProcessFromAppZygoteLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZIILjava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZIILjava/lang/String;)Z
+PLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZILjava/lang/String;)Z
 HPLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
 HPLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;I)Z
 HSPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
@@ -8381,6 +8841,7 @@
 PLcom/android/server/am/ProcessRecord;->appDied()V
 PLcom/android/server/am/ProcessRecord;->appDied(Ljava/lang/String;)V
 HPLcom/android/server/am/ProcessRecord;->appNotResponding(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;)V
+HPLcom/android/server/am/ProcessRecord;->appNotResponding(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;Z)V
 HSPLcom/android/server/am/ProcessRecord;->clearBoundClientUids()V
 HPLcom/android/server/am/ProcessRecord;->computeOomAdjFromActivitiesIfNecessary(Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;IZIIIII)V
 HPLcom/android/server/am/ProcessRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
@@ -8475,7 +8936,7 @@
 HSPLcom/android/server/am/ProcessRecord;->setStartParams(ILcom/android/server/am/HostingRecord;Ljava/lang/String;J)V
 HSPLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V
 HSPLcom/android/server/am/ProcessRecord;->setWhenUnimportant(J)V
-PLcom/android/server/am/ProcessRecord;->startAppProblemLocked()V
+HPLcom/android/server/am/ProcessRecord;->startAppProblemLocked()V
 HSPLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
 HSPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
 HSPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
@@ -8595,6 +9056,7 @@
 HSPLcom/android/server/am/SettingsToPropertiesMapper;->isNativeFlagsResetPerformed()Z
 HPLcom/android/server/am/SettingsToPropertiesMapper;->lambda$updatePropertiesFromSettings$0$SettingsToPropertiesMapper(Landroid/provider/DeviceConfig$Properties;)V
 PLcom/android/server/am/SettingsToPropertiesMapper;->log(Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->log(Ljava/lang/String;Ljava/lang/Exception;)V
 HSPLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/am/SettingsToPropertiesMapper;->start(Landroid/content/ContentResolver;)Lcom/android/server/am/SettingsToPropertiesMapper;
@@ -8627,7 +9089,7 @@
 PLcom/android/server/am/UserController$6;-><init>(Lcom/android/server/am/UserController;)V
 PLcom/android/server/am/UserController$6;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 PLcom/android/server/am/UserController$7;-><init>(Lcom/android/server/am/UserController;JLjava/lang/String;Landroid/util/ArraySet;Ljava/util/concurrent/atomic/AtomicInteger;Lcom/android/server/am/UserState;II)V
-PLcom/android/server/am/UserController$7;->sendResult(Landroid/os/Bundle;)V
+HPLcom/android/server/am/UserController$7;->sendResult(Landroid/os/Bundle;)V
 PLcom/android/server/am/UserController$Injector$1;-><init>(Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/ActivityManagerService;ILcom/android/internal/util/ProgressReporter;ZLjava/lang/Runnable;)V
 PLcom/android/server/am/UserController$Injector$1;->onFinished()V
 HSPLcom/android/server/am/UserController$Injector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
@@ -8660,6 +9122,7 @@
 PLcom/android/server/am/UserController$Injector;->sendPreBootBroadcast(IZLjava/lang/Runnable;)V
 PLcom/android/server/am/UserController$Injector;->showUserSwitchingDialog(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/am/UserController$Injector;->stackSupervisorRemoveUser(I)V
+PLcom/android/server/am/UserController$Injector;->stackSupervisorResumeFocusedStackTopActivity()V
 PLcom/android/server/am/UserController$Injector;->stackSupervisorSwitchUser(ILcom/android/server/am/UserState;)Z
 PLcom/android/server/am/UserController$Injector;->startHomeActivity(ILjava/lang/String;)V
 PLcom/android/server/am/UserController$Injector;->startPersistentApps(I)V
@@ -8684,7 +9147,7 @@
 HPLcom/android/server/am/UserController;->dispatchForegroundProfileChanged(I)V
 PLcom/android/server/am/UserController;->dispatchLockedBootComplete(I)V
 PLcom/android/server/am/UserController;->dispatchUserLocking(ILjava/util/List;)V
-PLcom/android/server/am/UserController;->dispatchUserSwitch(Lcom/android/server/am/UserState;II)V
+HPLcom/android/server/am/UserController;->dispatchUserSwitch(Lcom/android/server/am/UserState;II)V
 PLcom/android/server/am/UserController;->dispatchUserSwitchComplete(I)V
 HPLcom/android/server/am/UserController;->dump(Ljava/io/PrintWriter;)V
 PLcom/android/server/am/UserController;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
@@ -8724,9 +9187,11 @@
 PLcom/android/server/am/UserController;->isCallingOnHandlerThread()Z
 HPLcom/android/server/am/UserController;->isCurrentProfile(I)Z
 PLcom/android/server/am/UserController;->isCurrentUserLU(I)Z
+PLcom/android/server/am/UserController;->isDelayUserDataLockingEnabled()Z
 HSPLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
 HSPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
 HSPLcom/android/server/am/UserController;->isUserRunning(II)Z
+PLcom/android/server/am/UserController;->isUserSwitchUiEnabled()Z
 PLcom/android/server/am/UserController;->lambda$dispatchUserLocking$6$UserController(ILjava/util/List;)V
 PLcom/android/server/am/UserController;->lambda$finishUserStopped$6$UserController(IILjava/util/ArrayList;)V
 PLcom/android/server/am/UserController;->lambda$finishUserSwitch$0$UserController(Lcom/android/server/am/UserState;)V
@@ -8881,6 +9346,9 @@
 PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><clinit>()V
 PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><init>()V
 HPLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AttributedOp$V-rw7b6Fbkw73kXYw1qrXKPwDIQ;-><clinit>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AttributedOp$V-rw7b6Fbkw73kXYw1qrXKPwDIQ;-><init>()V
+HPLcom/android/server/appop/-$$Lambda$AppOpsService$AttributedOp$V-rw7b6Fbkw73kXYw1qrXKPwDIQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/appop/-$$Lambda$AppOpsService$CVMS-lLMRyZYA1tmqvyuOloKBu0;-><clinit>()V
 HSPLcom/android/server/appop/-$$Lambda$AppOpsService$CVMS-lLMRyZYA1tmqvyuOloKBu0;-><init>()V
 HPLcom/android/server/appop/-$$Lambda$AppOpsService$CVMS-lLMRyZYA1tmqvyuOloKBu0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -8901,8 +9369,12 @@
 PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;-><clinit>()V
 PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;-><init>()V
 HPLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$gQy7GOuCV6GbjQtdNhNG6xld8I4;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$gQy7GOuCV6GbjQtdNhNG6xld8I4;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HPLcom/android/server/appop/-$$Lambda$AppOpsService$mWtZBFm5Ggi69Tx6HVKXLYiPWt4;-><init>(Landroid/app/AsyncNotedAppOp;[ZILjava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/appop/-$$Lambda$AppOpsService$mWtZBFm5Ggi69Tx6HVKXLYiPWt4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$vmE_L3936m2CQ4j7sCtdACCvHGk;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$vmE_L3936m2CQ4j7sCtdACCvHGk;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/appop/-$$Lambda$AppOpsService$zN6prp9KCBI96qJ_QVmqGh-kpB8;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/appop/-$$Lambda$AppOpsService$zN6prp9KCBI96qJ_QVmqGh-kpB8;->run()V
 PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;-><clinit>()V
@@ -8919,13 +9391,14 @@
 HPLcom/android/server/appop/AppOpsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/appop/AppOpsService$4;-><init>(Lcom/android/server/appop/AppOpsService;)V
 PLcom/android/server/appop/AppOpsService$4;->getPackageTrustedToInstallApps(Ljava/lang/String;I)I
-PLcom/android/server/appop/AppOpsService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/appop/AppOpsService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/appop/AppOpsService$5;-><init>(Lcom/android/server/appop/AppOpsService;)V
 HSPLcom/android/server/appop/AppOpsService$5;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/util/List;)V
 HSPLcom/android/server/appop/AppOpsService$5;->run()V
 HSPLcom/android/server/appop/AppOpsService$6;-><init>(Lcom/android/server/appop/AppOpsService;)V
 PLcom/android/server/appop/AppOpsService$8;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/util/Pair;)V
-PLcom/android/server/appop/AppOpsService$8;->onCallbackDied(Landroid/os/IInterface;)V
-PLcom/android/server/appop/AppOpsService$8;->onCallbackDied(Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService$8;->onCallbackDied(Landroid/os/IInterface;)V
+HPLcom/android/server/appop/AppOpsService$8;->onCallbackDied(Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
 HSPLcom/android/server/appop/AppOpsService$9;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
 HSPLcom/android/server/appop/AppOpsService$9;->accept(Landroid/app/AppOpsManager$HistoricalOps;)V
 HSPLcom/android/server/appop/AppOpsService$9;->accept(Ljava/lang/Object;)V
@@ -8936,11 +9409,30 @@
 HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/appop/AppOpsService;)V
 HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$1;)V
 HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
-PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setModeFromPermissionPolicy(IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setModeFromPermissionPolicy(IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
 PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setModeIgnoringCallback(IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setUidModeFromPermissionPolicy(IIILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setUidModeFromPermissionPolicy(IIILcom/android/internal/app/IAppOpsCallback;)V
 PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setUidModeIgnoringCallback(IIILcom/android/internal/app/IAppOpsCallback;)V
 HPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->updateAppWidgetVisibility(Landroid/util/SparseArray;Z)V
+HSPLcom/android/server/appop/AppOpsService$AttributedOp;-><init>(Lcom/android/server/appop/AppOpsService;Ljava/lang/String;Lcom/android/server/appop/AppOpsService$Op;)V
+PLcom/android/server/appop/AppOpsService$AttributedOp;->access$1600(Lcom/android/server/appop/AppOpsService$AttributedOp;)Landroid/util/ArrayMap;
+PLcom/android/server/appop/AppOpsService$AttributedOp;->access$1800(Lcom/android/server/appop/AppOpsService$AttributedOp;)Landroid/util/ArrayMap;
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->accessed(ILjava/lang/String;Ljava/lang/String;II)V
+HSPLcom/android/server/appop/AppOpsService$AttributedOp;->accessed(JJILjava/lang/String;Ljava/lang/String;II)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->add(Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;)Landroid/util/LongSparseArray;
+PLcom/android/server/appop/AppOpsService$AttributedOp;->add(Lcom/android/server/appop/AppOpsService$AttributedOp;)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->createAttributedOpEntryLocked()Landroid/app/AppOpsManager$AttributedOpEntry;
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->deepClone(Landroid/util/LongSparseArray;)Landroid/util/LongSparseArray;
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->finished(Landroid/os/IBinder;)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->finished(Landroid/os/IBinder;Z)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->isRunning()Z
+PLcom/android/server/appop/AppOpsService$AttributedOp;->lambda$started$0(Lcom/android/server/appop/AppOpsService$AttributedOp;Landroid/os/IBinder;)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->onClientDeath(Landroid/os/IBinder;)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->onUidStateChanged(I)V
+PLcom/android/server/appop/AppOpsService$AttributedOp;->rejected(II)V
+HSPLcom/android/server/appop/AppOpsService$AttributedOp;->rejected(JII)V
+PLcom/android/server/appop/AppOpsService$AttributedOp;->started(Landroid/os/IBinder;I)V
+HPLcom/android/server/appop/AppOpsService$AttributedOp;->started(Landroid/os/IBinder;IZ)V
 PLcom/android/server/appop/AppOpsService$ChangeRec;-><init>(IILjava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService$ClientRestrictionState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
 HSPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->destroy()V
@@ -8990,7 +9482,7 @@
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;-><init>(JJLandroid/os/IBinder;Ljava/lang/Runnable;ILcom/android/server/appop/AppOpsService$1;)V
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->access$600(Lcom/android/server/appop/AppOpsService$InProgressStartOpEvent;)I
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->access$700(Lcom/android/server/appop/AppOpsService$InProgressStartOpEvent;)I
-PLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->binderDied()V
+HPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->binderDied()V
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->finish()V
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->getClientId()Landroid/os/IBinder;
 HSPLcom/android/server/appop/AppOpsService$InProgressStartOpEvent;->getStartElapsedTime()J
@@ -9012,6 +9504,7 @@
 HSPLcom/android/server/appop/AppOpsService$Op;-><init>(Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;I)V
 HSPLcom/android/server/appop/AppOpsService$Op;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;II)V
 HSPLcom/android/server/appop/AppOpsService$Op;->access$100(Lcom/android/server/appop/AppOpsService$Op;)I
+HSPLcom/android/server/appop/AppOpsService$Op;->access$1000(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$AttributedOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->access$1000(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->access$102(Lcom/android/server/appop/AppOpsService$Op;I)I
 HSPLcom/android/server/appop/AppOpsService$Op;->access$200(Lcom/android/server/appop/AppOpsService$Op;)I
@@ -9019,12 +9512,16 @@
 HSPLcom/android/server/appop/AppOpsService$Op;->access$500(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->access$900(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->createEntryLocked()Landroid/app/AppOpsManager$OpEntry;
+HPLcom/android/server/appop/AppOpsService$Op;->createSingleAttributionEntryLocked(Ljava/lang/String;)Landroid/app/AppOpsManager$OpEntry;
 HPLcom/android/server/appop/AppOpsService$Op;->createSingleFeatureEntryLocked(Ljava/lang/String;)Landroid/app/AppOpsManager$OpEntry;
 HSPLcom/android/server/appop/AppOpsService$Op;->evalMode()I
+HSPLcom/android/server/appop/AppOpsService$Op;->getOrCreateAttribution(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$AttributedOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->getOrCreateFeature(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
 HSPLcom/android/server/appop/AppOpsService$Op;->isRunning()Z
+PLcom/android/server/appop/AppOpsService$Op;->removeAttributionsWithNoTime()V
 HSPLcom/android/server/appop/AppOpsService$OpEventProxyInfoPool;-><init>(Lcom/android/server/appop/AppOpsService;)V
 HSPLcom/android/server/appop/AppOpsService$OpEventProxyInfoPool;->acquire(ILjava/lang/String;Ljava/lang/String;)Landroid/app/AppOpsManager$OpEventProxyInfo;
+HSPLcom/android/server/appop/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/appop/AppOpsService$UidState;)V
 HSPLcom/android/server/appop/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/appop/AppOpsService$UidState;Z)V
 HSPLcom/android/server/appop/AppOpsService$UidState;-><init>(I)V
 HSPLcom/android/server/appop/AppOpsService$UidState;-><init>(Lcom/android/server/appop/AppOpsService;I)V
@@ -9044,14 +9541,19 @@
 PLcom/android/server/appop/AppOpsService;->access$1300(Lcom/android/server/appop/AppOpsService;Landroid/content/pm/PackageInfo;)Z
 PLcom/android/server/appop/AppOpsService;->access$1400(Lcom/android/server/appop/AppOpsService;)Landroid/util/ArraySet;
 HSPLcom/android/server/appop/AppOpsService;->access$1402(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)Landroid/util/ArraySet;
+PLcom/android/server/appop/AppOpsService;->access$1500(Lcom/android/server/appop/AppOpsService;)Ljava/util/List;
 HSPLcom/android/server/appop/AppOpsService;->access$1500(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
+PLcom/android/server/appop/AppOpsService;->access$1600(Lcom/android/server/appop/AppOpsService;Ljava/util/List;)V
 PLcom/android/server/appop/AppOpsService;->access$1700(Lcom/android/server/appop/AppOpsService;)Landroid/util/ArrayMap;
+PLcom/android/server/appop/AppOpsService;->access$1700(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;)V
 HPLcom/android/server/appop/AppOpsService;->access$1900(Lcom/android/server/appop/AppOpsService;Landroid/util/SparseArray;Z)V
 PLcom/android/server/appop/AppOpsService;->access$2000(Lcom/android/server/appop/AppOpsService;IIILcom/android/internal/app/IAppOpsCallback;)V
 PLcom/android/server/appop/AppOpsService;->access$2100(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
 PLcom/android/server/appop/AppOpsService;->access$2200(Lcom/android/server/appop/AppOpsService;Landroid/util/SparseArray;Z)V
-PLcom/android/server/appop/AppOpsService;->access$2300(Lcom/android/server/appop/AppOpsService;IIILcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/appop/AppOpsService;->access$2400(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService;->access$2300(Lcom/android/server/appop/AppOpsService;IIILcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/server/appop/AppOpsService;->access$2400(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->access$2400(Lcom/android/server/appop/AppOpsService;Landroid/util/SparseArray;Z)V
+PLcom/android/server/appop/AppOpsService;->access$2500(Lcom/android/server/appop/AppOpsService;IIILcom/android/internal/app/IAppOpsCallback;)V
 PLcom/android/server/appop/AppOpsService;->access$300()[I
 PLcom/android/server/appop/AppOpsService;->access$300(Lcom/android/server/appop/AppOpsService;)Landroid/app/ActivityManagerInternal;
 HSPLcom/android/server/appop/AppOpsService;->access$300(Lcom/android/server/appop/AppOpsService;)Lcom/android/server/appop/AppOpsService$OpEventProxyInfoPool;
@@ -9062,6 +9564,7 @@
 HSPLcom/android/server/appop/AppOpsService;->access$500(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Z)V
 HSPLcom/android/server/appop/AppOpsService;->access$600(Lcom/android/server/appop/AppOpsService;)Lcom/android/server/appop/AppOpsService$InProgressStartOpEventPool;
 PLcom/android/server/appop/AppOpsService;->access$700(Lcom/android/server/appop/AppOpsService$FeatureOp;Landroid/os/IBinder;)V
+PLcom/android/server/appop/AppOpsService;->access$800(Lcom/android/server/appop/AppOpsService$AttributedOp;Landroid/os/IBinder;)V
 PLcom/android/server/appop/AppOpsService;->access$800(Lcom/android/server/appop/AppOpsService$FeatureOp;Landroid/os/IBinder;)V
 HSPLcom/android/server/appop/AppOpsService;->access$800(Lcom/android/server/appop/AppOpsService;)V
 HSPLcom/android/server/appop/AppOpsService;->access$900(Lcom/android/server/appop/AppOpsService;)V
@@ -9077,7 +9580,7 @@
 HSPLcom/android/server/appop/AppOpsService;->checkSystemUid(Ljava/lang/String;)V
 HPLcom/android/server/appop/AppOpsService;->collectAsyncNotedOp(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;
-PLcom/android/server/appop/AppOpsService;->collectRuntimeAppOpAccessMessage()Landroid/app/RuntimeAppOpAccessMessage;
+HPLcom/android/server/appop/AppOpsService;->collectRuntimeAppOpAccessMessage()Landroid/app/RuntimeAppOpAccessMessage;
 HSPLcom/android/server/appop/AppOpsService;->commitUidPendingStateLocked(Lcom/android/server/appop/AppOpsService$UidState;)V
 HPLcom/android/server/appop/AppOpsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/server/appop/AppOpsService;->dumpStatesLocked(Ljava/io/PrintWriter;JLcom/android/server/appop/AppOpsService$Op;JLjava/text/SimpleDateFormat;Ljava/util/Date;Ljava/lang/String;)V
@@ -9086,18 +9589,22 @@
 HSPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V
 HSPLcom/android/server/appop/AppOpsService;->ensureHistoricalOpRequestIsValid(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;IJJI)V
 HSPLcom/android/server/appop/AppOpsService;->evalAllForegroundOpsLocked()V
-PLcom/android/server/appop/AppOpsService;->extractAsyncOps(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->extractAsyncOps(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->finishOperationLocked(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;Z)V
+PLcom/android/server/appop/AppOpsService;->getAppOpsServiceDelegate()Landroid/app/AppOpsManagerInternal$CheckOpsDelegate;
 HPLcom/android/server/appop/AppOpsService;->getAsyncNotedOpsKey(Ljava/lang/String;I)Landroid/util/Pair;
+HPLcom/android/server/appop/AppOpsService;->getBypassforPackage(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Landroid/app/AppOpsManager$RestrictionBypass;
 HSPLcom/android/server/appop/AppOpsService;->getHistoricalOps(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;IJJILandroid/os/RemoteCallback;)V
 PLcom/android/server/appop/AppOpsService;->getHistoricalOps(ILjava/lang/String;Ljava/util/List;JJILandroid/os/RemoteCallback;)V
 HSPLcom/android/server/appop/AppOpsService;->getOpEntryForResult(Lcom/android/server/appop/AppOpsService$Op;J)Landroid/app/AppOpsManager$OpEntry;
+HPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Op;
 HSPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Op;
 HSPLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;ZZ)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;
 HSPLcom/android/server/appop/AppOpsService;->getOpLocked(Lcom/android/server/appop/AppOpsService$Ops;IZ)Lcom/android/server/appop/AppOpsService$Op;
 HPLcom/android/server/appop/AppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
+HPLcom/android/server/appop/AppOpsService;->getOpsLocked(ILjava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$RestrictionBypass;Z)Lcom/android/server/appop/AppOpsService$Ops;
 HSPLcom/android/server/appop/AppOpsService;->getOpsRawLocked(ILjava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
 HSPLcom/android/server/appop/AppOpsService;->getOpsRawLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
 HSPLcom/android/server/appop/AppOpsService;->getOpsRawNoVerifyLocked(ILjava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
@@ -9112,6 +9619,7 @@
 HSPLcom/android/server/appop/AppOpsService;->initializeRarelyUsedPackagesList(Landroid/util/ArraySet;)V
 HSPLcom/android/server/appop/AppOpsService;->isIgnoredAppOp(I)Z
 HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedDueToSuspend(ILjava/lang/String;I)Z
+HPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Landroid/app/AppOpsManager$RestrictionBypass;)Z
 HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Ljava/lang/String;Z)Z
 HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Z)Z
 HPLcom/android/server/appop/AppOpsService;->isOperationActive(IILjava/lang/String;)Z
@@ -9124,8 +9632,10 @@
 PLcom/android/server/appop/AppOpsService;->lambda$NDUi03ZZuuR42-RDEIQ0UELKycc(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;IILjava/lang/String;)V
 HPLcom/android/server/appop/AppOpsService;->lambda$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ(Lcom/android/server/appop/AppOpsService;Landroid/util/ArraySet;IILjava/lang/String;Z)V
 HPLcom/android/server/appop/AppOpsService;->lambda$collectAsyncNotedOp$2(Landroid/app/AsyncNotedAppOp;[ZILjava/lang/String;ILjava/lang/String;Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
+PLcom/android/server/appop/AppOpsService;->lambda$gQy7GOuCV6GbjQtdNhNG6xld8I4(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Z)I
 HPLcom/android/server/appop/AppOpsService;->lambda$getHistoricalOps$1(Landroid/os/RemoteCallback;)V
 HSPLcom/android/server/appop/AppOpsService;->lambda$systemReady$0$AppOpsService(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->lambda$vmE_L3936m2CQ4j7sCtdACCvHGk(Lcom/android/server/appop/AppOpsService;IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)I
 HPLcom/android/server/appop/AppOpsService;->noteAsyncOp(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;)I
 HSPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)I
@@ -9142,12 +9652,16 @@
 HSPLcom/android/server/appop/AppOpsService;->notifyOpChangedSync(IILjava/lang/String;I)V
 HPLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;I)V
 HSPLcom/android/server/appop/AppOpsService;->notifyWatchersOfChange(II)V
+PLcom/android/server/appop/AppOpsService;->onClientDeath(Lcom/android/server/appop/AppOpsService$AttributedOp;Landroid/os/IBinder;)V
 PLcom/android/server/appop/AppOpsService;->onClientDeath(Lcom/android/server/appop/AppOpsService$FeatureOp;Landroid/os/IBinder;)V
 HSPLcom/android/server/appop/AppOpsService;->packageRemoved(ILjava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->pruneOpLocked(Lcom/android/server/appop/AppOpsService$Op;ILjava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->publish()V
 HSPLcom/android/server/appop/AppOpsService;->publish(Landroid/content/Context;)V
+HSPLcom/android/server/appop/AppOpsService;->readAttributionOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->readFeatureOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)V
+HSPLcom/android/server/appop/AppOpsService;->readOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->readOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;Z)V
 HSPLcom/android/server/appop/AppOpsService;->readPackage(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/server/appop/AppOpsService;->readState()V
@@ -9182,13 +9696,14 @@
 HSPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Z)I
 HSPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)I
 HPLcom/android/server/appop/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-PLcom/android/server/appop/AppOpsService;->startWatchingAsyncNoted(Ljava/lang/String;Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->startWatchingAsyncNoted(Ljava/lang/String;Lcom/android/internal/app/IAppOpsAsyncNotedCallback;)V
 HSPLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
 HSPLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
 HPLcom/android/server/appop/AppOpsService;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
 HPLcom/android/server/appop/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
 HPLcom/android/server/appop/AppOpsService;->stopWatchingNoted(Lcom/android/internal/app/IAppOpsNotedCallback;)V
+HPLcom/android/server/appop/AppOpsService;->switchPackageIfBootTimeOrRarelyUsedLocked(Ljava/lang/String;)V
 HPLcom/android/server/appop/AppOpsService;->switchPackageIfRarelyUsedLocked(Ljava/lang/String;)V
 HSPLcom/android/server/appop/AppOpsService;->systemReady()V
 HSPLcom/android/server/appop/AppOpsService;->uidRemoved(I)V
@@ -9198,6 +9713,7 @@
 HSPLcom/android/server/appop/AppOpsService;->updatePermissionRevokedCompat(III)V
 HSPLcom/android/server/appop/AppOpsService;->updateUidProcState(III)V
 HSPLcom/android/server/appop/AppOpsService;->upgradeLocked(I)V
+HPLcom/android/server/appop/AppOpsService;->verifyAndGetBypass(ILjava/lang/String;Ljava/lang/String;)Landroid/app/AppOpsManager$RestrictionBypass;
 HSPLcom/android/server/appop/AppOpsService;->verifyAndGetIsPrivileged(ILjava/lang/String;)Z
 HSPLcom/android/server/appop/AppOpsService;->verifyAndGetIsPrivileged(ILjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V
@@ -9214,6 +9730,7 @@
 HSPLcom/android/server/appop/AudioRestrictionManager;->setCameraAudioRestriction(I)V
 HSPLcom/android/server/appop/AudioRestrictionManager;->setZenModeAudioRestriction(IIII[Ljava/lang/String;)V
 HSPLcom/android/server/appop/HistoricalRegistry$1;-><init>(Lcom/android/server/appop/HistoricalRegistry;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry$1;->onChange(Z)V
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;-><clinit>()V
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;-><init>(JJ)V
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->access$100(Lcom/android/server/appop/HistoricalRegistry$Persistence;Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI)V
@@ -9233,6 +9750,7 @@
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->normalizeSnapshotForSlotDuration(Ljava/util/List;J)V
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->persistHistoricalOpsDLocked(Ljava/util/List;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalAttributionOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalFeatureOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;IID)Landroid/app/AppOpsManager$HistoricalOps;
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
@@ -9251,6 +9769,7 @@
 HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;IJJI[J)Landroid/app/AppOpsManager$HistoricalOps;
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;JJI[J)Landroid/app/AppOpsManager$HistoricalOps;
 PLcom/android/server/appop/HistoricalRegistry$Persistence;->spliceFromEnd(Landroid/app/AppOpsManager$HistoricalOps;D)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalAttributionOpsDLocked(Landroid/app/AppOpsManager$AttributedHistoricalOps;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalFeatureOpsDLocked(Landroid/app/AppOpsManager$HistoricalFeatureOps;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOp;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlSerializer;)V
@@ -9260,6 +9779,7 @@
 HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeStateOnLocked(Landroid/app/AppOpsManager$HistoricalOp;JLorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/appop/HistoricalRegistry;-><clinit>()V
 HSPLcom/android/server/appop/HistoricalRegistry;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/appop/HistoricalRegistry;->access$000(Lcom/android/server/appop/HistoricalRegistry;Landroid/content/ContentResolver;)V
 PLcom/android/server/appop/HistoricalRegistry;->clearHistory()V
 HSPLcom/android/server/appop/HistoricalRegistry;->clearHistory(ILjava/lang/String;)V
 PLcom/android/server/appop/HistoricalRegistry;->clearHistoryOnDiskDLocked()V
@@ -9280,6 +9800,7 @@
 HSPLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V
 PLcom/android/server/appop/HistoricalRegistry;->resampleHistoryOnDiskInMemoryDMLocked(J)V
 PLcom/android/server/appop/HistoricalRegistry;->schedulePersistHistoricalOpsMLocked(Landroid/app/AppOpsManager$HistoricalOps;)V
+PLcom/android/server/appop/HistoricalRegistry;->setHistoryParameters(IJJ)V
 HSPLcom/android/server/appop/HistoricalRegistry;->systemReady(Landroid/content/ContentResolver;)V
 HSPLcom/android/server/appop/HistoricalRegistry;->updateParametersFromSetting(Landroid/content/ContentResolver;)V
 PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$3-HMCieo6-UZfG43p_6ip1hrL0k;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/content/pm/ParceledListSlice;Landroid/app/prediction/IPredictionCallback;)V
@@ -9391,7 +9912,7 @@
 HPLcom/android/server/appprediction/AppPredictionPerUserService;->getComponentName(Landroid/app/prediction/AppPredictionSessionId;)Landroid/content/ComponentName;
 HPLcom/android/server/appprediction/AppPredictionPerUserService;->getRemoteServiceLocked()Lcom/android/server/appprediction/RemoteAppPredictionService;
 HPLcom/android/server/appprediction/AppPredictionPerUserService;->getRemoteServiceLocked(Landroid/content/ComponentName;)Lcom/android/server/appprediction/RemoteAppPredictionService;
-PLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$notifyAppTargetEventLocked$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
+HPLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$notifyAppTargetEventLocked$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
 PLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$onCreatePredictionSessionLocked$0(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;Landroid/service/appprediction/IPredictionService;)V
 PLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$onDestroyPredictionSessionLocked$7(Landroid/app/prediction/AppPredictionSessionId;Landroid/service/appprediction/IPredictionService;)V
 PLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$ot809pjFOVEJ6shAJalMZ9_QhCo(Lcom/android/server/appprediction/AppPredictionPerUserService;Landroid/app/prediction/AppPredictionSessionId;)V
@@ -9623,6 +10144,7 @@
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupProviderLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupWidgetLocked(IILjava/lang/String;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->maskWidgetsViewsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
+HPLcom/android/server/appwidget/AppWidgetServiceImpl;->noteAppWidgetTapped(ILjava/lang/String;)V
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->notifyAppWidgetViewDataChanged(Ljava/lang/String;[II)V
 HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->onConfigurationChanged()V
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->onCrossProfileWidgetProvidersChanged(ILjava/util/List;)V
@@ -9649,6 +10171,7 @@
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->removeProvidersForPackageLocked(Ljava/lang/String;I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->removeWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->removeWidgetsForPackageLocked(Ljava/lang/String;II)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->requestPinAppWidget(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/content/IntentSender;)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->resolveHostUidLocked(Ljava/lang/String;I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->restoreFinished(I)V
 HPLcom/android/server/appwidget/AppWidgetServiceImpl;->saveGroupStateAsync(I)V
@@ -9691,6 +10214,7 @@
 PLcom/android/server/attention/-$$Lambda$AttentionManagerService$UserState$2cc0P7pJchsigKpbEq7IoxYFsSM;-><init>(Lcom/android/server/attention/AttentionManagerService$UserState;)V
 PLcom/android/server/attention/-$$Lambda$AttentionManagerService$UserState$2cc0P7pJchsigKpbEq7IoxYFsSM;->run()V
 PLcom/android/server/attention/AttentionManagerService$1;-><init>(Lcom/android/server/attention/AttentionManagerService;Lcom/android/server/attention/AttentionManagerService$UserState;Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal;)V
+PLcom/android/server/attention/AttentionManagerService$1;->logStats(I)V
 PLcom/android/server/attention/AttentionManagerService$1;->onFailure(I)V
 HPLcom/android/server/attention/AttentionManagerService$1;->onSuccess(IJ)V
 HPLcom/android/server/attention/AttentionManagerService$AttentionCheck;-><init>(Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal;Landroid/service/attention/IAttentionCallback;)V
@@ -9858,6 +10382,7 @@
 PLcom/android/server/audio/AudioDeviceBroker;->postDisconnectHearingAid()V
 PLcom/android/server/audio/AudioDeviceBroker;->postObserveDevicesForAllStreams()V
 PLcom/android/server/audio/AudioDeviceBroker;->postReportNewRoutes()V
+PLcom/android/server/audio/AudioDeviceBroker;->postScoClientDied(Ljava/lang/Object;)V
 HPLcom/android/server/audio/AudioDeviceBroker;->postSetAvrcpAbsoluteVolumeIndex(I)V
 PLcom/android/server/audio/AudioDeviceBroker;->postSetVolumeIndexOnDevice(IIILjava/lang/String;)V
 PLcom/android/server/audio/AudioDeviceBroker;->postSetWiredDeviceConnectionState(Lcom/android/server/audio/AudioDeviceInventory$WiredDeviceConnectionState;I)V
@@ -9945,6 +10470,7 @@
 PLcom/android/server/audio/AudioService$4;->binderDied()V
 HSPLcom/android/server/audio/AudioService$5;-><init>(Lcom/android/server/audio/AudioService;)V
 PLcom/android/server/audio/AudioService$AsdProxy;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/IAudioServerStateDispatcher;)V
+PLcom/android/server/audio/AudioService$AsdProxy;->binderDied()V
 PLcom/android/server/audio/AudioService$AsdProxy;->callback()Landroid/media/IAudioServerStateDispatcher;
 HSPLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;)V
 HSPLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
@@ -9983,6 +10509,7 @@
 PLcom/android/server/audio/AudioService$DeviceVolumeUpdate;->getVolumeIndex()I
 PLcom/android/server/audio/AudioService$DeviceVolumeUpdate;->hasVolumeIndex()Z
 HPLcom/android/server/audio/AudioService$ForceControlStreamClient;-><init>(Lcom/android/server/audio/AudioService;Landroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService$ForceControlStreamClient;->binderDied()V
 PLcom/android/server/audio/AudioService$ForceControlStreamClient;->getBinder()Landroid/os/IBinder;
 HPLcom/android/server/audio/AudioService$ForceControlStreamClient;->release()V
 HSPLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
@@ -10029,9 +10556,11 @@
 HSPLcom/android/server/audio/AudioService$VolumeGroupState;->applyAllVolumes()V
 HPLcom/android/server/audio/AudioService$VolumeGroupState;->dump(Ljava/io/PrintWriter;)V
 PLcom/android/server/audio/AudioService$VolumeGroupState;->getDeviceForVolume()I
+PLcom/android/server/audio/AudioService$VolumeGroupState;->getIndex(I)I
 HSPLcom/android/server/audio/AudioService$VolumeGroupState;->getSettingNameForDevice(I)Ljava/lang/String;
 HSPLcom/android/server/audio/AudioService$VolumeGroupState;->getValidIndex(I)I
 HSPLcom/android/server/audio/AudioService$VolumeGroupState;->readSettings()V
+PLcom/android/server/audio/AudioService$VolumeGroupState;->setVolumeIndexInt(III)V
 HSPLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
 HSPLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;ILcom/android/server/audio/AudioService$1;)V
 HSPLcom/android/server/audio/AudioService$VolumeStreamState;->access$1000(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
@@ -10041,6 +10570,7 @@
 PLcom/android/server/audio/AudioService$VolumeStreamState;->access$1900(Lcom/android/server/audio/AudioService$VolumeStreamState;)Landroid/util/SparseIntArray;
 PLcom/android/server/audio/AudioService$VolumeStreamState;->access$3500(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
 PLcom/android/server/audio/AudioService$VolumeStreamState;->access$3700(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->access$3900(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
 HSPLcom/android/server/audio/AudioService$VolumeStreamState;->access$800(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
 PLcom/android/server/audio/AudioService$VolumeStreamState;->access$900(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
 HPLcom/android/server/audio/AudioService$VolumeStreamState;->adjustIndex(IILjava/lang/String;)Z
@@ -10070,6 +10600,11 @@
 PLcom/android/server/audio/AudioService;->access$000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/RecordingActivityMonitor;
 HSPLcom/android/server/audio/AudioService;->access$100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$AudioHandler;
 HSPLcom/android/server/audio/AudioService;->access$102(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioHandler;)Lcom/android/server/audio/AudioService$AudioHandler;
+PLcom/android/server/audio/AudioService;->access$1500(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->access$1600(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$ForceControlStreamClient;
+PLcom/android/server/audio/AudioService;->access$1602(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$ForceControlStreamClient;)Lcom/android/server/audio/AudioService$ForceControlStreamClient;
+PLcom/android/server/audio/AudioService;->access$1702(Lcom/android/server/audio/AudioService;I)I
+PLcom/android/server/audio/AudioService;->access$1802(Lcom/android/server/audio/AudioService;Z)Z
 HSPLcom/android/server/audio/AudioService;->access$200(Landroid/os/Handler;IIIILjava/lang/Object;I)V
 HSPLcom/android/server/audio/AudioService;->access$2000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioDeviceBroker;
 PLcom/android/server/audio/AudioService;->access$2100(Lcom/android/server/audio/AudioService;ILandroid/os/IBinder;ILjava/lang/String;)I
@@ -10090,8 +10625,12 @@
 HSPLcom/android/server/audio/AudioService;->access$3100(Lcom/android/server/audio/AudioService;III)I
 HSPLcom/android/server/audio/AudioService;->access$3200(Lcom/android/server/audio/AudioService;)[Lcom/android/server/audio/AudioService$VolumeStreamState;
 PLcom/android/server/audio/AudioService;->access$3200(Lcom/android/server/audio/AudioService;I)I
+PLcom/android/server/audio/AudioService;->access$3200(Lcom/android/server/audio/AudioService;I)Z
+HPLcom/android/server/audio/AudioService;->access$3300(Lcom/android/server/audio/AudioService;)[Lcom/android/server/audio/AudioService$VolumeStreamState;
 HSPLcom/android/server/audio/AudioService;->access$3300(Lcom/android/server/audio/AudioService;III)I
 PLcom/android/server/audio/AudioService;->access$3400(Lcom/android/server/audio/AudioService;)Z
+HPLcom/android/server/audio/AudioService;->access$3400(Lcom/android/server/audio/AudioService;III)I
+PLcom/android/server/audio/AudioService;->access$3500(Lcom/android/server/audio/AudioService;I)Z
 PLcom/android/server/audio/AudioService;->access$3600(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$3600(Lcom/android/server/audio/AudioService;Z)V
 HSPLcom/android/server/audio/AudioService;->access$3700(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SoundEffectsHelper;
@@ -10099,11 +10638,15 @@
 HSPLcom/android/server/audio/AudioService;->access$4000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SoundEffectsHelper;
 HSPLcom/android/server/audio/AudioService;->access$4100(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$4100(Lcom/android/server/audio/AudioService;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->access$4200(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SoundEffectsHelper;
 HSPLcom/android/server/audio/AudioService;->access$4200(Lcom/android/server/audio/AudioService;ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->access$4300(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$4300(Lcom/android/server/audio/AudioService;I)V
 HSPLcom/android/server/audio/AudioService;->access$4500(Lcom/android/server/audio/AudioService;ZLjava/lang/String;)V
 PLcom/android/server/audio/AudioService;->access$4600(Lcom/android/server/audio/AudioService;I)V
 HSPLcom/android/server/audio/AudioService;->access$4700(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService;->access$4700(Lcom/android/server/audio/AudioService;ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->access$4800(Lcom/android/server/audio/AudioService;I)V
 PLcom/android/server/audio/AudioService;->access$4800(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$DeviceVolumeUpdate;)V
 PLcom/android/server/audio/AudioService;->access$4900(Lcom/android/server/audio/AudioService;)V
 HSPLcom/android/server/audio/AudioService;->access$5000(Lcom/android/server/audio/AudioService;)V
@@ -10111,58 +10654,95 @@
 HSPLcom/android/server/audio/AudioService;->access$5200(Lcom/android/server/audio/AudioService;)I
 PLcom/android/server/audio/AudioService;->access$5200(Lcom/android/server/audio/AudioService;)V
 HSPLcom/android/server/audio/AudioService;->access$5202(Lcom/android/server/audio/AudioService;I)I
+PLcom/android/server/audio/AudioService;->access$5300(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$DeviceVolumeUpdate;)V
 HSPLcom/android/server/audio/AudioService;->access$5302(Lcom/android/server/audio/AudioService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->access$5400(Lcom/android/server/audio/AudioService;)V
 HSPLcom/android/server/audio/AudioService;->access$5400(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$5500(Lcom/android/server/audio/AudioService;)I
 HSPLcom/android/server/audio/AudioService;->access$5500(Lcom/android/server/audio/AudioService;IZ)V
 HSPLcom/android/server/audio/AudioService;->access$5502(Lcom/android/server/audio/AudioService;I)I
 HSPLcom/android/server/audio/AudioService;->access$5600(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 HSPLcom/android/server/audio/AudioService;->access$5602(Lcom/android/server/audio/AudioService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->access$5700(Lcom/android/server/audio/AudioService;)I
 HSPLcom/android/server/audio/AudioService;->access$5700(Lcom/android/server/audio/AudioService;)Z
 HSPLcom/android/server/audio/AudioService;->access$5700(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$5702(Lcom/android/server/audio/AudioService;I)I
 PLcom/android/server/audio/AudioService;->access$5800(Lcom/android/server/audio/AudioService;IZ)V
 HSPLcom/android/server/audio/AudioService;->access$5800(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$5802(Lcom/android/server/audio/AudioService;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/audio/AudioService;->access$5900(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$5900(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 HSPLcom/android/server/audio/AudioService;->access$5902(Lcom/android/server/audio/AudioService;Z)Z
 HSPLcom/android/server/audio/AudioService;->access$600(Lcom/android/server/audio/AudioService;)Landroid/content/Context;
+PLcom/android/server/audio/AudioService;->access$6000(Lcom/android/server/audio/AudioService;IZ)V
 PLcom/android/server/audio/AudioService;->access$6000(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 HSPLcom/android/server/audio/AudioService;->access$6000(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;Z)V
 HSPLcom/android/server/audio/AudioService;->access$6100(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 PLcom/android/server/audio/AudioService;->access$6200(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$6200(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 PLcom/android/server/audio/AudioService;->access$6202(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$6300(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
 PLcom/android/server/audio/AudioService;->access$6300(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;Z)V
 PLcom/android/server/audio/AudioService;->access$6400(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$6400(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$6402(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$6500(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;Z)V
 HSPLcom/android/server/audio/AudioService;->access$6500(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
 HSPLcom/android/server/audio/AudioService;->access$6600(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$6600(Lcom/android/server/audio/AudioService;Z)V
 HSPLcom/android/server/audio/AudioService;->access$6602(Lcom/android/server/audio/AudioService;Z)Z
 HSPLcom/android/server/audio/AudioService;->access$6700(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
 PLcom/android/server/audio/AudioService;->access$6700(Lcom/android/server/audio/AudioService;)Z
 HSPLcom/android/server/audio/AudioService;->access$6800(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
 HSPLcom/android/server/audio/AudioService;->access$6800(Lcom/android/server/audio/AudioService;Z)V
 PLcom/android/server/audio/AudioService;->access$6900(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$6900(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
 PLcom/android/server/audio/AudioService;->access$6900(Lcom/android/server/audio/AudioService;Landroid/content/pm/UserInfo;)V
 PLcom/android/server/audio/AudioService;->access$6902(Lcom/android/server/audio/AudioService;Z)Z
 HSPLcom/android/server/audio/AudioService;->access$700(Lcom/android/server/audio/AudioService;Z)V
 PLcom/android/server/audio/AudioService;->access$7000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
+PLcom/android/server/audio/AudioService;->access$7000(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$7000(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
 PLcom/android/server/audio/AudioService;->access$7000(Lcom/android/server/audio/AudioService;Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->access$7002(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$7100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
+PLcom/android/server/audio/AudioService;->access$7100(Lcom/android/server/audio/AudioService;)Z
 PLcom/android/server/audio/AudioService;->access$7100(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->access$7102(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$7200(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
+PLcom/android/server/audio/AudioService;->access$7200(Lcom/android/server/audio/AudioService;Z)V
 PLcom/android/server/audio/AudioService;->access$7300(Lcom/android/server/audio/AudioService;Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->access$7300(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->access$7500(Lcom/android/server/audio/AudioService;Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/audio/AudioService;->access$7800(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$VolumeController;
 HSPLcom/android/server/audio/AudioService;->access$7900(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
 HSPLcom/android/server/audio/AudioService;->access$7902(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
 HPLcom/android/server/audio/AudioService;->access$8000(Lcom/android/server/audio/AudioService;IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->access$8100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$VolumeController;
 HSPLcom/android/server/audio/AudioService;->access$8200(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
 HSPLcom/android/server/audio/AudioService;->access$8200(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
 HSPLcom/android/server/audio/AudioService;->access$8202(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+PLcom/android/server/audio/AudioService;->access$8300(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+PLcom/android/server/audio/AudioService;->access$8300(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$VolumeController;
 HSPLcom/android/server/audio/AudioService;->access$8300(Lcom/android/server/audio/AudioService;)[I
+PLcom/android/server/audio/AudioService;->access$8300(Lcom/android/server/audio/AudioService;IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->access$8302(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
 HSPLcom/android/server/audio/AudioService;->access$8302(Lcom/android/server/audio/AudioService;[I)[I
+PLcom/android/server/audio/AudioService;->access$8400(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+PLcom/android/server/audio/AudioService;->access$8402(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
 PLcom/android/server/audio/AudioService;->access$8408(Lcom/android/server/audio/AudioService;)I
 PLcom/android/server/audio/AudioService;->access$8500(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->access$8500(Lcom/android/server/audio/AudioService;IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->access$8600(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
 PLcom/android/server/audio/AudioService;->access$8600(Lcom/android/server/audio/AudioService;)[I
 PLcom/android/server/audio/AudioService;->access$8602(Lcom/android/server/audio/AudioService;[I)[I
+PLcom/android/server/audio/AudioService;->access$8700(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->access$8700(Lcom/android/server/audio/AudioService;)[I
+PLcom/android/server/audio/AudioService;->access$8702(Lcom/android/server/audio/AudioService;[I)[I
+PLcom/android/server/audio/AudioService;->access$8800(Lcom/android/server/audio/AudioService;)[I
+PLcom/android/server/audio/AudioService;->access$8802(Lcom/android/server/audio/AudioService;[I)[I
 PLcom/android/server/audio/AudioService;->access$8900(Lcom/android/server/audio/AudioService;)Ljava/util/HashMap;
+PLcom/android/server/audio/AudioService;->access$9000(Lcom/android/server/audio/AudioService;)Ljava/util/HashMap;
 PLcom/android/server/audio/AudioService;->addMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
 HPLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;)V
 HPLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
@@ -10252,6 +10832,8 @@
 HPLcom/android/server/audio/AudioService;->isBluetoothA2dpOn()Z
 HSPLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z
 HPLcom/android/server/audio/AudioService;->isCameraSoundForced()Z
+HPLcom/android/server/audio/AudioService;->isFixedVolumeDevice(I)Z
+HPLcom/android/server/audio/AudioService;->isFullVolumeDevice(I)Z
 HSPLcom/android/server/audio/AudioService;->isInCommunication()Z
 PLcom/android/server/audio/AudioService;->isMedia(I)Z
 HSPLcom/android/server/audio/AudioService;->isMicrophoneMuted()Z
@@ -10269,7 +10851,7 @@
 PLcom/android/server/audio/AudioService;->isValidAudioAttributesUsage(Landroid/media/AudioAttributes;)Z
 HSPLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
 HPLcom/android/server/audio/AudioService;->isVoiceCommunicationPlaybackCaptureMix(Landroid/media/audiopolicy/AudioMix;)Z
-PLcom/android/server/audio/AudioService;->killBackgroundUserProcessesWithRecordAudioPermission(Landroid/content/pm/UserInfo;)V
+HPLcom/android/server/audio/AudioService;->killBackgroundUserProcessesWithRecordAudioPermission(Landroid/content/pm/UserInfo;)V
 HSPLcom/android/server/audio/AudioService;->lambda$ensureValidAttributes$0(Landroid/media/AudioAttributes;)Z
 HPLcom/android/server/audio/AudioService;->makeAlsaAddressString(II)Ljava/lang/String;
 PLcom/android/server/audio/AudioService;->maybeSendSystemAudioStatusCommand(Z)V
@@ -10304,7 +10886,7 @@
 HSPLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
 HSPLcom/android/server/audio/AudioService;->readPersistedSettings()V
 HSPLcom/android/server/audio/AudioService;->readUserRestrictions()V
-PLcom/android/server/audio/AudioService;->readVolumeGroupsSettings()V
+HPLcom/android/server/audio/AudioService;->readVolumeGroupsSettings()V
 HPLcom/android/server/audio/AudioService;->recorderEvent(II)V
 HPLcom/android/server/audio/AudioService;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZZLandroid/media/projection/IMediaProjection;)Ljava/lang/String;
 PLcom/android/server/audio/AudioService;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
@@ -10373,6 +10955,7 @@
 HPLcom/android/server/audio/AudioService;->updateAbsVolumeMultiModeDevices(II)V
 HSPLcom/android/server/audio/AudioService;->updateAssistantUId(Z)V
 HSPLcom/android/server/audio/AudioService;->updateAudioHalPids()V
+HPLcom/android/server/audio/AudioService;->updateCurrentImeUid(Z)V
 HSPLcom/android/server/audio/AudioService;->updateDefaultStreamOverrideDelay(Z)V
 HSPLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
 HPLcom/android/server/audio/AudioService;->updateFlagsForTvPlatform(I)I
@@ -10410,20 +10993,27 @@
 PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getCodec()I
 PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getVolume()I
 PLcom/android/server/audio/BtHelper$ScoClient;-><init>(Lcom/android/server/audio/BtHelper;Landroid/os/IBinder;)V
+PLcom/android/server/audio/BtHelper$ScoClient;->access$000(Lcom/android/server/audio/BtHelper$ScoClient;II)Z
+PLcom/android/server/audio/BtHelper$ScoClient;->binderDied()V
 PLcom/android/server/audio/BtHelper$ScoClient;->clearCount(Z)V
 PLcom/android/server/audio/BtHelper$ScoClient;->decCount()V
 PLcom/android/server/audio/BtHelper$ScoClient;->getBinder()Landroid/os/IBinder;
 PLcom/android/server/audio/BtHelper$ScoClient;->getCount()I
 PLcom/android/server/audio/BtHelper$ScoClient;->getPid()I
 PLcom/android/server/audio/BtHelper$ScoClient;->incCount(I)V
+PLcom/android/server/audio/BtHelper$ScoClient;->registerDeathRecipient()V
+PLcom/android/server/audio/BtHelper$ScoClient;->remove(ZZ)V
 PLcom/android/server/audio/BtHelper$ScoClient;->requestScoState(II)Z
 PLcom/android/server/audio/BtHelper$ScoClient;->totalCount()I
+PLcom/android/server/audio/BtHelper$ScoClient;->unregisterDeathRecipient()V
 HSPLcom/android/server/audio/BtHelper;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
 PLcom/android/server/audio/BtHelper;->a2dpDeviceEventToString(I)Ljava/lang/String;
 PLcom/android/server/audio/BtHelper;->access$000(Lcom/android/server/audio/BtHelper;)Lcom/android/server/audio/AudioDeviceBroker;
+PLcom/android/server/audio/BtHelper;->access$100(Lcom/android/server/audio/BtHelper;)Lcom/android/server/audio/AudioDeviceBroker;
 PLcom/android/server/audio/BtHelper;->access$100(Lcom/android/server/audio/BtHelper;)Ljava/util/ArrayList;
 PLcom/android/server/audio/BtHelper;->access$1000(Landroid/bluetooth/BluetoothHeadset;Landroid/bluetooth/BluetoothDevice;I)Z
 PLcom/android/server/audio/BtHelper;->access$200(Lcom/android/server/audio/BtHelper;)V
+PLcom/android/server/audio/BtHelper;->access$300(Lcom/android/server/audio/BtHelper;)Ljava/util/ArrayList;
 PLcom/android/server/audio/BtHelper;->access$300(Lcom/android/server/audio/BtHelper;I)V
 PLcom/android/server/audio/BtHelper;->access$400(Lcom/android/server/audio/BtHelper;)I
 PLcom/android/server/audio/BtHelper;->access$402(Lcom/android/server/audio/BtHelper;I)I
@@ -10457,6 +11047,7 @@
 HSPLcom/android/server/audio/BtHelper;->onSystemReady()V
 HPLcom/android/server/audio/BtHelper;->receiveBtEvent(Landroid/content/Intent;)V
 HSPLcom/android/server/audio/BtHelper;->resetBluetoothSco()V
+PLcom/android/server/audio/BtHelper;->scoClientDied(Ljava/lang/Object;)V
 HSPLcom/android/server/audio/BtHelper;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
 HPLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeIndex(I)V
 HPLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeSupported(Z)V
@@ -10592,7 +11183,7 @@
 HPLcom/android/server/audio/RecordingActivityMonitor$RecordingEvent;->recordEventToString(I)Ljava/lang/String;
 HPLcom/android/server/audio/RecordingActivityMonitor$RecordingState;-><init>(ILcom/android/server/audio/RecordingActivityMonitor$RecorderDeathHandler;)V
 PLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->getConfig()Landroid/media/AudioRecordingConfiguration;
+HPLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->getConfig()Landroid/media/AudioRecordingConfiguration;
 HPLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->getRiid()I
 PLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->hasDeathHandler()Z
 HPLcom/android/server/audio/RecordingActivityMonitor$RecordingState;->isActiveConfiguration()Z
@@ -10608,6 +11199,7 @@
 HPLcom/android/server/audio/RecordingActivityMonitor;->findStateByRiid(I)I
 HPLcom/android/server/audio/RecordingActivityMonitor;->getActiveRecordingConfigurations(Z)Ljava/util/List;
 HSPLcom/android/server/audio/RecordingActivityMonitor;->initMonitor()V
+PLcom/android/server/audio/RecordingActivityMonitor;->isLegacyRemoteSubmixActive()Z
 PLcom/android/server/audio/RecordingActivityMonitor;->onAudioServerDied()V
 HPLcom/android/server/audio/RecordingActivityMonitor;->onRecordingConfigurationChanged(IIIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;ILjava/lang/String;)V
 HPLcom/android/server/audio/RecordingActivityMonitor;->recorderEvent(II)V
@@ -10683,11 +11275,13 @@
 PLcom/android/server/autofill/-$$Lambda$Helper$laLKWmsGqkFIaRXW5rR6_s66Vsw;->matches(Landroid/app/assist/AssistStructure$ViewNode;)Z
 PLcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;-><init>(Landroid/view/autofill/AutofillId;)V
 PLcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;->matches(Landroid/app/assist/AssistStructure$ViewNode;)Z
+HPLcom/android/server/autofill/-$$Lambda$InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl$O_1Pd4cN7Bj5K69DKezKZFr_644;-><init>(Lcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;)V
+HPLcom/android/server/autofill/-$$Lambda$InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl$O_1Pd4cN7Bj5K69DKezKZFr_644;->run()V
 PLcom/android/server/autofill/-$$Lambda$Q-iZrXrDBZAnj-gnbNOhH00i8uU;-><clinit>()V
 PLcom/android/server/autofill/-$$Lambda$Q-iZrXrDBZAnj-gnbNOhH00i8uU;-><init>()V
 HPLcom/android/server/autofill/-$$Lambda$Q-iZrXrDBZAnj-gnbNOhH00i8uU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$-Icm1WEZLv2n19GTOHkDYaCS_Oc;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/view/autofill/IAutoFillManagerClient;IILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/function/Function;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Ljava/util/concurrent/atomic/AtomicReference;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$-Icm1WEZLv2n19GTOHkDYaCS_Oc;->run(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$-Icm1WEZLv2n19GTOHkDYaCS_Oc;->run(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$EIoMQmktiMOrY4CSGrV0wR8Frho;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/view/autofill/IAutoFillManagerClient;IILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Ljava/util/concurrent/atomic/AtomicReference;)V
 HPLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$EIoMQmktiMOrY4CSGrV0wR8Frho;->run(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$W6vVk8kBkoWieb1Jw-BucQNBDsM;-><clinit>()V
@@ -10720,13 +11314,20 @@
 PLcom/android/server/autofill/-$$Lambda$RemoteFillService$adrL6UDQX3d0e-QQL11h9TWJcM4;->run()V
 PLcom/android/server/autofill/-$$Lambda$RemoteFillService$lQ9Txb0D49A09bfomYmOPhXTXRE;-><init>(Lcom/android/server/autofill/RemoteFillService;)V
 PLcom/android/server/autofill/-$$Lambda$RemoteFillService$lQ9Txb0D49A09bfomYmOPhXTXRE;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$RemoteInlineSuggestionRenderService$a3hMUCdIdu8-3SB6ZLhLjH9Na2A;-><init>(Landroid/service/autofill/IInlineSuggestionUiCallback;Landroid/service/autofill/InlinePresentation;IILandroid/os/IBinder;I)V
+PLcom/android/server/autofill/-$$Lambda$RemoteInlineSuggestionRenderService$a3hMUCdIdu8-3SB6ZLhLjH9Na2A;->run(Landroid/os/IInterface;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$0GS6sttVUDBqEERyy9UZSJ7uee4;-><init>(Lcom/android/server/autofill/Session;)V
+HPLcom/android/server/autofill/-$$Lambda$Session$AssistDataReceiverImpl$mnf5BjDqQm9Cqgh_MOTN84wpLpU;-><init>(Lcom/android/server/autofill/Session$AssistDataReceiverImpl;)V
+PLcom/android/server/autofill/-$$Lambda$Session$AssistDataReceiverImpl$mnf5BjDqQm9Cqgh_MOTN84wpLpU;->accept(Ljava/lang/Object;)V
 PLcom/android/server/autofill/-$$Lambda$Session$Fs9zdJwELk-9rAM3RiY6AyBKswI;-><clinit>()V
 PLcom/android/server/autofill/-$$Lambda$Session$Fs9zdJwELk-9rAM3RiY6AyBKswI;-><init>()V
 PLcom/android/server/autofill/-$$Lambda$Session$Fs9zdJwELk-9rAM3RiY6AyBKswI;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/autofill/-$$Lambda$Session$LM4xf4dbxH_NTutQzBkaQNxKbV0;-><clinit>()V
 PLcom/android/server/autofill/-$$Lambda$Session$LM4xf4dbxH_NTutQzBkaQNxKbV0;-><init>()V
 PLcom/android/server/autofill/-$$Lambda$Session$LM4xf4dbxH_NTutQzBkaQNxKbV0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$Session$LYgiVF7QUn4954p-wNYTeWDnGkw;-><clinit>()V
+PLcom/android/server/autofill/-$$Lambda$Session$LYgiVF7QUn4954p-wNYTeWDnGkw;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$Session$LYgiVF7QUn4954p-wNYTeWDnGkw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$Llx808TSLfk504RH3XZNeG5LjG0;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$Llx808TSLfk504RH3XZNeG5LjG0;->run()V
 PLcom/android/server/autofill/-$$Lambda$Session$NtvZwhlT1c4eLjg2qI6EER2oCtY;-><clinit>()V
@@ -10734,12 +11335,18 @@
 PLcom/android/server/autofill/-$$Lambda$Session$NtvZwhlT1c4eLjg2qI6EER2oCtY;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$WB4wgUTKZbTqa0TBuDv7N86bIjU;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
 PLcom/android/server/autofill/-$$Lambda$Session$WB4wgUTKZbTqa0TBuDv7N86bIjU;->run()V
+PLcom/android/server/autofill/-$$Lambda$Session$aJ4wM-TQ1ZRc9Zza8GGBSG9fM6s;-><init>(Lcom/android/server/autofill/Session;Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)V
+PLcom/android/server/autofill/-$$Lambda$Session$aJ4wM-TQ1ZRc9Zza8GGBSG9fM6s;->accept(Ljava/lang/Object;)V
 PLcom/android/server/autofill/-$$Lambda$Session$cYu1t6lYVopApYW-vct82-7slZk;-><clinit>()V
 PLcom/android/server/autofill/-$$Lambda$Session$cYu1t6lYVopApYW-vct82-7slZk;-><init>()V
 PLcom/android/server/autofill/-$$Lambda$Session$cYu1t6lYVopApYW-vct82-7slZk;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$c_2SPX0muCe0vkZycSqBzBG3j9I;-><init>(Lcom/android/server/autofill/Session;)V
+PLcom/android/server/autofill/-$$Lambda$Session$c_2SPX0muCe0vkZycSqBzBG3j9I;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/autofill/-$$Lambda$Session$cn_hPmALqG1GX5l63SxDoUl37k0;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
+PLcom/android/server/autofill/-$$Lambda$Session$cn_hPmALqG1GX5l63SxDoUl37k0;->run()V
 HPLcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
 PLcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;->run()V
+PLcom/android/server/autofill/-$$Lambda$Session$rQ-Jf_4HLjEma8EFwiujLBHcgA0;-><init>(Lcom/android/server/autofill/Session;)V
 HPLcom/android/server/autofill/-$$Lambda$Session$rwjX85PTamn0L4a8CS_Nzf7He0g;-><init>(Lcom/android/server/autofill/Session;)V
 PLcom/android/server/autofill/-$$Lambda$Session$v6ZVyksJuHdWgJ1F8aoa_1LJWPo;-><clinit>()V
 PLcom/android/server/autofill/-$$Lambda$Session$v6ZVyksJuHdWgJ1F8aoa_1LJWPo;-><init>()V
@@ -10779,6 +11386,7 @@
 HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V
 HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->isServiceEnabled(ILjava/lang/String;Lcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->isServiceSupported(ILcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
 HPLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;Lcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setAugmentedAutofillWhitelist(Ljava/util/List;Ljava/util/List;Lcom/android/internal/os/IResultReceiver;)V
@@ -10795,6 +11403,20 @@
 HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
 PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->removeCompatibilityModeRequests(I)V
 HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->reset(I)V
+PLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;-><init>()V
+PLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;-><init>(Lcom/android/server/autofill/AutofillManagerService$1;)V
+HPLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;->getAppDisabledActivitiesLocked(Ljava/lang/String;)Landroid/util/ArrayMap;
+HPLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;->getAppDisabledExpirationLocked(Ljava/lang/String;)J
+PLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;->isAutofillDisabledLocked(Landroid/content/ComponentName;)Z
+PLcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;->putDisableAppsLocked(Ljava/lang/String;J)V
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;-><init>()V
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->addDisabledAppLocked(ILjava/lang/String;J)V
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->dump(ILjava/lang/String;Ljava/io/PrintWriter;)V
+HPLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->getAppDisabledActivities(ILjava/lang/String;)Landroid/util/ArrayMap;
+HPLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->getAppDisabledExpiration(ILjava/lang/String;)J
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->getOrCreateAutofillDisabledInfoByUserIdLocked(I)Lcom/android/server/autofill/AutofillManagerService$AutofillDisabledInfo;
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->isAutofillDisabledLocked(ILandroid/content/ComponentName;)Z
+PLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;->remove(I)V
 HSPLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
 HSPLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/server/autofill/AutofillManagerService$1;)V
 HSPLcom/android/server/autofill/AutofillManagerService$LocalService;->getAutofillOptions(Ljava/lang/String;JI)Landroid/content/AutofillOptions;
@@ -10808,6 +11430,7 @@
 HSPLcom/android/server/autofill/AutofillManagerService;-><clinit>()V
 HSPLcom/android/server/autofill/AutofillManagerService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/autofill/AutofillManagerService;->access$100(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$1000(Lcom/android/server/autofill/AutofillManagerService;)Lcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;
 HSPLcom/android/server/autofill/AutofillManagerService;->access$1000(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/autofill/AutofillManagerService;->access$1100(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
 PLcom/android/server/autofill/AutofillManagerService;->access$1400(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
@@ -10865,6 +11488,7 @@
 PLcom/android/server/autofill/AutofillManagerService;->access$800(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
 HPLcom/android/server/autofill/AutofillManagerService;->access$900(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
 HSPLcom/android/server/autofill/AutofillManagerService;->addCompatibilityModeRequestsLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
+PLcom/android/server/autofill/AutofillManagerService;->enforceCallingPermissionForManagement()V
 PLcom/android/server/autofill/AutofillManagerService;->getPartitionMaxCount()I
 HSPLcom/android/server/autofill/AutofillManagerService;->getServiceSettingsProperty()Ljava/lang/String;
 PLcom/android/server/autofill/AutofillManagerService;->getSupportedSmartSuggestionModesLocked()I
@@ -10895,6 +11519,7 @@
 PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Landroid/os/Parcelable;)V
 HPLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Z)V
 HSPLcom/android/server/autofill/AutofillManagerService;->setDeviceConfigProperties()V
+PLcom/android/server/autofill/AutofillManagerService;->setLogLevel(I)V
 HSPLcom/android/server/autofill/AutofillManagerService;->setLogLevelFromSettings()V
 HSPLcom/android/server/autofill/AutofillManagerService;->setLoggingLevelsLocked(ZZ)V
 HSPLcom/android/server/autofill/AutofillManagerService;->setMaxPartitionsFromSettings()V
@@ -10914,6 +11539,7 @@
 HPLcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
 HSPLcom/android/server/autofill/AutofillManagerServiceImpl;-><clinit>()V
 HSPLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Lcom/android/server/autofill/AutofillManagerService;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;Z)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Lcom/android/server/autofill/AutofillManagerService;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;ZLcom/android/server/autofill/AutofillManagerService$DisabledInfoCache;)V
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->access$200(Lcom/android/server/autofill/AutofillManagerServiceImpl;)Ljava/lang/Object;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->access$300(Lcom/android/server/autofill/AutofillManagerServiceImpl;)Landroid/util/SparseArray;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->access$302(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;
@@ -10951,6 +11577,7 @@
 HPLcom/android/server/autofill/AutofillManagerServiceImpl;->isAutofillDisabledLocked(Landroid/content/ComponentName;)Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByAugmentedAutofillServiceLocked(Ljava/lang/String;I)Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByServiceLocked(Ljava/lang/String;I)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->isClientSessionDestroyedLocked(Landroid/view/autofill/IAutoFillManagerClient;)Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isFieldClassificationEnabledLocked()Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isInlineSuggestionsEnabled()Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isValidEventLocked(Ljava/lang/String;I)Z
@@ -10987,6 +11614,10 @@
 HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateRemoteInlineSuggestionRenderServiceLocked()V
 HPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateSessionLocked(IILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->whitelistForAugmentedAutofillPackages(Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/autofill/AutofillManagerServiceShellCommand;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/AutofillManagerServiceShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/autofill/AutofillManagerServiceShellCommand;->requestSet(Ljava/io/PrintWriter;)I
+PLcom/android/server/autofill/AutofillManagerServiceShellCommand;->setLogLevel(Ljava/io/PrintWriter;)I
 PLcom/android/server/autofill/FieldClassificationStrategy$1;-><init>(Lcom/android/server/autofill/FieldClassificationStrategy;)V
 PLcom/android/server/autofill/FieldClassificationStrategy$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 PLcom/android/server/autofill/FieldClassificationStrategy$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
@@ -11023,31 +11654,57 @@
 PLcom/android/server/autofill/Helper;->printlnRedactedText(Ljava/io/PrintWriter;Ljava/lang/CharSequence;)V
 HPLcom/android/server/autofill/Helper;->sanitizeUrlBar(Landroid/app/assist/AssistStructure;[Ljava/lang/String;)Landroid/app/assist/AssistStructure$ViewNode;
 PLcom/android/server/autofill/Helper;->toArray(Landroid/util/ArraySet;)[Landroid/view/autofill/AutofillId;
-PLcom/android/server/autofill/InlineSuggestionSession$1;-><init>(Lcom/android/server/autofill/InlineSuggestionSession;)V
-PLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodFinishInputView(Landroid/view/autofill/AutofillId;)V
-PLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodStartInputView(Landroid/view/autofill/AutofillId;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;-><init>(Lcom/android/server/autofill/InlineSuggestionSession;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodFinishInput()V
+PLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodFinishInputView()V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodFinishInputView(Landroid/view/autofill/AutofillId;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodStartInput(Landroid/view/autofill/AutofillId;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodStartInputView()V
+HPLcom/android/server/autofill/InlineSuggestionSession$1;->onInputMethodStartInputView(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/autofill/InlineSuggestionSession$AutofillResponse;-><init>(Landroid/view/autofill/AutofillId;Landroid/view/inputmethod/InlineSuggestionsResponse;)V
 HPLcom/android/server/autofill/InlineSuggestionSession$ImeResponse;-><init>(Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;)V
 HPLcom/android/server/autofill/InlineSuggestionSession$ImeResponse;->getCallback()Lcom/android/internal/view/IInlineSuggestionsResponseCallback;
 HPLcom/android/server/autofill/InlineSuggestionSession$ImeResponse;->getRequest()Landroid/view/inputmethod/InlineSuggestionsRequest;
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Landroid/view/autofill/AutofillId;Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;Ljava/util/function/Consumer;Landroid/os/Handler;Ljava/lang/Object;)V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Landroid/view/autofill/AutofillId;Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;Ljava/util/function/Consumer;Landroid/os/Handler;Ljava/lang/Object;Lcom/android/server/autofill/InlineSuggestionSession$1;)V
 PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;)V
 PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$1;)V
 PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;)V
 PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;Lcom/android/server/autofill/InlineSuggestionSession$1;)V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;Ljava/util/function/Consumer;Landroid/os/Handler;Ljava/lang/Object;)V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;-><init>(Ljava/util/concurrent/CompletableFuture;Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;Ljava/util/function/Consumer;Landroid/os/Handler;Ljava/lang/Object;Lcom/android/server/autofill/InlineSuggestionSession$1;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->completeIfNot(Lcom/android/server/autofill/InlineSuggestionSession$ImeResponse;)V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->completeIfNotLocked(Lcom/android/server/autofill/InlineSuggestionSession$ImeResponse;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->lambda$new$0$InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl()V
 HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInlineSuggestionsRequest(Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;)V
 PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInlineSuggestionsRequest(Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/AutofillId;Z)V
 HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInlineSuggestionsUnsupported()V
+HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodFinishInput()V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodFinishInputView()V
 HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodFinishInputView(Landroid/view/autofill/AutofillId;)V
+HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodShowInputRequested(Z)V
+HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInput(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInputView()V
 HPLcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;->onInputMethodStartInputView(Landroid/view/autofill/AutofillId;)V
 HPLcom/android/server/autofill/InlineSuggestionSession;-><init>(Lcom/android/server/inputmethod/InputMethodManagerInternal;ILandroid/content/ComponentName;)V
+PLcom/android/server/autofill/InlineSuggestionSession;-><init>(Lcom/android/server/inputmethod/InputMethodManagerInternal;ILandroid/content/ComponentName;Landroid/os/Handler;)V
+HPLcom/android/server/autofill/InlineSuggestionSession;-><init>(Lcom/android/server/inputmethod/InputMethodManagerInternal;ILandroid/content/ComponentName;Landroid/os/Handler;Ljava/lang/Object;)V
 PLcom/android/server/autofill/InlineSuggestionSession;->access$000(Lcom/android/server/autofill/InlineSuggestionSession;)Ljava/lang/Object;
+PLcom/android/server/autofill/InlineSuggestionSession;->access$100(Lcom/android/server/autofill/InlineSuggestionSession;)Landroid/view/autofill/AutofillId;
 PLcom/android/server/autofill/InlineSuggestionSession;->access$102(Lcom/android/server/autofill/InlineSuggestionSession;Landroid/view/autofill/AutofillId;)Landroid/view/autofill/AutofillId;
 PLcom/android/server/autofill/InlineSuggestionSession;->access$202(Lcom/android/server/autofill/InlineSuggestionSession;Z)Z
 PLcom/android/server/autofill/InlineSuggestionSession;->access$300(Lcom/android/server/autofill/InlineSuggestionSession;)Lcom/android/server/autofill/InlineSuggestionSession$AutofillResponse;
+PLcom/android/server/autofill/InlineSuggestionSession;->access$302(Lcom/android/server/autofill/InlineSuggestionSession;Lcom/android/server/autofill/InlineSuggestionSession$AutofillResponse;)Lcom/android/server/autofill/InlineSuggestionSession$AutofillResponse;
+PLcom/android/server/autofill/InlineSuggestionSession;->access$400(Lcom/android/server/autofill/InlineSuggestionSession;Landroid/view/autofill/AutofillId;Landroid/view/inputmethod/InlineSuggestionsResponse;)Z
 PLcom/android/server/autofill/InlineSuggestionSession;->cancelCurrentRequest()V
 HPLcom/android/server/autofill/InlineSuggestionSession;->createRequest(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/autofill/InlineSuggestionSession;->getInlineSuggestionsRequest()Ljava/util/Optional;
 HPLcom/android/server/autofill/InlineSuggestionSession;->getPendingImeResponse()Ljava/util/concurrent/CompletableFuture;
 HPLcom/android/server/autofill/InlineSuggestionSession;->hideInlineSuggestionsUi(Landroid/view/autofill/AutofillId;)Z
 HPLcom/android/server/autofill/InlineSuggestionSession;->onCreateInlineSuggestionsRequest(Landroid/view/autofill/AutofillId;)V
+HPLcom/android/server/autofill/InlineSuggestionSession;->onCreateInlineSuggestionsRequest(Landroid/view/autofill/AutofillId;Ljava/util/function/Consumer;)V
+PLcom/android/server/autofill/InlineSuggestionSession;->onInlineSuggestionsResponse(Landroid/view/autofill/AutofillId;Landroid/view/inputmethod/InlineSuggestionsResponse;)Z
+HPLcom/android/server/autofill/InlineSuggestionSession;->onInlineSuggestionsResponseLocked(Landroid/view/autofill/AutofillId;Landroid/view/inputmethod/InlineSuggestionsResponse;)Z
 HPLcom/android/server/autofill/InlineSuggestionSession;->waitAndGetImeResponse()Lcom/android/server/autofill/InlineSuggestionSession$ImeResponse;
 HPLcom/android/server/autofill/InlineSuggestionSession;->waitAndGetInlineSuggestionsRequest()Ljava/util/Optional;
 PLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService$1;)V
@@ -11055,6 +11712,7 @@
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->isCompleted()Z
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onCancellable(Landroid/os/ICancellationSignal;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onSuccess()V
+HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onSuccess(Ljava/util/List;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onSuccess(Ljava/util/List;Ljava/util/List;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onSuccess([Landroid/service/autofill/Dataset;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;->onSuccess([Landroid/service/autofill/Dataset;Landroid/os/Bundle;)V
@@ -11064,6 +11722,8 @@
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/service/autofill/augmented/IAugmentedAutofillService;IILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/function/Function;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Lcom/android/internal/infra/AndroidFuture;Ljava/util/concurrent/atomic/AtomicReference;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService$1;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/service/autofill/augmented/IAugmentedAutofillService;IILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLcom/android/internal/infra/AndroidFuture;Ljava/util/concurrent/atomic/AtomicReference;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService$1;->send(ILandroid/os/Bundle;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$2;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;ILandroid/view/autofill/AutofillId;Landroid/view/autofill/IAutoFillManagerClient;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$2;->autofill(Landroid/service/autofill/Dataset;)V
 HSPLcom/android/server/autofill/RemoteAugmentedAutofillService;-><clinit>()V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/autofill/RemoteAugmentedAutofillService$RemoteAugmentedAutofillServiceCallbacks;ZZII)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->access$000(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)Lcom/android/server/autofill/RemoteAugmentedAutofillService$RemoteAugmentedAutofillServiceCallbacks;
@@ -11073,6 +11733,7 @@
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->access$100(Lcom/android/server/autofill/RemoteAugmentedAutofillService;ILandroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->access$100(Lcom/android/server/autofill/RemoteAugmentedAutofillService;I[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Landroid/os/Bundle;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->access$100(Lcom/android/server/autofill/RemoteAugmentedAutofillService;I[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->access$200(Lcom/android/server/autofill/RemoteAugmentedAutofillService;ILandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Landroid/view/autofill/AutofillId;Ljava/util/function/Function;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->dispatchCancellation(Landroid/os/ICancellationSignal;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->getAutoDisconnectTimeoutMs()J
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getComponentName()Landroid/content/ComponentName;
@@ -11089,7 +11750,8 @@
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->lambda$onRequestAutofillLocked$1$RemoteAugmentedAutofillService(Ljava/util/concurrent/atomic/AtomicReference;Landroid/content/ComponentName;ILjava/lang/Void;Ljava/lang/Throwable;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeHandleInlineSuggestions(I[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;)V
 PLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeHandleInlineSuggestions(I[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;)V
-PLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(ILandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Ljava/util/List;Landroid/view/autofill/AutofillId;Ljava/util/function/Function;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)V
+HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(ILandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Landroid/view/autofill/AutofillId;Ljava/util/function/Function;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)V
+HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(ILandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Ljava/util/List;Landroid/view/autofill/AutofillId;Ljava/util/function/Function;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(ILandroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(ILandroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)V
 HPLcom/android/server/autofill/RemoteAugmentedAutofillService;->maybeRequestShowInlineSuggestions(I[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/IAutoFillManagerClient;Landroid/os/Bundle;)V
@@ -11136,8 +11798,16 @@
 PLcom/android/server/autofill/RemoteInlineSuggestionRenderService;->getServiceInterface(Landroid/os/IBinder;)Landroid/service/autofill/IInlineSuggestionRenderService;
 PLcom/android/server/autofill/RemoteInlineSuggestionRenderService;->getTimeoutIdleBindMillis()J
 PLcom/android/server/autofill/RemoteInlineSuggestionRenderService;->handleOnConnectedStateChanged(Z)V
+PLcom/android/server/autofill/RemoteInlineSuggestionRenderService;->lambda$renderSuggestion$0(Landroid/service/autofill/IInlineSuggestionUiCallback;Landroid/service/autofill/InlinePresentation;IILandroid/os/IBinder;ILandroid/service/autofill/IInlineSuggestionRenderService;)V
+PLcom/android/server/autofill/RemoteInlineSuggestionRenderService;->renderSuggestion(Landroid/service/autofill/IInlineSuggestionUiCallback;Landroid/service/autofill/InlinePresentation;IILandroid/os/IBinder;I)V
 HPLcom/android/server/autofill/Session$1;-><init>(Lcom/android/server/autofill/Session;)V
 HPLcom/android/server/autofill/Session$1;->onHandleAssistData(Landroid/os/Bundle;)V
+PLcom/android/server/autofill/Session$AssistDataReceiverImpl;-><init>(Lcom/android/server/autofill/Session;)V
+HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;-><init>(Lcom/android/server/autofill/Session;Lcom/android/server/autofill/Session$1;)V
+PLcom/android/server/autofill/Session$AssistDataReceiverImpl;->lambda$newAutofillRequestLocked$0$Session$AssistDataReceiverImpl(Landroid/view/inputmethod/InlineSuggestionsRequest;)V
+PLcom/android/server/autofill/Session$AssistDataReceiverImpl;->maybeRequestFillLocked()V
+HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;->newAutofillRequestLocked(Z)Ljava/util/function/Consumer;
+HPLcom/android/server/autofill/Session$AssistDataReceiverImpl;->onHandleAssistData(Landroid/os/Bundle;)V
 PLcom/android/server/autofill/Session$InlineSuggestionsRequestCallbackImpl;-><init>()V
 PLcom/android/server/autofill/Session$InlineSuggestionsRequestCallbackImpl;-><init>(Lcom/android/server/autofill/Session$1;)V
 PLcom/android/server/autofill/Session$InlineSuggestionsRequestCallbackImpl;->access$1500(Lcom/android/server/autofill/Session$InlineSuggestionsRequestCallbackImpl;)Landroid/view/inputmethod/InlineSuggestionsRequest;
@@ -11149,33 +11819,50 @@
 PLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IIILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZI)V
 HPLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IIILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZILcom/android/server/inputmethod/InputMethodManagerInternal;)V
 HPLcom/android/server/autofill/Session;->access$000(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/RemoteFillService;
+PLcom/android/server/autofill/Session;->access$100(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/RemoteFillService;
+PLcom/android/server/autofill/Session;->access$1000(Lcom/android/server/autofill/Session;)Landroid/util/ArrayMap;
 HPLcom/android/server/autofill/Session;->access$1000(Lcom/android/server/autofill/Session;)Ljava/util/ArrayList;
 HPLcom/android/server/autofill/Session;->access$1002(Lcom/android/server/autofill/Session;Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/autofill/Session;->access$1100(Lcom/android/server/autofill/Session;)Ljava/util/ArrayList;
 HPLcom/android/server/autofill/Session;->access$1100(Lcom/android/server/autofill/Session;)V
+PLcom/android/server/autofill/Session;->access$1102(Lcom/android/server/autofill/Session;Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/autofill/Session;->access$1200(Lcom/android/server/autofill/Session;)V
 HPLcom/android/server/autofill/Session;->access$1200(Lcom/android/server/autofill/Session;Landroid/service/autofill/FillContext;I)V
+PLcom/android/server/autofill/Session;->access$1300(Lcom/android/server/autofill/Session;Landroid/service/autofill/FillContext;I)V
 HPLcom/android/server/autofill/Session;->access$1300(Lcom/android/server/autofill/Session;Z)Ljava/util/ArrayList;
 PLcom/android/server/autofill/Session;->access$1400(Lcom/android/server/autofill/Session;)Landroid/os/Bundle;
 PLcom/android/server/autofill/Session;->access$1400(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/InlineSuggestionSession;
 HPLcom/android/server/autofill/Session;->access$1400(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/Session$InlineSuggestionsRequestCallbackImpl;
+PLcom/android/server/autofill/Session;->access$1400(Lcom/android/server/autofill/Session;Z)Ljava/util/ArrayList;
 PLcom/android/server/autofill/Session;->access$1500(Lcom/android/server/autofill/Session;)Landroid/os/Bundle;
 HPLcom/android/server/autofill/Session;->access$1600(Lcom/android/server/autofill/Session;)Landroid/os/Bundle;
 HPLcom/android/server/autofill/Session;->access$1600(Lcom/android/server/autofill/Session;)Landroid/os/IBinder;
 HPLcom/android/server/autofill/Session;->access$300(Lcom/android/server/autofill/Session;)Landroid/view/autofill/AutofillId;
+PLcom/android/server/autofill/Session;->access$400(Lcom/android/server/autofill/Session;)Landroid/view/autofill/AutofillId;
 HPLcom/android/server/autofill/Session;->access$400(Lcom/android/server/autofill/Session;)Ljava/lang/Object;
+PLcom/android/server/autofill/Session;->access$500(Lcom/android/server/autofill/Session;)Ljava/lang/Object;
 HPLcom/android/server/autofill/Session;->access$500(Lcom/android/server/autofill/Session;)Z
 PLcom/android/server/autofill/Session;->access$600(Lcom/android/server/autofill/Session;)Landroid/content/ComponentName;
+PLcom/android/server/autofill/Session;->access$600(Lcom/android/server/autofill/Session;)Z
+PLcom/android/server/autofill/Session;->access$700(Lcom/android/server/autofill/Session;)Landroid/content/ComponentName;
 PLcom/android/server/autofill/Session;->access$700(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/AutofillManagerServiceImpl;
 PLcom/android/server/autofill/Session;->access$800(Lcom/android/server/autofill/Session;)Landroid/app/assist/AssistStructure$ViewNode;
+PLcom/android/server/autofill/Session;->access$800(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/AutofillManagerServiceImpl;
 PLcom/android/server/autofill/Session;->access$802(Lcom/android/server/autofill/Session;Landroid/app/assist/AssistStructure$ViewNode;)Landroid/app/assist/AssistStructure$ViewNode;
+PLcom/android/server/autofill/Session;->access$900(Lcom/android/server/autofill/Session;)Landroid/app/assist/AssistStructure$ViewNode;
 PLcom/android/server/autofill/Session;->access$900(Lcom/android/server/autofill/Session;)Landroid/util/ArrayMap;
+PLcom/android/server/autofill/Session;->access$902(Lcom/android/server/autofill/Session;Landroid/app/assist/AssistStructure$ViewNode;)Landroid/app/assist/AssistStructure$ViewNode;
+PLcom/android/server/autofill/Session;->actionAsString(I)Ljava/lang/String;
 PLcom/android/server/autofill/Session;->addTaggedDataToRequestLogLocked(IILjava/lang/Object;)V
 PLcom/android/server/autofill/Session;->authenticate(IILandroid/content/IntentSender;Landroid/os/Bundle;)V
+PLcom/android/server/autofill/Session;->authenticate(IILandroid/content/IntentSender;Landroid/os/Bundle;Z)V
 PLcom/android/server/autofill/Session;->autoFill(IILandroid/service/autofill/Dataset;Z)V
 PLcom/android/server/autofill/Session;->autoFillApp(Landroid/service/autofill/Dataset;)V
 PLcom/android/server/autofill/Session;->callSaveLocked()V
 HPLcom/android/server/autofill/Session;->cancelAugmentedAutofillLocked()V
 HPLcom/android/server/autofill/Session;->cancelCurrentRequestLocked()V
 PLcom/android/server/autofill/Session;->cancelSave()V
+HPLcom/android/server/autofill/Session;->containsCharsInOrder(Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/autofill/Session;->createAuthFillInIntentLocked(ILandroid/os/Bundle;)Landroid/content/Intent;
 PLcom/android/server/autofill/Session;->createOrUpdateViewStateLocked(Landroid/view/autofill/AutofillId;ILandroid/view/autofill/AutofillValue;)Lcom/android/server/autofill/ViewState;
 HPLcom/android/server/autofill/Session;->createSanitizers(Landroid/service/autofill/SaveInfo;)Landroid/util/ArrayMap;
@@ -11206,19 +11893,25 @@
 PLcom/android/server/autofill/Session;->handleLogContextCommitted()V
 HPLcom/android/server/autofill/Session;->hideAugmentedAutofillLocked(Lcom/android/server/autofill/ViewState;)V
 HPLcom/android/server/autofill/Session;->isIgnoredLocked(Landroid/view/autofill/AutofillId;)Z
+PLcom/android/server/autofill/Session;->isInlineSuggestionRenderServiceAvailable()Z
 HPLcom/android/server/autofill/Session;->isInlineSuggestionsEnabled()Z
+PLcom/android/server/autofill/Session;->isInlineSuggestionsEnabledByAutofillProviderLocked()Z
 HPLcom/android/server/autofill/Session;->isInlineSuggestionsEnabledLocked()Z
 HPLcom/android/server/autofill/Session;->isSaveUiPendingLocked()Z
 HPLcom/android/server/autofill/Session;->isSavingLocked()Z
 PLcom/android/server/autofill/Session;->lambda$Fs9zdJwELk-9rAM3RiY6AyBKswI(Lcom/android/server/autofill/Session;Landroid/content/IntentSender;Landroid/content/Intent;)V
 PLcom/android/server/autofill/Session;->lambda$LM4xf4dbxH_NTutQzBkaQNxKbV0(Lcom/android/server/autofill/Session;ILandroid/content/IntentSender;Landroid/content/Intent;)V
+PLcom/android/server/autofill/Session;->lambda$LYgiVF7QUn4954p-wNYTeWDnGkw(Lcom/android/server/autofill/Session;ILandroid/content/IntentSender;Landroid/content/Intent;Z)V
 PLcom/android/server/autofill/Session;->lambda$NtvZwhlT1c4eLjg2qI6EER2oCtY(Lcom/android/server/autofill/Session;)V
 PLcom/android/server/autofill/Session;->lambda$cYu1t6lYVopApYW-vct82-7slZk(Lcom/android/server/autofill/Session;)V
 HPLcom/android/server/autofill/Session;->lambda$logFieldClassificationScore$1$Session(I[Landroid/view/autofill/AutofillId;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/os/Bundle;)V
 HPLcom/android/server/autofill/Session;->lambda$setClientLocked$0$Session()V
 PLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$2(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
+PLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$3$Session(Landroid/view/inputmethod/InlineSuggestionsResponse;)Ljava/lang/Boolean;
 HPLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$4(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
+HPLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$5$Session(Lcom/android/server/autofill/RemoteAugmentedAutofillService;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/view/inputmethod/InlineSuggestionsRequest;)V
 PLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$5(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
+PLcom/android/server/autofill/Session;->lambda$triggerAugmentedAutofillLocked$6(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
 PLcom/android/server/autofill/Session;->lambda$v6ZVyksJuHdWgJ1F8aoa_1LJWPo(Lcom/android/server/autofill/Session;)V
 PLcom/android/server/autofill/Session;->logAuthenticationStatusLocked(II)V
 PLcom/android/server/autofill/Session;->logContextCommitted()V
@@ -11249,6 +11942,7 @@
 HPLcom/android/server/autofill/Session;->requestNewFillResponseOnViewEnteredIfNecessaryLocked(Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState;I)V
 HPLcom/android/server/autofill/Session;->requestNewFillResponseOnViewEnteredIfNecessaryLocked(Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState;I)Z
 PLcom/android/server/autofill/Session;->requestShowFillUi(Landroid/view/autofill/AutofillId;IILandroid/view/autofill/IAutofillWindowPresenter;)V
+PLcom/android/server/autofill/Session;->requestShowInlineSuggestionsLocked(Landroid/service/autofill/FillResponse;Ljava/lang/String;)Z
 PLcom/android/server/autofill/Session;->save()V
 PLcom/android/server/autofill/Session;->setAuthenticationResultLocked(Landroid/os/Bundle;I)V
 HPLcom/android/server/autofill/Session;->setClientLocked(Landroid/os/IBinder;)V
@@ -11262,8 +11956,11 @@
 PLcom/android/server/autofill/Session;->startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;)V
 PLcom/android/server/autofill/Session;->startIntentSenderAndFinishSession(Landroid/content/IntentSender;)V
 PLcom/android/server/autofill/Session;->switchActivity(Landroid/os/IBinder;Landroid/os/IBinder;)V
+HPLcom/android/server/autofill/Session;->toString()Ljava/lang/String;
 HPLcom/android/server/autofill/Session;->triggerAugmentedAutofillLocked()Ljava/lang/Runnable;
+HPLcom/android/server/autofill/Session;->triggerAugmentedAutofillLocked(I)Ljava/lang/Runnable;
 HPLcom/android/server/autofill/Session;->unlinkClientVultureLocked()V
+HPLcom/android/server/autofill/Session;->updateFilteringStateOnValueChangedLocked(Ljava/lang/String;Lcom/android/server/autofill/ViewState;)V
 HPLcom/android/server/autofill/Session;->updateLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V
 HPLcom/android/server/autofill/Session;->updateTrackedIdsLocked()V
 PLcom/android/server/autofill/Session;->updateValuesForSaveLocked()V
@@ -11275,6 +11972,7 @@
 HPLcom/android/server/autofill/ViewState;->getAutofilledValue()Landroid/view/autofill/AutofillValue;
 HPLcom/android/server/autofill/ViewState;->getCurrentValue()Landroid/view/autofill/AutofillValue;
 PLcom/android/server/autofill/ViewState;->getDatasetId()Ljava/lang/String;
+PLcom/android/server/autofill/ViewState;->getResponse()Landroid/service/autofill/FillResponse;
 PLcom/android/server/autofill/ViewState;->getSanitizedValue()Landroid/view/autofill/AutofillValue;
 PLcom/android/server/autofill/ViewState;->getState()I
 HPLcom/android/server/autofill/ViewState;->getStateAsString()Ljava/lang/String;
@@ -11336,11 +12034,21 @@
 PLcom/android/server/autofill/ui/-$$Lambda$FillUi$h0jT24YuSGGDnoZ6Tf22n1QRkO8;->onClick(Landroid/view/View;)V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$1$4sWDEOdokeeolTOnOnHGWWOLgn8;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionUi;Landroid/service/autofill/InlinePresentation;IILandroid/view/View$OnClickListener;Lcom/android/internal/view/inline/IInlineContentCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$1$4sWDEOdokeeolTOnOnHGWWOLgn8;->run()V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$1$_ciGyKlETcExAF1Gy2FFOktBsQw;-><init>(Lcom/android/internal/view/inline/IInlineContentCallback;Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Landroid/service/autofill/InlinePresentation;IILandroid/os/IBinder;I)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$1$_ciGyKlETcExAF1Gy2FFOktBsQw;->run()V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$20Xpxfm8UCdjf-klcBqO784Dbdg;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$20Xpxfm8UCdjf-klcBqO784Dbdg;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$5tX078SIcP_tdv7L43uwbyhDhwo;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$HUQuYhrTG8enbhukk4IiDs7rF0c;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Landroid/service/autofill/Dataset;)V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$HUQuYhrTG8enbhukk4IiDs7rF0c;->onClick(Landroid/view/View;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$ZJyFXduoAaPRoB2PemuxwX3DoU0;-><init>(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Landroid/view/autofill/AutofillId;Landroid/service/autofill/FillResponse;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$ZJyFXduoAaPRoB2PemuxwX3DoU0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$dOv6_vzCtJXQ5uPY34UlfHkGoCA;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$dOv6_vzCtJXQ5uPY34UlfHkGoCA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$fSXZaLhCskxYnueWFHMXopmEKG4;-><init>(Ljava/util/function/BiConsumer;Landroid/service/autofill/Dataset;I)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$fSXZaLhCskxYnueWFHMXopmEKG4;->run()V
 PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$jlH6zmWiBgLd1Lh95Rw6iMdFzEY;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;)V
+PLcom/android/server/autofill/ui/-$$Lambda$InlineSuggestionFactory$xMNRMfTgFUJoQDr062AyCUziPEQ;-><init>(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$SaveUi$9E3wVcFykoYBpXtez_dJMd6U_Nw;-><init>(Lcom/android/server/autofill/ui/SaveUi;)V
 PLcom/android/server/autofill/ui/-$$Lambda$SaveUi$E9O26NP1L_DDYBfaO7fQ0hhPAx8;-><init>(Lcom/android/server/autofill/ui/SaveUi;Landroid/service/autofill/SaveInfo;)V
 PLcom/android/server/autofill/ui/-$$Lambda$SaveUi$E9O26NP1L_DDYBfaO7fQ0hhPAx8;->onClick(Landroid/view/View;)V
@@ -11454,16 +12162,33 @@
 PLcom/android/server/autofill/ui/FillUi;->updateHeight(Landroid/view/View;Landroid/graphics/Point;)Z
 PLcom/android/server/autofill/ui/FillUi;->updateWidth(Landroid/view/View;Landroid/graphics/Point;)Z
 PLcom/android/server/autofill/ui/InlineSuggestionFactory$1;-><init>(Lcom/android/server/autofill/ui/InlineSuggestionUi;Landroid/service/autofill/InlinePresentation;Landroid/view/View$OnClickListener;)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$1;-><init>(Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Landroid/service/autofill/InlinePresentation;Landroid/os/IBinder;I)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$1;->lambda$provideContent$0(Lcom/android/internal/view/inline/IInlineContentCallback;Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Landroid/service/autofill/InlinePresentation;IILandroid/os/IBinder;I)V
 PLcom/android/server/autofill/ui/InlineSuggestionFactory$1;->lambda$provideContent$0(Lcom/android/server/autofill/ui/InlineSuggestionUi;Landroid/service/autofill/InlinePresentation;IILandroid/view/View$OnClickListener;Lcom/android/internal/view/inline/IInlineContentCallback;)V
 PLcom/android/server/autofill/ui/InlineSuggestionFactory$1;->provideContent(IILcom/android/internal/view/inline/IInlineContentCallback;)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$2;-><init>(Ljava/lang/Runnable;Lcom/android/internal/view/inline/IInlineContentCallback;Ljava/lang/Runnable;Ljava/util/function/Consumer;)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$2;->onClick()V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$2;->onContent(Landroid/view/SurfaceControlViewHost$SurfacePackage;)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory$2;->onTransferTouchFocusToImeWindow(Landroid/os/IBinder;I)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->access$000(Lcom/android/internal/view/inline/IInlineContentCallback;Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;)Landroid/service/autofill/IInlineSuggestionUiCallback$Stub;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createAugmentedInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Landroid/view/inputmethod/InlineSuggestionsResponse;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createAugmentedInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Landroid/content/Context;Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Ljava/lang/Runnable;)Landroid/view/inputmethod/InlineSuggestionsResponse;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createAugmentedInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Landroid/view/autofill/AutofillId;Landroid/content/Context;Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Landroid/view/inputmethod/InlineSuggestionsResponse;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineContentProvider(Landroid/service/autofill/InlinePresentation;Lcom/android/server/autofill/ui/InlineSuggestionUi;Landroid/view/View$OnClickListener;)Lcom/android/internal/view/inline/IInlineContentProvider$Stub;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineContentProvider(Landroid/service/autofill/InlinePresentation;Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Landroid/os/IBinder;I)Lcom/android/internal/view/inline/IInlineContentProvider$Stub;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestion(ZLandroid/service/autofill/Dataset;ILandroid/service/autofill/InlinePresentation;Lcom/android/server/autofill/ui/InlineSuggestionUi;Ljava/util/function/BiFunction;)Landroid/view/inputmethod/InlineSuggestion;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestion(ZLandroid/service/autofill/Dataset;ILandroid/service/autofill/InlinePresentation;Ljava/util/function/BiConsumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;Ljava/lang/Runnable;Ljava/util/function/Consumer;Landroid/os/IBinder;I)Landroid/view/inputmethod/InlineSuggestion;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestionUiCallback(Lcom/android/internal/view/inline/IInlineContentCallback;Ljava/lang/Runnable;Ljava/lang/Runnable;Ljava/util/function/Consumer;)Landroid/service/autofill/IInlineSuggestionUiCallback$Stub;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsRequest;Landroid/service/autofill/FillResponse;Ljava/lang/String;Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Ljava/lang/Runnable;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Landroid/view/inputmethod/InlineSuggestionsResponse;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestionsResponseInternal(ZLandroid/view/inputmethod/InlineSuggestionsRequest;Landroid/service/autofill/FillResponse;[Landroid/service/autofill/Dataset;Ljava/lang/String;Ljava/util/List;Landroid/view/autofill/AutofillId;Landroid/content/Context;Ljava/lang/Runnable;Ljava/util/function/BiConsumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Landroid/view/inputmethod/InlineSuggestionsResponse;
+HPLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestionsResponseInternal(ZLandroid/view/inputmethod/InlineSuggestionsRequest;Ljava/util/List;Ljava/lang/String;Landroid/service/autofill/InlinePresentation;Landroid/view/autofill/AutofillId;Ljava/lang/Runnable;Ljava/util/function/BiConsumer;Ljava/util/function/Consumer;Lcom/android/server/autofill/RemoteInlineSuggestionRenderService;)Landroid/view/inputmethod/InlineSuggestionsResponse;
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->createInlineSuggestionsResponseInternal(ZLandroid/view/inputmethod/InlineSuggestionsRequest;[Landroid/service/autofill/Dataset;Ljava/util/List;Landroid/view/autofill/AutofillId;Landroid/content/Context;Ljava/lang/Runnable;Ljava/util/function/BiFunction;)Landroid/view/inputmethod/InlineSuggestionsResponse;
+HPLcom/android/server/autofill/ui/InlineSuggestionFactory;->includeDataset(Landroid/service/autofill/Dataset;ILjava/lang/String;)Z
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->lambda$createAugmentedInlineSuggestionsResponse$0(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Landroid/service/autofill/Dataset;Landroid/view/View;)V
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->lambda$createAugmentedInlineSuggestionsResponse$1(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Landroid/service/autofill/Dataset;Ljava/lang/Integer;)Landroid/view/View$OnClickListener;
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->lambda$createAugmentedInlineSuggestionsResponse$3(Lcom/android/server/autofill/ui/InlineSuggestionFactory$InlineSuggestionUiCallback;Landroid/service/autofill/Dataset;Ljava/lang/Integer;)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->lambda$createInlineSuggestion$5(Ljava/util/function/BiConsumer;Landroid/service/autofill/Dataset;I)V
+PLcom/android/server/autofill/ui/InlineSuggestionFactory;->lambda$createInlineSuggestionsResponse$1(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Landroid/view/autofill/AutofillId;Landroid/service/autofill/FillResponse;Landroid/service/autofill/Dataset;Ljava/lang/Integer;)V
 PLcom/android/server/autofill/ui/InlineSuggestionFactory;->mergedInlinePresentation(Landroid/view/inputmethod/InlineSuggestionsRequest;ILandroid/service/autofill/InlinePresentation;)Landroid/service/autofill/InlinePresentation;
 PLcom/android/server/autofill/ui/InlineSuggestionRoot;-><clinit>()V
 PLcom/android/server/autofill/ui/InlineSuggestionRoot;-><init>(Landroid/content/Context;Ljava/lang/Runnable;)V
@@ -11818,27 +12543,45 @@
 HPLcom/android/server/backup/UserBackupManagerService$4;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
 HPLcom/android/server/backup/UserBackupManagerService$4;->run()V
 PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;-><init>(Landroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;-><init>(Landroid/os/PowerManager$WakeLock;I)V
 HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->access$000(Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;)Landroid/os/PowerManager$WakeLock;
+HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->access$100(Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;)Landroid/os/PowerManager$WakeLock;
 HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->acquire()V
 PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->quit()V
 HPLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->release()V
 PLcom/android/server/backup/UserBackupManagerService;-><init>(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)V
+HPLcom/android/server/backup/UserBackupManagerService;->access$000(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/server/backup/UserBackupManagerService;->access$100(Lcom/android/server/backup/UserBackupManagerService;)Ljava/lang/Object;
+PLcom/android/server/backup/UserBackupManagerService;->access$1000(Lcom/android/server/backup/UserBackupManagerService;)Landroid/content/pm/PackageManager;
 PLcom/android/server/backup/UserBackupManagerService;->access$1000(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;)V
 PLcom/android/server/backup/UserBackupManagerService;->access$1100(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService;->access$1100(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;)V
 PLcom/android/server/backup/UserBackupManagerService;->access$1200(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/TransportManager;
+PLcom/android/server/backup/UserBackupManagerService;->access$1200(Lcom/android/server/backup/UserBackupManagerService;)V
+HPLcom/android/server/backup/UserBackupManagerService;->access$1300(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/TransportManager;
 PLcom/android/server/backup/UserBackupManagerService;->access$1300(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
+PLcom/android/server/backup/UserBackupManagerService;->access$1400(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
 HPLcom/android/server/backup/UserBackupManagerService;->access$1400(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
+HPLcom/android/server/backup/UserBackupManagerService;->access$1500(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
+HPLcom/android/server/backup/UserBackupManagerService;->access$200(Lcom/android/server/backup/UserBackupManagerService;)Ljava/lang/Object;
 HPLcom/android/server/backup/UserBackupManagerService;->access$200(Lcom/android/server/backup/UserBackupManagerService;)Ljava/util/ArrayList;
 HPLcom/android/server/backup/UserBackupManagerService;->access$300(Lcom/android/server/backup/UserBackupManagerService;)Ljava/io/File;
+HPLcom/android/server/backup/UserBackupManagerService;->access$300(Lcom/android/server/backup/UserBackupManagerService;)Ljava/util/ArrayList;
 PLcom/android/server/backup/UserBackupManagerService;->access$400(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/internal/BackupHandler;
+HPLcom/android/server/backup/UserBackupManagerService;->access$400(Lcom/android/server/backup/UserBackupManagerService;)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService;->access$500(Lcom/android/server/backup/UserBackupManagerService;)I
 PLcom/android/server/backup/UserBackupManagerService;->access$500(Lcom/android/server/backup/UserBackupManagerService;)Landroid/util/SparseArray;
+HPLcom/android/server/backup/UserBackupManagerService;->access$600(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/internal/BackupHandler;
 PLcom/android/server/backup/UserBackupManagerService;->access$600(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/backup/UserBackupManagerService;->access$700(Lcom/android/server/backup/UserBackupManagerService;)Landroid/util/SparseArray;
 PLcom/android/server/backup/UserBackupManagerService;->access$700(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;)V
 PLcom/android/server/backup/UserBackupManagerService;->access$800(Lcom/android/server/backup/UserBackupManagerService;)I
+PLcom/android/server/backup/UserBackupManagerService;->access$800(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;I)V
 PLcom/android/server/backup/UserBackupManagerService;->access$900(Lcom/android/server/backup/UserBackupManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/backup/UserBackupManagerService;->access$900(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;)V
 PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLocked([Ljava/lang/String;)V
 HPLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
+HPLcom/android/server/backup/UserBackupManagerService;->addUserIdToLogMessage(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/server/backup/UserBackupManagerService;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
 PLcom/android/server/backup/UserBackupManagerService;->agentDisconnected(Ljava/lang/String;)V
 HPLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List;
@@ -12276,7 +13019,7 @@
 HPLcom/android/server/backup/utils/AppBackupUtils;->appIsDisabled(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManagerInternal;I)Z
 HPLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;I)Z
 HPLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManagerInternal;I)Z
-PLcom/android/server/backup/utils/AppBackupUtils;->appIsKeyValueOnly(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/backup/utils/AppBackupUtils;->appIsKeyValueOnly(Landroid/content/pm/PackageInfo;)Z
 HPLcom/android/server/backup/utils/AppBackupUtils;->appIsRunningAndEligibleForBackupWithTransport(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Landroid/content/pm/PackageManager;I)Z
 HPLcom/android/server/backup/utils/AppBackupUtils;->appIsStopped(Landroid/content/pm/ApplicationInfo;)Z
 PLcom/android/server/backup/utils/AppBackupUtils;->signaturesMatch([Landroid/content/pm/Signature;Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageManagerInternal;)Z
@@ -12363,6 +13106,7 @@
 HPLcom/android/server/biometrics/AuthenticationClient;->isBiometricPrompt()Z
 HPLcom/android/server/biometrics/AuthenticationClient;->isCryptoOperation()Z
 HPLcom/android/server/biometrics/AuthenticationClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)Z
+PLcom/android/server/biometrics/AuthenticationClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
 HPLcom/android/server/biometrics/AuthenticationClient;->onError(JII)Z
 HPLcom/android/server/biometrics/AuthenticationClient;->start()I
 HPLcom/android/server/biometrics/AuthenticationClient;->statsAction()I
@@ -12373,13 +13117,17 @@
 PLcom/android/server/biometrics/BiometricService$2;->onAcquired(ILjava/lang/String;)V
 PLcom/android/server/biometrics/BiometricService$2;->onAuthenticationFailed()V
 PLcom/android/server/biometrics/BiometricService$2;->onAuthenticationSucceeded(Z[B)V
+PLcom/android/server/biometrics/BiometricService$2;->onAuthenticationSucceeded(Z[BZ)V
 PLcom/android/server/biometrics/BiometricService$2;->onDeviceCredentialPressed()V
 PLcom/android/server/biometrics/BiometricService$2;->onDialogDismissed(I)V
+PLcom/android/server/biometrics/BiometricService$2;->onDialogDismissed(I[B)V
 PLcom/android/server/biometrics/BiometricService$2;->onError(IIII)V
+PLcom/android/server/biometrics/BiometricService$2;->onSystemEvent(I)V
 PLcom/android/server/biometrics/BiometricService$2;->onTryAgainPressed()V
 HSPLcom/android/server/biometrics/BiometricService$3;-><init>(Lcom/android/server/biometrics/BiometricService;)V
 PLcom/android/server/biometrics/BiometricService$3;->onUserSwitchComplete(I)V
 PLcom/android/server/biometrics/BiometricService$AuthSession;-><init>(Lcom/android/server/biometrics/BiometricService;Ljava/util/HashMap;Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;IIIIZ)V
+PLcom/android/server/biometrics/BiometricService$AuthSession;->access$1702(Lcom/android/server/biometrics/BiometricService$AuthSession;J)J
 PLcom/android/server/biometrics/BiometricService$AuthSession;->access$1800(Lcom/android/server/biometrics/BiometricService$AuthSession;)J
 PLcom/android/server/biometrics/BiometricService$AuthSession;->access$1802(Lcom/android/server/biometrics/BiometricService$AuthSession;J)J
 PLcom/android/server/biometrics/BiometricService$AuthSession;->access$1900(Lcom/android/server/biometrics/BiometricService$AuthSession;)J
@@ -12389,6 +13137,7 @@
 PLcom/android/server/biometrics/BiometricService$AuthSession;->isCrypto()Z
 HSPLcom/android/server/biometrics/BiometricService$AuthenticatorWrapper;-><init>(IIILandroid/hardware/biometrics/IBiometricAuthenticator;)V
 PLcom/android/server/biometrics/BiometricService$AuthenticatorWrapper;->getActualStrength()I
+PLcom/android/server/biometrics/BiometricService$AuthenticatorWrapper;->toString()Ljava/lang/String;
 HSPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;)V
 HSPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;Lcom/android/server/biometrics/BiometricService$1;)V
 PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
@@ -12431,6 +13180,7 @@
 PLcom/android/server/biometrics/BiometricService;->access$100(Lcom/android/server/biometrics/BiometricService;)V
 PLcom/android/server/biometrics/BiometricService;->access$1000(Lcom/android/server/biometrics/BiometricService;)V
 HSPLcom/android/server/biometrics/BiometricService;->access$1100(Lcom/android/server/biometrics/BiometricService;)Ljava/util/List;
+PLcom/android/server/biometrics/BiometricService;->access$1200(Lcom/android/server/biometrics/BiometricService;)Ljava/util/List;
 HSPLcom/android/server/biometrics/BiometricService;->access$1200(Lcom/android/server/biometrics/BiometricService;)V
 PLcom/android/server/biometrics/BiometricService;->access$1300(Lcom/android/server/biometrics/BiometricService;)V
 PLcom/android/server/biometrics/BiometricService;->access$1300(Lcom/android/server/biometrics/BiometricService;ILandroid/os/Bundle;Ljava/lang/String;Z)Landroid/util/Pair;
@@ -12443,6 +13193,7 @@
 PLcom/android/server/biometrics/BiometricService;->access$200(Lcom/android/server/biometrics/BiometricService;IIII)V
 PLcom/android/server/biometrics/BiometricService;->access$300(Lcom/android/server/biometrics/BiometricService;ILjava/lang/String;)V
 PLcom/android/server/biometrics/BiometricService;->access$400(Lcom/android/server/biometrics/BiometricService;I)V
+PLcom/android/server/biometrics/BiometricService;->access$400(Lcom/android/server/biometrics/BiometricService;I[B)V
 PLcom/android/server/biometrics/BiometricService;->access$500(Lcom/android/server/biometrics/BiometricService;)V
 PLcom/android/server/biometrics/BiometricService;->access$600(Lcom/android/server/biometrics/BiometricService;IZI)V
 PLcom/android/server/biometrics/BiometricService;->access$700(Lcom/android/server/biometrics/BiometricService;Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;III)V
@@ -12460,14 +13211,17 @@
 PLcom/android/server/biometrics/BiometricService;->handleAuthenticate(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;III)V
 PLcom/android/server/biometrics/BiometricService;->handleAuthenticationRejected()V
 PLcom/android/server/biometrics/BiometricService;->handleAuthenticationSucceeded(Z[B)V
+PLcom/android/server/biometrics/BiometricService;->handleAuthenticationSucceeded(Z[BZ)V
 PLcom/android/server/biometrics/BiometricService;->handleAuthenticationTimedOut(III)V
 PLcom/android/server/biometrics/BiometricService;->handleCancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/biometrics/BiometricService;->handleCancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;III)V
 PLcom/android/server/biometrics/BiometricService;->handleOnAcquired(ILjava/lang/String;)V
 PLcom/android/server/biometrics/BiometricService;->handleOnDeviceCredentialPressed()V
 PLcom/android/server/biometrics/BiometricService;->handleOnDismissed(I)V
+PLcom/android/server/biometrics/BiometricService;->handleOnDismissed(I[B)V
 PLcom/android/server/biometrics/BiometricService;->handleOnError(IIII)V
 HPLcom/android/server/biometrics/BiometricService;->handleOnReadyForAuthentication(IZI)V
+PLcom/android/server/biometrics/BiometricService;->handleOnSystemEvent(I)V
 PLcom/android/server/biometrics/BiometricService;->handleOnTryAgainPressed()V
 HPLcom/android/server/biometrics/BiometricService;->isBiometricDisabledByDevicePolicy(II)Z
 HPLcom/android/server/biometrics/BiometricService;->isEnabledForApp(II)Z
@@ -12478,9 +13232,12 @@
 HSPLcom/android/server/biometrics/BiometricService;->onStart()V
 PLcom/android/server/biometrics/BiometricService;->statsModality()I
 HSPLcom/android/server/biometrics/BiometricServiceBase$1;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$1;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/os/Looper;)V
 HPLcom/android/server/biometrics/BiometricServiceBase$1;->run()V
 HSPLcom/android/server/biometrics/BiometricServiceBase$2;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
 PLcom/android/server/biometrics/BiometricServiceBase$2;->onUserSwitching(I)V
+HPLcom/android/server/biometrics/BiometricServiceBase$2;->run()V
+PLcom/android/server/biometrics/BiometricServiceBase$3;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
 HPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
 HPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZLandroid/hardware/biometrics/IBiometricNativeHandle;)V
 PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->handleFailedAttempt()I
@@ -12492,6 +13249,7 @@
 PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->getWrapperReceiver()Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;
 PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationFailedInternal()V
 PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationSucceededInternal(Z[B)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationSucceededInternal(Z[BZ)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/BiometricServiceBase$1;)V
 HPLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;->onTaskStackChanged()V
@@ -12504,11 +13262,13 @@
 HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->getUnknownHALTemplates()Ljava/util/List;
 HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->handleEnumeratedTemplate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->statsModality()I
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;-><init>(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;->sendResult(Landroid/os/Bundle;)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;-><init>(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
 PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;->run()V
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->access$1100(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->access$1200(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
 PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->binderDied()V
 HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->releaseWakelock()V
@@ -12518,6 +13278,7 @@
 HSPLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/BiometricServiceBase$1;)V
 PLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;->run()V
 HSPLcom/android/server/biometrics/BiometricServiceBase;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->access$1000(Lcom/android/server/biometrics/BiometricServiceBase;)Landroid/os/PowerManager;
 PLcom/android/server/biometrics/BiometricServiceBase;->access$1000(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/ClientMonitor;Z)V
 HSPLcom/android/server/biometrics/BiometricServiceBase;->access$1100(Lcom/android/server/biometrics/BiometricServiceBase;)Landroid/os/PowerManager;
 PLcom/android/server/biometrics/BiometricServiceBase;->access$1300(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
@@ -12635,6 +13396,7 @@
 PLcom/android/server/biometrics/EnrollClient;->statsAction()I
 HSPLcom/android/server/biometrics/EnumerateClient;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Constants;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;)V
 HSPLcom/android/server/biometrics/EnumerateClient;->start()I
+PLcom/android/server/biometrics/EnumerateClient;->statsAction()I
 HSPLcom/android/server/biometrics/LoggableMonitor;-><init>()V
 PLcom/android/server/biometrics/LoggableMonitor;->isCryptoOperation()Z
 HPLcom/android/server/biometrics/LoggableMonitor;->logOnAcquired(Landroid/content/Context;III)V
@@ -12682,6 +13444,8 @@
 HSPLcom/android/server/biometrics/face/-$$Lambda$FaceService$A0dfsVDvPu3BDJsON7widXUriSs;->run()V
 PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$1ZJGnsaJl1du-I_XjU-JKzIy49Q;-><init>(Lcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;ILjava/lang/String;I[BZLandroid/hardware/face/IFaceServiceReceiver;)V
 PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$1ZJGnsaJl1du-I_XjU-JKzIy49Q;->run()V
+PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$5-DVpuuVhqRzgDHE04euadFgDpM;-><init>(Lcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;[B)V
+PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$5-DVpuuVhqRzgDHE04euadFgDpM;->run()V
 PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$6Efp5LtXdV1OgyOr4AaGf19hmLs;-><init>(Lcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;ILjava/lang/String;ILandroid/hardware/face/IFaceServiceReceiver;)V
 PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$6Efp5LtXdV1OgyOr4AaGf19hmLs;->run()V
 PLcom/android/server/biometrics/face/-$$Lambda$FaceService$FaceServiceWrapper$kw0BBGgTrFveHiSJWRbNG8sygqA;-><init>(Lcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;[B)V
@@ -12692,6 +13456,7 @@
 HSPLcom/android/server/biometrics/face/-$$Lambda$FaceService$rveb67MoYJ0egfY6LL-l05KvUz8;->run()V
 HSPLcom/android/server/biometrics/face/FaceAuthenticator;-><init>(Landroid/hardware/face/IFaceService;)V
 PLcom/android/server/biometrics/face/FaceAuthenticator;->cancelAuthenticationFromService(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
+PLcom/android/server/biometrics/face/FaceAuthenticator;->getAuthenticatorId()J
 PLcom/android/server/biometrics/face/FaceAuthenticator;->hasEnrolledTemplates(ILjava/lang/String;)Z
 PLcom/android/server/biometrics/face/FaceAuthenticator;->isHardwareDetected(Ljava/lang/String;)Z
 PLcom/android/server/biometrics/face/FaceAuthenticator;->prepareForAuthentication(ZLandroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiverInternal;Ljava/lang/String;IIII)V
@@ -12699,10 +13464,11 @@
 PLcom/android/server/biometrics/face/FaceAuthenticator;->setActiveUser(I)V
 PLcom/android/server/biometrics/face/FaceAuthenticator;->startPreparedClient(I)V
 HSPLcom/android/server/biometrics/face/FaceConstants;-><init>()V
-PLcom/android/server/biometrics/face/FaceConstants;->acquireVendorCode()I
+HPLcom/android/server/biometrics/face/FaceConstants;->acquireVendorCode()I
 PLcom/android/server/biometrics/face/FaceConstants;->actionBiometricAuth()I
 PLcom/android/server/biometrics/face/FaceConstants;->actionBiometricEnroll()I
 HPLcom/android/server/biometrics/face/FaceConstants;->logTag()Ljava/lang/String;
+PLcom/android/server/biometrics/face/FaceConstants;->tagAuthStartError()Ljava/lang/String;
 PLcom/android/server/biometrics/face/FaceConstants;->tagAuthToken()Ljava/lang/String;
 PLcom/android/server/biometrics/face/FaceConstants;->tagHalDied()Ljava/lang/String;
 HSPLcom/android/server/biometrics/face/FaceService$1;-><init>(Lcom/android/server/biometrics/face/FaceService;)V
@@ -12720,7 +13486,7 @@
 HSPLcom/android/server/biometrics/face/FaceService$1;->onLockoutChanged(J)V
 HSPLcom/android/server/biometrics/face/FaceService$2;-><init>(Lcom/android/server/biometrics/face/FaceService;)V
 PLcom/android/server/biometrics/face/FaceService$2;->authenticate(JI)I
-PLcom/android/server/biometrics/face/FaceService$2;->authenticate(JILandroid/os/NativeHandle;)I
+HPLcom/android/server/biometrics/face/FaceService$2;->authenticate(JILandroid/os/NativeHandle;)I
 PLcom/android/server/biometrics/face/FaceService$2;->cancel()I
 PLcom/android/server/biometrics/face/FaceService$2;->enroll([BIILjava/util/ArrayList;)I
 HSPLcom/android/server/biometrics/face/FaceService$2;->enumerate()I
@@ -12738,6 +13504,7 @@
 HPLcom/android/server/biometrics/face/FaceService$FaceAuthClient;-><init>(Lcom/android/server/biometrics/face/FaceService;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
 PLcom/android/server/biometrics/face/FaceService$FaceAuthClient;-><init>(Lcom/android/server/biometrics/face/FaceService;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZLandroid/hardware/biometrics/IBiometricNativeHandle;)V
 HPLcom/android/server/biometrics/face/FaceService$FaceAuthClient;->getAcquireIgnorelist()[I
+PLcom/android/server/biometrics/face/FaceService$FaceAuthClient;->isStrongBiometric()Z
 HPLcom/android/server/biometrics/face/FaceService$FaceAuthClient;->onAcquired(II)Z
 HPLcom/android/server/biometrics/face/FaceService$FaceAuthClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)Z
 HPLcom/android/server/biometrics/face/FaceService$FaceAuthClient;->onError(JII)Z
@@ -12760,6 +13527,7 @@
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->enroll(ILandroid/os/IBinder;[BLandroid/hardware/face/IFaceServiceReceiver;Ljava/lang/String;[I)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->generateChallenge(Landroid/os/IBinder;)J
+PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->getAuthenticatorId()J
 HPLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->getAuthenticatorId(Ljava/lang/String;)J
 HPLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->getEnrolledFaces(ILjava/lang/String;)Ljava/util/List;
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->getFeature(IILandroid/hardware/face/IFaceServiceReceiver;Ljava/lang/String;)V
@@ -12769,6 +13537,7 @@
 HSPLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->isHardwareDetected(Ljava/lang/String;)Z
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->lambda$getFeature$3$FaceService$FaceServiceWrapper(ILjava/lang/String;ILandroid/hardware/face/IFaceServiceReceiver;)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->lambda$resetLockout$1$FaceService$FaceServiceWrapper([B)V
+PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->lambda$resetLockout$2$FaceService$FaceServiceWrapper([B)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->lambda$revokeChallenge$0$FaceService$FaceServiceWrapper(Landroid/os/IBinder;)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->lambda$setFeature$2$FaceService$FaceServiceWrapper(ILjava/lang/String;I[BZLandroid/hardware/face/IFaceServiceReceiver;)V
 PLcom/android/server/biometrics/face/FaceService$FaceServiceWrapper;->prepareForAuthentication(ZLandroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiverInternal;Ljava/lang/String;IIII)V
@@ -12790,18 +13559,30 @@
 HPLcom/android/server/biometrics/face/FaceService$UsageStats;->print(Ljava/io/PrintWriter;)V
 HSPLcom/android/server/biometrics/face/FaceService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/biometrics/face/FaceService;->access$1000(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;)J
+PLcom/android/server/biometrics/face/FaceService;->access$1000(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HPLcom/android/server/biometrics/face/FaceService;->access$10001(Lcom/android/server/biometrics/face/FaceService;JII)V
 PLcom/android/server/biometrics/face/FaceService;->access$10001(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
 PLcom/android/server/biometrics/face/FaceService;->access$10101(Lcom/android/server/biometrics/face/FaceService;JII)V
 PLcom/android/server/biometrics/face/FaceService;->access$10101(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$10200(Lcom/android/server/biometrics/face/FaceService;)Ljava/util/Map;
+PLcom/android/server/biometrics/face/FaceService;->access$10201(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$10301(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
+PLcom/android/server/biometrics/face/FaceService;->access$10401(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$10401(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
+PLcom/android/server/biometrics/face/FaceService;->access$10501(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$10601(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$1100(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;)J
 PLcom/android/server/biometrics/face/FaceService;->access$1100(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$1200(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$1200(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$1300(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$1300(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$1400(Lcom/android/server/biometrics/face/FaceService;)Z
 PLcom/android/server/biometrics/face/FaceService;->access$1500(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
 PLcom/android/server/biometrics/face/FaceService;->access$1600(Lcom/android/server/biometrics/face/FaceService;)J
+PLcom/android/server/biometrics/face/FaceService;->access$1600(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
 PLcom/android/server/biometrics/face/FaceService;->access$1700(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$1700(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
 PLcom/android/server/biometrics/face/FaceService;->access$1800(Lcom/android/server/biometrics/face/FaceService;)[I
 PLcom/android/server/biometrics/face/FaceService;->access$1900(Lcom/android/server/biometrics/face/FaceService;)[I
 PLcom/android/server/biometrics/face/FaceService;->access$2000(Lcom/android/server/biometrics/face/FaceService;)I
@@ -12813,14 +13594,20 @@
 HPLcom/android/server/biometrics/face/FaceService;->access$2500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$2600(Lcom/android/server/biometrics/face/FaceService;)J
 PLcom/android/server/biometrics/face/FaceService;->access$2600(Lcom/android/server/biometrics/face/FaceService;)Z
+PLcom/android/server/biometrics/face/FaceService;->access$2600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$2700(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$2700(Lcom/android/server/biometrics/face/FaceService;)J
+PLcom/android/server/biometrics/face/FaceService;->access$2700(Lcom/android/server/biometrics/face/FaceService;)Z
 PLcom/android/server/biometrics/face/FaceService;->access$2800(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$2800(Lcom/android/server/biometrics/face/FaceService;)J
 HPLcom/android/server/biometrics/face/FaceService;->access$2800(Lcom/android/server/biometrics/face/FaceService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$2900(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$2900(Lcom/android/server/biometrics/face/FaceService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$2900(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$300(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/face/FaceService$UsageStats;
+PLcom/android/server/biometrics/face/FaceService;->access$300(Lcom/android/server/biometrics/face/FaceService;)Z
 PLcom/android/server/biometrics/face/FaceService;->access$3000(Lcom/android/server/biometrics/face/FaceService;)J
+PLcom/android/server/biometrics/face/FaceService;->access$3000(Lcom/android/server/biometrics/face/FaceService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$3000(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$3100(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$3100(Lcom/android/server/biometrics/face/FaceService;)J
@@ -12836,10 +13623,12 @@
 HPLcom/android/server/biometrics/face/FaceService;->access$3600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HPLcom/android/server/biometrics/face/FaceService;->access$3700(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$3700(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$3800(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$3800(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
 PLcom/android/server/biometrics/face/FaceService;->access$3800(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$3900(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
 PLcom/android/server/biometrics/face/FaceService;->access$3900(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$400(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/face/FaceService$UsageStats;
 PLcom/android/server/biometrics/face/FaceService;->access$400(Lcom/android/server/biometrics/face/FaceService;)[I
 PLcom/android/server/biometrics/face/FaceService;->access$4000(Lcom/android/server/biometrics/face/FaceService;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$4000(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
@@ -12853,17 +13642,24 @@
 HSPLcom/android/server/biometrics/face/FaceService;->access$5000(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5001(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
 PLcom/android/server/biometrics/face/FaceService;->access$5100(Lcom/android/server/biometrics/face/FaceService;Ljava/io/FileDescriptor;[Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$5100(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5101(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
 PLcom/android/server/biometrics/face/FaceService;->access$5200(Lcom/android/server/biometrics/face/FaceService;Ljava/io/PrintWriter;)V
+PLcom/android/server/biometrics/face/FaceService;->access$5201(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
 PLcom/android/server/biometrics/face/FaceService;->access$5300(Lcom/android/server/biometrics/face/FaceService;Ljava/io/PrintWriter;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5300(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5400(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5400(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
 HSPLcom/android/server/biometrics/face/FaceService;->access$5500(Lcom/android/server/biometrics/face/FaceService;)Landroid/hardware/biometrics/face/V1_0/IBiometricsFace;
+PLcom/android/server/biometrics/face/FaceService;->access$5500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$5500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
 HSPLcom/android/server/biometrics/face/FaceService;->access$5600(Lcom/android/server/biometrics/face/FaceService;)J
 HSPLcom/android/server/biometrics/face/FaceService;->access$5600(Lcom/android/server/biometrics/face/FaceService;)Landroid/hardware/biometrics/face/V1_0/IBiometricsFace;
+PLcom/android/server/biometrics/face/FaceService;->access$5600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
 HSPLcom/android/server/biometrics/face/FaceService;->access$5700(Lcom/android/server/biometrics/face/FaceService;)J
+PLcom/android/server/biometrics/face/FaceService;->access$5700(Lcom/android/server/biometrics/face/FaceService;)Landroid/hardware/biometrics/face/V1_0/IBiometricsFace;
+PLcom/android/server/biometrics/face/FaceService;->access$5800(Lcom/android/server/biometrics/face/FaceService;)J
+PLcom/android/server/biometrics/face/FaceService;->access$600(Lcom/android/server/biometrics/face/FaceService;)[I
 PLcom/android/server/biometrics/face/FaceService;->access$6100(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$6200(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$6200(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
@@ -12872,11 +13668,16 @@
 HSPLcom/android/server/biometrics/face/FaceService;->access$6400(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$6400(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
 HPLcom/android/server/biometrics/face/FaceService;->access$6500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)J
+PLcom/android/server/biometrics/face/FaceService;->access$6500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$6500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
+PLcom/android/server/biometrics/face/FaceService;->access$6600(Lcom/android/server/biometrics/face/FaceService;)J
 PLcom/android/server/biometrics/face/FaceService;->access$6600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)J
 PLcom/android/server/biometrics/face/FaceService;->access$6600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$6600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;ZIII)Z
+PLcom/android/server/biometrics/face/FaceService;->access$6700(Lcom/android/server/biometrics/face/FaceService;)J
 PLcom/android/server/biometrics/face/FaceService;->access$6700(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$6700(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/face/FaceService;->access$6800(Lcom/android/server/biometrics/face/FaceService;)J
 PLcom/android/server/biometrics/face/FaceService;->access$6800(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$6800(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$6900(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
@@ -12889,24 +13690,38 @@
 PLcom/android/server/biometrics/face/FaceService;->access$7400(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$7400(Lcom/android/server/biometrics/face/FaceService;)Landroid/hardware/biometrics/face/V1_0/IBiometricsFace;
 PLcom/android/server/biometrics/face/FaceService;->access$7500(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$7500(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$7600(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$7600(Lcom/android/server/biometrics/face/FaceService;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$7600(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$7700(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$7700(Lcom/android/server/biometrics/face/FaceService;I)V
+PLcom/android/server/biometrics/face/FaceService;->access$7700(Lcom/android/server/biometrics/face/FaceService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/face/FaceService;->access$7800(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$7800(Lcom/android/server/biometrics/face/FaceService;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$7900(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$800(Lcom/android/server/biometrics/face/FaceService;)Landroid/app/NotificationManager;
 PLcom/android/server/biometrics/face/FaceService;->access$8000(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$8000(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/ClientMonitor;
+PLcom/android/server/biometrics/face/FaceService;->access$8100(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$8100(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/ClientMonitor;
 PLcom/android/server/biometrics/face/FaceService;->access$8100(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;)I
+PLcom/android/server/biometrics/face/FaceService;->access$8200(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$8200(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;)I
 PLcom/android/server/biometrics/face/FaceService;->access$8202(Lcom/android/server/biometrics/face/FaceService;Z)Z
+PLcom/android/server/biometrics/face/FaceService;->access$8300(Lcom/android/server/biometrics/face/FaceService;)I
+PLcom/android/server/biometrics/face/FaceService;->access$8300(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/ClientMonitor;
 PLcom/android/server/biometrics/face/FaceService;->access$8302(Lcom/android/server/biometrics/face/FaceService;Z)Z
+PLcom/android/server/biometrics/face/FaceService;->access$8400(Lcom/android/server/biometrics/face/FaceService;)I
 PLcom/android/server/biometrics/face/FaceService;->access$8400(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$8400(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/ClientMonitor;
 PLcom/android/server/biometrics/face/FaceService;->access$8500(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$8500(Lcom/android/server/biometrics/face/FaceService;Landroid/os/IBinder;)I
+PLcom/android/server/biometrics/face/FaceService;->access$8502(Lcom/android/server/biometrics/face/FaceService;Z)Z
 PLcom/android/server/biometrics/face/FaceService;->access$8600(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$8600(Lcom/android/server/biometrics/face/FaceService;)Z
 PLcom/android/server/biometrics/face/FaceService;->access$8700(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$8700(Lcom/android/server/biometrics/face/FaceService;)Z
 HSPLcom/android/server/biometrics/face/FaceService;->access$8800(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$8900(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 HSPLcom/android/server/biometrics/face/FaceService;->access$8902(Lcom/android/server/biometrics/face/FaceService;I)I
@@ -12915,16 +13730,26 @@
 HSPLcom/android/server/biometrics/face/FaceService;->access$9002(Lcom/android/server/biometrics/face/FaceService;I)I
 HSPLcom/android/server/biometrics/face/FaceService;->access$9100(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 HSPLcom/android/server/biometrics/face/FaceService;->access$9100(Lcom/android/server/biometrics/face/FaceService;)V
+PLcom/android/server/biometrics/face/FaceService;->access$9200(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$9200(Lcom/android/server/biometrics/face/FaceService;)V
 HSPLcom/android/server/biometrics/face/FaceService;->access$9201(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$9300(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$9301(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/face/FaceService;->access$9302(Lcom/android/server/biometrics/face/FaceService;I)I
+PLcom/android/server/biometrics/face/FaceService;->access$9400(Lcom/android/server/biometrics/face/FaceService;)Landroid/os/Handler;
+PLcom/android/server/biometrics/face/FaceService;->access$9400(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/face/FaceService;->access$9401(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$9402(Lcom/android/server/biometrics/face/FaceService;I)I
 PLcom/android/server/biometrics/face/FaceService;->access$9500(Lcom/android/server/biometrics/face/FaceService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/face/FaceService;->access$9500(Lcom/android/server/biometrics/face/FaceService;)V
+PLcom/android/server/biometrics/face/FaceService;->access$9502(Lcom/android/server/biometrics/face/FaceService;I)I
+PLcom/android/server/biometrics/face/FaceService;->access$9600(Lcom/android/server/biometrics/face/FaceService;)Landroid/os/Handler;
 PLcom/android/server/biometrics/face/FaceService;->access$9600(Lcom/android/server/biometrics/face/FaceService;)V
 HPLcom/android/server/biometrics/face/FaceService;->access$9601(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$9601(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/face/FaceService;->access$9700(Lcom/android/server/biometrics/face/FaceService;)V
 HPLcom/android/server/biometrics/face/FaceService;->access$9701(Lcom/android/server/biometrics/face/FaceService;JII)V
+PLcom/android/server/biometrics/face/FaceService;->access$9701(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$9702(Lcom/android/server/biometrics/face/FaceService;J)J
 PLcom/android/server/biometrics/face/FaceService;->access$9801(Lcom/android/server/biometrics/face/FaceService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/face/FaceService;->access$9802(Lcom/android/server/biometrics/face/FaceService;I)I
@@ -13031,6 +13856,7 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZLandroid/hardware/biometrics/IBiometricNativeHandle;)V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->handleFailedAttempt()I
 PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->isFingerprint()Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->isStrongBiometric()Z
 HPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->resetFailedAttempts()V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->shouldFrameworkHandleLockout()Z
 HPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->statsModality()I
@@ -13081,17 +13907,23 @@
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$000(Lcom/android/server/biometrics/fingerprint/FingerprintService;ZI)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/util/SparseIntArray;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1000(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1300(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/BiometricServiceBase$EnrollClientImpl;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1400(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1500(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/os/IBinder;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1600(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1800(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1800(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1900(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1900(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
@@ -13099,11 +13931,14 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2400(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2500(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2600(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2700(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2700(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2800(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$2900(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$300(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3000(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3100(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3100(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
@@ -13111,10 +13946,14 @@
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3901(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$400(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/io/FileDescriptor;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4001(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4100(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/io/PrintWriter;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4200(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4300(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4500(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4500(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4600(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
@@ -13122,6 +13961,7 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4900(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$500(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/os/IBinder;)J
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
 HPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5001(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)J
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5100(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
@@ -13129,7 +13969,10 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5200(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5300(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$5500(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$600(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6000(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6100(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
@@ -13137,12 +13980,16 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6200(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6200(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6300(Lcom/android/server/biometrics/fingerprint/FingerprintService;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6500(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6600(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6800(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/os/Handler;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6800(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6801(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6900(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
@@ -13153,7 +14000,10 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7100(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7101(Lcom/android/server/biometrics/fingerprint/FingerprintService;JII)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7101(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/os/Handler;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7200(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7201(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7301(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7401(Lcom/android/server/biometrics/fingerprint/FingerprintService;JII)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7501(Lcom/android/server/biometrics/fingerprint/FingerprintService;JII)V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7501(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
@@ -13164,6 +14014,8 @@
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$7901(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$800(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;)V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService;->access$8001(Lcom/android/server/biometrics/fingerprint/FingerprintService;JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$8001(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$8101(Lcom/android/server/biometrics/fingerprint/FingerprintService;JII)V
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$900(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
 PLcom/android/server/biometrics/fingerprint/FingerprintService;->cancelLockoutResetForUser(I)V
 HPLcom/android/server/biometrics/fingerprint/FingerprintService;->checkAppOps(ILjava/lang/String;)Z
@@ -13387,7 +14239,7 @@
 PLcom/android/server/companion/CompanionDeviceManagerService;->unlinkToDeath(Landroid/os/IInterface;Landroid/os/IBinder$DeathRecipient;I)Landroid/os/IInterface;
 PLcom/android/server/companion/CompanionDeviceManagerService;->updateAssociations(Ljava/util/function/Function;)V
 HSPLcom/android/server/companion/CompanionDeviceManagerService;->updateAssociations(Ljava/util/function/Function;I)V
-PLcom/android/server/companion/CompanionDeviceManagerService;->updateSpecialAccessPermissionAsSystem(Landroid/content/pm/PackageInfo;)V
+HPLcom/android/server/companion/CompanionDeviceManagerService;->updateSpecialAccessPermissionAsSystem(Landroid/content/pm/PackageInfo;)V
 PLcom/android/server/companion/CompanionDeviceManagerService;->updateSpecialAccessPermissionForAssociatedPackage(Ljava/lang/String;I)V
 HSPLcom/android/server/compat/CompatChange;-><init>(Lcom/android/server/compat/config/Change;)V
 HSPLcom/android/server/compat/CompatChange;->isEnabled(Landroid/content/pm/ApplicationInfo;)Z
@@ -13408,6 +14260,7 @@
 HSPLcom/android/server/compat/CompatConfig;->readConfig(Ljava/io/File;)V
 HSPLcom/android/server/compat/CompatConfig;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z
 HSPLcom/android/server/compat/OverrideValidatorImpl;-><init>(Lcom/android/internal/compat/AndroidBuildClassifier;Landroid/content/Context;Lcom/android/server/compat/CompatConfig;)V
+HSPLcom/android/server/compat/PlatformCompat;-><clinit>()V
 HSPLcom/android/server/compat/PlatformCompat;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/compat/PlatformCompat;->checkCompatChangeLogPermission()V
 HSPLcom/android/server/compat/PlatformCompat;->checkCompatChangeReadAndLogPermission()V
@@ -13436,6 +14289,7 @@
 HSPLcom/android/server/compat/config/Change;->setDisabled(Z)V
 HSPLcom/android/server/compat/config/Change;->setEnableAfterTargetSdk(I)V
 HSPLcom/android/server/compat/config/Change;->setId(J)V
+HSPLcom/android/server/compat/config/Change;->setLoggingOnly(Z)V
 HSPLcom/android/server/compat/config/Change;->setName(Ljava/lang/String;)V
 HSPLcom/android/server/compat/config/Change;->setValue(Ljava/lang/String;)V
 HSPLcom/android/server/compat/config/Config;-><init>()V
@@ -13481,6 +14335,10 @@
 HPLcom/android/server/connectivity/-$$Lambda$NetworkRanker$wdDWUWxRRoYuCeZpawCNW8Z5deE;->test(Ljava/lang/Object;)Z
 PLcom/android/server/connectivity/-$$Lambda$PermissionMonitor$h-GPsXXwaQ-Mfu5-dqCp_VIYNOM;-><init>(Lcom/android/server/connectivity/PermissionMonitor;)V
 HPLcom/android/server/connectivity/-$$Lambda$PermissionMonitor$h-GPsXXwaQ-Mfu5-dqCp_VIYNOM;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/connectivity/-$$Lambda$Vpn$01GHnWeBsEVRYvEsZRkJXx1CEVs;-><init>(Landroid/content/pm/PackageManager;Ljava/lang/String;I)V
+HPLcom/android/server/connectivity/-$$Lambda$Vpn$01GHnWeBsEVRYvEsZRkJXx1CEVs;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/connectivity/-$$Lambda$Vpn$S2EK4wFrspvxxxzu8J3SwhT7oVM;-><init>(Lcom/android/server/connectivity/Vpn;)V
+PLcom/android/server/connectivity/-$$Lambda$Vpn$S2EK4wFrspvxxxzu8J3SwhT7oVM;->runOrThrow()V
 PLcom/android/server/connectivity/-$$Lambda$Vpn$wy5PNyhOuH5lnkIjO4Gf9lNXkVQ;-><init>(Lcom/android/server/connectivity/Vpn;)V
 PLcom/android/server/connectivity/-$$Lambda$Vpn$wy5PNyhOuH5lnkIjO4Gf9lNXkVQ;->runOrThrow()V
 HPLcom/android/server/connectivity/AutodestructReference;-><init>(Ljava/lang/Object;)V
@@ -13610,7 +14468,7 @@
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$1000(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;)Landroid/net/ISocketKeepaliveCallback;
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$700(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;)I
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$800(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;)I
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$900(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;)I
+HPLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$900(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;)I
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->access$902(Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;I)I
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->binderDied()V
 PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->checkInterval()I
@@ -13708,14 +14566,17 @@
 HSPLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
 HSPLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
 HSPLcom/android/server/connectivity/MultipathPolicyTracker;->updateAllMultipathBudgets()V
+PLcom/android/server/connectivity/Nat464Xlat$1;-><clinit>()V
 PLcom/android/server/connectivity/Nat464Xlat$State;-><clinit>()V
 PLcom/android/server/connectivity/Nat464Xlat$State;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/connectivity/Nat464Xlat$State;->values()[Lcom/android/server/connectivity/Nat464Xlat$State;
 PLcom/android/server/connectivity/Nat464Xlat;-><clinit>()V
 HPLcom/android/server/connectivity/Nat464Xlat;-><init>(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;)V
 PLcom/android/server/connectivity/Nat464Xlat;->enterRunningState()V
 HPLcom/android/server/connectivity/Nat464Xlat;->enterStartingState(Ljava/lang/String;)V
 HPLcom/android/server/connectivity/Nat464Xlat;->fixupLinkProperties(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
 PLcom/android/server/connectivity/Nat464Xlat;->getLinkAddress(Ljava/lang/String;)Landroid/net/LinkAddress;
+PLcom/android/server/connectivity/Nat464Xlat;->getNat64Prefix()Landroid/net/IpPrefix;
 PLcom/android/server/connectivity/Nat464Xlat;->getNetId()I
 HPLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceLinkStateChanged(Ljava/lang/String;Z)V
 HPLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceRemoved(Ljava/lang/String;)V
@@ -13731,6 +14592,7 @@
 HPLcom/android/server/connectivity/Nat464Xlat;->makeLinkProperties(Landroid/net/LinkAddress;)Landroid/net/LinkProperties;
 HPLcom/android/server/connectivity/Nat464Xlat;->requiresClat(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
 PLcom/android/server/connectivity/Nat464Xlat;->setNat64Prefix(Landroid/net/IpPrefix;)V
+PLcom/android/server/connectivity/Nat464Xlat;->setNat64PrefixFromDns(Landroid/net/IpPrefix;)V
 HPLcom/android/server/connectivity/Nat464Xlat;->shouldStartClat(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
 HPLcom/android/server/connectivity/Nat464Xlat;->start()V
 HPLcom/android/server/connectivity/Nat464Xlat;->startPrefixDiscovery()V
@@ -13768,7 +14630,7 @@
 HPLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->compareTo(Ljava/lang/Object;)I
 PLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->toString()Ljava/lang/String;
 HSPLcom/android/server/connectivity/NetworkAgentInfo;-><clinit>()V
-PLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkAgentConfig;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;I)V
+HPLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkAgentConfig;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;I)V
 HPLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/NetworkScore;Landroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkAgentConfig;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;I)V
 HPLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/NetworkScore;Landroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkMisc;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;I)V
 HPLcom/android/server/connectivity/NetworkAgentInfo;->addRequest(Landroid/net/NetworkRequest;)Z
@@ -13808,6 +14670,7 @@
 HPLcom/android/server/connectivity/NetworkAgentInfo;->requestAt(I)Landroid/net/NetworkRequest;
 HPLcom/android/server/connectivity/NetworkAgentInfo;->satisfies(Landroid/net/NetworkRequest;)Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->satisfiesImmutableCapabilitiesOf(Landroid/net/NetworkRequest;)Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->setConnectivityReport(Landroid/net/ConnectivityDiagnosticsManager$ConnectivityReport;)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->setNetworkScore(Landroid/net/NetworkScore;)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->setScore(I)V
 HPLcom/android/server/connectivity/NetworkAgentInfo;->toShortString()Ljava/lang/String;
@@ -13868,6 +14731,7 @@
 HPLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(I)V
 HPLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)V
 PLcom/android/server/connectivity/NetworkNotificationManager;->getFirstTransportType(Lcom/android/server/connectivity/NetworkAgentInfo;)I
+PLcom/android/server/connectivity/NetworkNotificationManager;->getIcon(I)I
 PLcom/android/server/connectivity/NetworkNotificationManager;->getIcon(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)I
 PLcom/android/server/connectivity/NetworkNotificationManager;->getTransportName(I)Ljava/lang/String;
 PLcom/android/server/connectivity/NetworkNotificationManager;->nameOf(I)Ljava/lang/String;
@@ -14037,6 +14901,8 @@
 PLcom/android/server/connectivity/Vpn;->isVpnServicePreConsented(Landroid/content/Context;Ljava/lang/String;)Z
 HPLcom/android/server/connectivity/Vpn;->isVpnUserPreConsented(Ljava/lang/String;)Z
 PLcom/android/server/connectivity/Vpn;->lambda$enforceNotRestrictedUser$0$Vpn()V
+PLcom/android/server/connectivity/Vpn;->lambda$enforceNotRestrictedUser$1$Vpn()V
+HPLcom/android/server/connectivity/Vpn;->lambda$getAppUid$0(Landroid/content/pm/PackageManager;Ljava/lang/String;I)Ljava/lang/Integer;
 HSPLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
 HSPLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage(Landroid/security/KeyStore;)V
 HPLcom/android/server/connectivity/Vpn;->makeLinkProperties()Landroid/net/LinkProperties;
@@ -14100,7 +14966,7 @@
 HPLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;-><clinit>()V
 PLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/content/-$$Lambda$SyncManager$rDUHWai3SU0BXk1TE0bLDap9gVc;-><clinit>()V
 PLcom/android/server/content/-$$Lambda$SyncManager$rDUHWai3SU0BXk1TE0bLDap9gVc;-><init>()V
 PLcom/android/server/content/-$$Lambda$SyncManager$rDUHWai3SU0BXk1TE0bLDap9gVc;->test(Ljava/lang/Object;)Z
@@ -14125,7 +14991,7 @@
 PLcom/android/server/content/ContentService$ObserverCollector$Key;-><init>(Landroid/database/IContentObserver;IZII)V
 HPLcom/android/server/content/ContentService$ObserverCollector$Key;->equals(Ljava/lang/Object;)Z
 HPLcom/android/server/content/ContentService$ObserverCollector$Key;->hashCode()I
-PLcom/android/server/content/ContentService$ObserverCollector;-><init>()V
+HPLcom/android/server/content/ContentService$ObserverCollector;-><init>()V
 HPLcom/android/server/content/ContentService$ObserverCollector;->collect(Landroid/database/IContentObserver;IZLandroid/net/Uri;II)V
 HPLcom/android/server/content/ContentService$ObserverCollector;->dispatch()V
 HPLcom/android/server/content/ContentService$ObserverCollector;->lambda$dispatch$0(Lcom/android/server/content/ContentService$ObserverCollector$Key;Ljava/util/List;)V
@@ -14138,6 +15004,7 @@
 HSPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
 HPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(Landroid/net/Uri;ZLandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V
 HSPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(Landroid/net/Uri;ZLandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
+HPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;IILandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V
 HPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILcom/android/server/content/ContentService$ObserverCollector;)V
 HSPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
 HSPLcom/android/server/content/ContentService$ObserverNode;->countUriSegments(Landroid/net/Uri;)I
@@ -14431,6 +15298,7 @@
 PLcom/android/server/content/SyncManager;->lambda$sendOnUnsyncableAccount$12(Landroid/content/Context;Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
 HPLcom/android/server/content/SyncManager;->lambda$static$6(Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;)I
 HPLcom/android/server/content/SyncManager;->lambda$static$7(Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;)I
+PLcom/android/server/content/SyncManager;->likelyHasPeriodicSyncs()Z
 HPLcom/android/server/content/SyncManager;->maybeRescheduleSync(Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
 HSPLcom/android/server/content/SyncManager;->onBootPhase(I)V
 HSPLcom/android/server/content/SyncManager;->onStartUser(I)V
@@ -14488,21 +15356,21 @@
 PLcom/android/server/content/SyncOperation;->enableTwoWaySync()V
 HPLcom/android/server/content/SyncOperation;->extrasToString(Landroid/os/Bundle;)Ljava/lang/String;
 HPLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V
-PLcom/android/server/content/SyncOperation;->findPriority()I
+HPLcom/android/server/content/SyncOperation;->findPriority()I
 HPLcom/android/server/content/SyncOperation;->getClonedExtras()Landroid/os/Bundle;
 HPLcom/android/server/content/SyncOperation;->getExtrasAsString()Ljava/lang/String;
-PLcom/android/server/content/SyncOperation;->hasDoNotRetry()Z
+HPLcom/android/server/content/SyncOperation;->hasDoNotRetry()Z
 HPLcom/android/server/content/SyncOperation;->hasIgnoreBackoff()Z
 HPLcom/android/server/content/SyncOperation;->hasRequireCharging()Z
 PLcom/android/server/content/SyncOperation;->ignoreBackoff()Z
 HPLcom/android/server/content/SyncOperation;->isAppStandbyExempted()Z
 HPLcom/android/server/content/SyncOperation;->isConflict(Lcom/android/server/content/SyncOperation;)Z
-PLcom/android/server/content/SyncOperation;->isDerivedFromFailedPeriodicSync()Z
+HPLcom/android/server/content/SyncOperation;->isDerivedFromFailedPeriodicSync()Z
 HPLcom/android/server/content/SyncOperation;->isExpedited()Z
 HPLcom/android/server/content/SyncOperation;->isIgnoreSettings()Z
 HPLcom/android/server/content/SyncOperation;->isInitialization()Z
-PLcom/android/server/content/SyncOperation;->isNotAllowedOnMetered()Z
-PLcom/android/server/content/SyncOperation;->isUpload()Z
+HPLcom/android/server/content/SyncOperation;->isNotAllowedOnMetered()Z
+HPLcom/android/server/content/SyncOperation;->isUpload()Z
 HPLcom/android/server/content/SyncOperation;->matchesPeriodicOperation(Lcom/android/server/content/SyncOperation;)Z
 HPLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;
 HPLcom/android/server/content/SyncOperation;->reasonToString(Landroid/content/pm/PackageManager;I)Ljava/lang/String;
@@ -14540,6 +15408,7 @@
 HSPLcom/android/server/content/SyncStorageEngine;->createAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
 HPLcom/android/server/content/SyncStorageEngine;->createCopyPairOfAuthorityWithSyncStatusLocked(Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;)Landroid/util/Pair;
 HPLcom/android/server/content/SyncStorageEngine;->getAuthority(I)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+PLcom/android/server/content/SyncStorageEngine;->getAuthorityCount()I
 HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
 HPLcom/android/server/content/SyncStorageEngine;->getBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
 HPLcom/android/server/content/SyncStorageEngine;->getCopyOfAuthorityWithSyncStatus(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
@@ -14863,6 +15732,10 @@
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0NGjMa7hJHujISQOD_pH8kTq6JI;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0YdFTQIxrgxkEfzJdhGZzP5z4eM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0YdFTQIxrgxkEfzJdhGZzP5z4eM;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0ehxvWnOMx6g5T1hCFEw18p06Yc;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/CharSequence;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0ehxvWnOMx6g5T1hCFEw18p06Yc;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0hlLXeS7in_CijIUkNGFRe2IkVE;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0hlLXeS7in_CijIUkNGFRe2IkVE;-><init>()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0xOTapp1kSvojAdqJGdavUtvjqU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0xOTapp1kSvojAdqJGdavUtvjqU;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$19j1Aw89Idv-1enlT4bK5AugL5A;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;)V
@@ -14879,6 +15752,8 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$2dnwZdGuTZnM6wwcm6xROcqfwb0;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$2oZRUqH8940wHaVi7eD5XbqxSUs;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I[B)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$2oZRUqH8940wHaVi7eD5XbqxSUs;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$34vdcrE1sk8fYjgia11zhA8_E3Q;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$34vdcrE1sk8fYjgia11zhA8_E3Q;-><init>()V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$3L30HmY-8WRZNE3mKrX3xDa7_k8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$3L30HmY-8WRZNE3mKrX3xDa7_k8;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$3ci-C-bvTQXBAy8k6mmH8aTckko;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;)V
@@ -14887,10 +15762,14 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$5-nWFGyr7IsWb84Z7EeOMY-GKY4;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$5Xy1SW6FmfM4-7F8ZHPEFhBAJjs;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$5Xy1SW6FmfM4-7F8ZHPEFhBAJjs;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$5mZ6ds-CQDR-VDBoF6sG93he8gQ;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I[B)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$5mZ6ds-CQDR-VDBoF6sG93he8gQ;->getOrThrow()Ljava/lang/Object;
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6E7MK8TbNUybt8S9CwAdfdcn2x0;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6E7MK8TbNUybt8S9CwAdfdcn2x0;->getOrThrow()Ljava/lang/Object;
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6VeZWEdN1dyRdHEAUxfQP-WansI;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IIZLandroid/content/ComponentName;)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6VeZWEdN1dyRdHEAUxfQP-WansI;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6VeZWEdN1dyRdHEAUxfQP-WansI;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IIZLandroid/content/ComponentName;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6VeZWEdN1dyRdHEAUxfQP-WansI;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6paWP8Iq2mGM3L7iYJbBwFidvZw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6paWP8Iq2mGM3L7iYJbBwFidvZw;->runOrThrow()V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$7Cpvth9RknvcbwQxadY3QRMYuFU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$7Cpvth9RknvcbwQxadY3QRMYuFU;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$7hl9-Fu55wI3YRCmF3l8IOs19OM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
@@ -14919,6 +15798,12 @@
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9SJKQAytAssuizf9V09cQ9qSuUM;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9VVtUb5jLgJSmFOsWJ9ANvL9Ep4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9VVtUb5jLgJSmFOsWJ9ANvL9Ep4;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9YTcEPPNtERmlntMcA1HnJTOEv0;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9YTcEPPNtERmlntMcA1HnJTOEv0;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ActiveAdmin$Itq6pSsfsSgkuDfqznUMc7YMLwU;-><init>(I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ActiveAdmin$Itq6pSsfsSgkuDfqznUMc7YMLwU;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ActiveAdmin$UjhGsndXbfnmx5tCnLRWDR1J0oo;-><init>(I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ActiveAdmin$UjhGsndXbfnmx5tCnLRWDR1J0oo;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$BOK8I3WNMlyJrHuv4E5nizuvN9s;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$BOK8I3WNMlyJrHuv4E5nizuvN9s;->run()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$BYd2ftVebU2Ktj6tr-DFfrGE5TE;-><clinit>()V
@@ -14941,8 +15826,12 @@
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$E3l49EGA6UCGqdaOZqz6OFNlTrc;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$E9awYavFY3fUvYuziaFPn187V2A;-><init>(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$E9awYavFY3fUvYuziaFPn187V2A;->accept(Ljava/lang/Object;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$EkoKuggc6TE3-QevHMGQZJIPdBo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ZZ)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$EkoKuggc6TE3-QevHMGQZJIPdBo;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$EmW1vJQsSAWrjreihtc0C_PUzE8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$EmW1vJQsSAWrjreihtc0C_PUzE8;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$FD5gzkGAzwLbOnYqbEm6nwo8SG4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$FD5gzkGAzwLbOnYqbEm6nwo8SG4;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$FH6LDUjPuTrmrHOy8qyq914-6zY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$FH6LDUjPuTrmrHOy8qyq914-6zY;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$FJ0XePbVcRlJIcEvTiNAwEn0UoM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/CharSequence;)V
@@ -14951,12 +15840,16 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$GdvC4eub6BtkkX5BnHuPR5Ob0ag;-><init>()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$GrJ2yAyrcr8_uJK0BCe9i4AcIYc;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$GrJ2yAyrcr8_uJK0BCe9i4AcIYc;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$HcMd4ZadwavEkG6fDsHbYm_Wkc8;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$HcMd4ZadwavEkG6fDsHbYm_Wkc8;-><init>()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$I2JVUrPjGJeIH9M5tFkFtORoZA0;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$I2JVUrPjGJeIH9M5tFkFtORoZA0;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IFjmfnHIk0cwZ4cu_jTHWTsMxfc;-><init>(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IFjmfnHIk0cwZ4cu_jTHWTsMxfc;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IMrqSPgnQFlD9AquL6PEMeRT48A;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IMrqSPgnQFlD9AquL6PEMeRT48A;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IbKsowM5p__Gy5ZHgDd0XeF9iOo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IbKsowM5p__Gy5ZHgDd0XeF9iOo;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IiTDvO4lH6i6MSEHWCEcAk85DDE;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IiTDvO4lH6i6MSEHWCEcAk85DDE;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IxdwArI8Td_zcuuRujOKZ6JGGTU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
@@ -14965,12 +15858,16 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$J1D7mGzV3_Pe5CkN4SOHvBx0GQM;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$JEgkZ2GnVgvzJnS1uvLsrUt2pUs;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$JEgkZ2GnVgvzJnS1uvLsrUt2pUs;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Ja0SvJXIom5w6SH5rDGlGY5PY4s;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ZI)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Ja0SvJXIom5w6SH5rDGlGY5PY4s;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Jn1h0KwAOFO-2SLpickAr7b6UEI;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Jn1h0KwAOFO-2SLpickAr7b6UEI;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KHK1qaoqPOWDaYAcyuftrRCJUsU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KHK1qaoqPOWDaYAcyuftrRCJUsU;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KVBXyPBBtnY04KgNMY8kTUc8TDM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KVBXyPBBtnY04KgNMY8kTUc8TDM;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KjIYnhbEQukDhcUD9YFvm2m86_I;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KjIYnhbEQukDhcUD9YFvm2m86_I;-><init>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Kt954vcIuhnBMcd-u6lDaLOaZfM;-><clinit>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Kt954vcIuhnBMcd-u6lDaLOaZfM;-><init>()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Kxt959fEmzAZCuTvdZLLr4ydBwg;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
@@ -14981,7 +15878,7 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L1BjBKCM4PsL1cN_5wbAOuBRIk8;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L3XzC2X57y8_uXrsW81Qk8KXQTA;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L3XzC2X57y8_uXrsW81Qk8KXQTA;->runOrThrow()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L726YSg1ctOhu8vS40p7mI29Hqw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L726YSg1ctOhu8vS40p7mI29Hqw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L726YSg1ctOhu8vS40p7mI29Hqw;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$LocalService$YxQa4ZcUPWKs76meOLw1c_tn1OU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$LocalService$YxQa4ZcUPWKs76meOLw1c_tn1OU;->runOrThrow()V
@@ -15007,6 +15904,8 @@
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$O7VBr2X2LTCZ2rClZ_UwgB-Qoa0;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$O9Moi8sORA4geplcz5N36k_Djo8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$O9Moi8sORA4geplcz5N36k_Djo8;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$OJ8A__Rf2MbVHfdSjP-Rem2wGy8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$OJ8A__Rf2MbVHfdSjP-Rem2wGy8;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Ohf5PJQmXjsarWisPAuPB8WECX8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Ohf5PJQmXjsarWisPAuPB8WECX8;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$PQxvRo4LWlTe_I8RQ-J5BqZxYGY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
@@ -15015,6 +15914,8 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$PbWvUymvyMNlDpwaJHqqjloqHY0;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QSZZ_1yoXc0KadPc27uY1ijTXpM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QSZZ_1yoXc0KadPc27uY1ijTXpM;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QaKYuXaSzuXFDvP2N_Hv0u-6SWM;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QaKYuXaSzuXFDvP2N_Hv0u-6SWM;-><init>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QeuN0QspI6zzXRv-ZEqptxjR6bc;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QeuN0QspI6zzXRv-ZEqptxjR6bc;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Qs_HIEUKv-t71wixXSU0Of8RNKE;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
@@ -15030,23 +15931,32 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SJMb3vs5bdgYZlouifkarxp6ak8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SJMb3vs5bdgYZlouifkarxp6ak8;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SsK3Zag7hhWHXlzNClBcOqbFDYM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/util/ArrayList;)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SsK3Zag7hhWHXlzNClBcOqbFDYM;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SsK3Zag7hhWHXlzNClBcOqbFDYM;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T-DYGQoYs3p1_NgKsVcKRX8fTnA;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T-DYGQoYs3p1_NgKsVcKRX8fTnA;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T4eSwgayOKOYwmmjCYnPFwO28Pw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T4eSwgayOKOYwmmjCYnPFwO28Pw;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ThskFZWEUceNrJT9xsMbJpTtMj4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ThskFZWEUceNrJT9xsMbJpTtMj4;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Tue59QgPsjxkqMzjVJAZC46RQg8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Tue59QgPsjxkqMzjVJAZC46RQg8;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$U9YD7gQ6iZ_5FJUa8YOVVfNkeck;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$U9YD7gQ6iZ_5FJUa8YOVVfNkeck;-><init>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$U9YD7gQ6iZ_5FJUa8YOVVfNkeck;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UPnhCNO69TKnF1hSXENMzK_2NSQ;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UPnhCNO69TKnF1hSXENMzK_2NSQ;->runOrThrow()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZjRYMPztw5R7HEv0d62H2OifHg;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZjRYMPztw5R7HEv0d62H2OifHg;->getOrThrow()Ljava/lang/Object;
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZjRYMPztw5R7HEv0d62H2OifHg;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZjRYMPztw5R7HEv0d62H2OifHg;->getOrThrow()Ljava/lang/Object;
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZoVWdpJJZwABGNhZWHbxPIvMO4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZoVWdpJJZwABGNhZWHbxPIvMO4;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UlBCHsxRAKclaeuTOUj9xolbrSE;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/IBinder;Z)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UlBCHsxRAKclaeuTOUj9xolbrSE;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VDIwg4X1iKAqFvQldV7uz3FQETk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ZILandroid/content/Context;J)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VDIwg4X1iKAqFvQldV7uz3FQETk;->runOrThrow()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VnVMpzZ38K9VY5q76LFE7Pg8Ojk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VnVMpzZ38K9VY5q76LFE7Pg8Ojk;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vg0S0XWRLxc15dP0DNjWoFnOlo4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vg0S0XWRLxc15dP0DNjWoFnOlo4;->getOrThrow()Ljava/lang/Object;
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VnVMpzZ38K9VY5q76LFE7Pg8Ojk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VnVMpzZ38K9VY5q76LFE7Pg8Ojk;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vx-CgHEULlhhYTHNaAhW9C49Ln4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vx-CgHEULlhhYTHNaAhW9C49Ln4;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$W0PqT_DujOnRfFtIRJT9BUc0AKo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
@@ -15057,11 +15967,13 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$X8P9YSbXKt6AGKQrPiFxyDc-HJQ;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$X8ssNAYCaueT78i6KH-xMYuutXA;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$X8ssNAYCaueT78i6KH-xMYuutXA;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$XTbgM9VkDoAYldrIQCtK-Qid1Cs;-><init>(Landroid/content/pm/CrossProfileApps;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$XTbgM9VkDoAYldrIQCtK-Qid1Cs;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Xc3Cc89KBImtyHAgMzs8CxA-vt4;-><clinit>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Xc3Cc89KBImtyHAgMzs8CxA-vt4;-><init>()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Y60DjdFMzpV5YEEtub3axIwYGT4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Y60DjdFMzpV5YEEtub3axIwYGT4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Y60DjdFMzpV5YEEtub3axIwYGT4;->runOrThrow()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YUdRHstauCgFOjok0Bqvn4hAUiY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YUdRHstauCgFOjok0Bqvn4hAUiY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YUdRHstauCgFOjok0Bqvn4hAUiY;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Yha2g5948Y6-99_Zk6qnSQ08xaY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Yha2g5948Y6-99_Zk6qnSQ08xaY;->getOrThrow()Ljava/lang/Object;
@@ -15101,8 +16013,8 @@
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$d08rPNL3sI-Hx7ZpnR_dxsBLZmk;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$dhmKG9Egag2TPEwukGPiev6dT70;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$dhmKG9Egag2TPEwukGPiev6dT70;->getOrThrow()Ljava/lang/Object;
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e1b7933wrj9WzETz2PImYXO7S8k;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e1b7933wrj9WzETz2PImYXO7S8k;->getOrThrow()Ljava/lang/Object;
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e1b7933wrj9WzETz2PImYXO7S8k;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e1b7933wrj9WzETz2PImYXO7S8k;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e2DzcGWRwnNdKo6blzNAob0HsSw;-><init>(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e2DzcGWRwnNdKo6blzNAob0HsSw;->accept(Ljava/lang/Object;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e7c2huGjk3obVFka43jMbcJT0E8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
@@ -15137,24 +16049,36 @@
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$iojPtiJXnnFJDsa0P-LGE6gfikU;->getOrThrow()Ljava/lang/Object;
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jDU7UhnyXuItN3e_DVSz6WUa7Qc;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jDU7UhnyXuItN3e_DVSz6WUa7Qc;->runOrThrow()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jZJHZdHi2d2IGPmtF3qkyCAED30;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jZJHZdHi2d2IGPmtF3qkyCAED30;->getOrThrow()Ljava/lang/Object;
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jZJHZdHi2d2IGPmtF3qkyCAED30;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jZJHZdHi2d2IGPmtF3qkyCAED30;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ja_JdZk-BJUe5rbQuU_LxLblBfM;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ja_JdZk-BJUe5rbQuU_LxLblBfM;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jgsUvRSr_6U0Lrv4PXbJtZQe_Mk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jgsUvRSr_6U0Lrv4PXbJtZQe_Mk;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$k1aeXXPfcL4BEPifLdQ_HeHTYtE;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$k1aeXXPfcL4BEPifLdQ_HeHTYtE;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$k97we0j9gw3Z9EdXinG0TR_NU7k;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$k97we0j9gw3Z9EdXinG0TR_NU7k;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$kzCB3cpjvS2pCtQyc2yL_59Hjmo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/net/ProxyInfo;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$kzCB3cpjvS2pCtQyc2yL_59Hjmo;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$l1-j9XdvuDdp7fQsY_n_Pv6CP3A;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$l1-j9XdvuDdp7fQsY_n_Pv6CP3A;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lG9keASbSI5H2nDJOOi-80s_LvI;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lG9keASbSI5H2nDJOOi-80s_LvI;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lK5BidM6lcqUIXu-zn-0ok4Byrw;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lK5BidM6lcqUIXu-zn-0ok4Byrw;-><init>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ll5SYJlZ-SYytCFFeQAWfuFB9CQ;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ll5SYJlZ-SYytCFFeQAWfuFB9CQ;->runOrThrow()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lmsiKzZN5DKHTzgWChWAyGfrxwk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lmsiKzZN5DKHTzgWChWAyGfrxwk;->getOrThrow()Ljava/lang/Object;
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m2h-vVM6u7Yweb_QNLSUAbWduj8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m2h-vVM6u7Yweb_QNLSUAbWduj8;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m7cf0Wm-YCT36G5vm9BHBTkN2Dw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m7cf0Wm-YCT36G5vm9BHBTkN2Dw;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m7rLjOikh2mbiVKjWDn3GBpideo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m7rLjOikh2mbiVKjWDn3GBpideo;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mA1nIQOPNM7xME8EHEAdwVxXCcA;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mA1nIQOPNM7xME8EHEAdwVxXCcA;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mBXxcFZAZnjzw9sY7LWPSdbiolE;-><clinit>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mBXxcFZAZnjzw9sY7LWPSdbiolE;-><init>()V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mF6fAm3fr7FHqqfmNeO86iULgao;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;I)V
@@ -15167,10 +16091,18 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mwS7r1mDY-UqllmCI-ssTA9SQHo;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mz0ziCw2lQO5CMfb_mYqf3ka0bw;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/util/ArrayList;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mz0ziCw2lQO5CMfb_mYqf3ka0bw;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$n5wbyGJW257bOEev6G_jcQYpupI;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$n5wbyGJW257bOEev6G_jcQYpupI;-><init>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nBM3fQ_95BD262BpQ3v_i1LTo9o;-><clinit>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nBM3fQ_95BD262BpQ3v_i1LTo9o;-><init>()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oLfRfy_OZS9YkdF7nu-kG1zUnKQ;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;IZ)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oLfRfy_OZS9YkdF7nu-kG1zUnKQ;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nvS6eId_3TI_nUpbtuGBokzSIo8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nvS6eId_3TI_nUpbtuGBokzSIo8;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oK0EslQ2AGZoR7-DnuE_MTUAZeI;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oK0EslQ2AGZoR7-DnuE_MTUAZeI;->runOrThrow()V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oLfRfy_OZS9YkdF7nu-kG1zUnKQ;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;IZ)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oLfRfy_OZS9YkdF7nu-kG1zUnKQ;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oV2jr6PYfDWs8kBqobr7VD9-LLU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oV2jr6PYfDWs8kBqobr7VD9-LLU;->runOrThrow()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$p6M2CJuZlA3Rm0CLLTJMm5qd9vU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;IZ)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$p6M2CJuZlA3Rm0CLLTJMm5qd9vU;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$pB-F_F3AnR9oCMg1VlOwhTrZ6Mk;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
@@ -15179,6 +16111,8 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$paNWzEukGonqKHGYa2dcIYm1m9I;-><init>()V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$peeHTd988oQjHrGFppwrwfdKZU4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$peeHTd988oQjHrGFppwrwfdKZU4;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$pjK3LWzkYCysXWNeON2CzGHVugk;-><init>(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$pjK3LWzkYCysXWNeON2CzGHVugk;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$pvoZ9UODcnSUe5AiOPUs_KioH8k;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;IZ)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$pvoZ9UODcnSUe5AiOPUs_KioH8k;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$q1YIiSRAwpEOOKy6rKvYkFzQHpo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
@@ -15195,6 +16129,8 @@
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$t4Io6BbYuqAYt9FXHbilhzTSiHU;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tAgDO0b7hXUD7MGkHfgPTDV4o6g;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tAgDO0b7hXUD7MGkHfgPTDV4o6g;->getOrThrow()Ljava/lang/Object;
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tHheKyHzd2-5I5LCD3ROkSZDHC0;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tHheKyHzd2-5I5LCD3ROkSZDHC0;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tN28Me5AH2pjgYHvPnMAsCjK_NU;-><clinit>()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tN28Me5AH2pjgYHvPnMAsCjK_NU;-><init>()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$tP1hXBdmtI9IE10B4g20hA1qEA4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IILjava/lang/String;)V
@@ -15217,8 +16153,12 @@
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$uscGE01UNkxETEanV-Gb-ZwPjKI;->run()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vR-RWtti8ewEGuhsA0IoU86GAmo;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vR-RWtti8ewEGuhsA0IoU86GAmo;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vT_QnqFgjh3LMaMTwq65qCK_WUU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;IZLandroid/app/admin/DeviceAdminInfo;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vT_QnqFgjh3LMaMTwq65qCK_WUU;->runOrThrow()V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vsNaZOHvF-kWqLDfhyiTAaRLpQU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vsNaZOHvF-kWqLDfhyiTAaRLpQU;->runOrThrow()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$wUMG9dtVUgNOBUyp4nmb0E8C-FY;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;ILandroid/content/Intent;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$wUMG9dtVUgNOBUyp4nmb0E8C-FY;->runOrThrow()V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$wdjKJZZQbwUvNkCxj7a-RCOB9p8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
 HPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$wdjKJZZQbwUvNkCxj7a-RCOB9p8;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$wv3ENyztVnJQ2NQstjeqTDWle-E;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
@@ -15298,16 +16238,24 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$8;->run()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><clinit>()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><init>(Landroid/app/admin/DeviceAdminInfo;Z)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->addSyntheticRestrictions(Landroid/os/Bundle;)Landroid/os/Bundle;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->ensureUserRestrictions()Landroid/os/Bundle;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->filterRestrictions(Landroid/os/Bundle;Ljava/util/function/Predicate;)Landroid/os/Bundle;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getEffectiveRestrictions()Landroid/os/Bundle;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getGlobalUserRestrictions(I)Landroid/os/Bundle;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getLocalUserRestrictions(I)Landroid/os/Bundle;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getParentActiveAdmin()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUid()I
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasParentActiveAdmin()Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasUserRestrictions()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->lambda$getGlobalUserRestrictions$1(ILjava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->lambda$getLocalUserRestrictions$0(ILjava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readAttributeValues(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/Collection;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readPackageList(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->removeDeprecatedRestrictions(Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValueToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValueToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValueToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Z)V
@@ -15363,6 +16311,7 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->pendingIntentGetBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->powerManagerGoToSleep(JII)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->runCryptoSelfTest()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogGetLoggingEnabledProperty()Z
@@ -15394,11 +16343,13 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->broadcastIntentToCrossProfileManifestReceiversAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->canSilentlyInstallPackage(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->checkCrossProfilePackagePermissions(Ljava/lang/String;IZ)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getAllCrossProfilePackages()Ljava/util/List;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getCrossProfileWidgetProviders(I)Ljava/util/List;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDeviceStateCache()Landroid/app/admin/DeviceStateCache;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveAdminWithPolicy(II)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isPackageEnabled(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isUserAffiliatedWithDevice(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->lambda$reportSeparateProfileChallengeChanged$0$DevicePolicyManagerService$LocalService(I)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->notifyCrossProfileProvidersChanged(ILjava/util/List;)V
@@ -15420,24 +16371,36 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1800(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2000(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2000(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2200()Ljava/util/Set;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2300(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2400(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2800(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2800(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3000(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DeviceStateCacheImpl;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3000(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3100(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3100(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3200(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3200(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DeviceStateCacheImpl;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3200(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3200(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3300(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3300(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DeviceStateCacheImpl;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3400(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DeviceStateCacheImpl;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
@@ -15447,7 +16410,9 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->addOrRemoveDisableCameraRestriction(Landroid/os/Bundle;I)Landroid/os/Bundle;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->addOrRemoveDisableCameraRestriction(Landroid/os/Bundle;Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)Landroid/os/Bundle;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->applyManagedProfileRestrictionIfDeviceOwnerLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->applyPersonalAppsSuspension(II)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->applyPersonalAppsSuspension(IZ)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->areAllUsersAffiliatedWithDeviceLocked()Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->canProfileOwnerAccessDeviceIds(I)Z
@@ -15466,6 +16431,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->choosePrivateKeyAlias(ILandroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->clearPersonalAppsSuspendedNotification()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->discardDeviceWideLogsLocked()V
@@ -15482,6 +16448,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageProfileAndDeviceOwners()V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScope(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScopeOrCheckPermission(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanSetDeviceOwnerLocked(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanSetProfileOwnerLocked(Landroid/content/ComponentName;IZ)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCrossUsersPermission(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceDeviceOwner(Landroid/content/ComponentName;)V
@@ -15542,6 +16509,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileCalendarPackagesForUser(I)Ljava/util/List;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileCallerIdDisabledForUser(I)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileContactsSearchDisabledForUser(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfilePackages(Landroid/content/ComponentName;)Ljava/util/List;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfilePackagesForAdmins(Ljava/util/List;)Ljava/util/List;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCurrentFailedPasswordAttempts(IZ)I
@@ -15551,6 +16519,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOrProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrProfileOwnerOfOrganizationOwnedDeviceLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerRemoteBugreportUri()Ljava/lang/String;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerUserId()I
@@ -15571,7 +16540,7 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMeteredDisabledPackagesLocked(I)Ljava/util/Set;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMinimumStrongAuthTimeoutMs()J
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationOwnedProfileUserId()I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationOwnedProfileUserId()I
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerInstalledCaCerts(Landroid/os/UserHandle;)Landroid/content/pm/StringParceledListSlice;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordComplexity(Z)I
@@ -15619,6 +16588,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserProvisioningState()I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserProvisioningState(I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleNewPackageInstalled(Ljava/lang/String;I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePasswordExpirationNotification(I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
@@ -15636,11 +16606,15 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActivePasswordSufficientForUserLocked(ZLandroid/app/admin/PasswordMetrics;IZ)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdb()Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdminActive(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAffiliatedUser()Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isBackupServiceEnabled(Landroid/content/ComponentName;)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDelegate(Ljava/lang/String;ILjava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerWithSystemUid()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallingFromPackage(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCommonCriteriaModeEnabled(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCrossProfileQuickContactDisabled(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCurrentInputMethodSetByOwner()Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCurrentUserDemo()Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Landroid/content/ComponentName;I)Z
@@ -15648,6 +16622,8 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerPackage(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceProvisioned()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isEncryptionSupported()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isEphemeralUser(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isInputMethodPermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLimitPasswordAllowed(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;I)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLockTaskPermitted(Ljava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLogoutEnabled()Z
@@ -15657,7 +16633,7 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabledInternalLocked()Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isOrganizationOwnedDeviceWithManagedProfile()Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isOrganizationOwnedDeviceWithManagedProfile()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageInstalledForUser(Ljava/lang/String;I)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageTestOnly(Ljava/lang/String;I)Z
@@ -15672,8 +16648,10 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRemovedPackage(Ljava/lang/String;Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isResetPasswordTokenActive(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isResetPasswordTokenActiveForUserLocked(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRuntimePermission(Ljava/lang/String;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSecondaryLockscreenEnabled(I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSecondaryLockscreenEnabled(Landroid/os/UserHandle;)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeAllowed(I)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
@@ -15689,10 +16667,11 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$areAllUsersAffiliatedWithDeviceLocked$81$DevicePolicyManagerService()Ljava/lang/Boolean;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$areAllUsersAffiliatedWithDeviceLocked$82$DevicePolicyManagerService()Ljava/lang/Boolean;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$areAllUsersAffiliatedWithDeviceLocked$83$DevicePolicyManagerService()Ljava/lang/Boolean;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$areAllUsersAffiliatedWithDeviceLocked$84$DevicePolicyManagerService()Ljava/lang/Boolean;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$areAllUsersAffiliatedWithDeviceLocked$84$DevicePolicyManagerService()Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$choosePrivateKeyAlias$23$DevicePolicyManagerService(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/IBinder;Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$choosePrivateKeyAlias$24$DevicePolicyManagerService(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/IBinder;Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$choosePrivateKeyAlias$25$DevicePolicyManagerService(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/IBinder;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$choosePrivateKeyAlias$26$DevicePolicyManagerService(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/IBinder;Z)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$clearPersonalAppsSuspendedNotification$104$DevicePolicyManagerService()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$clearPersonalAppsSuspendedNotification$105$DevicePolicyManagerService()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$clearPersonalAppsSuspendedNotification$106$DevicePolicyManagerService()V
@@ -15710,12 +16689,13 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getAlwaysOnVpnPackage$28$DevicePolicyManagerService(I)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationLabel$47$DevicePolicyManagerService(ILjava/lang/String;)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationLabel$48$DevicePolicyManagerService(ILjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationLabel$50$DevicePolicyManagerService(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$54$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$55$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$56$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$57$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$58$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$59$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getApplicationRestrictions$59$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getBindDeviceAdminTargetUsers$73$DevicePolicyManagerService(Landroid/content/ComponentName;I)Ljava/util/ArrayList;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getBindDeviceAdminTargetUsers$74$DevicePolicyManagerService(Landroid/content/ComponentName;I)Ljava/util/ArrayList;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getBindDeviceAdminTargetUsers$76$DevicePolicyManagerService(Landroid/content/ComponentName;I)Ljava/util/ArrayList;
@@ -15728,8 +16708,9 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getCredentialOwner$49$DevicePolicyManagerService(IZ)Ljava/lang/Integer;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getCredentialOwner$50$DevicePolicyManagerService(IZ)Ljava/lang/Integer;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getCredentialOwner$51$DevicePolicyManagerService(IZ)Ljava/lang/Integer;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getCredentialOwner$52$DevicePolicyManagerService(IZ)Ljava/lang/Integer;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getCredentialOwner$52$DevicePolicyManagerService(IZ)Ljava/lang/Integer;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPasswordHistoryLength$10(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)Ljava/lang/Integer;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPasswordHistoryLength$13(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)Ljava/lang/Integer;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPermissionGrantState$66$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/lang/Integer;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPermissionGrantState$67$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/lang/Integer;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getPermissionGrantState$69$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageManager;)Ljava/lang/Integer;
@@ -15760,10 +16741,15 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getWifiMacAddress$77$DevicePolicyManagerService(Landroid/content/ComponentName;)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getWifiMacAddress$78$DevicePolicyManagerService(Landroid/content/ComponentName;)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getWifiMacAddress$79$DevicePolicyManagerService(Landroid/content/ComponentName;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$getWifiMacAddress$80$DevicePolicyManagerService(Landroid/content/ComponentName;)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isApplicationHidden$59$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isApplicationHidden$60$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isApplicationHidden$63$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isCallingFromPackage$104$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isCallingFromPackage$105$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isCallingFromPackage$105$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isEphemeralUser$58$DevicePolicyManagerService(I)Ljava/lang/Boolean;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isOrganizationOwnedDeviceWithManagedProfile$46$DevicePolicyManagerService()Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isPackageInstalledForUser$79$DevicePolicyManagerService(Ljava/lang/String;I)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isResetPasswordTokenActive$80$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isResetPasswordTokenActive$81$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$isResetPasswordTokenActive$83$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)Ljava/lang/Boolean;
@@ -15781,32 +16767,41 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$4$DevicePolicyManagerService()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$5$DevicePolicyManagerService()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$maybeClearLockTaskPolicyLocked$62$DevicePolicyManagerService()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$maybeClearLockTaskPolicyLocked$65$DevicePolicyManagerService()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$maybeResumeDeviceWideLoggingLocked$90$DevicePolicyManagerService(ZZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$64$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$65$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$67$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$73$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$74$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$75$DevicePolicyManagerService(Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$notifyPendingSystemUpdate$76$DevicePolicyManagerService(Landroid/content/Intent;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$removeActiveAdmin$6$DevicePolicyManagerService(Landroid/content/ComponentName;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$reportSuccessfulPasswordAttempt$30$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$reportSuccessfulPasswordAttempt$31$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$reportSuccessfulPasswordAttempt$32$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$reportSuccessfulPasswordAttempt$33$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$reportSuccessfulPasswordAttempt$34$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$sendChangedNotification$2$DevicePolicyManagerService(Landroid/content/Intent;I)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$sendChangedNotification$3$DevicePolicyManagerService(Landroid/content/Intent;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setActiveAdmin$3$DevicePolicyManagerService(Landroid/content/ComponentName;IZLandroid/app/admin/DeviceAdminInfo;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setActiveAdmin$4$DevicePolicyManagerService(Landroid/content/ComponentName;IZLandroid/app/admin/DeviceAdminInfo;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;Landroid/os/Bundle;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationHidden$58$DevicePolicyManagerService(Ljava/lang/String;ZI)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationHidden$61$DevicePolicyManagerService(Ljava/lang/String;ZI)Ljava/lang/Boolean;
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$50$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$51$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$52$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$53$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$54$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$55$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$54$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setApplicationRestrictions$55$DevicePolicyManagerService(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setCrossProfilePackages$102(Landroid/content/pm/CrossProfileApps;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwner$42$DevicePolicyManagerService(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$41$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$42$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$43$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$44$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$45$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setDeviceOwnerLockScreenInfo$46$DevicePolicyManagerService(Ljava/lang/CharSequence;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setExpirationAlarmCheckLocked$1$DevicePolicyManagerService(ZILandroid/content/Context;J)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$57$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$58$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
@@ -15814,6 +16809,7 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$63$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$64$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$65$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setGlobalSetting$66$DevicePolicyManagerService(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setNetworkLoggingActiveInternal$75$DevicePolicyManagerService(Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setNetworkLoggingActiveInternal$76$DevicePolicyManagerService(Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setNetworkLoggingActiveInternal$78$DevicePolicyManagerService(Z)V
@@ -15823,29 +16819,37 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setNetworkLoggingActiveInternal$87$DevicePolicyManagerService(Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setNetworkLoggingActiveInternal$88$DevicePolicyManagerService(Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPasswordQuality$7$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IIZLandroid/content/ComponentName;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPasswordQuality$8$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IIZLandroid/content/ComponentName;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPasswordQuality$8$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;IIZLandroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$65(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$66(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$68(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$74(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$75(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$76(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$77(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileEnabled$42$DevicePolicyManagerService(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileEnabled$43$DevicePolicyManagerService(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileEnabled$47$DevicePolicyManagerService(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileName$48$DevicePolicyManagerService(ILjava/lang/String;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileOwner$39$DevicePolicyManagerService(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileOwner$40$DevicePolicyManagerService(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setProfileOwner$44$DevicePolicyManagerService(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setRecommendedGlobalProxy$32$DevicePolicyManagerService(Landroid/net/ProxyInfo;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setRecommendedGlobalProxy$33$DevicePolicyManagerService(Landroid/net/ProxyInfo;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setRecommendedGlobalProxy$34$DevicePolicyManagerService(Landroid/net/ProxyInfo;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setRecommendedGlobalProxy$35$DevicePolicyManagerService(Landroid/net/ProxyInfo;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setRecommendedGlobalProxy$36$DevicePolicyManagerService(Landroid/net/ProxyInfo;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setResetPasswordToken$87$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I[B)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setResetPasswordToken$88$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I[B)Ljava/lang/Boolean;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setResetPasswordToken$91$DevicePolicyManagerService(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I[B)Ljava/lang/Boolean;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$62$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$63$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$65$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$70$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$71$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$72$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setSecureSetting$73$DevicePolicyManagerService(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$startManagedQuickContact$64$DevicePolicyManagerService(ILandroid/content/Intent;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$updateMaximumTimeToLockLocked$19$DevicePolicyManagerService(I)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$updateMaximumTimeToLockLocked$20$DevicePolicyManagerService(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$updateMaximumTimeToLockLocked$21$DevicePolicyManagerService(I)V
@@ -15861,8 +16865,11 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadConstants()Lcom/android/server/devicepolicy/DevicePolicyConstants;
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lockNow(IZ)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->logIfVerbose(Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->logSetCrossProfilePackages(Landroid/content/ComponentName;Ljava/util/List;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeSuspensionReasons(ZZ)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeClearLockTaskPolicyLocked()V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogPasswordComplexitySet(Landroid/content/ComponentName;IZLandroid/app/admin/PasswordPolicy;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
@@ -15911,6 +16918,7 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveGlobalProxyLocked(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveSettingsLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveUserRestrictionsLocked(I)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveUserRestrictionsLocked(IZ)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendActiveAdminCommand(Ljava/lang/String;Landroid/os/Bundle;ILandroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandForLockscreenPoliciesLocked(Ljava/lang/String;II)V
@@ -15940,8 +16948,10 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCrossProfilePackages(Landroid/content/ComponentName;Ljava/util/List;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDelegatedScopePreO(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerSystemPropertyLocked()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnershipSystemPropertyLocked()V
@@ -15983,6 +16993,7 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setProfileEnabled(Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRecommendedGlobalProxy(Landroid/content/ComponentName;Landroid/net/ProxyInfo;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRequiredStrongAuthTimeout(Landroid/content/ComponentName;JZ)V
@@ -15994,6 +17005,7 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setStatusBarDisabled(Landroid/content/ComponentName;Z)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setStatusBarDisabledInternal(ZI)Z
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setStorageEncryption(Landroid/content/ComponentName;Z)I
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserProvisioningState(II)V
@@ -16001,6 +17013,7 @@
 HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;ZZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->shouldCheckIfDelegatePackageIsInstalled(Ljava/lang/String;ILjava/util/List;)Z
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->shouldOverwritePoliciesFromXml(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->startManagedQuickContact(Ljava/lang/String;JZJLandroid/content/Intent;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->startOwnerService(ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->startUninstallIntent(Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->stopOwnerService(ILjava/lang/String;)V
@@ -16021,6 +17034,7 @@
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateProtectedPackagesLocked(Ljava/util/List;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateScreenCaptureDisabled(IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserControlDisabledPackagesLocked(Ljava/util/List;)V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
 HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->validatePasswordOwnerLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->validateQualityConstant(I)V
@@ -16089,6 +17103,8 @@
 PLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;->shouldWrite()Z
 PLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;->writeInner(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;)V
+PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;Landroid/app/ActivityManagerInternal;)V
+PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;Landroid/app/ActivityManagerInternal;Lcom/android/server/devicepolicy/Owners$Injector;)V
 HSPLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/devicepolicy/Owners$Injector;)V
 PLcom/android/server/devicepolicy/Owners;->access$000(Lcom/android/server/devicepolicy/Owners;)Lcom/android/server/devicepolicy/Owners$OwnerInfo;
 HSPLcom/android/server/devicepolicy/Owners;->access$002(Lcom/android/server/devicepolicy/Owners;Lcom/android/server/devicepolicy/Owners$OwnerInfo;)Lcom/android/server/devicepolicy/Owners$OwnerInfo;
@@ -16125,8 +17141,11 @@
 HSPLcom/android/server/devicepolicy/Owners;->readLegacyOwnerFileLocked(Ljava/io/File;)Z
 PLcom/android/server/devicepolicy/Owners;->removeProfileOwner(I)V
 PLcom/android/server/devicepolicy/Owners;->saveSystemUpdateInfo(Landroid/app/admin/SystemUpdateInfo;)Z
+PLcom/android/server/devicepolicy/Owners;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/Owners;->setDeviceOwnerWithRestrictionsMigrated(Landroid/content/ComponentName;Ljava/lang/String;IZ)V
 PLcom/android/server/devicepolicy/Owners;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)V
 HSPLcom/android/server/devicepolicy/Owners;->systemReady()V
+PLcom/android/server/devicepolicy/Owners;->writeDeviceOwner()V
 PLcom/android/server/devicepolicy/Owners;->writeProfileOwner(I)V
 HSPLcom/android/server/devicepolicy/SecurityLogMonitor;-><clinit>()V
 HSPLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
@@ -16139,6 +17158,7 @@
 HPLcom/android/server/devicepolicy/SecurityLogMonitor;->mergeBatchLocked(Ljava/util/ArrayList;)V
 HPLcom/android/server/devicepolicy/SecurityLogMonitor;->notifyDeviceOwnerIfNeeded(Z)V
 PLcom/android/server/devicepolicy/SecurityLogMonitor;->pause()V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;->resume()V
 PLcom/android/server/devicepolicy/SecurityLogMonitor;->retrieveLogs()Ljava/util/List;
 HSPLcom/android/server/devicepolicy/SecurityLogMonitor;->run()V
 HPLcom/android/server/devicepolicy/SecurityLogMonitor;->saveLastEvents(Ljava/util/ArrayList;)V
@@ -16224,9 +17244,11 @@
 HSPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
 HPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;->onTaskStackChanged()V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IFFFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/Context;)V
+PLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IFFFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/Context;Lcom/android/server/display/DisplayDeviceConfig;)V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;JLandroid/content/pm/PackageManager;)V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/pm/PackageManager;)V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Injector;Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IFFFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/Context;)V
+PLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Injector;Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IFFFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/Context;Lcom/android/server/display/DisplayDeviceConfig;)V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Injector;Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;JLandroid/content/pm/PackageManager;)V
 HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Injector;Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;Landroid/content/pm/PackageManager;)V
 HPLcom/android/server/display/AutomaticBrightnessController;->access$000(Lcom/android/server/display/AutomaticBrightnessController;)Landroid/app/IActivityTaskManager;
@@ -16299,6 +17321,14 @@
 HPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isDefaultConfig()Z
 PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setAutoBrightnessAdjustment(F)Z
 HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;-><init>([F[IFJ)V
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;-><init>([F[IFJLcom/android/server/display/BrightnessMappingStrategy$1;)V
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->computeSpline()V
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->convertToNits(I)F
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->getDefaultConfig()Landroid/hardware/display/BrightnessConfiguration;
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->getShortTermModelTimeout()J
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->hasUserDataPoints()Z
+PLcom/android/server/display/BrightnessMappingStrategy$SimpleMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
 HSPLcom/android/server/display/BrightnessMappingStrategy;-><clinit>()V
 HSPLcom/android/server/display/BrightnessMappingStrategy;-><init>()V
 HSPLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/res/Resources;)Lcom/android/server/display/BrightnessMappingStrategy;
@@ -16447,6 +17477,7 @@
 HSPLcom/android/server/display/DisplayDevice;-><init>(Lcom/android/server/display/DisplayAdapter;Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/display/DisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
 HPLcom/android/server/display/DisplayDevice;->dumpLocked(Ljava/io/PrintWriter;)V
+PLcom/android/server/display/DisplayDevice;->getDisplayIdToMirrorLocked()I
 HSPLcom/android/server/display/DisplayDevice;->getDisplayTokenLocked()Landroid/os/IBinder;
 PLcom/android/server/display/DisplayDevice;->getNameLocked()Ljava/lang/String;
 HSPLcom/android/server/display/DisplayDevice;->getUniqueId()Ljava/lang/String;
@@ -16472,6 +17503,9 @@
 HSPLcom/android/server/display/DisplayDeviceInfo;->flagsToString(I)Ljava/lang/String;
 HSPLcom/android/server/display/DisplayDeviceInfo;->toString()Ljava/lang/String;
 HSPLcom/android/server/display/DisplayDeviceInfo;->touchToString(I)Ljava/lang/String;
+HSPLcom/android/server/display/DisplayInfoProxy;-><init>(Landroid/view/DisplayInfo;)V
+HSPLcom/android/server/display/DisplayInfoProxy;->get()Landroid/view/DisplayInfo;
+HSPLcom/android/server/display/DisplayInfoProxy;->set(Landroid/view/DisplayInfo;)V
 HSPLcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;-><init>(Lcom/android/server/display/DisplayManagerService;)V
 HSPLcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;->onAllowedDisplayModesChanged()V
 HSPLcom/android/server/display/DisplayManagerService$BinderService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
@@ -16600,10 +17634,12 @@
 PLcom/android/server/display/DisplayManagerService;->access$4600(Lcom/android/server/display/DisplayManagerService;I)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
 HSPLcom/android/server/display/DisplayManagerService;->access$4600(Lcom/android/server/display/DisplayManagerService;IF)V
 HSPLcom/android/server/display/DisplayManagerService;->access$4600(Lcom/android/server/display/DisplayManagerService;II)V
+PLcom/android/server/display/DisplayManagerService;->access$4700(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
 PLcom/android/server/display/DisplayManagerService;->access$4700(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$4702(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/SensorManager;)Landroid/hardware/SensorManager;
 PLcom/android/server/display/DisplayManagerService;->access$4800(Lcom/android/server/display/DisplayManagerService;I)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
 PLcom/android/server/display/DisplayManagerService;->access$4800(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+PLcom/android/server/display/DisplayManagerService;->access$4802(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/SensorManager;)Landroid/hardware/SensorManager;
 HSPLcom/android/server/display/DisplayManagerService;->access$4900(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
 PLcom/android/server/display/DisplayManagerService;->access$4900(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$500(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/wm/WindowManagerInternal;
@@ -16613,13 +17649,17 @@
 HSPLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;IZFIZ)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;IZFIZZ)V
+PLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5200(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->access$5300(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5300(Lcom/android/server/display/DisplayManagerService;IZFIZZ)V
+PLcom/android/server/display/DisplayManagerService;->access$5400(Lcom/android/server/display/DisplayManagerService;IZFIZZ)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5400(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5500(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
 HSPLcom/android/server/display/DisplayManagerService;->access$5600(Lcom/android/server/display/DisplayManagerService;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5600(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5700(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->access$5700(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$5800(Lcom/android/server/display/DisplayManagerService;)V
 HSPLcom/android/server/display/DisplayManagerService;->access$600(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$SyncRoot;
 HSPLcom/android/server/display/DisplayManagerService;->access$600(Lcom/android/server/display/DisplayManagerService;)V
@@ -16657,6 +17697,7 @@
 PLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceRemoved(Lcom/android/server/display/DisplayDevice;)V
 HPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceRemovedLocked(Lcom/android/server/display/DisplayDevice;)V
 HSPLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayChanged(ILcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->handleSettingsChange()V
 HPLcom/android/server/display/DisplayManagerService;->isBrightnessConfigurationTooDark(Landroid/hardware/display/BrightnessConfiguration;)Z
 HPLcom/android/server/display/DisplayManagerService;->isUidPresentOnDisplayInternal(II)Z
 HSPLcom/android/server/display/DisplayManagerService;->loadBrightnessConfiguration()V
@@ -16686,6 +17727,7 @@
 PLcom/android/server/display/DisplayManagerService;->resizeVirtualDisplayInternal(Landroid/os/IBinder;III)V
 HSPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V
 HPLcom/android/server/display/DisplayManagerService;->screenshotInternal(I)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
+PLcom/android/server/display/DisplayManagerService;->screenshotInternal(IZ)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
 HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(II)V
 PLcom/android/server/display/DisplayManagerService;->setBrightnessConfigurationForUserInternal(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
 HSPLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
@@ -16851,6 +17893,7 @@
 HPLcom/android/server/display/DisplayPowerController$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
 HSPLcom/android/server/display/DisplayPowerController;-><clinit>()V
 HSPLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;)V
+PLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/DisplayDevice;)V
 HSPLcom/android/server/display/DisplayPowerController;->access$100(Lcom/android/server/display/DisplayPowerController;)V
 PLcom/android/server/display/DisplayPowerController;->access$1000(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;
 HSPLcom/android/server/display/DisplayPowerController;->access$1202(Lcom/android/server/display/DisplayPowerController;Landroid/hardware/display/BrightnessConfiguration;)Landroid/hardware/display/BrightnessConfiguration;
@@ -17020,6 +18063,7 @@
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayModeRecord(Landroid/view/SurfaceControl$DisplayConfig;)Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayModeRecord(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findMatchingModeIdLocked(I)I
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceConfig()Lcom/android/server/display/DisplayDeviceConfig;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayModes(Landroid/util/SparseArray;)[Landroid/view/Display$Mode;
 HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z
@@ -17121,11 +18165,14 @@
 PLcom/android/server/display/PersistentDataStore$StableDeviceValues;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/display/PersistentDataStore;-><init>()V
 HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;)V
+PLcom/android/server/display/PersistentDataStore;->applyWifiDisplayAlias(Landroid/hardware/display/WifiDisplay;)Landroid/hardware/display/WifiDisplay;
+PLcom/android/server/display/PersistentDataStore;->applyWifiDisplayAliases([Landroid/hardware/display/WifiDisplay;)[Landroid/hardware/display/WifiDisplay;
 HSPLcom/android/server/display/PersistentDataStore;->clearState()V
 PLcom/android/server/display/PersistentDataStore;->dump(Ljava/io/PrintWriter;)V
 HSPLcom/android/server/display/PersistentDataStore;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
 HSPLcom/android/server/display/PersistentDataStore;->getColorMode(Lcom/android/server/display/DisplayDevice;)I
 HSPLcom/android/server/display/PersistentDataStore;->getDisplayState(Ljava/lang/String;Z)Lcom/android/server/display/PersistentDataStore$DisplayState;
+PLcom/android/server/display/PersistentDataStore;->getRememberedWifiDisplays()[Landroid/hardware/display/WifiDisplay;
 HSPLcom/android/server/display/PersistentDataStore;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLcom/android/server/display/PersistentDataStore;->load()V
 HSPLcom/android/server/display/PersistentDataStore;->loadDisplaysFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
@@ -17203,6 +18250,53 @@
 PLcom/android/server/display/VirtualDisplayAdapter;->resizeVirtualDisplayLocked(Landroid/os/IBinder;III)V
 PLcom/android/server/display/VirtualDisplayAdapter;->setVirtualDisplayStateLocked(Landroid/os/IBinder;Z)V
 PLcom/android/server/display/VirtualDisplayAdapter;->setVirtualDisplaySurfaceLocked(Landroid/os/IBinder;Landroid/view/Surface;)V
+PLcom/android/server/display/WifiDisplayAdapter$1;-><init>(Lcom/android/server/display/WifiDisplayAdapter;)V
+PLcom/android/server/display/WifiDisplayAdapter$1;->run()V
+PLcom/android/server/display/WifiDisplayAdapter$8;-><init>(Lcom/android/server/display/WifiDisplayAdapter;)V
+PLcom/android/server/display/WifiDisplayAdapter$9;-><init>(Lcom/android/server/display/WifiDisplayAdapter;)V
+PLcom/android/server/display/WifiDisplayAdapter$9;->onFeatureStateChanged(I)V
+PLcom/android/server/display/WifiDisplayAdapter$WifiDisplayHandler;-><init>(Lcom/android/server/display/WifiDisplayAdapter;Landroid/os/Looper;)V
+PLcom/android/server/display/WifiDisplayAdapter$WifiDisplayHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/WifiDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/PersistentDataStore;)V
+PLcom/android/server/display/WifiDisplayAdapter;->access$002(Lcom/android/server/display/WifiDisplayAdapter;Lcom/android/server/display/WifiDisplayController;)Lcom/android/server/display/WifiDisplayController;
+PLcom/android/server/display/WifiDisplayAdapter;->access$100(Lcom/android/server/display/WifiDisplayAdapter;)Lcom/android/server/display/WifiDisplayController$Listener;
+PLcom/android/server/display/WifiDisplayAdapter;->access$1700(Lcom/android/server/display/WifiDisplayAdapter;)V
+PLcom/android/server/display/WifiDisplayAdapter;->access$200(Lcom/android/server/display/WifiDisplayAdapter;)Landroid/content/BroadcastReceiver;
+PLcom/android/server/display/WifiDisplayAdapter;->access$300(Lcom/android/server/display/WifiDisplayAdapter;)Lcom/android/server/display/WifiDisplayAdapter$WifiDisplayHandler;
+PLcom/android/server/display/WifiDisplayAdapter;->access$400(Lcom/android/server/display/WifiDisplayAdapter;)I
+PLcom/android/server/display/WifiDisplayAdapter;->access$402(Lcom/android/server/display/WifiDisplayAdapter;I)I
+PLcom/android/server/display/WifiDisplayAdapter;->access$500(Lcom/android/server/display/WifiDisplayAdapter;)V
+PLcom/android/server/display/WifiDisplayAdapter;->getWifiDisplayStatusLocked()Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/WifiDisplayAdapter;->handleSendStatusChangeBroadcast()V
+PLcom/android/server/display/WifiDisplayAdapter;->registerLocked()V
+PLcom/android/server/display/WifiDisplayAdapter;->scheduleStatusChangedBroadcastLocked()V
+PLcom/android/server/display/WifiDisplayAdapter;->updateDisplaysLocked()V
+PLcom/android/server/display/WifiDisplayAdapter;->updateRememberedDisplaysLocked()V
+PLcom/android/server/display/WifiDisplayController$16;-><init>(Lcom/android/server/display/WifiDisplayController;)V
+PLcom/android/server/display/WifiDisplayController$17;-><init>(Lcom/android/server/display/WifiDisplayController;)V
+PLcom/android/server/display/WifiDisplayController$18;-><init>(Lcom/android/server/display/WifiDisplayController;)V
+PLcom/android/server/display/WifiDisplayController$1;-><init>(Lcom/android/server/display/WifiDisplayController;Landroid/os/Handler;)V
+PLcom/android/server/display/WifiDisplayController$21;-><init>(Lcom/android/server/display/WifiDisplayController;)V
+PLcom/android/server/display/WifiDisplayController$21;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/display/WifiDisplayController$4;-><init>(Lcom/android/server/display/WifiDisplayController;I)V
+PLcom/android/server/display/WifiDisplayController$4;->run()V
+PLcom/android/server/display/WifiDisplayController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/WifiDisplayController$Listener;)V
+PLcom/android/server/display/WifiDisplayController;->access$3002(Lcom/android/server/display/WifiDisplayController;Landroid/net/wifi/p2p/WifiP2pDevice;)Landroid/net/wifi/p2p/WifiP2pDevice;
+PLcom/android/server/display/WifiDisplayController;->access$3500(Lcom/android/server/display/WifiDisplayController;Z)V
+PLcom/android/server/display/WifiDisplayController;->access$3700(Lcom/android/server/display/WifiDisplayController;Landroid/net/NetworkInfo;)V
+PLcom/android/server/display/WifiDisplayController;->access$500(Lcom/android/server/display/WifiDisplayController;)Lcom/android/server/display/WifiDisplayController$Listener;
+PLcom/android/server/display/WifiDisplayController;->advertiseDisplay(Landroid/hardware/display/WifiDisplay;Landroid/view/Surface;III)V
+PLcom/android/server/display/WifiDisplayController;->computeFeatureState()I
+PLcom/android/server/display/WifiDisplayController;->disconnect()V
+PLcom/android/server/display/WifiDisplayController;->handleConnectionChanged(Landroid/net/NetworkInfo;)V
+PLcom/android/server/display/WifiDisplayController;->handleStateChanged(Z)V
+PLcom/android/server/display/WifiDisplayController;->reportFeatureState()V
+PLcom/android/server/display/WifiDisplayController;->retrieveWifiP2pManagerAndChannel()V
+PLcom/android/server/display/WifiDisplayController;->unadvertiseDisplay()V
+PLcom/android/server/display/WifiDisplayController;->updateConnection()V
+PLcom/android/server/display/WifiDisplayController;->updateScanState()V
+PLcom/android/server/display/WifiDisplayController;->updateSettings()V
+PLcom/android/server/display/WifiDisplayController;->updateWfdEnableState()V
 HPLcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;-><init>(Lcom/android/server/display/color/DisplayTransformManager;Lcom/android/server/display/color/TintController;)V
 HPLcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
 HSPLcom/android/server/display/color/AppSaturationController$SaturationController;-><init>()V
@@ -17248,6 +18342,7 @@
 PLcom/android/server/display/color/ColorDisplayService$BinderService;->setNightDisplayActivated(Z)Z
 PLcom/android/server/display/color/ColorDisplayService$BinderService;->setNightDisplayAutoMode(I)Z
 PLcom/android/server/display/color/ColorDisplayService$BinderService;->setNightDisplayColorTemperature(I)Z
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->setNightDisplayCustomStartTime(Landroid/hardware/display/Time;)Z
 HPLcom/android/server/display/color/ColorDisplayService$BinderService;->setSaturationLevel(I)Z
 HSPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
 HSPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
@@ -17265,7 +18360,9 @@
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->access$2100(Lcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;)V
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onActivated(Z)V
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onAlarm()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onCustomStartTimeChanged(Ljava/time/LocalTime;)V
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onStart()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onStop()V
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateActivated()V
 PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
 PLcom/android/server/display/color/ColorDisplayService$NightDisplayAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
@@ -17322,9 +18419,12 @@
 PLcom/android/server/display/color/ColorDisplayService;->access$3300(Lcom/android/server/display/color/ColorDisplayService;Ljava/lang/String;I)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$3500(Lcom/android/server/display/color/ColorDisplayService;I)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$3600(Lcom/android/server/display/color/ColorDisplayService;)I
+PLcom/android/server/display/color/ColorDisplayService;->access$3700(Lcom/android/server/display/color/ColorDisplayService;Landroid/hardware/display/Time;)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$3900(Lcom/android/server/display/color/ColorDisplayService;Z)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$400(Landroid/content/ContentResolver;I)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$4000(Lcom/android/server/display/color/ColorDisplayService;Ljava/io/PrintWriter;)V
+PLcom/android/server/display/color/ColorDisplayService;->access$502(Lcom/android/server/display/color/ColorDisplayService;Landroid/database/ContentObserver;)Landroid/database/ContentObserver;
+PLcom/android/server/display/color/ColorDisplayService;->access$600(Lcom/android/server/display/color/ColorDisplayService;)Z
 PLcom/android/server/display/color/ColorDisplayService;->access$700(Lcom/android/server/display/color/ColorDisplayService;)V
 PLcom/android/server/display/color/ColorDisplayService;->access$800(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;
 PLcom/android/server/display/color/ColorDisplayService;->access$900(Lcom/android/server/display/color/ColorDisplayService;)I
@@ -17362,6 +18462,7 @@
 PLcom/android/server/display/color/ColorDisplayService;->setColorModeInternal(I)V
 PLcom/android/server/display/color/ColorDisplayService;->setDisplayWhiteBalanceSettingEnabled(Z)Z
 PLcom/android/server/display/color/ColorDisplayService;->setNightDisplayAutoModeInternal(I)Z
+PLcom/android/server/display/color/ColorDisplayService;->setNightDisplayCustomStartTimeInternal(Landroid/hardware/display/Time;)Z
 PLcom/android/server/display/color/ColorDisplayService;->setUp()V
 PLcom/android/server/display/color/ColorDisplayService;->setUpDisplayCompositionColorSpaces(Landroid/content/res/Resources;)V
 PLcom/android/server/display/color/ColorDisplayService;->tearDown()V
@@ -17525,6 +18626,7 @@
 PLcom/android/server/dreams/-$$Lambda$DreamController$DreamRecord$dxWbx4rgpHpZ1Hx0p_kP0KmKxQk;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;)V
 PLcom/android/server/dreams/-$$Lambda$DreamController$DreamRecord$dxWbx4rgpHpZ1Hx0p_kP0KmKxQk;->run()V
 PLcom/android/server/dreams/-$$Lambda$DreamController$MzWLPaVogrekgPcs4ryibDvi1xA;-><init>(Lcom/android/server/dreams/DreamController;)V
+PLcom/android/server/dreams/-$$Lambda$DreamController$MzWLPaVogrekgPcs4ryibDvi1xA;->run()V
 HPLcom/android/server/dreams/-$$Lambda$DreamController$NsbIx0iECm45E_fdqE55LTS32LQ;-><init>(Lcom/android/server/dreams/DreamController;Lcom/android/server/dreams/DreamController$DreamRecord;)V
 HPLcom/android/server/dreams/-$$Lambda$DreamController$NsbIx0iECm45E_fdqE55LTS32LQ;->run()V
 HPLcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
@@ -17563,6 +18665,7 @@
 PLcom/android/server/dreams/DreamController;->access$300(Lcom/android/server/dreams/DreamController;Landroid/service/dreams/IDreamService;)V
 HPLcom/android/server/dreams/DreamController;->attach(Landroid/service/dreams/IDreamService;)V
 HPLcom/android/server/dreams/DreamController;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/dreams/DreamController;->lambda$new$0$DreamController()V
 HPLcom/android/server/dreams/DreamController;->lambda$stopDream$1$DreamController(Lcom/android/server/dreams/DreamController$DreamRecord;)V
 HPLcom/android/server/dreams/DreamController;->startDream(Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
 HPLcom/android/server/dreams/DreamController;->stopDream(Z)V
@@ -17586,7 +18689,7 @@
 HPLcom/android/server/dreams/DreamManagerService$BinderService;->finishSelf(Landroid/os/IBinder;Z)V
 HPLcom/android/server/dreams/DreamManagerService$BinderService;->forceAmbientDisplayEnabled(Z)V
 PLcom/android/server/dreams/DreamManagerService$BinderService;->getDefaultDreamComponent()Landroid/content/ComponentName;
-PLcom/android/server/dreams/DreamManagerService$BinderService;->getDefaultDreamComponentForUser(I)Landroid/content/ComponentName;
+HPLcom/android/server/dreams/DreamManagerService$BinderService;->getDefaultDreamComponentForUser(I)Landroid/content/ComponentName;
 HPLcom/android/server/dreams/DreamManagerService$BinderService;->getDreamComponents()[Landroid/content/ComponentName;
 HPLcom/android/server/dreams/DreamManagerService$BinderService;->getDreamComponentsForUser(I)[Landroid/content/ComponentName;
 HPLcom/android/server/dreams/DreamManagerService$BinderService;->isDreaming()Z
@@ -17687,6 +18790,7 @@
 HSPLcom/android/server/firewall/AndFilter$1;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/AndFilter;-><clinit>()V
 HSPLcom/android/server/firewall/AndFilter;-><init>()V
+PLcom/android/server/firewall/AndFilter;->matches(Lcom/android/server/firewall/IntentFirewall;Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;I)Z
 HSPLcom/android/server/firewall/CategoryFilter$1;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/CategoryFilter;-><clinit>()V
 HSPLcom/android/server/firewall/FilterFactory;-><init>(Ljava/lang/String;)V
@@ -17701,13 +18805,17 @@
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>(Lcom/android/server/firewall/IntentFirewall$1;)V
 PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
 PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->allowFilterResult(Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;Ljava/util/List;)Z
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->allowFilterResult(Ljava/lang/Object;Ljava/util/List;)Z
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->getIntentFilter(Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;)Landroid/content/IntentFilter;
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
 PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
 PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;)Z
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->isPackageForFilter(Ljava/lang/String;Ljava/lang/Object;)Z
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Ljava/lang/Object;
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newResult(Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;II)Lcom/android/server/firewall/IntentFirewall$Rule;
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newResult(Ljava/lang/Object;II)Ljava/lang/Object;
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
 HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
 HSPLcom/android/server/firewall/IntentFirewall$Rule;-><init>()V
@@ -17748,6 +18856,7 @@
 HSPLcom/android/server/firewall/StringFilter$1;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$2;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$3;-><init>(Ljava/lang/String;)V
+PLcom/android/server/firewall/StringFilter$3;->getValue(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/firewall/StringFilter$4;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$5;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$6;-><init>(Ljava/lang/String;)V
@@ -17755,12 +18864,14 @@
 HSPLcom/android/server/firewall/StringFilter$8;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$9;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$EqualsFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;Ljava/lang/String;)V
+PLcom/android/server/firewall/StringFilter$EqualsFilter;->matchesValue(Ljava/lang/String;)Z
 HSPLcom/android/server/firewall/StringFilter$ValueProvider;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/firewall/StringFilter$ValueProvider;->newFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
 HSPLcom/android/server/firewall/StringFilter;-><clinit>()V
 HSPLcom/android/server/firewall/StringFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;)V
 HSPLcom/android/server/firewall/StringFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;Lcom/android/server/firewall/StringFilter$1;)V
 HSPLcom/android/server/firewall/StringFilter;->getFilter(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/firewall/StringFilter;
+PLcom/android/server/firewall/StringFilter;->matches(Lcom/android/server/firewall/IntentFirewall;Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;I)Z
 HSPLcom/android/server/firewall/StringFilter;->readFromXml(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/StringFilter;
 PLcom/android/server/gpu/GpuService$DeviceConfigListener;-><init>(Lcom/android/server/gpu/GpuService;)V
 PLcom/android/server/gpu/GpuService$DeviceConfigListener;->onPropertiesChanged(Landroid/provider/DeviceConfig$Properties;)V
@@ -17947,6 +19058,7 @@
 HSPLcom/android/server/input/InputManagerService$10;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
 PLcom/android/server/input/InputManagerService$10;->onChange(Z)V
 HSPLcom/android/server/input/InputManagerService$11;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
+PLcom/android/server/input/InputManagerService$12;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
 HSPLcom/android/server/input/InputManagerService$1;-><init>(Lcom/android/server/input/InputManagerService;)V
 HSPLcom/android/server/input/InputManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/input/InputManagerService$2;-><init>(Lcom/android/server/input/InputManagerService;)V
@@ -17954,7 +19066,7 @@
 HSPLcom/android/server/input/InputManagerService$3;-><init>(Lcom/android/server/input/InputManagerService;)V
 PLcom/android/server/input/InputManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/input/InputManagerService$4;-><init>(Lcom/android/server/input/InputManagerService;Landroid/view/InputDevice;Ljava/util/Locale;Ljava/util/List;)V
-PLcom/android/server/input/InputManagerService$4;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+HPLcom/android/server/input/InputManagerService$4;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
 HSPLcom/android/server/input/InputManagerService$5;-><init>(Lcom/android/server/input/InputManagerService;Ljava/util/HashSet;)V
 HSPLcom/android/server/input/InputManagerService$5;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
 HSPLcom/android/server/input/InputManagerService$9;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
@@ -17976,21 +19088,36 @@
 HSPLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V
 HPLcom/android/server/input/InputManagerService$LocalService;->setInteractive(Z)V
 HSPLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
+PLcom/android/server/input/InputManagerService$LocalService;->transferTouchFocus(Landroid/os/IBinder;Landroid/os/IBinder;)Z
 HSPLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/input/InputManagerService;->access$100(Lcom/android/server/input/InputManagerService;)V
 HPLcom/android/server/input/InputManagerService;->access$1000(JLandroid/view/InputEvent;IIIII)I
 HPLcom/android/server/input/InputManagerService;->access$1100(JLandroid/os/IBinder;)V
 PLcom/android/server/input/InputManagerService;->access$1200(JLandroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService;->access$1300(Lcom/android/server/input/InputManagerService;)J
 HPLcom/android/server/input/InputManagerService;->access$1300(Lcom/android/server/input/InputManagerService;I)V
+PLcom/android/server/input/InputManagerService;->access$1400(JLandroid/view/InputEvent;IIIII)I
+PLcom/android/server/input/InputManagerService;->access$1500(JLandroid/os/IBinder;)V
 HSPLcom/android/server/input/InputManagerService;->access$1500(Lcom/android/server/input/InputManagerService;Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService;->access$1600(JLandroid/view/InputChannel;)V
 HPLcom/android/server/input/InputManagerService;->access$1700(JZ)V
+PLcom/android/server/input/InputManagerService;->access$1700(Lcom/android/server/input/InputManagerService;I)V
 HSPLcom/android/server/input/InputManagerService;->access$1900(Lcom/android/server/input/InputManagerService;)Ljava/io/File;
+PLcom/android/server/input/InputManagerService;->access$1900(Lcom/android/server/input/InputManagerService;Ljava/util/List;)V
 HSPLcom/android/server/input/InputManagerService;->access$200(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService;->access$2100(JZ)V
+PLcom/android/server/input/InputManagerService;->access$2300(Lcom/android/server/input/InputManagerService;)Ljava/io/File;
+PLcom/android/server/input/InputManagerService;->access$300(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService;->access$400(Lcom/android/server/input/InputManagerService;Ljava/lang/String;)V
+PLcom/android/server/input/InputManagerService;->access$500(Lcom/android/server/input/InputManagerService;)V
 HSPLcom/android/server/input/InputManagerService;->access$500(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->access$600(Lcom/android/server/input/InputManagerService;)V
 HPLcom/android/server/input/InputManagerService;->access$900(Lcom/android/server/input/InputManagerService;)J
+PLcom/android/server/input/InputManagerService;->access$900(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V
 HSPLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z
 HPLcom/android/server/input/InputManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/server/input/InputManagerService;->checkInjectEventsPermission(II)Z
+PLcom/android/server/input/InputManagerService;->containsInputDeviceWithDescriptor([Landroid/view/InputDevice;Ljava/lang/String;)Z
 HSPLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
 PLcom/android/server/input/InputManagerService;->dispatchUnhandledKey(Landroid/os/IBinder;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
 PLcom/android/server/input/InputManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
@@ -18048,6 +19175,7 @@
 HSPLcom/android/server/input/InputManagerService;->registerAccessibilityLargePointerSettingObserver()V
 HSPLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;)V
 HPLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
+PLcom/android/server/input/InputManagerService;->registerLongPressTimeoutObserver()V
 HSPLcom/android/server/input/InputManagerService;->registerPointerSpeedSettingObserver()V
 HSPLcom/android/server/input/InputManagerService;->registerShowTouchesSettingObserver()V
 HSPLcom/android/server/input/InputManagerService;->reloadDeviceAliases()V
@@ -18066,9 +19194,11 @@
 PLcom/android/server/input/InputManagerService;->showMissingKeyboardLayoutNotification(Landroid/view/InputDevice;)V
 HSPLcom/android/server/input/InputManagerService;->start()V
 HSPLcom/android/server/input/InputManagerService;->systemRunning()V
+PLcom/android/server/input/InputManagerService;->transferTouchFocus(Landroid/os/IBinder;Landroid/os/IBinder;)Z
 PLcom/android/server/input/InputManagerService;->transferTouchFocus(Landroid/view/InputChannel;Landroid/view/InputChannel;)Z
 HPLcom/android/server/input/InputManagerService;->unregisterInputChannel(Landroid/view/InputChannel;)V
 HSPLcom/android/server/input/InputManagerService;->updateAccessibilityLargePointerFromSettings()V
+PLcom/android/server/input/InputManagerService;->updateDeepPressStatusFromSettings(Ljava/lang/String;)V
 HSPLcom/android/server/input/InputManagerService;->updateKeyboardLayouts()V
 HSPLcom/android/server/input/InputManagerService;->updatePointerSpeedFromSettings()V
 HSPLcom/android/server/input/InputManagerService;->updateShowTouchesFromSettings()V
@@ -18113,6 +19243,8 @@
 PLcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Landroid/graphics/Matrix;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;->access$1300(Lcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;)Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;
 PLcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;->access$1400(Lcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;)Landroid/graphics/Matrix;
+HPLcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;->access$1600(Lcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;)Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;
+HPLcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;->access$1700(Lcom/android/server/inputmethod/InputMethodManagerService$ActivityViewInfo;)Landroid/graphics/Matrix;
 HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/internal/view/IInputMethodClient;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;->binderDied()V
 HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;-><init>(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;IIILcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;)V
@@ -18135,10 +19267,16 @@
 PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;-><init>(Lcom/android/internal/view/IInlineSuggestionsRequestCallback;Ljava/lang/String;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;-><init>(Lcom/android/internal/view/IInlineSuggestionsRequestCallback;Ljava/lang/String;I)V
+HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;-><init>(Lcom/android/internal/view/IInlineSuggestionsRequestCallback;Ljava/lang/String;ILandroid/os/IBinder;Lcom/android/server/inputmethod/InputMethodManagerService;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInlineSuggestionsRequest(Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInlineSuggestionsRequest(Landroid/view/inputmethod/InlineSuggestionsRequest;Lcom/android/internal/view/IInlineSuggestionsResponseCallback;Landroid/view/autofill/AutofillId;Z)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInlineSuggestionsUnsupported()V
-PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodFinishInputView(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodFinishInput()V
+PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodFinishInputView()V
+HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodFinishInputView(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodShowInputRequested(Z)V
+HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodStartInput(Landroid/view/autofill/AutofillId;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodStartInputView()V
 HPLcom/android/server/inputmethod/InputMethodManagerService$InlineSuggestionsRequestCallbackDecorator;->onInputMethodStartInputView(Landroid/view/autofill/AutofillId;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->applyImeVisibility(Landroid/os/IBinder;Z)V
@@ -18167,6 +19305,7 @@
 PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->onCreateInlineSuggestionsRequest(ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsRequestCallback;)V
 PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->onCreateInlineSuggestionsRequest(ILcom/android/internal/view/InlineSuggestionsRequestInfo;Lcom/android/internal/view/IInlineSuggestionsRequestCallback;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->setInteractive(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->transferTouchFocusToImeWindow(Landroid/os/IBinder;I)Z
 HPLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/internal/view/IInputMethod;Landroid/view/InputChannel;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
 HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
@@ -18190,6 +19329,7 @@
 PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
 HSPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
 PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->toString()Ljava/lang/String;
+HPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Landroid/view/inputmethod/EditorInfo;Ljava/lang/String;IIZLjava/lang/String;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory$Entry;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Ljava/lang/String;IIZ)V
 HSPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><clinit>()V
 HSPLcom/android/server/inputmethod/InputMethodManagerService$SoftInputShowHideHistory;-><init>()V
@@ -18205,23 +19345,25 @@
 HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->getEntrySize()I
 PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><clinit>()V
 HPLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(ILandroid/os/IBinder;ILjava/lang/String;IZIILandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
-PLcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/IInputMethodClient;)V
-PLcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;->run()V
+HPLcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/IInputMethodClient;)V
+HPLcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;->run()V
 HSPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1000(Lcom/android/server/inputmethod/InputMethodManagerService;)Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1002(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;)Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1100(Lcom/android/server/inputmethod/InputMethodManagerService;)Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1100(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/IInputMethodClient;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1102(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;)Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;
-PLcom/android/server/inputmethod/InputMethodManagerService;->access$1200(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/IInputMethodClient;)V
+HPLcom/android/server/inputmethod/InputMethodManagerService;->access$1200(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/IInputMethodClient;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1500(Lcom/android/server/inputmethod/InputMethodManagerService;)[Landroid/view/inputmethod/InputMethodInfo;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1600(Lcom/android/server/inputmethod/InputMethodManagerService;)[I
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1700(Lcom/android/server/inputmethod/InputMethodManagerService;I)Ljava/util/List;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1800(Lcom/android/server/inputmethod/InputMethodManagerService;I)Ljava/util/List;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$1900(Lcom/android/server/inputmethod/InputMethodManagerService;ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Lcom/android/internal/view/IInlineSuggestionsRequestCallback;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2000(Lcom/android/server/inputmethod/InputMethodManagerService;I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$2100(Lcom/android/server/inputmethod/InputMethodManagerService;I)Ljava/util/List;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2100(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/InlineSuggestionsRequestInfo;Lcom/android/internal/view/IInlineSuggestionsRequestCallback;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2200(Lcom/android/server/inputmethod/InputMethodManagerService;ILcom/android/internal/view/InlineSuggestionsRequestInfo;Lcom/android/internal/view/IInlineSuggestionsRequestCallback;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$2500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;I)Z
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;II)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$2600(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;II)V
@@ -18239,9 +19381,11 @@
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3000(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;II)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3000(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->access$3000(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$3100(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;II)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3100(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3100(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$3200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3300(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;I)V
@@ -18249,21 +19393,28 @@
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3300(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3400(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;I)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->access$3400(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$3400(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)Z
 HPLcom/android/server/inputmethod/InputMethodManagerService;->access$3500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3600(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)Z
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3600(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)Z
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3700(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3700(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$3700(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;I)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3700(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3800(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3800(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)Z
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3800(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$3900(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$3900(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Ljava/lang/String;I)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$400(Lcom/android/server/inputmethod/InputMethodManagerService;)Landroid/util/ArrayMap;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$4200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$4200(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$4300(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->access$4300(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;Z)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->access$4400(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$4500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$500(Lcom/android/server/inputmethod/InputMethodManagerService;)Landroid/util/ArrayMap;
 PLcom/android/server/inputmethod/InputMethodManagerService;->access$900(Lcom/android/server/inputmethod/InputMethodManagerService;)Landroid/app/AlertDialog;
 HSPLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->applyImeVisibility(Landroid/os/IBinder;Landroid/os/IBinder;Z)V
@@ -18331,6 +19482,7 @@
 HSPLcom/android/server/inputmethod/InputMethodManagerService;->resetSelectedInputMethodAndSubtypeLocked(Ljava/lang/String;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->scheduleSwitchUserTaskLocked(ILcom/android/internal/view/IInputMethodClient;)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setCurHostInputToken(Landroid/os/IBinder;Landroid/os/IBinder;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionInMainThread(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->setImeWindowStatus(Landroid/os/IBinder;II)V
 PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
@@ -18357,6 +19509,7 @@
 HPLcom/android/server/inputmethod/InputMethodManagerService;->switchUserLocked(I)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->switchUserOnHandlerLocked(ILcom/android/internal/view/IInputMethodClient;)V
 HSPLcom/android/server/inputmethod/InputMethodManagerService;->systemRunning(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->transferTouchFocusToImeWindow(Landroid/os/IBinder;I)Z
 HSPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V
 HPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentMethodLocked()V
 HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateCurrentProfileIds()V
@@ -18416,6 +19569,8 @@
 HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/res/Resources;Landroid/content/ContentResolver;Landroid/util/ArrayMap;IZ)V
 HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->appendAndPutEnabledInputMethodLocked(Ljava/lang/String;Z)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildAndPutEnabledInputMethodsStrRemovingIdLocked(Ljava/lang/StringBuilder;Ljava/util/List;Ljava/lang/String;)Z
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildEnabledInputMethodsSettingString(Ljava/lang/StringBuilder;Landroid/util/Pair;)V
 HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;
 HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;)Ljava/util/ArrayList;
 PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->dumpLocked(Landroid/util/Printer;Ljava/lang/String;)V
@@ -18485,8 +19640,16 @@
 PLcom/android/server/inputmethod/LocaleUtils$ScoreEntry;->updateIfBetter([BI)V
 HPLcom/android/server/inputmethod/LocaleUtils;->calculateMatchingSubScore(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)B
 HPLcom/android/server/inputmethod/LocaleUtils;->filterByLanguage(Ljava/util/List;Lcom/android/server/inputmethod/LocaleUtils$LocaleExtractor;Landroid/os/LocaleList;Ljava/util/ArrayList;)V
+PLcom/android/server/integrity/-$$Lambda$6mVxeiJkzyLjahsCCu7FkV8cQDo;-><clinit>()V
+PLcom/android/server/integrity/-$$Lambda$6mVxeiJkzyLjahsCCu7FkV8cQDo;-><init>()V
+PLcom/android/server/integrity/-$$Lambda$6mVxeiJkzyLjahsCCu7FkV8cQDo;->get()Ljava/lang/Object;
 PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$1$AQicMJqZVSufBnAD8HJ81gPtf7Y;-><init>(Lcom/android/server/integrity/AppIntegrityManagerServiceImpl$1;Landroid/content/Intent;)V
 PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$1$AQicMJqZVSufBnAD8HJ81gPtf7Y;->run()V
+PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$EJKhyxMTfEInZjAjFTeFJAPkt1k;-><init>(Ljava/lang/String;)V
+PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$EJKhyxMTfEInZjAjFTeFJAPkt1k;->test(Ljava/lang/Object;)Z
+PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$ct2NSvc_tnI1IXBlQD5h7WqKow4;-><clinit>()V
+PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$ct2NSvc_tnI1IXBlQD5h7WqKow4;-><init>()V
+PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$ct2NSvc_tnI1IXBlQD5h7WqKow4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$uoiTatxA4aGwrlfDx0m8FP_FtCo;-><init>(Ljava/lang/String;)V
 PLcom/android/server/integrity/-$$Lambda$AppIntegrityManagerServiceImpl$uoiTatxA4aGwrlfDx0m8FP_FtCo;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/integrity/AppIntegrityManagerService;-><init>(Landroid/content/Context;)V
@@ -18499,10 +19662,11 @@
 HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/integrity/engine/RuleEvaluationEngine;Lcom/android/server/integrity/IntegrityFileManager;Landroid/os/Handler;)V
 HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/integrity/engine/RuleEvaluationEngine;Lcom/android/server/integrity/IntegrityFileManager;Landroid/os/Handler;Z)V
 HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/integrity/engine/RuleEvaluationEngine;Lcom/android/server/integrity/IntegrityFileManager;Landroid/security/FileIntegrityManager;Landroid/os/Handler;)V
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManagerInternal;Ljava/util/function/Supplier;Lcom/android/server/integrity/engine/RuleEvaluationEngine;Lcom/android/server/integrity/IntegrityFileManager;Landroid/os/Handler;)V
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->access$000(Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;)Landroid/os/Handler;
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->access$100(Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;Landroid/content/Intent;)V
 HSPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->create(Landroid/content/Context;)Lcom/android/server/integrity/AppIntegrityManagerServiceImpl;
-PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->extractSourceStamp(Landroid/net/Uri;Landroid/content/integrity/AppInstallMetadata$Builder;)V
+HPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->extractSourceStamp(Landroid/net/Uri;Landroid/content/integrity/AppInstallMetadata$Builder;)V
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->getAllowedInstallers(Landroid/content/pm/PackageInfo;)Ljava/util/Map;
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->getAllowedRuleProviders()Ljava/util/List;
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->getCertificateFingerprint(Landroid/content/pm/PackageInfo;)Ljava/lang/String;
@@ -18519,11 +19683,14 @@
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->getSignature(Landroid/content/pm/PackageInfo;)Landroid/content/pm/Signature;
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->getSignatures(Landroid/content/pm/PackageInfo;)[Landroid/content/pm/Signature;
 HPLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->handleIntegrityVerification(Landroid/content/Intent;)V
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->integrityCheckIncludesRuleProvider()Z
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->isCausedByAppCertRule(Lcom/android/server/integrity/model/IntegrityCheckResult;)Z
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->isCausedByInstallerRule(Lcom/android/server/integrity/model/IntegrityCheckResult;)Z
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->isRuleProvider(Ljava/lang/String;)Z
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->isSystemApp(Ljava/lang/String;)Z
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->lambda$extractSourceStamp$1(Ljava/nio/file/Path;)Ljava/lang/String;
 PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->lambda$isRuleProvider$1(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/integrity/AppIntegrityManagerServiceImpl;->lambda$isRuleProvider$2(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/integrity/IntegrityFileManager;-><clinit>()V
 HSPLcom/android/server/integrity/IntegrityFileManager;-><init>()V
 HSPLcom/android/server/integrity/IntegrityFileManager;-><init>(Lcom/android/server/integrity/parser/RuleParser;Lcom/android/server/integrity/serializer/RuleSerializer;Ljava/io/File;)V
@@ -18538,6 +19705,7 @@
 PLcom/android/server/integrity/engine/-$$Lambda$RuleEvaluator$unAwA1sQfXbWYCFQp7qIaNkgC10;-><init>(Landroid/content/integrity/AppInstallMetadata;)V
 HSPLcom/android/server/integrity/engine/RuleEvaluationEngine;-><init>(Lcom/android/server/integrity/IntegrityFileManager;)V
 PLcom/android/server/integrity/engine/RuleEvaluationEngine;->allowedInstallersRule(Ljava/util/Map;)Ljava/util/Optional;
+PLcom/android/server/integrity/engine/RuleEvaluationEngine;->evaluate(Landroid/content/integrity/AppInstallMetadata;)Lcom/android/server/integrity/model/IntegrityCheckResult;
 PLcom/android/server/integrity/engine/RuleEvaluationEngine;->evaluate(Landroid/content/integrity/AppInstallMetadata;Ljava/util/Map;)Lcom/android/server/integrity/model/IntegrityCheckResult;
 HSPLcom/android/server/integrity/engine/RuleEvaluationEngine;->getRuleEvaluationEngine()Lcom/android/server/integrity/engine/RuleEvaluationEngine;
 PLcom/android/server/integrity/engine/RuleEvaluationEngine;->loadRules(Landroid/content/integrity/AppInstallMetadata;)Ljava/util/List;
@@ -18590,6 +19758,7 @@
 HSPLcom/android/server/lights/LightsService;->onBootPhase(I)V
 HSPLcom/android/server/lights/LightsService;->onStart()V
 HSPLcom/android/server/lights/LightsService;->populateAvailableLights(Landroid/content/Context;)V
+HSPLcom/android/server/lights/LightsService;->populateAvailableLightsFromHidl(Landroid/content/Context;)V
 HSPLcom/android/server/lights/LogicalLight;-><init>()V
 HSPLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;-><init>(Lcom/android/server/location/GnssSatelliteBlacklistHelper;)V
 HSPLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;->run()V
@@ -18619,6 +19788,9 @@
 HSPLcom/android/server/location/-$$Lambda$AppForegroundHelper$7asxY_maANt1D_AUTchqbCjktH0;->run()V
 HSPLcom/android/server/location/-$$Lambda$AppForegroundHelper$gltDhiWDJwfMNZ8gJdumXZH8_Hg;-><init>(Lcom/android/server/location/AppForegroundHelper;)V
 HSPLcom/android/server/location/-$$Lambda$AppForegroundHelper$gltDhiWDJwfMNZ8gJdumXZH8_Hg;->onUidImportance(II)V
+PLcom/android/server/location/-$$Lambda$AppOpsHelper$1$fPZXj7CVL4Hu3p8NHzaQ4UsXWMw;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$AppOpsHelper$1$fPZXj7CVL4Hu3p8NHzaQ4UsXWMw;-><init>()V
+HPLcom/android/server/location/-$$Lambda$AppOpsHelper$1$fPZXj7CVL4Hu3p8NHzaQ4UsXWMw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$7Uwy0RpQUtRsDYbocrZ-WuXEVJQ;-><init>(Lcom/android/server/location/ContextHubClientBroker;J)V
 HPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;-><init>(Landroid/hardware/location/NanoAppMessage;)V
 HPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
@@ -18836,7 +20008,35 @@
 HSPLcom/android/server/location/AppForegroundHelper;->lambda$onAppForegroundChanged$0$AppForegroundHelper(IZ)V
 HSPLcom/android/server/location/AppForegroundHelper;->onAppForegroundChanged(II)V
 HSPLcom/android/server/location/AppForegroundHelper;->onSystemReady()V
+PLcom/android/server/location/AppOpsHelper$1;-><init>(Lcom/android/server/location/AppOpsHelper;)V
+PLcom/android/server/location/AppOpsHelper$1;->lambda$onOpChanged$0(Ljava/lang/Object;Ljava/lang/String;)V
+HPLcom/android/server/location/AppOpsHelper$1;->onOpChanged(ILjava/lang/String;)V
+PLcom/android/server/location/AppOpsHelper;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/location/AppOpsHelper;->access$000(Lcom/android/server/location/AppOpsHelper;Ljava/lang/String;)V
+PLcom/android/server/location/AppOpsHelper;->addListener(Lcom/android/server/location/AppOpsHelper$LocationAppOpListener;)V
+HPLcom/android/server/location/AppOpsHelper;->checkLocationAccess(Lcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/AppOpsHelper;->noteLocationAccess(Lcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/AppOpsHelper;->noteOpNoThrow(ILcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/AppOpsHelper;->onAppOpChanged(Ljava/lang/String;)V
+PLcom/android/server/location/AppOpsHelper;->onSystemReady()V
+PLcom/android/server/location/AppOpsHelper;->startHighPowerLocationMonitoring(Lcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/AppOpsHelper;->startLocationMonitoring(ILcom/android/server/location/CallerIdentity;)Z
+PLcom/android/server/location/AppOpsHelper;->startLocationMonitoring(Lcom/android/server/location/CallerIdentity;)Z
+PLcom/android/server/location/AppOpsHelper;->stopHighPowerLocationMonitoring(Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/AppOpsHelper;->stopLocationMonitoring(ILcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/AppOpsHelper;->stopLocationMonitoring(Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/CallerIdentity;-><init>(IIILjava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/location/CallerIdentity;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/location/CallerIdentity;->asAppOp(I)I
+PLcom/android/server/location/CallerIdentity;->asPermission(I)Ljava/lang/String;
+PLcom/android/server/location/CallerIdentity;->checkCallingOrSelfLocationPermission(Landroid/content/Context;)Z
+PLcom/android/server/location/CallerIdentity;->checkLocationPermission(I)Z
+PLcom/android/server/location/CallerIdentity;->enforceLocationPermission()V
+HPLcom/android/server/location/CallerIdentity;->enforceLocationPermission(II)V
+HPLcom/android/server/location/CallerIdentity;->fromBinder(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/location/CallerIdentity;
+HPLcom/android/server/location/CallerIdentity;->fromBinderUnsafe(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/location/CallerIdentity;
+PLcom/android/server/location/CallerIdentity;->getBinderPermissionLevel(Landroid/content/Context;)I
+HPLcom/android/server/location/CallerIdentity;->toString()Ljava/lang/String;
 HSPLcom/android/server/location/ComprehensiveCountryDetector$1;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;)V
 PLcom/android/server/location/ComprehensiveCountryDetector$1;->onCountryDetected(Landroid/location/Country;)V
 HPLcom/android/server/location/ComprehensiveCountryDetector$2;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;Landroid/location/Country;Landroid/location/Country;ZZ)V
@@ -18982,7 +20182,7 @@
 PLcom/android/server/location/ContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
 HSPLcom/android/server/location/ContextHubService;->getContextHubProxy()Landroid/hardware/contexthub/V1_0/IContexthub;
 HSPLcom/android/server/location/ContextHubService;->getContextHubWrapper()Lcom/android/server/location/IContextHubWrapper;
-PLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
+HPLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
 HPLcom/android/server/location/ContextHubService;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
 HPLcom/android/server/location/ContextHubService;->handleClientMessageCallback(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
 HPLcom/android/server/location/ContextHubService;->handleLoadResponseOldApi(IILandroid/hardware/location/NanoAppBinary;)V
@@ -19403,14 +20603,25 @@
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler$1;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler;)V
 HPLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
 HPLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onLost(Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onSubscriptionsChanged()V
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler$2;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler;)V
 HPLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
 PLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onLost(Landroid/net/Network;)V
 PLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onUnavailable()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$3;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler;)V
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>()V
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler$1;)V
 HPLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$000(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1000(Landroid/net/NetworkCapabilities;)S
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1000(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)Ljava/lang/String;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1002(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1100(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1102(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;I)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1200(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1202(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1300(Landroid/net/NetworkCapabilities;)S
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$400(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$700(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)Ljava/lang/String;
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$702(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$800(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)I
@@ -19422,12 +20633,21 @@
 HPLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->hasCapabilityChanged(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;I)Z
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler;-><clinit>()V
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;Lcom/android/internal/location/GpsNetInitiatedHandler;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$000(Lcom/android/server/location/GnssNetworkConnectivityHandler;)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$002(Lcom/android/server/location/GnssNetworkConnectivityHandler;I)I
 HPLcom/android/server/location/GnssNetworkConnectivityHandler;->access$100()Z
 PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$200()Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$200(Lcom/android/server/location/GnssNetworkConnectivityHandler;)Ljava/util/HashMap;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$202(Lcom/android/server/location/GnssNetworkConnectivityHandler;Ljava/util/HashMap;)Ljava/util/HashMap;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$300(Lcom/android/server/location/GnssNetworkConnectivityHandler;)Landroid/content/Context;
 PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$300(Lcom/android/server/location/GnssNetworkConnectivityHandler;)Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;
 PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$400(Lcom/android/server/location/GnssNetworkConnectivityHandler;Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$500()Z
 PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$500(Lcom/android/server/location/GnssNetworkConnectivityHandler;Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$600(Lcom/android/server/location/GnssNetworkConnectivityHandler;)Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;
 PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$600(Lcom/android/server/location/GnssNetworkConnectivityHandler;I)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$700(Lcom/android/server/location/GnssNetworkConnectivityHandler;Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
 HPLcom/android/server/location/GnssNetworkConnectivityHandler;->agpsDataConnStateAsString()Ljava/lang/String;
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->createNetworkConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
 HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->createSuplConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
@@ -19547,6 +20767,7 @@
 HSPLcom/android/server/location/IContextHubWrapper;->maybeConnectTo1_1()Lcom/android/server/location/IContextHubWrapper;
 PLcom/android/server/location/LocationBasedCountryDetector$1;-><init>(Lcom/android/server/location/LocationBasedCountryDetector;)V
 PLcom/android/server/location/LocationBasedCountryDetector$1;->onLocationChanged(Landroid/location/Location;)V
+PLcom/android/server/location/LocationBasedCountryDetector$1;->onProviderDisabled(Ljava/lang/String;)V
 PLcom/android/server/location/LocationBasedCountryDetector$1;->onProviderEnabled(Ljava/lang/String;)V
 PLcom/android/server/location/LocationBasedCountryDetector$2;-><init>(Lcom/android/server/location/LocationBasedCountryDetector;)V
 PLcom/android/server/location/LocationBasedCountryDetector$2;->run()V
@@ -19875,14 +21096,100 @@
 HSPLcom/android/server/location/gnss/-$$Lambda$D_8O7MDYM_zvDJaJvJVfzXhIfZY;-><init>()V
 PLcom/android/server/location/gnss/-$$Lambda$FxAranobP2o6eVcPEOp8tzZYyLY;-><init>(Lcom/android/server/location/gnss/GnssManagerService;)V
 PLcom/android/server/location/gnss/-$$Lambda$FxAranobP2o6eVcPEOp8tzZYyLY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssAntennaInfoProvider$6tStkOUFQdyPwrIlenWNx1CLtUg;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssAntennaInfoProvider$6tStkOUFQdyPwrIlenWNx1CLtUg;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$-SleO6oWMpd_g4bdtKw-goYffkk;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$-SleO6oWMpd_g4bdtKw-goYffkk;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$-SleO6oWMpd_g4bdtKw-goYffkk;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$Cz52q0m5WBoomfji3esjJI-B-x8;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$Cz52q0m5WBoomfji3esjJI-B-x8;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$Cz52q0m5WBoomfji3esjJI-B-x8;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$IwddZEVhNi3yUzbgOgz_w_HqSjE;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$IwddZEVhNi3yUzbgOgz_w_HqSjE;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$IwddZEVhNi3yUzbgOgz_w_HqSjE;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$LZqgdWjzL89MPY7XrWAf7kOV-qQ;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$LZqgdWjzL89MPY7XrWAf7kOV-qQ;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$LZqgdWjzL89MPY7XrWAf7kOV-qQ;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$R-XdOLUsEDRXhjoDIenWKgf7IIw;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$R-XdOLUsEDRXhjoDIenWKgf7IIw;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$R-XdOLUsEDRXhjoDIenWKgf7IIw;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$fVD4pCIHbDwnv6GFSEn42hYZi6Y;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$fVD4pCIHbDwnv6GFSEn42hYZi6Y;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$fVD4pCIHbDwnv6GFSEn42hYZi6Y;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$hxxAUFBhOQOZhojaDFP5qV8f6uw;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$hxxAUFBhOQOZhojaDFP5qV8f6uw;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssConfiguration$1$hxxAUFBhOQOZhojaDFP5qV8f6uw;->set(I)Z
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$1hXQgNJS0Q8F8bUdWsxa94PM98g;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$1hXQgNJS0Q8F8bUdWsxa94PM98g;->onDeviceStationaryChanged(Z)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$2DJj3Ea6MJfR7jGWxrOqu-RmUcw;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;II)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$2DJj3Ea6MJfR7jGWxrOqu-RmUcw;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$48m7ukf99eMCKhVUjqljxXFFvWw;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$48m7ukf99eMCKhVUjqljxXFFvWw;->onNetworkAvailable()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$8xqmGrm3vUbuBYyxecHypUKBN8M;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;[I[I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$8xqmGrm3vUbuBYyxecHypUKBN8M;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$9z2BzqtI1mIF3OUSD_3kdlaP8Ls;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;ILandroid/location/Location;IJ)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$9z2BzqtI1mIF3OUSD_3kdlaP8Ls;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$JndfaKf2MNdn0UzX-g2bR-w7fzA;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;Ljava/lang/String;Landroid/location/LocationManager;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$JndfaKf2MNdn0UzX-g2bR-w7fzA;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$PnjxzvZoft2260U6u0c4ExEgvdk;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;ILandroid/location/Location;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$PnjxzvZoft2260U6u0c4ExEgvdk;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$QQ-0fckG9-krtI0AH_nmm1-vmLQ;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$QQ-0fckG9-krtI0AH_nmm1-vmLQ;->run()V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$YuOqG3Bhqp1DBq9X5jGhJw-oqXY;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/location/GnssMeasurementsEvent;)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$YuOqG3Bhqp1DBq9X5jGhJw-oqXY;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$fZsexTbhhXxbzu9E9XIT682MN4A;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$fZsexTbhhXxbzu9E9XIT682MN4A;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$rqhQl-FjuYDwRh9wlhB1OdAWgzI;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$vUevSagVGcJiG8NrsQ14SLZKO50;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;II)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssLocationProvider$vUevSagVGcJiG8NrsQ14SLZKO50;->run()V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$UdLm78gS4fBvCkzR5_od9MCx3_M;-><init>(Lcom/android/server/location/gnss/GnssManagerService;)V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$UdLm78gS4fBvCkzR5_od9MCx3_M;->onUidImportance(II)V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$Xb7pwmWy3YdCevK1MZL3c-zTOco;-><init>(Lcom/android/server/location/gnss/GnssManagerService;II)V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$Xb7pwmWy3YdCevK1MZL3c-zTOco;->run()V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$de6v4jWKxQDC9J4FdGGrfKg2phA;-><init>(Lcom/android/server/location/gnss/GnssManagerService;)V
 HSPLcom/android/server/location/gnss/-$$Lambda$GnssManagerService$de6v4jWKxQDC9J4FdGGrfKg2phA;->onAppForegroundChanged(IZ)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssMeasurementsProvider$MwKCr2bnxyNYMRRxCkNEyvhkEpg;-><init>(Lcom/android/server/location/gnss/GnssMeasurementsProvider;Landroid/location/GnssMeasurementsEvent;)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssMeasurementsProvider$MwKCr2bnxyNYMRRxCkNEyvhkEpg;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$M5xHE3b_460ydxe6w6OcvDX9Kx8;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$M5xHE3b_460ydxe6w6OcvDX9Kx8;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$bnc6RM72T8jpSxM08ugCgEMySwo;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;I[B)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$bnc6RM72T8jpSxM08ugCgEMySwo;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$ezDFQHbzZ9WnxJSpYWB6YP4YDQM;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssNetworkConnectivityHandler$ezDFQHbzZ9WnxJSpYWB6YP4YDQM;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$-PDN6l_ua39RgTfOqb8dRfbBiz4;-><init>(I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$-PDN6l_ua39RgTfOqb8dRfbBiz4;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$FqkiYCR82OZjuCDK6OLw9UiViRs;-><init>(Lcom/android/server/location/gnss/GnssStatusListenerHelper;I[I[F[F[F[F[F)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$FqkiYCR82OZjuCDK6OLw9UiViRs;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$KlIJDkEnS0_mNOmcwVuQH2RiKoE;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$KlIJDkEnS0_mNOmcwVuQH2RiKoE;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$KlIJDkEnS0_mNOmcwVuQH2RiKoE;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$R8Iu1GHQIbdGdQkOj_FPKJgKV4Q;-><init>(Lcom/android/server/location/gnss/GnssStatusListenerHelper;JLjava/lang/String;)V
+HPLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$R8Iu1GHQIbdGdQkOj_FPKJgKV4Q;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$S4Ko8kVujzQkEjUsbBqi2IwetQ8;-><clinit>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$S4Ko8kVujzQkEjUsbBqi2IwetQ8;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssStatusListenerHelper$S4Ko8kVujzQkEjUsbBqi2IwetQ8;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$JE5r4mEk9pQ3wqWvn6pP20Ix0qs;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$JE5r4mEk9pQ3wqWvn6pP20Ix0qs;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$Jpk3mZESuW9g2-OyRjaXIzTQ4ZY;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$Jpk3mZESuW9g2-OyRjaXIzTQ4ZY;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$Wn1BM9iZDBjdFhINpWblAI5qIlM;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$Wn1BM9iZDBjdFhINpWblAI5qIlM;->onPermissionsChanged(I)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$aXU5oxv5Ht00C9f_pyOZ-ZLUvq8;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$aXU5oxv5Ht00C9f_pyOZ-ZLUvq8;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$nVJNbS33XkGpLD5aoKjI1VhHmek;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Z)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$nVJNbS33XkGpLD5aoKjI1VhHmek;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$tmLrWF2MHVnlEaAIt4PYrTB-Eqc;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/util/List;)V
+PLcom/android/server/location/gnss/-$$Lambda$GnssVisibilityControl$tmLrWF2MHVnlEaAIt4PYrTB-Eqc;->run()V
 HSPLcom/android/server/location/gnss/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><clinit>()V
 HSPLcom/android/server/location/gnss/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><init>()V
+PLcom/android/server/location/gnss/-$$Lambda$J1FYzW5KOl5qaNdaO2TLZ9hbi9Y;-><init>(Lcom/android/server/location/gnss/GnssSatelliteBlacklistHelper;)V
+PLcom/android/server/location/gnss/-$$Lambda$J1FYzW5KOl5qaNdaO2TLZ9hbi9Y;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$NtpTimeHelper$0f3JRUuSYH-K-brPBZMOA96D-q4;-><init>(Lcom/android/server/location/gnss/NtpTimeHelper;)V
+PLcom/android/server/location/gnss/-$$Lambda$NtpTimeHelper$0f3JRUuSYH-K-brPBZMOA96D-q4;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$NtpTimeHelper$4YVWiahGRCeX2AoEdhSeek4fqhQ;-><init>(Lcom/android/server/location/gnss/NtpTimeHelper;JJJ)V
+PLcom/android/server/location/gnss/-$$Lambda$NtpTimeHelper$4YVWiahGRCeX2AoEdhSeek4fqhQ;->run()V
+PLcom/android/server/location/gnss/-$$Lambda$UoXKjYaYgPPHqNIgiLAobtz5XAU;-><init>(Lcom/android/server/location/gnss/NtpTimeHelper;)V
+PLcom/android/server/location/gnss/-$$Lambda$UoXKjYaYgPPHqNIgiLAobtz5XAU;->run()V
 HPLcom/android/server/location/gnss/-$$Lambda$WsssLeTVg_jaQ16K-SvqbRc0TV8;-><init>(Lcom/android/server/location/gnss/GnssManagerService;)V
 PLcom/android/server/location/gnss/-$$Lambda$WsssLeTVg_jaQ16K-SvqbRc0TV8;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/location/gnss/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;-><clinit>()V
@@ -19891,19 +21198,267 @@
 HSPLcom/android/server/location/gnss/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><clinit>()V
 HSPLcom/android/server/location/gnss/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><init>()V
 PLcom/android/server/location/gnss/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/location/gnss/ExponentialBackOff;-><init>(JJ)V
+PLcom/android/server/location/gnss/ExponentialBackOff;->nextBackoffMillis()J
+PLcom/android/server/location/gnss/ExponentialBackOff;->reset()V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider$GnssAntennaInfoProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider$GnssAntennaInfoProviderNative;->isAntennaInfoSupported()Z
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/gnss/GnssAntennaInfoProvider$GnssAntennaInfoProviderNative;)V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->access$000()Z
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->isAvailableInPlatform()Z
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->onCapabilitiesUpdated(Z)V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->onGpsEnabledChanged()V
+PLcom/android/server/location/gnss/GnssAntennaInfoProvider;->resumeIfStarted()V
+PLcom/android/server/location/gnss/GnssBatchingProvider$GnssBatchingProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssBatchingProvider$GnssBatchingProviderNative;->cleanupBatching()V
+PLcom/android/server/location/gnss/GnssBatchingProvider$GnssBatchingProviderNative;->initBatching()Z
+PLcom/android/server/location/gnss/GnssBatchingProvider$GnssBatchingProviderNative;->stopBatch()Z
+PLcom/android/server/location/gnss/GnssBatchingProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;-><init>()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;-><init>(Lcom/android/server/location/gnss/GnssBatchingProvider$GnssBatchingProviderNative;)V
+PLcom/android/server/location/gnss/GnssBatchingProvider;->access$300()Z
+PLcom/android/server/location/gnss/GnssBatchingProvider;->access$400()Z
+PLcom/android/server/location/gnss/GnssBatchingProvider;->access$500()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;->disable()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;->enable()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;->resumeIfStarted()V
+PLcom/android/server/location/gnss/GnssBatchingProvider;->stop()Z
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;-><init>()V
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;->getGnssCapabilities()J
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;->hasCapability(II)Z
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;->setSubHalMeasurementCorrectionsCapabilities(I)V
+PLcom/android/server/location/gnss/GnssCapabilitiesProvider;->setTopHalCapabilities(I)V
+HPLcom/android/server/location/gnss/GnssConfiguration$1;-><init>(Lcom/android/server/location/gnss/GnssConfiguration;Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)V
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$0(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$1(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$2(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$3(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$4(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$5(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration$1;->lambda$new$6(I)Z
+HPLcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;-><init>(II)V
+PLcom/android/server/location/gnss/GnssConfiguration;-><clinit>()V
+PLcom/android/server/location/gnss/GnssConfiguration;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/gnss/GnssConfiguration;->access$000(Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$100(Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$200(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$300(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$400(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$500(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$600(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$700(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->access$800(I)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->getC2KHost()Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssConfiguration;->getC2KPort(I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->getEsExtensionSec()I
+PLcom/android/server/location/gnss/GnssConfiguration;->getHalInterfaceVersion()Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;
+HPLcom/android/server/location/gnss/GnssConfiguration;->getIntConfig(Ljava/lang/String;I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->getLppProfile()Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssConfiguration;->getProxyApps()Ljava/util/List;
+HPLcom/android/server/location/gnss/GnssConfiguration;->getRangeCheckedConfigEsExtensionSec()I
+PLcom/android/server/location/gnss/GnssConfiguration;->getSuplEs(I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->getSuplHost()Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssConfiguration;->getSuplMode(I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->getSuplPort(I)I
+PLcom/android/server/location/gnss/GnssConfiguration;->isConfigEsExtensionSecSupported(Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->isConfigGpsLockSupported(Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/gnss/GnssConfiguration;->isConfigSuplEsSupported(Lcom/android/server/location/gnss/GnssConfiguration$HalInterfaceVersion;)Z
+HPLcom/android/server/location/gnss/GnssConfiguration;->loadPropertiesFromCarrierConfig()V
+HPLcom/android/server/location/gnss/GnssConfiguration;->loadPropertiesFromGpsDebugConfig(Ljava/util/Properties;)V
+HPLcom/android/server/location/gnss/GnssConfiguration;->logConfigurations()V
+HPLcom/android/server/location/gnss/GnssConfiguration;->reloadGpsProperties()V
+PLcom/android/server/location/gnss/GnssConfiguration;->setSatelliteBlacklist([I[I)V
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GeofenceEntry;-><init>()V
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GeofenceEntry;-><init>(Lcom/android/server/location/gnss/GnssGeofenceProvider$1;)V
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GnssGeofenceProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GnssGeofenceProviderNative;->addGeofence(IDDDIIII)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GnssGeofenceProviderNative;->isGeofenceSupported()Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider$GnssGeofenceProviderNative;->removeGeofence(I)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssGeofenceProvider;-><init>()V
+PLcom/android/server/location/gnss/GnssGeofenceProvider;-><init>(Lcom/android/server/location/gnss/GnssGeofenceProvider$GnssGeofenceProviderNative;)V
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->access$100()Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->access$200(IDDDIIII)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->access$300(I)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->addCircularHardwareGeofence(IDDDIIII)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->isHardwareGeofenceSupported()Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->removeHardwareGeofence(I)Z
+PLcom/android/server/location/gnss/GnssGeofenceProvider;->resumeIfStarted()V
+PLcom/android/server/location/gnss/GnssLocationProvider$1;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$2;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$2;->isAvailableInPlatform()Z
+PLcom/android/server/location/gnss/GnssLocationProvider$2;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider$3;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$3;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider$4;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$4;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider$5;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$5;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider$6;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$7;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$7;->onChange(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider$8;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$9;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/server/location/gnss/GnssLocationProvider$1;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$GpsRequest;-><init>(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/server/location/gnss/GnssLocationProvider$1;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;->access$1206(Lcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;)I
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;->access$1208(Lcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;)I
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;->onProviderDisabled(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;->onProviderEnabled(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;-><init>()V
+HPLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;->getBundle()Landroid/os/Bundle;
+PLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;->reset()V
+HPLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;->set(III)V
+HPLcom/android/server/location/gnss/GnssLocationProvider$LocationExtras;->setBundle(Landroid/os/Bundle;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/server/location/gnss/GnssLocationProvider$1;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider$NetworkLocationListener;->onLocationChanged(Landroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$ProviderHandler;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/os/Looper;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$ProviderHandler;->handleInitialize()V
+HPLcom/android/server/location/gnss/GnssLocationProvider$ProviderHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;-><init>()V
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;-><init>(Lcom/android/server/location/gnss/GnssLocationProvider$1;)V
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1400(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)I
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1402(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;I)I
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1500(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[I
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1502(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[I)[I
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1600(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1602(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1700(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1702(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1800(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1802(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1900(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$1902(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$2000(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;->access$2002(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/gnss/GnssLocationProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssLocationProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$1100(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$200()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$2500(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$2700(Lcom/android/server/location/gnss/GnssLocationProvider;ZZ)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3000(Lcom/android/server/location/gnss/GnssLocationProvider;ZLandroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3100(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3200(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3300(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3500(Lcom/android/server/location/gnss/GnssLocationProvider;Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3600()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3702(Lcom/android/server/location/gnss/GnssLocationProvider;Lcom/android/server/location/gnss/GnssVisibilityControl;)Lcom/android/server/location/gnss/GnssVisibilityControl;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3800(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/content/Context;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$3900(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/os/Looper;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$4000(Lcom/android/server/location/gnss/GnssLocationProvider;)Lcom/android/internal/location/GpsNetInitiatedHandler;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$4100(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$4200(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/content/BroadcastReceiver;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$4300(Lcom/android/server/location/gnss/GnssLocationProvider;)Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$4500(Lcom/android/server/location/gnss/GnssLocationProvider;Landroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$500(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/os/PowerManager;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$600(Lcom/android/server/location/gnss/GnssLocationProvider;)Lcom/android/server/DeviceIdleInternal$StationaryListener;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$700(Lcom/android/server/location/gnss/GnssLocationProvider;)Landroid/os/Handler;
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$800(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->access$900(Lcom/android/server/location/gnss/GnssLocationProvider;)Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->ensureInitialized()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGeofenceStatus(I)I
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssAntennaInfoProvider()Lcom/android/server/location/gnss/GnssAntennaInfoProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssBatchingProvider()Lcom/android/server/location/gnss/GnssBatchingProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssCapabilitiesProvider()Lcom/android/server/location/gnss/GnssCapabilitiesProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssMeasurementCorrectionsProvider()Lcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssMeasurementsProvider()Lcom/android/server/location/gnss/GnssMeasurementsProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssMetricsProvider()Lcom/android/server/location/gnss/GnssLocationProvider$GnssMetricsProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssNavigationMessageProvider()Lcom/android/server/location/gnss/GnssNavigationMessageProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssStatusProvider()Lcom/android/server/location/gnss/GnssStatusListenerHelper;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGnssSystemInfoProvider()Lcom/android/server/location/gnss/GnssLocationProvider$GnssSystemInfoProvider;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getGpsGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getNetInitiatedListener()Landroid/location/INetInitiatedListener;
+PLcom/android/server/location/gnss/GnssLocationProvider;->getSuplMode(Z)I
+PLcom/android/server/location/gnss/GnssLocationProvider;->handleDisable()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->handleEnable()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->handleReportLocation(ZLandroid/location/Location;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->handleReportSvStatus(Lcom/android/server/location/gnss/GnssLocationProvider$SvStatusInfo;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->handleRequestLocation(ZZ)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->handleSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->hasCapability(I)Z
+HPLcom/android/server/location/gnss/GnssLocationProvider;->injectLocation(Landroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->injectTime(JJI)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->isGpsEnabled()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->isRequestLocationRateLimited()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->isSupported()Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$48m7ukf99eMCKhVUjqljxXFFvWw(Lcom/android/server/location/gnss/GnssLocationProvider;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->lambda$handleRequestLocation$2(Lcom/android/server/location/gnss/GnssLocationProvider$LocationChangeListener;Ljava/lang/String;Landroid/location/LocationManager;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$new$0$GnssLocationProvider(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$onUpdateSatelliteBlacklist$1$GnssLocationProvider([I[I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$reportGeofenceAddStatus$13$GnssLocationProvider(II)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$reportGeofenceRemoveStatus$14$GnssLocationProvider(II)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$reportGeofenceStatus$12$GnssLocationProvider(ILandroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$reportGeofenceTransition$11$GnssLocationProvider(ILandroid/location/Location;IJ)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$reportMeasurementData$4$GnssLocationProvider(Landroid/location/GnssMeasurementsEvent;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$setSubHalMeasurementCorrectionsCapabilities$8$GnssLocationProvider(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->lambda$setTopHalCapabilities$7$GnssLocationProvider(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onNetworkAvailable()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->onSetRequest(Lcom/android/internal/location/ProviderRequest;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->onUpdateSatelliteBlacklist([I[I)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reloadGpsProperties()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reportAGpsStatus(II[B)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reportGeofenceAddStatus(II)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reportGeofenceRemoveStatus(II)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reportGeofenceStatus(ILandroid/location/Location;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->reportGeofenceTransition(ILandroid/location/Location;IJ)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reportLocation(ZLandroid/location/Location;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reportMeasurementData(Landroid/location/GnssMeasurementsEvent;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reportNmea(J)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reportStatus(I)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->reportSvStatus(I[I[F[F[F[F[F)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->requestLocation(ZZ)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->requestSetID(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->restartLocationRequest()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->restartRequests()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->sendMessage(IILjava/lang/Object;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setGnssHardwareModelName(Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setGnssYearOfHardware(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setGpsEnabled(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setPositionMode(IIIIIZ)Z
+PLcom/android/server/location/gnss/GnssLocationProvider;->setStarted(Z)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setSubHalMeasurementCorrectionsCapabilities(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setSuplHostPort()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setTopHalCapabilities(I)V
+PLcom/android/server/location/gnss/GnssLocationProvider;->setupNativeGnssService(Z)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->startNavigating()V
+PLcom/android/server/location/gnss/GnssLocationProvider;->stopNavigating()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->subscriptionOrCarrierConfigChanged()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->updateEnabled()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->updateLowPowerMode()V
+HPLcom/android/server/location/gnss/GnssLocationProvider;->updateRequirements()V
 HSPLcom/android/server/location/gnss/GnssManagerService;-><clinit>()V
+PLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/AppOpsHelper;Lcom/android/server/location/SettingsHelper;Lcom/android/server/location/AppForegroundHelper;Lcom/android/server/location/LocationUsageLogger;)V
+PLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/AppOpsHelper;Lcom/android/server/location/SettingsHelper;Lcom/android/server/location/AppForegroundHelper;Lcom/android/server/location/LocationUsageLogger;Lcom/android/server/location/gnss/GnssLocationProvider;)V
 HSPLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/SettingsHelper;Lcom/android/server/location/AppForegroundHelper;Lcom/android/server/location/LocationUsageLogger;)V
 HSPLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/SettingsHelper;Lcom/android/server/location/AppForegroundHelper;Lcom/android/server/location/LocationUsageLogger;Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/gnss/GnssManagerService;-><init>(Landroid/content/Context;Lcom/android/server/location/SettingsHelper;Lcom/android/server/location/AppForegroundHelper;Lcom/android/server/location/LocationUsageLogger;Lcom/android/server/location/gnss/GnssLocationProvider;)V
 HSPLcom/android/server/location/gnss/GnssManagerService;-><init>(Lcom/android/server/LocationManagerService;Landroid/content/Context;Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/LocationUsageLogger;)V
 HSPLcom/android/server/location/gnss/GnssManagerService;-><init>(Lcom/android/server/LocationManagerService;Landroid/content/Context;Lcom/android/server/location/LocationUsageLogger;)V
 HPLcom/android/server/location/gnss/GnssManagerService;->addGnssDataListenerLocked(Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
+HPLcom/android/server/location/gnss/GnssManagerService;->addGnssDataListenerLocked(Ljava/lang/Object;Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
 HPLcom/android/server/location/gnss/GnssManagerService;->addGnssDataListenerLocked(Ljava/lang/Object;Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
+PLcom/android/server/location/gnss/GnssManagerService;->addGnssMeasurementsListener(Landroid/location/GnssRequest;Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/location/gnss/GnssManagerService;->addGnssMeasurementsListener(Landroid/location/GnssRequest;Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/location/gnss/GnssManagerService;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/server/location/gnss/GnssManagerService;->checkLocationAppOp(Ljava/lang/String;)Z
 PLcom/android/server/location/gnss/GnssManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssManagerService;->getGnssCapabilities()J
 HPLcom/android/server/location/gnss/GnssManagerService;->getGnssCapabilities(Ljava/lang/String;)J
 HSPLcom/android/server/location/gnss/GnssManagerService;->getGnssLocationProvider()Lcom/android/server/location/GnssLocationProvider;
+PLcom/android/server/location/gnss/GnssManagerService;->getGnssLocationProvider()Lcom/android/server/location/gnss/GnssLocationProvider;
 HSPLcom/android/server/location/gnss/GnssManagerService;->getGpsGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
 HPLcom/android/server/location/gnss/GnssManagerService;->hasGnssPermissions(Ljava/lang/String;)Z
 PLcom/android/server/location/gnss/GnssManagerService;->injectGnssMeasurementCorrections(Landroid/location/GnssMeasurementCorrections;Ljava/lang/String;)V
@@ -19923,6 +21478,168 @@
 HPLcom/android/server/location/gnss/GnssManagerService;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
 HSPLcom/android/server/location/gnss/GnssManagerService;->updateListenersOnForegroundChangedLocked(Landroid/util/ArrayMap;Lcom/android/server/location/RemoteListenerHelper;Ljava/util/function/Function;IZ)V
 HSPLcom/android/server/location/gnss/GnssManagerService;->updateListenersOnForegroundChangedLocked(Ljava/util/Map;Lcom/android/server/location/RemoteListenerHelper;Ljava/util/function/Function;IZ)V
+PLcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;-><init>(Landroid/os/Handler;Lcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;)V
+PLcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;->hasCapability(II)Z
+PLcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;->onCapabilitiesUpdated(I)Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementProviderNative;->isMeasurementSupported()Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementProviderNative;->startMeasurementCollection(Z)Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementProviderNative;->stopMeasurementCollection()Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$StatusChangedOperation;-><init>(I)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/gnss/GnssMeasurementsProvider$GnssMeasurementProviderNative;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->access$000()Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->access$100(Z)Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->access$200()Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->getMergedFullTracking()Z
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->isAvailableInPlatform()Z
+HPLcom/android/server/location/gnss/GnssMeasurementsProvider;->lambda$onMeasurementsAvailable$0$GnssMeasurementsProvider(Landroid/location/GnssMeasurementsEvent;Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->onCapabilitiesUpdated(Z)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->onGpsEnabledChanged()V
+HPLcom/android/server/location/gnss/GnssMeasurementsProvider;->onMeasurementsAvailable(Landroid/location/GnssMeasurementsEvent;)V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->registerWithService()I
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->resumeIfStarted()V
+PLcom/android/server/location/gnss/GnssMeasurementsProvider;->unregisterFromService()V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;-><init>()V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;->isNavigationMessageSupported()Z
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider$StatusChangedOperation;-><init>(I)V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;-><clinit>()V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/gnss/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;)V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->access$000()Z
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->isAvailableInPlatform()Z
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->onCapabilitiesUpdated(Z)V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->onGpsEnabledChanged()V
+PLcom/android/server/location/gnss/GnssNavigationMessageProvider;->resumeIfStarted()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$1;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$1;->onSubscriptionsChanged()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$2;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$2;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$2;->onLost(Landroid/net/Network;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$3;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$3;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$3;->onLost(Landroid/net/Network;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$3;->onUnavailable()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$1;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1000(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;)Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1002(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1100(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1102(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;I)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1200(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1202(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1300(Landroid/net/NetworkCapabilities;)S
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->access$400(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->getCapabilityFlags(Landroid/net/NetworkCapabilities;)S
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->hasCapabilitiesChanged(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;->hasCapabilityChanged(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;I)Z
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$SubIdPhoneStateListener;-><init>(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Ljava/lang/Integer;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler$SubIdPhoneStateListener;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;-><clinit>()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;Lcom/android/internal/location/GpsNetInitiatedHandler;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$000(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$002(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;I)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$100()Z
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$200(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)Ljava/util/HashMap;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$202(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Ljava/util/HashMap;)Ljava/util/HashMap;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$300(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)Landroid/content/Context;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$500()Z
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$600(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;)Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$GnssNetworkListener;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$700(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$800(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;Landroid/net/Network;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->access$900(Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;I)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->agpsDataConnStateAsString()Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->createNetworkConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->createSuplConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->ensureInHandlerThread()V
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->getApnIpType(Ljava/lang/String;)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->getNetworkCapability(I)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->handleReleaseSuplConnection(I)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->handleRequestSuplConnection(I[B)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->handleSuplConnectionAvailable(Landroid/net/Network;)V
+HPLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->handleUpdateNetworkState(Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$0$GnssNetworkConnectivityHandler(I[B)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$1$GnssNetworkConnectivityHandler()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->lambda$runEventAndReleaseWakeLock$2$GnssNetworkConnectivityHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->onReportAGpsStatus(II[B)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->registerNetworkCallbacks()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->runEventAndReleaseWakeLock(Ljava/lang/Runnable;)Ljava/lang/Runnable;
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->runOnHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->setRouting()V
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->translateToApnIpType(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/location/gnss/GnssNetworkConnectivityHandler;->updateTrackedNetworksState(ZLandroid/net/Network;Landroid/net/NetworkCapabilities;)Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler$NetworkAttributes;
+PLcom/android/server/location/gnss/GnssPositionMode;-><init>(IIIIIZ)V
+PLcom/android/server/location/gnss/GnssPositionMode;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/location/gnss/GnssSatelliteBlacklistHelper$1;-><init>(Lcom/android/server/location/gnss/GnssSatelliteBlacklistHelper;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssSatelliteBlacklistHelper$1;->onChange(Z)V
+PLcom/android/server/location/gnss/GnssSatelliteBlacklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/gnss/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;)V
+PLcom/android/server/location/gnss/GnssSatelliteBlacklistHelper;->parseSatelliteBlacklist(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/location/gnss/GnssSatelliteBlacklistHelper;->updateSatelliteBlacklist()V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;-><clinit>()V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->lambda$onFirstFix$2(ILandroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/gnss/GnssStatusListenerHelper;->lambda$onNmeaReceived$4$GnssStatusListenerHelper(JLjava/lang/String;Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->lambda$onStatusChanged$0(Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->lambda$onStatusChanged$1(Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/gnss/GnssStatusListenerHelper;->lambda$onSvStatusChanged$3$GnssStatusListenerHelper(I[I[F[F[F[F[FLandroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->onFirstFix(I)V
+HPLcom/android/server/location/gnss/GnssStatusListenerHelper;->onNmeaReceived(JLjava/lang/String;)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->onStatusChanged(Z)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->onSvStatusChanged(I[I[F[F[F[F[F)V
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->registerWithService()I
+PLcom/android/server/location/gnss/GnssStatusListenerHelper;->unregisterFromService()V
+PLcom/android/server/location/gnss/GnssVisibilityControl$1;-><init>(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+HPLcom/android/server/location/gnss/GnssVisibilityControl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;-><init>(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;-><init>(ZLcom/android/server/location/gnss/GnssVisibilityControl$1;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;->access$100(Lcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;->access$300(Lcom/android/server/location/gnss/GnssVisibilityControl$ProxyAppState;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;-><clinit>()V
+PLcom/android/server/location/gnss/GnssVisibilityControl;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/location/GpsNetInitiatedHandler;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->access$000(Lcom/android/server/location/gnss/GnssVisibilityControl;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->disableNfwLocationAccess()V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->getLocationPermissionEnabledProxyApps()[Ljava/lang/String;
+PLcom/android/server/location/gnss/GnssVisibilityControl;->getProxyAppInfo(Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleGpsEnabledChanged(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleInitialize()V
+HPLcom/android/server/location/gnss/GnssVisibilityControl;->handlePermissionsChanged(I)V
+HPLcom/android/server/location/gnss/GnssVisibilityControl;->handleProxyAppPackageUpdate(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->handleUpdateProxyApps(Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->hasLocationPermission(Ljava/lang/String;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;->isProxyAppInstalled(Ljava/lang/String;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;->isProxyAppListUpdated(Ljava/util/List;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$JE5r4mEk9pQ3wqWvn6pP20Ix0qs(Lcom/android/server/location/gnss/GnssVisibilityControl;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$new$0$GnssVisibilityControl(I)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$new$1$GnssVisibilityControl(I)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$onConfigurationUpdated$4$GnssVisibilityControl(Ljava/util/List;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$onGpsEnabledChanged$2$GnssVisibilityControl(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->lambda$runEventAndReleaseWakeLock$6$GnssVisibilityControl(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->listenForProxyAppsPackageUpdates()V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->onConfigurationUpdated(Lcom/android/server/location/gnss/GnssConfiguration;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->onGpsEnabledChanged(Z)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->resetProxyAppsState()V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->runEventAndReleaseWakeLock(Ljava/lang/Runnable;)Ljava/lang/Runnable;
+PLcom/android/server/location/gnss/GnssVisibilityControl;->runOnHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->setNfwLocationAccessProxyAppsInGnssHal([Ljava/lang/String;)V
+PLcom/android/server/location/gnss/GnssVisibilityControl;->shouldEnableLocationPermissionInGnssHal(Ljava/lang/String;)Z
+PLcom/android/server/location/gnss/GnssVisibilityControl;->updateNfwLocationAccessProxyAppsInGnssHal()V
+PLcom/android/server/location/gnss/NtpTimeHelper;-><clinit>()V
+PLcom/android/server/location/gnss/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/gnss/NtpTimeHelper$InjectNtpTimeCallback;)V
+PLcom/android/server/location/gnss/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/gnss/NtpTimeHelper$InjectNtpTimeCallback;Landroid/util/NtpTrustedTime;)V
+PLcom/android/server/location/gnss/NtpTimeHelper;->blockingGetNtpTimeAndInject()V
+PLcom/android/server/location/gnss/NtpTimeHelper;->isNetworkConnected()Z
+PLcom/android/server/location/gnss/NtpTimeHelper;->lambda$0f3JRUuSYH-K-brPBZMOA96D-q4(Lcom/android/server/location/gnss/NtpTimeHelper;)V
+PLcom/android/server/location/gnss/NtpTimeHelper;->lambda$blockingGetNtpTimeAndInject$0$NtpTimeHelper(JJJ)V
+PLcom/android/server/location/gnss/NtpTimeHelper;->onNetworkAvailable()V
+PLcom/android/server/location/gnss/NtpTimeHelper;->retrieveAndInjectNtpTime()V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$25VQEBWGuGqdc4Xjn9m8HXt9ZTI;-><init>(Lcom/android/server/locksettings/LockSettingsService;Ljava/util/ArrayList;I)V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$25VQEBWGuGqdc4Xjn9m8HXt9ZTI;->run()V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$6ZJNEvi0AXsP3F_UD8F01RaIg3M;-><init>(I)V
@@ -19942,9 +21659,11 @@
 PLcom/android/server/locksettings/LockSettingsService$3;->onProgress(IILandroid/os/Bundle;)V
 PLcom/android/server/locksettings/LockSettingsService$3;->onStarted(ILandroid/os/Bundle;)V
 HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->clearFrpCredentialIfOwnerNotSecure()V
 HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->isProvisioned()Z
 PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onChange(ZLandroid/net/Uri;I)V
 HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->reportDeviceSetupComplete()V
 HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
 HSPLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
 HSPLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
@@ -19971,6 +21690,7 @@
 HPLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
 PLcom/android/server/locksettings/LockSettingsService$Injector;->hasEnrolledBiometrics(I)Z
 HPLcom/android/server/locksettings/LockSettingsService$Injector;->isGsiRunning()Z
+PLcom/android/server/locksettings/LockSettingsService$Injector;->settingsSecureGetInt(Landroid/content/ContentResolver;Ljava/lang/String;II)I
 HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
 PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onCleanupUser(I)V
@@ -19980,6 +21700,7 @@
 HSPLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
 HSPLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
 PLcom/android/server/locksettings/LockSettingsService$LocalService;->addEscrowToken([BILcom/android/internal/widget/LockPatternUtils$EscrowTokenStateChangeCallback;)J
+PLcom/android/server/locksettings/LockSettingsService$LocalService;->armRebootEscrow()Z
 HPLcom/android/server/locksettings/LockSettingsService$LocalService;->getUserPasswordMetrics(I)Landroid/app/admin/PasswordMetrics;
 PLcom/android/server/locksettings/LockSettingsService$LocalService;->isEscrowTokenActive(JI)Z
 PLcom/android/server/locksettings/LockSettingsService$LocalService;->prepareRebootEscrow()V
@@ -20005,7 +21726,9 @@
 HSPLcom/android/server/locksettings/LockSettingsService;->access$1800(Lcom/android/server/locksettings/LockSettingsService;)Lcom/android/server/locksettings/RebootEscrowManager;
 PLcom/android/server/locksettings/LockSettingsService;->access$1900(Lcom/android/server/locksettings/LockSettingsService;)Lcom/android/server/locksettings/LockSettingsStrongAuth;
 PLcom/android/server/locksettings/LockSettingsService;->access$200(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/LockSettingsService;->access$2000(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)Landroid/app/admin/PasswordMetrics;
 PLcom/android/server/locksettings/LockSettingsService;->access$2000(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;IJLjava/util/ArrayList;I)V
+PLcom/android/server/locksettings/LockSettingsService;->access$2100(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;IJLjava/util/ArrayList;Landroid/app/admin/PasswordMetrics;I)V
 PLcom/android/server/locksettings/LockSettingsService;->access$300(Lcom/android/server/locksettings/LockSettingsService;I)V
 PLcom/android/server/locksettings/LockSettingsService;->access$400(Lcom/android/server/locksettings/LockSettingsService;I)V
 PLcom/android/server/locksettings/LockSettingsService;->access$400(Lcom/android/server/locksettings/LockSettingsService;Landroid/os/UserHandle;)V
@@ -20034,6 +21757,7 @@
 PLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential(Lcom/android/internal/widget/LockscreenCredential;IJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
 HPLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential(Lcom/android/internal/widget/LockscreenCredential;IJILcom/android/internal/widget/ICheckCredentialProgressCallback;Ljava/util/ArrayList;)Lcom/android/internal/widget/VerifyCredentialResponse;
 PLcom/android/server/locksettings/LockSettingsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/locksettings/LockSettingsService;->enforceFrpResolved()V
 PLcom/android/server/locksettings/LockSettingsService;->ensureProfileKeystoreUnlocked(I)V
 PLcom/android/server/locksettings/LockSettingsService;->fixateNewestUserKeyAuth(I)V
 PLcom/android/server/locksettings/LockSettingsService;->gateKeeperClearSecureUserId(I)V
@@ -20078,6 +21802,7 @@
 PLcom/android/server/locksettings/LockSettingsService;->lambda$notifyPasswordChanged$2$LockSettingsService(I)V
 PLcom/android/server/locksettings/LockSettingsService;->lambda$notifySeparateProfileChallengeChanged$0(I)V
 HPLcom/android/server/locksettings/LockSettingsService;->lambda$unlockUser$1$LockSettingsService(Ljava/util/ArrayList;I)V
+PLcom/android/server/locksettings/LockSettingsService;->loadPasswordMetrics(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)Landroid/app/admin/PasswordMetrics;
 HSPLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(I)V
 HSPLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
 HSPLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
@@ -20086,6 +21811,7 @@
 HPLcom/android/server/locksettings/LockSettingsService;->onAuthTokenKnownForUser(ILcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)V
 PLcom/android/server/locksettings/LockSettingsService;->onCleanupUser(I)V
 HPLcom/android/server/locksettings/LockSettingsService;->onCredentialVerified(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;IJLjava/util/ArrayList;I)V
+HPLcom/android/server/locksettings/LockSettingsService;->onCredentialVerified(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;IJLjava/util/ArrayList;Landroid/app/admin/PasswordMetrics;I)V
 HSPLcom/android/server/locksettings/LockSettingsService;->onStartUser(I)V
 PLcom/android/server/locksettings/LockSettingsService;->onUnlockUser(I)V
 HSPLcom/android/server/locksettings/LockSettingsService;->pinOrPasswordQualityToCredentialType(I)I
@@ -20213,6 +21939,8 @@
 PLcom/android/server/locksettings/LockSettingsStorage;->removeUser(I)V
 PLcom/android/server/locksettings/LockSettingsStorage;->setBoolean(Ljava/lang/String;ZI)V
 HSPLcom/android/server/locksettings/LockSettingsStorage;->setDatabaseOnCreateCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->setInt(Ljava/lang/String;II)V
+PLcom/android/server/locksettings/LockSettingsStorage;->setLong(Ljava/lang/String;JI)V
 PLcom/android/server/locksettings/LockSettingsStorage;->setString(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/locksettings/LockSettingsStorage;->writeChildProfileLock(I[B)V
 PLcom/android/server/locksettings/LockSettingsStorage;->writeFile(Ljava/lang/String;[B)V
@@ -20262,6 +21990,7 @@
 HSPLcom/android/server/locksettings/ManagedProfilePasswordCache;-><clinit>()V
 HSPLcom/android/server/locksettings/ManagedProfilePasswordCache;-><init>(Ljava/security/KeyStore;Landroid/os/UserManager;)V
 PLcom/android/server/locksettings/ManagedProfilePasswordCache;->getEncryptionKeyName(I)Ljava/lang/String;
+PLcom/android/server/locksettings/ManagedProfilePasswordCache;->removePassword(I)V
 PLcom/android/server/locksettings/ManagedProfilePasswordCache;->retrievePassword(I)Lcom/android/internal/widget/LockscreenCredential;
 PLcom/android/server/locksettings/ManagedProfilePasswordCache;->storePassword(ILcom/android/internal/widget/LockscreenCredential;)V
 HSPLcom/android/server/locksettings/PasswordSlotManager;-><init>()V
@@ -20292,15 +22021,26 @@
 PLcom/android/server/locksettings/RebootEscrowKey;->fromKeyBytes([B)Lcom/android/server/locksettings/RebootEscrowKey;
 PLcom/android/server/locksettings/RebootEscrowKey;->generate()Lcom/android/server/locksettings/RebootEscrowKey;
 PLcom/android/server/locksettings/RebootEscrowKey;->getKey()Ljavax/crypto/SecretKey;
+PLcom/android/server/locksettings/RebootEscrowKey;->getKeyBytes()[B
 HSPLcom/android/server/locksettings/RebootEscrowManager$Injector;-><init>(Landroid/content/Context;)V
 PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getBootCount()I
+PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getEventLog()Lcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;
 PLcom/android/server/locksettings/RebootEscrowManager$Injector;->getRebootEscrow()Landroid/hardware/rebootescrow/IRebootEscrow;
 HSPLcom/android/server/locksettings/RebootEscrowManager$Injector;->getUserManager()Landroid/os/UserManager;
 PLcom/android/server/locksettings/RebootEscrowManager$Injector;->reportMetric(Z)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEvent;-><init>(I)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEvent;-><init>(ILjava/lang/Integer;)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;-><init>()V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;->addEntry(I)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;->addEntry(II)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;->addEntryInternal(Lcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEvent;)V
+PLcom/android/server/locksettings/RebootEscrowManager$RebootEscrowEventLog;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 HSPLcom/android/server/locksettings/RebootEscrowManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;)V
 HSPLcom/android/server/locksettings/RebootEscrowManager;-><init>(Lcom/android/server/locksettings/RebootEscrowManager$Injector;Lcom/android/server/locksettings/RebootEscrowManager$Callbacks;Lcom/android/server/locksettings/LockSettingsStorage;)V
+PLcom/android/server/locksettings/RebootEscrowManager;->armRebootEscrowIfNeeded()Z
 PLcom/android/server/locksettings/RebootEscrowManager;->callToRebootEscrowIfNeeded(IB[B)V
 PLcom/android/server/locksettings/RebootEscrowManager;->clearRebootEscrowIfNeeded()V
+PLcom/android/server/locksettings/RebootEscrowManager;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 PLcom/android/server/locksettings/RebootEscrowManager;->generateEscrowKeyIfNeeded()Lcom/android/server/locksettings/RebootEscrowKey;
 PLcom/android/server/locksettings/RebootEscrowManager;->getAndClearRebootEscrowKey()Lcom/android/server/locksettings/RebootEscrowKey;
 PLcom/android/server/locksettings/RebootEscrowManager;->getAndClearRebootEscrowKey()Ljavax/crypto/spec/SecretKeySpec;
@@ -20328,11 +22068,14 @@
 HPLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;-><init>(B)V
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$1000(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$1100(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$1100(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$1200(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$900(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->create()Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveDiskEncryptionKey()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveGkPassword()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveKeyStorePassword()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveMetricsKey()[B
 HPLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->derivePassword([B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->derivePasswordHashFactor()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveVendorAuthSecret()[B
@@ -20358,12 +22101,14 @@
 PLcom/android/server/locksettings/SyntheticPasswordManager;->access$600()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->access$700()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->access$800()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->access$900()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->activateTokenBasedSyntheticPassword(JLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)Z
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->bytesToHex([B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->clearSidForUser(I)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->computePasswordToken(Lcom/android/internal/widget/LockscreenCredential;Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->createPasswordBasedSyntheticPassword(Landroid/service/gatekeeper/IGateKeeperService;Lcom/android/internal/widget/LockscreenCredential;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)J
 PLcom/android/server/locksettings/SyntheticPasswordManager;->createSPBlob(Ljava/lang/String;[B[BJ)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->createSecdiscardable(JI)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->createSyntheticPasswordBlob(JBLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;[BJI)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->createTokenBasedSyntheticPassword([BILcom/android/internal/widget/LockPatternUtils$EscrowTokenStateChangeCallback;)J
 PLcom/android/server/locksettings/SyntheticPasswordManager;->decryptSPBlob(Ljava/lang/String;[B[B)[B
@@ -20380,10 +22125,12 @@
 HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->getHandleName(J)Ljava/lang/String;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->getNextAvailableWeaverSlot()I
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getPasswordMetrics(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;JI)Landroid/app/admin/PasswordMetrics;
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->getPendingTokensForUser(I)Ljava/util/Set;
 HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getUsedWeaverSlots()Ljava/util/Set;
 HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getWeaverService()Landroid/hardware/weaver/V1_0/IWeaver;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->hasEscrowData(I)Z
+PLcom/android/server/locksettings/SyntheticPasswordManager;->hasPasswordMetrics(JI)Z
 PLcom/android/server/locksettings/SyntheticPasswordManager;->hasSidForUser(I)Z
 PLcom/android/server/locksettings/SyntheticPasswordManager;->hasState(Ljava/lang/String;JI)Z
 HSPLcom/android/server/locksettings/SyntheticPasswordManager;->initWeaverService()V
@@ -20401,6 +22148,7 @@
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->passwordTokenToWeaverKey([B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->removeUser(I)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->saveEscrowData(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)V
+PLcom/android/server/locksettings/SyntheticPasswordManager;->savePasswordMetrics(Lcom/android/internal/widget/LockscreenCredential;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;JI)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->saveSecdiscardable(J[BI)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->saveState(Ljava/lang/String;[BJI)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->saveSyntheticPasswordHandle([BI)V
@@ -20408,6 +22156,7 @@
 PLcom/android/server/locksettings/SyntheticPasswordManager;->scrypt([B[BIIII)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->secureRandom(I)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->sidFromPasswordHandle([B)J
+PLcom/android/server/locksettings/SyntheticPasswordManager;->synchronizeFrpPassword(Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;II)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->synchronizeWeaverFrpPassword(Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;III)V
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->toByteArrayList([B)Ljava/util/ArrayList;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->transformUnderSecdiscardable([B[B)[B
@@ -20417,6 +22166,11 @@
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->verifyChallenge(Landroid/service/gatekeeper/IGateKeeperService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;JI)Lcom/android/internal/widget/VerifyCredentialResponse;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->weaverEnroll(I[B[B)[B
 HPLcom/android/server/locksettings/SyntheticPasswordManager;->weaverVerify(I[B)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/VersionedPasswordMetrics;-><init>(ILandroid/app/admin/PasswordMetrics;)V
+PLcom/android/server/locksettings/VersionedPasswordMetrics;-><init>(Lcom/android/internal/widget/LockscreenCredential;)V
+PLcom/android/server/locksettings/VersionedPasswordMetrics;->deserialize([B)Lcom/android/server/locksettings/VersionedPasswordMetrics;
+PLcom/android/server/locksettings/VersionedPasswordMetrics;->getMetrics()Landroid/app/admin/PasswordMetrics;
+PLcom/android/server/locksettings/VersionedPasswordMetrics;->serialize()[B
 HSPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;-><init>(Ljava/security/KeyStore;)V
 PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->containsAlias(Ljava/lang/String;)Z
 PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->deleteEntry(Ljava/lang/String;)V
@@ -20654,6 +22408,12 @@
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$2c6CORJRuTfbQQXKlkZCv-9MgyE;-><clinit>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$2c6CORJRuTfbQQXKlkZCv-9MgyE;-><init>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$2c6CORJRuTfbQQXKlkZCv-9MgyE;->accept(Ljava/lang/Object;)V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$6Riyrjlduscvk3ao_6ULVEacHqc;-><clinit>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$6Riyrjlduscvk3ao_6ULVEacHqc;-><init>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$6Riyrjlduscvk3ao_6ULVEacHqc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$I6PG0tyHOe6cuySMRkSmv3IvGEc;-><clinit>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$I6PG0tyHOe6cuySMRkSmv3IvGEc;-><init>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$I6PG0tyHOe6cuySMRkSmv3IvGEc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$M94FQn7LGXpV3kApGJU9Bnp0RRk;-><clinit>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$M94FQn7LGXpV3kApGJU9Bnp0RRk;-><init>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$M94FQn7LGXpV3kApGJU9Bnp0RRk;->accept(Ljava/lang/Object;)V
@@ -20675,9 +22435,18 @@
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UyhtmNkwYd0IQ4t6m6ItWaQAFKI;-><clinit>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UyhtmNkwYd0IQ4t6m6ItWaQAFKI;-><init>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UyhtmNkwYd0IQ4t6m6ItWaQAFKI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$jl6Cb2fSdGROvf9jFJQIh03S_cI;-><clinit>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$jl6Cb2fSdGROvf9jFJQIh03S_cI;-><init>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$jl6Cb2fSdGROvf9jFJQIh03S_cI;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$ktFKfbGb3mjvGzJIZxyEZjYDR3w;-><clinit>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$ktFKfbGb3mjvGzJIZxyEZjYDR3w;-><init>()V
 PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$ktFKfbGb3mjvGzJIZxyEZjYDR3w;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$poZa1tCE-HePySN-6FoQ8LldyOI;-><clinit>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$poZa1tCE-HePySN-6FoQ8LldyOI;-><init>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$poZa1tCE-HePySN-6FoQ8LldyOI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$xwrgJ0QIcy6O_xCDFBt_XQNI5DY;-><clinit>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$xwrgJ0QIcy6O_xCDFBt_XQNI5DY;-><init>()V
+PLcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$xwrgJ0QIcy6O_xCDFBt_XQNI5DY;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;-><init>(Lcom/android/server/media/MediaSessionService;)V
 HPLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
 PLcom/android/server/media/-$$Lambda$SystemMediaRoute2Provider$1$ebcdsGsKcvePyBmWcsYxnmypK0U;-><init>(Lcom/android/server/media/SystemMediaRoute2Provider$1;Landroid/media/AudioRoutesInfo;)V
@@ -20750,7 +22519,9 @@
 PLcom/android/server/media/BluetoothRouteProvider;->notifyBluetoothRoutesUpdated()V
 PLcom/android/server/media/BluetoothRouteProvider;->setRouteConnectionState(Lcom/android/server/media/BluetoothRouteProvider$BluetoothRouteInfo;I)V
 PLcom/android/server/media/BluetoothRouteProvider;->setRouteConnectionStateForDevice(Landroid/bluetooth/BluetoothDevice;I)V
-PLcom/android/server/media/BluetoothRouteProvider;->setSelectedRouteVolume(I)Z
+HPLcom/android/server/media/BluetoothRouteProvider;->setSelectedRouteVolume(I)Z
+PLcom/android/server/media/BluetoothRouteProvider;->start()V
+PLcom/android/server/media/BluetoothRouteProvider;->transferTo(Ljava/lang/String;)V
 HSPLcom/android/server/media/MediaButtonReceiverHolder;-><init>(ILandroid/app/PendingIntent;Landroid/content/ComponentName;I)V
 HPLcom/android/server/media/MediaButtonReceiverHolder;->create(Landroid/content/Context;ILandroid/app/PendingIntent;)Lcom/android/server/media/MediaButtonReceiverHolder;
 HPLcom/android/server/media/MediaButtonReceiverHolder;->flattenToString()Ljava/lang/String;
@@ -20785,6 +22556,8 @@
 PLcom/android/server/media/MediaRoute2ProviderWatcher;->access$100(Lcom/android/server/media/MediaRoute2ProviderWatcher;)V
 HPLcom/android/server/media/MediaRoute2ProviderWatcher;->scanPackages()V
 PLcom/android/server/media/MediaRoute2ProviderWatcher;->start()V
+PLcom/android/server/media/MediaRoute2ProviderWatcher;->stop()V
+PLcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl$UserRecord;Landroid/media/IMediaRouter2Manager;IILjava/lang/String;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;Lcom/android/server/media/MediaRouter2ServiceImpl$UserRecord;Landroid/media/IMediaRouter2Manager;IILjava/lang/String;Z)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;->binderDied()V
 PLcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;->dispose()V
@@ -20793,14 +22566,19 @@
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$1100(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Landroid/media/IMediaRouter2Manager;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$1200(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Landroid/media/IMediaRouter2Manager;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$1300(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Landroid/media/IMediaRouter2Manager;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$1600(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$400(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$500(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Lcom/android/server/media/MediaRouter2ServiceImpl$Client2Record;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$700(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;JLcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$800(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->access$800(Lcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;Landroid/media/IMediaRouter2Manager;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->checkArgumentsForSessionControl(Lcom/android/server/media/MediaRouter2ServiceImpl$Client2Record;Ljava/lang/String;Landroid/media/MediaRoute2Info;Ljava/lang/String;)Z
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->checkArgumentsForSessionControl(Lcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;Ljava/lang/String;Landroid/media/MediaRoute2Info;Ljava/lang/String;)Z
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->findClientforSessionLocked(Ljava/lang/String;)Lcom/android/server/media/MediaRouter2ServiceImpl$Client2Record;
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->findProvider(Ljava/lang/String;)Lcom/android/server/media/MediaRoute2Provider;
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->findRouterforSessionLocked(Ljava/lang/String;)Lcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;
 HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getClients()Ljava/util/List;
+HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getLastProviderInfoIndex(Ljava/lang/String;)I
 HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getManagers()Ljava/util/List;
 HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getProviderInfoIndex(Ljava/lang/String;)I
 HPLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->getRouters()Ljava/util/List;
@@ -20826,6 +22604,8 @@
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->onSessionInfoChangedOnHandler(Lcom/android/server/media/MediaRoute2Provider;Landroid/media/RoutingSessionInfo;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->onSessionUpdated(Lcom/android/server/media/MediaRoute2Provider;Landroid/media/RoutingSessionInfo;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->start()V
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->stop()V
+PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->transferToRouteOnHandler(JLcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserHandler;->transferToRouteOnHandler(Lcom/android/server/media/MediaRouter2ServiceImpl$Client2Record;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl$UserRecord;-><init>(Lcom/android/server/media/MediaRouter2ServiceImpl;I)V
 HSPLcom/android/server/media/MediaRouter2ServiceImpl;-><clinit>()V
@@ -20839,14 +22619,23 @@
 PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$getOrCreateUserRecordLocked$15(Ljava/lang/Object;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$getOrCreateUserRecordLocked$16(Ljava/lang/Object;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$getOrCreateUserRecordLocked$21(Ljava/lang/Object;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$getOrCreateUserRecordLocked$22(Ljava/lang/Object;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$registerManagerLocked$12(Ljava/lang/Object;Landroid/media/IMediaRouter2Manager;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$registerManagerLocked$13(Ljava/lang/Object;Landroid/media/IMediaRouter2Manager;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$switchUser$0(Ljava/lang/Object;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$switchUser$1(Ljava/lang/Object;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$transferClientRouteLocked$18(Ljava/lang/Object;Lcom/android/server/media/MediaRouter2ServiceImpl$Client2Record;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->lambda$transferToRouteWithManagerLocked$18(Ljava/lang/Object;JLcom/android/server/media/MediaRouter2ServiceImpl$RouterRecord;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->managerDied(Lcom/android/server/media/MediaRouter2ServiceImpl$ManagerRecord;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->registerManager(Landroid/media/IMediaRouter2Manager;Ljava/lang/String;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->registerManagerLocked(Landroid/media/IMediaRouter2Manager;IILjava/lang/String;I)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->registerManagerLocked(Landroid/media/IMediaRouter2Manager;IILjava/lang/String;IZ)V
 HSPLcom/android/server/media/MediaRouter2ServiceImpl;->switchUser()V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->toUniqueRequestId(II)J
 PLcom/android/server/media/MediaRouter2ServiceImpl;->transferClientRouteLocked(Landroid/media/IMediaRouter2Manager;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->transferToClientRoute(Landroid/media/IMediaRouter2Manager;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->transferToRouteWithManager(Landroid/media/IMediaRouter2Manager;ILjava/lang/String;Landroid/media/MediaRoute2Info;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->transferToRouteWithManagerLocked(ILandroid/media/IMediaRouter2Manager;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->unregisterManager(Landroid/media/IMediaRouter2Manager;)V
 PLcom/android/server/media/MediaRouter2ServiceImpl;->unregisterManagerLocked(Landroid/media/IMediaRouter2Manager;Z)V
 HSPLcom/android/server/media/MediaRouterService$1$1;-><init>(Lcom/android/server/media/MediaRouterService$1;)V
@@ -20958,6 +22747,7 @@
 HSPLcom/android/server/media/MediaRouterService;->switchUser()V
 HSPLcom/android/server/media/MediaRouterService;->systemRunning()V
 PLcom/android/server/media/MediaRouterService;->transferToClientRoute(Landroid/media/IMediaRouter2Manager;Ljava/lang/String;Landroid/media/MediaRoute2Info;)V
+PLcom/android/server/media/MediaRouterService;->transferToRouteWithManager(Landroid/media/IMediaRouter2Manager;ILjava/lang/String;Landroid/media/MediaRoute2Info;)V
 PLcom/android/server/media/MediaRouterService;->unregisterClient(Landroid/media/IMediaRouterClient;)V
 HPLcom/android/server/media/MediaRouterService;->unregisterClientLocked(Landroid/media/IMediaRouterClient;Z)V
 PLcom/android/server/media/MediaRouterService;->unregisterManager(Landroid/media/IMediaRouter2Manager;)V
@@ -20999,7 +22789,7 @@
 PLcom/android/server/media/MediaSessionRecord$ControllerStub;->stop(Ljava/lang/String;)V
 HPLcom/android/server/media/MediaSessionRecord$ControllerStub;->unregisterCallback(Landroid/media/session/ISessionControllerCallback;)V
 HPLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;I)V
-PLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;->access$300(Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;)Ljava/lang/String;
+HPLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;->access$300(Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;)Ljava/lang/String;
 HPLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;->access$400(Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;)Landroid/media/session/ISessionControllerCallback;
 HSPLcom/android/server/media/MediaSessionRecord$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/os/Looper;)V
 HSPLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
@@ -21228,7 +23018,7 @@
 HPLcom/android/server/media/MediaSessionRecord;->pushExtrasUpdate()V
 HPLcom/android/server/media/MediaSessionRecord;->pushMetadataUpdate()V
 HPLcom/android/server/media/MediaSessionRecord;->pushPlaybackStateUpdate()V
-PLcom/android/server/media/MediaSessionRecord;->pushQueueTitleUpdate()V
+HPLcom/android/server/media/MediaSessionRecord;->pushQueueTitleUpdate()V
 HPLcom/android/server/media/MediaSessionRecord;->pushQueueUpdate()V
 HPLcom/android/server/media/MediaSessionRecord;->pushSessionDestroyed()V
 HPLcom/android/server/media/MediaSessionRecord;->pushVolumeUpdate()V
@@ -21428,8 +23218,9 @@
 HSPLcom/android/server/media/MediaSessionService;->access$4200(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
 HSPLcom/android/server/media/MediaSessionService;->access$4300(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
 PLcom/android/server/media/MediaSessionService;->access$4400(Lcom/android/server/media/MediaSessionService;)Landroid/media/AudioManagerInternal;
-PLcom/android/server/media/MediaSessionService;->access$4400(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
+HPLcom/android/server/media/MediaSessionService;->access$4400(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
 PLcom/android/server/media/MediaSessionService;->access$4500(Lcom/android/server/media/MediaSessionService;)Landroid/media/AudioManagerInternal;
+PLcom/android/server/media/MediaSessionService;->access$4600(Lcom/android/server/media/MediaSessionService;)Landroid/media/AudioManagerInternal;
 PLcom/android/server/media/MediaSessionService;->access$4700(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaKeyDispatcher;
 PLcom/android/server/media/MediaSessionService;->access$4900(Lcom/android/server/media/MediaSessionService;)Landroid/app/KeyguardManager;
 PLcom/android/server/media/MediaSessionService;->access$5000(Lcom/android/server/media/MediaSessionService;)Landroid/os/PowerManager$WakeLock;
@@ -21598,8 +23389,8 @@
 PLcom/android/server/media/SystemMediaRoute2Provider;->access$100(Lcom/android/server/media/SystemMediaRoute2Provider;)Landroid/os/Handler;
 PLcom/android/server/media/SystemMediaRoute2Provider;->access$100(Lcom/android/server/media/SystemMediaRoute2Provider;Landroid/media/AudioRoutesInfo;)V
 PLcom/android/server/media/SystemMediaRoute2Provider;->access$300(Lcom/android/server/media/SystemMediaRoute2Provider;)Lcom/android/server/media/BluetoothRouteProvider;
-PLcom/android/server/media/SystemMediaRoute2Provider;->access$300(Lcom/android/server/media/SystemMediaRoute2Provider;)Ljava/lang/String;
-PLcom/android/server/media/SystemMediaRoute2Provider;->access$400(Lcom/android/server/media/SystemMediaRoute2Provider;)Lcom/android/server/media/BluetoothRouteProvider;
+HPLcom/android/server/media/SystemMediaRoute2Provider;->access$300(Lcom/android/server/media/SystemMediaRoute2Provider;)Ljava/lang/String;
+HPLcom/android/server/media/SystemMediaRoute2Provider;->access$400(Lcom/android/server/media/SystemMediaRoute2Provider;)Lcom/android/server/media/BluetoothRouteProvider;
 PLcom/android/server/media/SystemMediaRoute2Provider;->initializeDefaultRoute()V
 PLcom/android/server/media/SystemMediaRoute2Provider;->initializeRoutes()V
 PLcom/android/server/media/SystemMediaRoute2Provider;->initializeSessionInfo()V
@@ -21607,12 +23398,15 @@
 PLcom/android/server/media/SystemMediaRoute2Provider;->lambda$new$0$SystemMediaRoute2Provider(Ljava/util/List;)V
 PLcom/android/server/media/SystemMediaRoute2Provider;->lambda$new$1$SystemMediaRoute2Provider()V
 PLcom/android/server/media/SystemMediaRoute2Provider;->notifySessionInfoUpdated()V
-PLcom/android/server/media/SystemMediaRoute2Provider;->publishProviderState()V
+HPLcom/android/server/media/SystemMediaRoute2Provider;->publishProviderState()V
 HPLcom/android/server/media/SystemMediaRoute2Provider;->publishRoutes()V
+PLcom/android/server/media/SystemMediaRoute2Provider;->transferToRoute(JLjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/media/SystemMediaRoute2Provider;->transferToRoute(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/media/SystemMediaRoute2Provider;->updateAudioRoutes(Landroid/media/AudioRoutesInfo;)V
-PLcom/android/server/media/SystemMediaRoute2Provider;->updateDefaultRoute(Landroid/media/AudioRoutesInfo;)V
+HPLcom/android/server/media/SystemMediaRoute2Provider;->updateDefaultRoute(Landroid/media/AudioRoutesInfo;)V
+HPLcom/android/server/media/SystemMediaRoute2Provider;->updateDeviceRoute(Landroid/media/AudioRoutesInfo;)V
 HPLcom/android/server/media/SystemMediaRoute2Provider;->updateProviderState()V
+HPLcom/android/server/media/SystemMediaRoute2Provider;->updateSessionInfosIfNeeded()Z
 HPLcom/android/server/media/SystemMediaRoute2Provider;->updateSessionInfosIfNeededLocked()Z
 HSPLcom/android/server/media/projection/MediaProjectionManagerService$1;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
 HSPLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundActivitiesChanged(IIZ)V
@@ -21639,6 +23433,7 @@
 PLcom/android/server/media/projection/MediaProjectionManagerService$ClientStopCallback;-><init>(Landroid/media/projection/IMediaProjectionCallback;)V
 PLcom/android/server/media/projection/MediaProjectionManagerService$ClientStopCallback;->run()V
 PLcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection$1;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection;Landroid/media/projection/IMediaProjectionCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection$1;->binderDied()V
 PLcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;IILjava/lang/String;IZ)V
 PLcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection;->applyVirtualDisplayFlags(I)I
 PLcom/android/server/media/projection/MediaProjectionManagerService$MediaProjection;->canProjectSecureVideo()Z
@@ -21719,7 +23514,7 @@
 HPLcom/android/server/net/-$$Lambda$NetworkStatsService$KVH4Y9nH53_gEfrhunDFp_O6ExY;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$5TwpV7cRVx_8Ch3sTJ1XxcGYaFo;-><init>(Ljava/lang/String;J)V
 HPLcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$5TwpV7cRVx_8Ch3sTJ1XxcGYaFo;->accept(Ljava/lang/Object;)V
-PLcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$MWLBRMSsUTWVuMm3yJqH7bc-ZoI;-><init>(Ljava/lang/String;J)V
+HPLcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$MWLBRMSsUTWVuMm3yJqH7bc-ZoI;-><init>(Ljava/lang/String;J)V
 HPLcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$MWLBRMSsUTWVuMm3yJqH7bc-ZoI;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/net/-$$Lambda$NetworkStatsService$rLCnfQluyJtbXZ2vSn6SQAdNPMc;-><init>(Landroid/net/NetworkStats;I)V
 HPLcom/android/server/net/-$$Lambda$NetworkStatsService$rLCnfQluyJtbXZ2vSn6SQAdNPMc;->accept(Ljava/lang/Object;)V
@@ -21911,7 +23706,7 @@
 HPLcom/android/server/net/NetworkPolicyManagerService;->access$3700(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
 PLcom/android/server/net/NetworkPolicyManagerService;->access$3800(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
 HPLcom/android/server/net/NetworkPolicyManagerService;->access$3800(Lcom/android/server/net/NetworkPolicyManagerService;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$3900(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->access$3900(Lcom/android/server/net/NetworkPolicyManagerService;I)V
 HPLcom/android/server/net/NetworkPolicyManagerService;->access$3900(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/Network;)I
 HPLcom/android/server/net/NetworkPolicyManagerService;->access$400(Lcom/android/server/net/NetworkPolicyManagerService;)V
 HPLcom/android/server/net/NetworkPolicyManagerService;->access$4000(Lcom/android/server/net/NetworkPolicyManagerService;I)Landroid/telephony/SubscriptionPlan;
@@ -21926,6 +23721,7 @@
 PLcom/android/server/net/NetworkPolicyManagerService;->access$600(Lcom/android/server/net/NetworkPolicyManagerService;I)V
 PLcom/android/server/net/NetworkPolicyManagerService;->access$700(Lcom/android/server/net/NetworkPolicyManagerService;I)V
 PLcom/android/server/net/NetworkPolicyManagerService;->access$800(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$800(Lcom/android/server/net/NetworkPolicyManagerService;I)V
 PLcom/android/server/net/NetworkPolicyManagerService;->access$900(Lcom/android/server/net/NetworkPolicyManagerService;I)Z
 HSPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL()Z
 HSPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL(I)Z
@@ -22187,6 +23983,7 @@
 HPLcom/android/server/net/NetworkStatsService$7;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;-><init>(Landroid/content/Context;)V
 HPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getAugmentEnabled()Z
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getCombineSubtypeEnabled()Z
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevPersistBytes(J)J
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalAlertBytes(J)J
@@ -22201,6 +23998,8 @@
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagPersistBytes(J)J
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
 HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtPersistBytes(J)J
+PLcom/android/server/net/NetworkStatsService$Dependencies;-><init>()V
+PLcom/android/server/net/NetworkStatsService$Dependencies;->makeHandlerThread()Landroid/os/HandlerThread;
 HSPLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;)V
 HSPLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
 HPLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;->foundNonMonotonic(Landroid/net/NetworkStats;ILandroid/net/NetworkStats;ILjava/lang/Object;)V
@@ -22208,6 +24007,8 @@
 HSPLcom/android/server/net/NetworkStatsService$HandlerCallback;-><init>(Lcom/android/server/net/NetworkStatsService;)V
 HPLcom/android/server/net/NetworkStatsService$HandlerCallback;->handleMessage(Landroid/os/Message;)Z
 HSPLcom/android/server/net/NetworkStatsService$NetworkStatsHandler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsHandler;-><init>(Lcom/android/server/net/NetworkStatsService;Landroid/os/Looper;)V
+HPLcom/android/server/net/NetworkStatsService$NetworkStatsHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;)V
 HSPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
 PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->advisePersistThreshold(J)V
@@ -22221,40 +24022,69 @@
 PLcom/android/server/net/NetworkStatsService$NetworkStatsProviderCallbackImpl;-><init>(Ljava/lang/String;Landroid/net/netstats/provider/INetworkStatsProvider;Ljava/util/concurrent/Semaphore;Landroid/net/INetworkManagementEventObserver;Landroid/os/RemoteCallbackList;)V
 PLcom/android/server/net/NetworkStatsService$NetworkStatsProviderCallbackImpl;->binderDied()V
 HPLcom/android/server/net/NetworkStatsService$NetworkStatsProviderCallbackImpl;->getCachedStats(I)Landroid/net/NetworkStats;
+HPLcom/android/server/net/NetworkStatsService$NetworkStatsProviderCallbackImpl;->notifyStatsUpdated(ILandroid/net/NetworkStats;Landroid/net/NetworkStats;)V
 HPLcom/android/server/net/NetworkStatsService$NetworkStatsProviderCallbackImpl;->onStatsUpdated(ILandroid/net/NetworkStats;Landroid/net/NetworkStats;)V
 HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;-><init>(JJJ)V
+PLcom/android/server/net/NetworkStatsService$NetworkTypeListener;-><init>(Lcom/android/server/net/NetworkStatsService;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/net/NetworkStatsService$NetworkTypeListener;->access$2100(Lcom/android/server/net/NetworkStatsService$NetworkTypeListener;)I
+HPLcom/android/server/net/NetworkStatsService$NetworkTypeListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
 HSPLcom/android/server/net/NetworkStatsService;-><clinit>()V
 HSPLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsFactory;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsFactory;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;Lcom/android/server/net/NetworkStatsService$Dependencies;)V
+HPLcom/android/server/net/NetworkStatsService;->access$100(Lcom/android/server/net/NetworkStatsService;I)V
 PLcom/android/server/net/NetworkStatsService;->access$1000(Lcom/android/server/net/NetworkStatsService;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/net/NetworkStatsService;->access$1000(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsRecorder;
 PLcom/android/server/net/NetworkStatsService;->access$1100(Lcom/android/server/net/NetworkStatsService;[I)V
 PLcom/android/server/net/NetworkStatsService;->access$1200(Lcom/android/server/net/NetworkStatsService;I)V
 PLcom/android/server/net/NetworkStatsService;->access$1300(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService;->access$1300(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
 PLcom/android/server/net/NetworkStatsService;->access$1400(Lcom/android/server/net/NetworkStatsService;)Landroid/content/Context;
+PLcom/android/server/net/NetworkStatsService;->access$1400(Lcom/android/server/net/NetworkStatsService;)Landroid/os/PowerManager$WakeLock;
 PLcom/android/server/net/NetworkStatsService;->access$1500(Lcom/android/server/net/NetworkStatsService;)Landroid/os/Handler;
+PLcom/android/server/net/NetworkStatsService;->access$1500(Lcom/android/server/net/NetworkStatsService;[I)V
 PLcom/android/server/net/NetworkStatsService;->access$1600(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;
 PLcom/android/server/net/NetworkStatsService;->access$1600(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;JJ)J
 HPLcom/android/server/net/NetworkStatsService;->access$1700(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;JJ)J
+PLcom/android/server/net/NetworkStatsService;->access$1800(Lcom/android/server/net/NetworkStatsService;)Landroid/content/Context;
 PLcom/android/server/net/NetworkStatsService;->access$1800(Lcom/android/server/net/NetworkStatsService;J)V
+PLcom/android/server/net/NetworkStatsService;->access$1900(Lcom/android/server/net/NetworkStatsService;)Landroid/os/Handler;
 PLcom/android/server/net/NetworkStatsService;->access$1900(Lcom/android/server/net/NetworkStatsService;J)V
+HPLcom/android/server/net/NetworkStatsService;->access$200(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService;->access$200(Lcom/android/server/net/NetworkStatsService;)[Landroid/net/NetworkState;
 HPLcom/android/server/net/NetworkStatsService;->access$200(Lcom/android/server/net/NetworkStatsService;Ljava/lang/String;)I
+PLcom/android/server/net/NetworkStatsService;->access$2000(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;
 HPLcom/android/server/net/NetworkStatsService;->access$2000(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$ThrowingConsumer;)V
+PLcom/android/server/net/NetworkStatsService;->access$2200(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;JJ)J
+PLcom/android/server/net/NetworkStatsService;->access$2400(Lcom/android/server/net/NetworkStatsService;J)V
+PLcom/android/server/net/NetworkStatsService;->access$2500(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$ThrowingConsumer;)V
 HPLcom/android/server/net/NetworkStatsService;->access$300(Lcom/android/server/net/NetworkStatsService;)Ljava/lang/Object;
+PLcom/android/server/net/NetworkStatsService;->access$300(Lcom/android/server/net/NetworkStatsService;)[Landroid/net/Network;
 HPLcom/android/server/net/NetworkStatsService;->access$400(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsRecorder;
+PLcom/android/server/net/NetworkStatsService;->access$400(Lcom/android/server/net/NetworkStatsService;)Ljava/lang/String;
+PLcom/android/server/net/NetworkStatsService;->access$400(Lcom/android/server/net/NetworkStatsService;Ljava/lang/String;)I
 HPLcom/android/server/net/NetworkStatsService;->access$500(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsRecorder;
+PLcom/android/server/net/NetworkStatsService;->access$500(Lcom/android/server/net/NetworkStatsService;)Ljava/lang/Object;
+HPLcom/android/server/net/NetworkStatsService;->access$500(Lcom/android/server/net/NetworkStatsService;[Landroid/net/Network;[Landroid/net/NetworkState;Ljava/lang/String;)V
+PLcom/android/server/net/NetworkStatsService;->access$600(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsRecorder;
+HPLcom/android/server/net/NetworkStatsService;->access$600(Lcom/android/server/net/NetworkStatsService;)V
 HPLcom/android/server/net/NetworkStatsService;->access$600(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;IJJII)Landroid/net/NetworkStats;
 PLcom/android/server/net/NetworkStatsService;->access$700(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
 HPLcom/android/server/net/NetworkStatsService;->access$800(Lcom/android/server/net/NetworkStatsService;I)V
+PLcom/android/server/net/NetworkStatsService;->access$800(Lcom/android/server/net/NetworkStatsService;Ljava/lang/String;)I
+PLcom/android/server/net/NetworkStatsService;->access$900(Lcom/android/server/net/NetworkStatsService;)Ljava/lang/Object;
 HPLcom/android/server/net/NetworkStatsService;->access$900(Lcom/android/server/net/NetworkStatsService;)V
 HPLcom/android/server/net/NetworkStatsService;->advisePersistThreshold(J)V
 HPLcom/android/server/net/NetworkStatsService;->assertSystemReady()V
 HSPLcom/android/server/net/NetworkStatsService;->bootstrapStatsLocked()V
 HSPLcom/android/server/net/NetworkStatsService;->buildRecorder(Ljava/lang/String;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;Z)Lcom/android/server/net/NetworkStatsRecorder;
 HPLcom/android/server/net/NetworkStatsService;->checkAccessLevel(Ljava/lang/String;)I
+PLcom/android/server/net/NetworkStatsService;->checkAnyPermissionOf([Ljava/lang/String;)Z
 HPLcom/android/server/net/NetworkStatsService;->checkBpfStatsEnable()Z
 HSPLcom/android/server/net/NetworkStatsService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/net/NetworkStatsService;
 HPLcom/android/server/net/NetworkStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/net/NetworkStatsService;->dumpInterfaces(Landroid/util/proto/ProtoOutputStream;JLandroid/util/ArrayMap;)V
 PLcom/android/server/net/NetworkStatsService;->dumpProtoLocked(Ljava/io/FileDescriptor;)V
+PLcom/android/server/net/NetworkStatsService;->enforceAnyPermissionOf([Ljava/lang/String;)V
 HPLcom/android/server/net/NetworkStatsService;->findOrCreateNetworkIdentitySet(Landroid/util/ArrayMap;Ljava/lang/Object;)Lcom/android/server/net/NetworkIdentitySet;
 PLcom/android/server/net/NetworkStatsService;->forceUpdate()V
 HPLcom/android/server/net/NetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;[Landroid/net/NetworkState;Ljava/lang/String;[Lcom/android/internal/net/VpnInfo;)V
@@ -22269,6 +24099,7 @@
 HSPLcom/android/server/net/NetworkStatsService;->getNetworkStatsUidDetail([Ljava/lang/String;)Landroid/net/NetworkStats;
 HSPLcom/android/server/net/NetworkStatsService;->getNetworkStatsXt()Landroid/net/NetworkStats;
 HPLcom/android/server/net/NetworkStatsService;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
+PLcom/android/server/net/NetworkStatsService;->getSubTypeForState(Landroid/net/NetworkState;)I
 HPLcom/android/server/net/NetworkStatsService;->getTetherStats(Ljava/lang/String;I)J
 HPLcom/android/server/net/NetworkStatsService;->getTotalStats(I)J
 HPLcom/android/server/net/NetworkStatsService;->getUidStats(II)J
@@ -22399,6 +24230,8 @@
 PLcom/android/server/notification/-$$Lambda$NotificationHistoryDatabase$DOpPLk6FC4M8AMJ1FHTPtwlmVmQ;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$10$BRIIoO5T43uig1Sv3P_yA2lc3LA;-><init>(Lcom/android/server/notification/NotificationManagerService$10;Ljava/lang/String;)V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$10$BRIIoO5T43uig1Sv3P_yA2lc3LA;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$10$htzhfgfHA0ehIwizpUZcQfRJmoM;-><init>(Lcom/android/server/notification/NotificationManagerService$10;Ljava/lang/String;II)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$10$htzhfgfHA0ehIwizpUZcQfRJmoM;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$11$JotEN8cxCghuwRUNQKNwudTtDmM;-><init>(Lcom/android/server/notification/NotificationManagerService$11;Ljava/lang/String;)V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$11$JotEN8cxCghuwRUNQKNwudTtDmM;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$11$zVdn9N0ybkMxz8xM8Qa1AXowlic;-><init>(Lcom/android/server/notification/NotificationManagerService$11;Ljava/lang/String;II)V
@@ -22417,8 +24250,14 @@
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$16$zTgrLv-fwhUBKBfo6G4cZaGAhWs;->apply(I)Z
 HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$1IFJYiXNBcQVsabIke0xY_TgCZI;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
 HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$1IFJYiXNBcQVsabIke0xY_TgCZI;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$FR2TcRnKXgS8FjXJjkSMBetsHLs;-><init>(Lcom/android/server/notification/NotificationManagerService$7;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$FR2TcRnKXgS8FjXJjkSMBetsHLs;->runOrThrow()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$kQBbaPMB3H8PvoRWMRFutsXJqC8;-><init>(Lcom/android/server/notification/NotificationManagerService$7;Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$kQBbaPMB3H8PvoRWMRFutsXJqC8;->runOrThrow()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$oVwblUFCYS29-pk3mwoXkriijO4;-><init>(Lcom/android/server/notification/NotificationManagerService$7;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$7$oVwblUFCYS29-pk3mwoXkriijO4;->runOrThrow()V
 HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$BDavS_Sg4m_dKO3ZgtuCsFeqqms;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$BDavS_Sg4m_dKO3ZgtuCsFeqqms;->run()V
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$BDavS_Sg4m_dKO3ZgtuCsFeqqms;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$CancelNotificationRunnable$1i8BOFS2Ap_BvazcwqssFxW6U1U;-><clinit>()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$CancelNotificationRunnable$1i8BOFS2Ap_BvazcwqssFxW6U1U;-><init>()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$CancelNotificationRunnable$1i8BOFS2Ap_BvazcwqssFxW6U1U;->apply(I)Z
@@ -22464,11 +24303,14 @@
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$OZL_lzotNQk7U4Yu1gYgeIoj6do;->run()V
 HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$PostNotificationRunnable$9JuPmiaA-c5lGdegev6EaTigwWc;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/StatusBarNotification;)V
 HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$PostNotificationRunnable$9JuPmiaA-c5lGdegev6EaTigwWc;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$cVvNajwVr5sFISXC5NXOu3pYhPo;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/UserInfo;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$cVvNajwVr5sFISXC5NXOu3pYhPo;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$msGTh8UV2euOI6xhjY-rx_tZTLM;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/UserInfo;)V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$msGTh8UV2euOI6xhjY-rx_tZTLM;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$oBqbud98Vzd9hmZYK-pWIY4cBpI;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/CharSequence;)V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$oBqbud98Vzd9hmZYK-pWIY4cBpI;->runOrThrow()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$pydsjOZodJQYqLnk-bBKjwKfMTw;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$pydsjOZodJQYqLnk-bBKjwKfMTw;->repost(ILcom/android/server/notification/NotificationRecord;Z)V
 HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$qSGWKI1fXQ1cTJ2fD072f_33txY;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/CharSequence;)V
 HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$qSGWKI1fXQ1cTJ2fD072f_33txY;->runOrThrow()V
 PLcom/android/server/notification/-$$Lambda$NotificationManagerService$qbzDjihCkTumQH-EnAW4i5wobvM;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/UserInfo;)V
@@ -22479,6 +24321,9 @@
 HPLcom/android/server/notification/-$$Lambda$SnoozeHelper$333G5Hgba3G7RU9lYp0HmgKJBvA;->insert(Ljava/lang/Object;)V
 PLcom/android/server/notification/-$$Lambda$SnoozeHelper$C_0X0DORXKfskVjWiTfpnyCI82U;-><init>(Lorg/xmlpull/v1/XmlSerializer;)V
 PLcom/android/server/notification/-$$Lambda$SnoozeHelper$j9CMOic9PGs_JNf8sQeWp_WInBo;-><init>(JLorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/notification/-$$Lambda$SnoozeHelper$j9CMOic9PGs_JNf8sQeWp_WInBo;->insert(Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$SnoozeHelper$qmPRhIe87AJQ1uMij6IuQyrejnw;-><init>(Lcom/android/server/notification/SnoozeHelper;Ljava/lang/String;Ljava/lang/String;IJ)V
+PLcom/android/server/notification/-$$Lambda$SnoozeHelper$qmPRhIe87AJQ1uMij6IuQyrejnw;->run()V
 HSPLcom/android/server/notification/-$$Lambda$SnoozeHelper$uY_yjjODxoDQVadkBTGNFqh7pco;-><init>(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
@@ -22489,10 +24334,16 @@
 HSPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
 HSPLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
 HSPLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/BubbleExtractor$BubbleChecker;-><init>(Landroid/content/Context;Lcom/android/server/notification/ShortcutHelper;Lcom/android/server/notification/RankingConfig;Landroid/app/ActivityManager;)V
+HPLcom/android/server/notification/BubbleExtractor$BubbleChecker;->canBubble(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)Z
+HPLcom/android/server/notification/BubbleExtractor$BubbleChecker;->canLaunchInActivityView(Landroid/content/Context;Landroid/app/PendingIntent;Ljava/lang/String;)Z
+HPLcom/android/server/notification/BubbleExtractor$BubbleChecker;->isNotificationAppropriateToBubble(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/BubbleExtractor$BubbleChecker;->logBubbleError(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/notification/BubbleExtractor;-><init>()V
 HSPLcom/android/server/notification/BubbleExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
 HSPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
 HSPLcom/android/server/notification/BubbleExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/BubbleExtractor;->setShortcutHelper(Lcom/android/server/notification/ShortcutHelper;)V
 HSPLcom/android/server/notification/BubbleExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
 HSPLcom/android/server/notification/CalendarTracker$1;-><init>(Lcom/android/server/notification/CalendarTracker;Landroid/os/Handler;)V
 HPLcom/android/server/notification/CalendarTracker$1;->onChange(ZLandroid/net/Uri;)V
@@ -22673,7 +24524,7 @@
 HSPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
 HSPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
 HPLcom/android/server/notification/ManagedServices;->hasMatchingServices(Ljava/lang/String;I)Z
-PLcom/android/server/notification/ManagedServices;->isComponentEnabledForCurrentProfiles(Landroid/content/ComponentName;)Z
+HPLcom/android/server/notification/ManagedServices;->isComponentEnabledForCurrentProfiles(Landroid/content/ComponentName;)Z
 PLcom/android/server/notification/ManagedServices;->isComponentEnabledForPackage(Ljava/lang/String;)Z
 HPLcom/android/server/notification/ManagedServices;->isDefaultComponentOrPackage(Ljava/lang/String;)Z
 HPLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z
@@ -22732,14 +24583,14 @@
 HSPLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
 PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;-><clinit>()V
 PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;-><init>(Ljava/lang/String;II)V
-PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getCreated(Landroid/app/NotificationChannel;)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
+HPLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getCreated(Landroid/app/NotificationChannel;)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
 PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getDeleted(Landroid/app/NotificationChannel;)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
 PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getGroupUpdated(Z)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
-PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getId()I
+HPLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getId()I
 PLcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;->getUpdated(Z)Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
 HPLcom/android/server/notification/NotificationChannelLogger;->getIdHash(Landroid/app/NotificationChannel;)I
-PLcom/android/server/notification/NotificationChannelLogger;->getIdHash(Landroid/app/NotificationChannelGroup;)I
-PLcom/android/server/notification/NotificationChannelLogger;->getImportance(Landroid/app/NotificationChannelGroup;)I
+HPLcom/android/server/notification/NotificationChannelLogger;->getIdHash(Landroid/app/NotificationChannelGroup;)I
+HPLcom/android/server/notification/NotificationChannelLogger;->getImportance(Landroid/app/NotificationChannelGroup;)I
 PLcom/android/server/notification/NotificationChannelLogger;->getImportance(Z)I
 PLcom/android/server/notification/NotificationChannelLogger;->logNotificationChannelCreated(Landroid/app/NotificationChannel;ILjava/lang/String;)V
 PLcom/android/server/notification/NotificationChannelLogger;->logNotificationChannelDeleted(Landroid/app/NotificationChannel;ILjava/lang/String;)V
@@ -22764,21 +24615,28 @@
 HPLcom/android/server/notification/NotificationComparator;->isMediaNotification(Lcom/android/server/notification/NotificationRecord;)Z
 HPLcom/android/server/notification/NotificationComparator;->isOngoing(Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationHistoryDatabase$1;-><init>(Lcom/android/server/notification/NotificationHistoryDatabase;)V
+HPLcom/android/server/notification/NotificationHistoryDatabase$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/notification/NotificationHistoryDatabase$NotificationHistoryFileAttrProvider;-><init>()V
 PLcom/android/server/notification/NotificationHistoryDatabase$RemoveConversationRunnable;-><init>(Lcom/android/server/notification/NotificationHistoryDatabase;Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationHistoryDatabase$RemoveConversationRunnable;->run()V
+PLcom/android/server/notification/NotificationHistoryDatabase$RemovePackageRunnable;-><init>(Lcom/android/server/notification/NotificationHistoryDatabase;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationHistoryDatabase$RemovePackageRunnable;->run()V
 PLcom/android/server/notification/NotificationHistoryDatabase$WriteBufferRunnable;-><init>(Lcom/android/server/notification/NotificationHistoryDatabase;)V
 PLcom/android/server/notification/NotificationHistoryDatabase$WriteBufferRunnable;-><init>(Lcom/android/server/notification/NotificationHistoryDatabase;Lcom/android/server/notification/NotificationHistoryDatabase$1;)V
 PLcom/android/server/notification/NotificationHistoryDatabase$WriteBufferRunnable;->run()V
 PLcom/android/server/notification/NotificationHistoryDatabase;-><clinit>()V
 PLcom/android/server/notification/NotificationHistoryDatabase;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/io/File;)V
 PLcom/android/server/notification/NotificationHistoryDatabase;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/io/File;Lcom/android/server/notification/NotificationHistoryDatabase$FileAttrProvider;)V
+PLcom/android/server/notification/NotificationHistoryDatabase;->access$000()Ljava/lang/String;
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$100()Z
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$200()Z
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$200(Lcom/android/server/notification/NotificationHistoryDatabase;)Ljava/lang/Object;
+PLcom/android/server/notification/NotificationHistoryDatabase;->access$300(Lcom/android/server/notification/NotificationHistoryDatabase;)Ljava/io/File;
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$300(Lcom/android/server/notification/NotificationHistoryDatabase;)Ljava/lang/Object;
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$400(Lcom/android/server/notification/NotificationHistoryDatabase;)Ljava/io/File;
+PLcom/android/server/notification/NotificationHistoryDatabase;->access$400(Lcom/android/server/notification/NotificationHistoryDatabase;Landroid/util/AtomicFile;Landroid/app/NotificationHistory;)V
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$500(Lcom/android/server/notification/NotificationHistoryDatabase;Landroid/util/AtomicFile;Landroid/app/NotificationHistory;)V
+PLcom/android/server/notification/NotificationHistoryDatabase;->access$500(Lcom/android/server/notification/NotificationHistoryDatabase;Ljava/io/File;JI)V
 PLcom/android/server/notification/NotificationHistoryDatabase;->access$600(Landroid/util/AtomicFile;Landroid/app/NotificationHistory;Lcom/android/server/notification/NotificationHistoryFilter;)V
 HPLcom/android/server/notification/NotificationHistoryDatabase;->addNotification(Landroid/app/NotificationHistory$HistoricalNotification;)V
 PLcom/android/server/notification/NotificationHistoryDatabase;->checkVersionAndBuildLocked()V
@@ -22794,17 +24652,17 @@
 PLcom/android/server/notification/NotificationHistoryDatabase;->writeLocked(Landroid/util/AtomicFile;Landroid/app/NotificationHistory;)V
 PLcom/android/server/notification/NotificationHistoryDatabaseFactory;->create(Landroid/content/Context;Landroid/os/Handler;Ljava/io/File;)Lcom/android/server/notification/NotificationHistoryDatabase;
 PLcom/android/server/notification/NotificationHistoryDatabaseFactory;->create(Landroid/content/Context;Landroid/os/Handler;Ljava/io/File;Lcom/android/server/notification/NotificationHistoryDatabase$FileAttrProvider;)Lcom/android/server/notification/NotificationHistoryDatabase;
-PLcom/android/server/notification/NotificationHistoryFilter$Builder;-><init>()V
-PLcom/android/server/notification/NotificationHistoryFilter$Builder;->build()Lcom/android/server/notification/NotificationHistoryFilter;
-PLcom/android/server/notification/NotificationHistoryFilter;-><init>()V
-PLcom/android/server/notification/NotificationHistoryFilter;-><init>(Lcom/android/server/notification/NotificationHistoryFilter$1;)V
-PLcom/android/server/notification/NotificationHistoryFilter;->access$102(Lcom/android/server/notification/NotificationHistoryFilter;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/NotificationHistoryFilter;->access$202(Lcom/android/server/notification/NotificationHistoryFilter;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/NotificationHistoryFilter;->access$302(Lcom/android/server/notification/NotificationHistoryFilter;I)I
+HPLcom/android/server/notification/NotificationHistoryFilter$Builder;-><init>()V
+HPLcom/android/server/notification/NotificationHistoryFilter$Builder;->build()Lcom/android/server/notification/NotificationHistoryFilter;
+HPLcom/android/server/notification/NotificationHistoryFilter;-><init>()V
+HPLcom/android/server/notification/NotificationHistoryFilter;-><init>(Lcom/android/server/notification/NotificationHistoryFilter$1;)V
+HPLcom/android/server/notification/NotificationHistoryFilter;->access$102(Lcom/android/server/notification/NotificationHistoryFilter;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/NotificationHistoryFilter;->access$202(Lcom/android/server/notification/NotificationHistoryFilter;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/NotificationHistoryFilter;->access$302(Lcom/android/server/notification/NotificationHistoryFilter;I)I
 PLcom/android/server/notification/NotificationHistoryFilter;->getChannel()Ljava/lang/String;
-PLcom/android/server/notification/NotificationHistoryFilter;->getPackage()Ljava/lang/String;
+HPLcom/android/server/notification/NotificationHistoryFilter;->getPackage()Ljava/lang/String;
 PLcom/android/server/notification/NotificationHistoryFilter;->isFiltering()Z
-PLcom/android/server/notification/NotificationHistoryFilter;->matchesCountFilter(Landroid/app/NotificationHistory;)Z
+HPLcom/android/server/notification/NotificationHistoryFilter;->matchesCountFilter(Landroid/app/NotificationHistory;)Z
 HPLcom/android/server/notification/NotificationHistoryFilter;->matchesPackageAndChannelFilter(Landroid/app/NotificationHistory$HistoricalNotification;)Z
 HSPLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationHistoryManager;Landroid/os/Handler;)V
 HSPLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;->observe()V
@@ -22830,6 +24688,7 @@
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->read(Ljava/io/InputStream;Landroid/app/NotificationHistory;Lcom/android/server/notification/NotificationHistoryFilter;)V
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->readNotification(Landroid/util/proto/ProtoInputStream;Ljava/util/List;)Landroid/app/NotificationHistory$HistoricalNotification;
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->readNotification(Landroid/util/proto/ProtoInputStream;Ljava/util/List;Landroid/app/NotificationHistory;Lcom/android/server/notification/NotificationHistoryFilter;)V
+HPLcom/android/server/notification/NotificationHistoryProtoHelper;->readStringPool(Landroid/util/proto/ProtoInputStream;)Ljava/util/List;
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->write(Ljava/io/OutputStream;Landroid/app/NotificationHistory;I)V
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->writeIcon(Landroid/util/proto/ProtoOutputStream;Landroid/app/NotificationHistory$HistoricalNotification;)V
 HPLcom/android/server/notification/NotificationHistoryProtoHelper;->writeNotification(Landroid/util/proto/ProtoOutputStream;[Ljava/lang/String;Landroid/app/NotificationHistory$HistoricalNotification;)V
@@ -22859,11 +24718,12 @@
 HSPLcom/android/server/notification/NotificationManagerService$10;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->canShowBadge(Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->cancelAllNotifications(Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->cancelNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)V
 PLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationFromListenerLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;IILjava/lang/String;Ljava/lang/String;II)V
 HSPLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
 PLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-PLcom/android/server/notification/NotificationManagerService$10;->cancelToast(Ljava/lang/String;Landroid/os/IBinder;)V
+HPLcom/android/server/notification/NotificationManagerService$10;->cancelToast(Ljava/lang/String;Landroid/os/IBinder;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->checkPackagePolicyAccess(Ljava/lang/String;)Z
 HPLcom/android/server/notification/NotificationManagerService$10;->checkPolicyAccess(Ljava/lang/String;)Z
 HPLcom/android/server/notification/NotificationManagerService$10;->clearData(Ljava/lang/String;IZ)V
@@ -22879,15 +24739,18 @@
 PLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUI(Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUIOrSamePackage(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
 HSPLcom/android/server/notification/NotificationManagerService$10;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
 PLcom/android/server/notification/NotificationManagerService$10;->enqueueTextOrCustomToast(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;IIZ)V
 HPLcom/android/server/notification/NotificationManagerService$10;->enqueueTextToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
 PLcom/android/server/notification/NotificationManagerService$10;->enqueueTextToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;IILandroid/app/ITransientNotificationCallback;)V
 PLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
 HPLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;IIZ)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;II)V
+HPLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;IILandroid/app/ITransientNotificationCallback;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;IILandroid/app/ITransientNotificationCallback;Z)V
 HPLcom/android/server/notification/NotificationManagerService$10;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-PLcom/android/server/notification/NotificationManagerService$10;->finishToken(Ljava/lang/String;Landroid/os/IBinder;)V
+HPLcom/android/server/notification/NotificationManagerService$10;->finishToken(Ljava/lang/String;Landroid/os/IBinder;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getAllowedAssistantAdjustments(Ljava/lang/String;)Ljava/util/List;
 HPLcom/android/server/notification/NotificationManagerService$10;->getAllowedNotificationAssistant()Landroid/content/ComponentName;
@@ -22901,20 +24764,26 @@
 HSPLcom/android/server/notification/NotificationManagerService$10;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
 HSPLcom/android/server/notification/NotificationManagerService$10;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
 HPLcom/android/server/notification/NotificationManagerService$10;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$10;->getConversations(Z)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getConversationsForPackage(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getDeletedChannelCount(Ljava/lang/String;I)I
 PLcom/android/server/notification/NotificationManagerService$10;->getEffectsSuppressor()Landroid/content/ComponentName;
 PLcom/android/server/notification/NotificationManagerService$10;->getEnabledNotificationListenerPackages()Ljava/util/List;
 HPLcom/android/server/notification/NotificationManagerService$10;->getHintsFromListener(Landroid/service/notification/INotificationListener;)I
 PLcom/android/server/notification/NotificationManagerService$10;->getHistoricalNotifications(Ljava/lang/String;IZ)[Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$10;->getHistoricalNotificationsWithAttribution(Ljava/lang/String;Ljava/lang/String;IZ)[Landroid/service/notification/StatusBarNotification;
 PLcom/android/server/notification/NotificationManagerService$10;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannel;
 HSPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Z)Landroid/app/NotificationChannel;
 HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
 HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelsBypassingDnd(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationHistory(Ljava/lang/String;)Landroid/app/NotificationHistory;
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationHistory(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationHistory;
 HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
 PLcom/android/server/notification/NotificationManagerService$10;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
 PLcom/android/server/notification/NotificationManagerService$10;->getPackageImportance(Ljava/lang/String;)I
@@ -22928,17 +24797,21 @@
 HPLcom/android/server/notification/NotificationManagerService$10;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
 HPLcom/android/server/notification/NotificationManagerService$10;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->isPackageInForegroundForToast(Ljava/lang/String;I)Z
 HPLcom/android/server/notification/NotificationManagerService$10;->isPackagePaused(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->lambda$enqueueToast$0$NotificationManagerService$10(Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$10;->lambda$removeForegroundServiceFlagFromNotification$0$NotificationManagerService$10(Ljava/lang/String;II)V
 PLcom/android/server/notification/NotificationManagerService$10;->matchesCallFilter(Landroid/os/Bundle;)Z
 HSPLcom/android/server/notification/NotificationManagerService$10;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$10;->onConversationRemoved(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$10;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
 PLcom/android/server/notification/NotificationManagerService$10;->removeAutoGroup(Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService$10;->removeAutoGroupSummary(ILjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$10;->removeAutomaticZenRule(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->removeAutomaticZenRules(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService$10;->requestBindListener(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$10;->removeForegroundServiceFlagLocked(Lcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService$10;->requestBindListener(Landroid/content/ComponentName;)V
 PLcom/android/server/notification/NotificationManagerService$10;->requestBindProvider(Landroid/content/ComponentName;)V
 PLcom/android/server/notification/NotificationManagerService$10;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
 PLcom/android/server/notification/NotificationManagerService$10;->requestInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;I)V
@@ -22955,6 +24828,7 @@
 PLcom/android/server/notification/NotificationManagerService$10;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
 HPLcom/android/server/notification/NotificationManagerService$10;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$10;->setPrivateNotificationsAllowed(Z)V
+PLcom/android/server/notification/NotificationManagerService$10;->setShowBadge(Ljava/lang/String;IZ)V
 PLcom/android/server/notification/NotificationManagerService$10;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$10;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->silenceNotificationSound()V
@@ -22963,6 +24837,7 @@
 HPLcom/android/server/notification/NotificationManagerService$10;->updateAutogroupSummary(Ljava/lang/String;Z)V
 PLcom/android/server/notification/NotificationManagerService$10;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationManagerService$10;->updateNotificationChannelGroupForPackage(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;)V
 HSPLcom/android/server/notification/NotificationManagerService$11$1;-><init>(Lcom/android/server/notification/NotificationManagerService$11;Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
 HSPLcom/android/server/notification/NotificationManagerService$11$1;->run()V
 HSPLcom/android/server/notification/NotificationManagerService$11;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
@@ -23014,7 +24889,7 @@
 HPLcom/android/server/notification/NotificationManagerService$11;->getAllowedNotificationAssistant()Landroid/content/ComponentName;
 HPLcom/android/server/notification/NotificationManagerService$11;->getAllowedNotificationAssistantForUser(I)Landroid/content/ComponentName;
 HPLcom/android/server/notification/NotificationManagerService$11;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/notification/NotificationManagerService$11;->getAppsBypassingDndCount(I)I
+HPLcom/android/server/notification/NotificationManagerService$11;->getAppsBypassingDndCount(I)I
 PLcom/android/server/notification/NotificationManagerService$11;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
 PLcom/android/server/notification/NotificationManagerService$11;->getBackupPayload(I)[B
 PLcom/android/server/notification/NotificationManagerService$11;->getBlockedAppCount(I)I
@@ -23130,6 +25005,7 @@
 HPLcom/android/server/notification/NotificationManagerService$1;->onPanelHidden()V
 HPLcom/android/server/notification/NotificationManagerService$1;->onPanelRevealed(ZI)V
 HPLcom/android/server/notification/NotificationManagerService$1;->onSetDisabled(I)V
+PLcom/android/server/notification/NotificationManagerService$1;->prepareForPossibleShutdown()V
 HSPLcom/android/server/notification/NotificationManagerService$2;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/notification/NotificationManagerService$3;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
@@ -23140,23 +25016,134 @@
 HSPLcom/android/server/notification/NotificationManagerService$6;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$7;->lambda$onAutomaticRuleStatusChanged$2$NotificationManagerService$7(Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService$7;->lambda$onPolicyChanged$1$NotificationManagerService$7()V
+HPLcom/android/server/notification/NotificationManagerService$7;->lambda$onZenModeChanged$0$NotificationManagerService$7()V
 PLcom/android/server/notification/NotificationManagerService$7;->onAutomaticRuleStatusChanged(ILjava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
 HSPLcom/android/server/notification/NotificationManagerService$7;->onPolicyChanged()V
 PLcom/android/server/notification/NotificationManagerService$7;->onZenModeChanged()V
 HSPLcom/android/server/notification/NotificationManagerService$8;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+HPLcom/android/server/notification/NotificationManagerService$8;->addAutoGroup(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$8;->addAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$8;->onAutomaticRuleStatusChanged(ILjava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/notification/NotificationManagerService$8;->onConfigChanged()V
 HSPLcom/android/server/notification/NotificationManagerService$8;->onPolicyChanged()V
 HSPLcom/android/server/notification/NotificationManagerService$8;->onZenModeChanged()V
+PLcom/android/server/notification/NotificationManagerService$8;->removeAutoGroup(Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$8;->removeAutoGroupSummary(ILjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$8;->repost(ILcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService$8;->updateAutogroupSummary(Ljava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService$9$1;-><init>(Lcom/android/server/notification/NotificationManagerService$9;Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+HPLcom/android/server/notification/NotificationManagerService$9$1;->run()V
 HSPLcom/android/server/notification/NotificationManagerService$9;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroup(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService$9;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService$9;->areBubblesAllowed(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->areBubblesAllowedForPackage(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->areNotificationsEnabled(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$9;->canShowBadge(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->cancelAllNotifications(Ljava/lang/String;I)V
+HPLcom/android/server/notification/NotificationManagerService$9;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+HPLcom/android/server/notification/NotificationManagerService$9;->cancelToast(Ljava/lang/String;Landroid/os/IBinder;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->checkPackagePolicyAccess(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->checkPolicyAccess(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->clearData(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationManagerService$9;->createConversationNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Landroid/app/NotificationChannel;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->createNotificationChannelsForPackage(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->enforcePolicyAccess(ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->enforcePolicyAccess(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->enforceSystemOrSystemUI(Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->enforceSystemOrSystemUIOrSamePackage(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
+PLcom/android/server/notification/NotificationManagerService$9;->enqueueTextOrCustomToast(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;IIZ)V
+PLcom/android/server/notification/NotificationManagerService$9;->enqueueTextToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;IILandroid/app/ITransientNotificationCallback;)V
+PLcom/android/server/notification/NotificationManagerService$9;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;II)V
+PLcom/android/server/notification/NotificationManagerService$9;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;IILandroid/app/ITransientNotificationCallback;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->enqueueToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;IILandroid/app/ITransientNotificationCallback;Z)V
+HPLcom/android/server/notification/NotificationManagerService$9;->finishToken(Ljava/lang/String;Landroid/os/IBinder;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$9;->getAllowedAssistantAdjustments(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/notification/NotificationManagerService$9;->getAllowedNotificationAssistant()Landroid/content/ComponentName;
+HPLcom/android/server/notification/NotificationManagerService$9;->getAllowedNotificationAssistantForUser(I)Landroid/content/ComponentName;
+HPLcom/android/server/notification/NotificationManagerService$9;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$9;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
+PLcom/android/server/notification/NotificationManagerService$9;->getBackupPayload(I)[B
+PLcom/android/server/notification/NotificationManagerService$9;->getBlockedAppCount(I)I
+PLcom/android/server/notification/NotificationManagerService$9;->getBlockedChannelCount(Ljava/lang/String;I)I
+HPLcom/android/server/notification/NotificationManagerService$9;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+HPLcom/android/server/notification/NotificationManagerService$9;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$9;->getConversationsForPackage(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$9;->getDeletedChannelCount(Ljava/lang/String;I)I
+PLcom/android/server/notification/NotificationManagerService$9;->getEffectsSuppressor()Landroid/content/ComponentName;
+PLcom/android/server/notification/NotificationManagerService$9;->getEnabledNotificationListenerPackages()Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService$9;->getHistoricalNotifications(Ljava/lang/String;IZ)[Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$9;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
+PLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationChannelsBypassingDnd(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$9;->getNotificationHistory(Ljava/lang/String;)Landroid/app/NotificationHistory;
+HPLcom/android/server/notification/NotificationManagerService$9;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/NotificationManagerService$9;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
+PLcom/android/server/notification/NotificationManagerService$9;->getPackageImportance(Ljava/lang/String;)I
+PLcom/android/server/notification/NotificationManagerService$9;->getPrivateNotificationsAllowed()Z
+PLcom/android/server/notification/NotificationManagerService$9;->getSnoozedNotificationsFromListener(Landroid/service/notification/INotificationListener;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$9;->getZenMode()I
+PLcom/android/server/notification/NotificationManagerService$9;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/NotificationManagerService$9;->getZenRules()Ljava/util/List;
+HPLcom/android/server/notification/NotificationManagerService$9;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->isPackageInForegroundForToast(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$9;->isPackagePaused(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->matchesCallFilter(Landroid/os/Bundle;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$9;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$9;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
 PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroup(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroupSummary(ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->removeAutomaticZenRule(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->removeAutomaticZenRules(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$9;->repost(ILcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->requestBindListener(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$9;->requestBindProvider(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$9;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
+PLcom/android/server/notification/NotificationManagerService$9;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
+PLcom/android/server/notification/NotificationManagerService$9;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
+HPLcom/android/server/notification/NotificationManagerService$9;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$9;->setInterruptionFilter(Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationListenerAccessGranted(Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationManagerService$9;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
+HPLcom/android/server/notification/NotificationManagerService$9;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->setPrivateNotificationsAllowed(Z)V
+PLcom/android/server/notification/NotificationManagerService$9;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService$9;->silenceNotificationSound()V
+PLcom/android/server/notification/NotificationManagerService$9;->unregisterListener(Landroid/service/notification/INotificationListener;I)V
 HPLcom/android/server/notification/NotificationManagerService$9;->updateAutogroupSummary(Ljava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService$9;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
+PLcom/android/server/notification/NotificationManagerService$9;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
 HSPLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
 PLcom/android/server/notification/NotificationManagerService$Archive;->descendingIterator()Ljava/util/Iterator;
 PLcom/android/server/notification/NotificationManagerService$Archive;->getArray(I)[Landroid/service/notification/StatusBarNotification;
@@ -23179,6 +25166,7 @@
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$7900(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
 HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8100(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8200(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8500(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8600(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8700(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
 HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
@@ -23254,15 +25242,23 @@
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10400(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10400(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10400(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10400(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10500(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10500(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10500(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10500(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10600(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10600(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10600(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10600(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10800(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10800(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10800(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10900(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$10900(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$11000(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$11100(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
@@ -23345,24 +25341,31 @@
 HSPLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/notification/NotificationRecordLogger;)V
 HSPLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/notification/NotificationRecordLogger;Lcom/android/internal/logging/InstanceIdSequence;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$100(Lcom/android/server/notification/NotificationManagerService;)Landroid/util/AtomicFile;
+PLcom/android/server/notification/NotificationManagerService;->access$1000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/logging/MetricsLogger;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
 PLcom/android/server/notification/NotificationManagerService;->access$10000(Lcom/android/server/notification/NotificationManagerService;I)V
+PLcom/android/server/notification/NotificationManagerService;->access$10000(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$10000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+HPLcom/android/server/notification/NotificationManagerService;->access$10000(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$10100(Lcom/android/server/notification/NotificationManagerService;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$10100(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$10100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+HPLcom/android/server/notification/NotificationManagerService;->access$10100(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$10200(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$10200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
 HSPLcom/android/server/notification/NotificationManagerService;->access$10200(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+HPLcom/android/server/notification/NotificationManagerService;->access$10300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
 HPLcom/android/server/notification/NotificationManagerService;->access$10300(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService;->access$10400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
 PLcom/android/server/notification/NotificationManagerService;->access$10500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
 PLcom/android/server/notification/NotificationManagerService;->access$10600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+HPLcom/android/server/notification/NotificationManagerService;->access$1100(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/ActivityManager;
 HPLcom/android/server/notification/NotificationManagerService;->access$1100(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
 HPLcom/android/server/notification/NotificationManagerService;->access$1100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
 HPLcom/android/server/notification/NotificationManagerService;->access$1200(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
-PLcom/android/server/notification/NotificationManagerService;->access$1200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
-PLcom/android/server/notification/NotificationManagerService;->access$1300(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
-PLcom/android/server/notification/NotificationManagerService;->access$1400(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
+HPLcom/android/server/notification/NotificationManagerService;->access$1200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
+HPLcom/android/server/notification/NotificationManagerService;->access$1300(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
+HPLcom/android/server/notification/NotificationManagerService;->access$1400(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/PreferencesHelper;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
@@ -23373,15 +25376,17 @@
 HSPLcom/android/server/notification/NotificationManagerService;->access$1700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
 PLcom/android/server/notification/NotificationManagerService;->access$1800()Ljava/lang/String;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
-PLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
+HPLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
 PLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$1900()I
 PLcom/android/server/notification/NotificationManagerService;->access$1900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
 PLcom/android/server/notification/NotificationManagerService;->access$1900(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$200(Lcom/android/server/notification/NotificationManagerService;Ljava/io/OutputStream;ZI)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$2000()I
+PLcom/android/server/notification/NotificationManagerService;->access$2000()Ljava/lang/String;
 HSPLcom/android/server/notification/NotificationManagerService;->access$2100()I
 HPLcom/android/server/notification/NotificationManagerService;->access$2100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
+PLcom/android/server/notification/NotificationManagerService;->access$2100(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$2200()I
 HSPLcom/android/server/notification/NotificationManagerService;->access$2200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
 HSPLcom/android/server/notification/NotificationManagerService;->access$2200(Lcom/android/server/notification/NotificationManagerService;)V
@@ -23424,50 +25429,79 @@
 PLcom/android/server/notification/NotificationManagerService;->access$3200(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$3300(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/ActivityManager;
 HPLcom/android/server/notification/NotificationManagerService;->access$3300(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$3300(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$3400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/compat/IPlatformCompat;
+HPLcom/android/server/notification/NotificationManagerService;->access$3400(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$3400(Lcom/android/server/notification/NotificationManagerService;ILjava/util/List;)I
 PLcom/android/server/notification/NotificationManagerService;->access$3500(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/Handler;
+PLcom/android/server/notification/NotificationManagerService;->access$3500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/compat/IPlatformCompat;
+PLcom/android/server/notification/NotificationManagerService;->access$3500(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$3600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
 PLcom/android/server/notification/NotificationManagerService;->access$3600(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/compat/IPlatformCompat;
+PLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
 HPLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/Handler;
+PLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
 PLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;I)V
+PLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/ActivityTaskManagerInternal;
 PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;I)V
+PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/ActivityTaskManagerInternal;
 HPLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
+HPLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
 PLcom/android/server/notification/NotificationManagerService;->access$402(Lcom/android/server/notification/NotificationManagerService;Z)Z
 HSPLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/ActivityTaskManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;I)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$4200(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
+HPLcom/android/server/notification/NotificationManagerService;->access$4200(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4200(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4200(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
 HPLcom/android/server/notification/NotificationManagerService;->access$4200(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;)Z
+HPLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
 HPLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
+PLcom/android/server/notification/NotificationManagerService;->access$4500(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
 PLcom/android/server/notification/NotificationManagerService;->access$4500(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4500(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$4500(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
 PLcom/android/server/notification/NotificationManagerService;->access$4600(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/LauncherApps;
+PLcom/android/server/notification/NotificationManagerService;->access$4600(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$4600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 HSPLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ShortcutHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$4800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$4900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$Archive;
+PLcom/android/server/notification/NotificationManagerService;->access$4900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ShortcutHelper;
+HPLcom/android/server/notification/NotificationManagerService;->access$4900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$4900(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$4900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$500(Lcom/android/server/notification/NotificationManagerService;)V
@@ -23475,45 +25509,57 @@
 HSPLcom/android/server/notification/NotificationManagerService;->access$5000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$5000(Lcom/android/server/notification/NotificationManagerService;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$5000(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/AppOpsManager;
 PLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$Archive;
 PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;)I
 PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$Archive;
 PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;)I
 PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+HPLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;)I
 PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$5500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5600(Lcom/android/server/notification/NotificationManagerService;)I
 PLcom/android/server/notification/NotificationManagerService;->access$5600(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$5600(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5600(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5700(Lcom/android/server/notification/NotificationManagerService;)I
+PLcom/android/server/notification/NotificationManagerService;->access$5700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService;->access$5700(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5800(Lcom/android/server/notification/NotificationManagerService;)I
 PLcom/android/server/notification/NotificationManagerService;->access$5800(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$5800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->access$5800(Lcom/android/server/notification/NotificationManagerService;Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5900(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
 PLcom/android/server/notification/NotificationManagerService;->access$5900(Lcom/android/server/notification/NotificationManagerService;Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$5900(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
-PLcom/android/server/notification/NotificationManagerService;->access$600(Lcom/android/server/notification/NotificationManagerService;)V
+HPLcom/android/server/notification/NotificationManagerService;->access$600(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$6000(Lcom/android/server/notification/NotificationManagerService;)I
+PLcom/android/server/notification/NotificationManagerService;->access$6000(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
 PLcom/android/server/notification/NotificationManagerService;->access$6000(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$6000(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;)I
+PLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/admin/DevicePolicyManagerInternal;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
@@ -23525,66 +25571,93 @@
 HSPLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HPLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
+PLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
 PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
+PLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
 PLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;)Z
 HSPLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
+PLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HPLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
 PLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6800(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
+PLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HSPLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 PLcom/android/server/notification/NotificationManagerService;->access$6900(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
+PLcom/android/server/notification/NotificationManagerService;->access$700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
 HPLcom/android/server/notification/NotificationManagerService;->access$700(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
 HSPLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/util/function/TriPredicate;
 HPLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
 PLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
 HPLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 HSPLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
 PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
+PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
+PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIZLjava/lang/String;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
 PLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
 PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$7400(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIZLjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
 PLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIZLjava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$7700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 HSPLcom/android/server/notification/NotificationManagerService;->access$7700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
 PLcom/android/server/notification/NotificationManagerService;->access$7700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$7700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
@@ -23596,19 +25669,24 @@
 HSPLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/logging/MetricsLogger;
+PLcom/android/server/notification/NotificationManagerService;->access$800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
 PLcom/android/server/notification/NotificationManagerService;->access$800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
 PLcom/android/server/notification/NotificationManagerService;->access$800(Lcom/android/server/notification/NotificationManagerService;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$8000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 HPLcom/android/server/notification/NotificationManagerService;->access$8000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
 PLcom/android/server/notification/NotificationManagerService;->access$8000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+HPLcom/android/server/notification/NotificationManagerService;->access$8000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 HSPLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 HSPLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
 HPLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
 HPLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
 PLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$8200(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
 PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/Binder;
@@ -23616,6 +25694,8 @@
 PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
+PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;I)V
+PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->access$8302(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Binder;)Landroid/os/Binder;
 PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;)Landroid/net/Uri;
@@ -23625,7 +25705,9 @@
 HPLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
+PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
 PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$8402(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Binder;)Landroid/os/Binder;
 PLcom/android/server/notification/NotificationManagerService;->access$8500(Lcom/android/server/notification/NotificationManagerService;)Landroid/media/AudioAttributes;
 PLcom/android/server/notification/NotificationManagerService;->access$8500(Lcom/android/server/notification/NotificationManagerService;)Landroid/net/Uri;
@@ -23639,9 +25721,11 @@
 HPLcom/android/server/notification/NotificationManagerService;->access$8600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
 HPLcom/android/server/notification/NotificationManagerService;->access$8600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
 HPLcom/android/server/notification/NotificationManagerService;->access$8600(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$8600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
 PLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;)F
 PLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/Binder;
+PLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/logging/InstanceIdSequence;
 PLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
 HPLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
 PLcom/android/server/notification/NotificationManagerService;->access$8700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
@@ -23659,18 +25743,21 @@
 PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/Binder;
 PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/internal/logging/InstanceIdSequence;
 PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->access$8900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$8902(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Binder;)Landroid/os/Binder;
 PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/ActivityManager;
 PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationRecordLogger;
+PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;)F
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;)Landroid/media/AudioAttributes;
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;)Landroid/net/Uri;
+PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;I)V
-PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
+HPLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->access$9000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->access$9100(Lcom/android/server/notification/NotificationManagerService;)F
@@ -23700,15 +25787,19 @@
 PLcom/android/server/notification/NotificationManagerService;->access$9600(Lcom/android/server/notification/NotificationManagerService;I)V
 HPLcom/android/server/notification/NotificationManagerService;->access$9600(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$9600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+PLcom/android/server/notification/NotificationManagerService;->access$9600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/toast/ToastRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;I)V
 HPLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+PLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/toast/ToastRecord;)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$9700(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$9800(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService;->access$9800(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
 HPLcom/android/server/notification/NotificationManagerService;->access$9800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
 HPLcom/android/server/notification/NotificationManagerService;->access$9800(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 PLcom/android/server/notification/NotificationManagerService;->access$9900(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$9900(Lcom/android/server/notification/NotificationManagerService;I)V
 HSPLcom/android/server/notification/NotificationManagerService;->access$9900(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 HPLcom/android/server/notification/NotificationManagerService;->addAutoGroupAdjustment(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->addAutogroupKeyLocked(Ljava/lang/String;)V
@@ -23733,7 +25824,9 @@
 HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
 HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 HPLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenByListLocked(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenByListLocked(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZZLcom/android/server/notification/NotificationManagerService$FlagChecker;I)V
 HPLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;I)V
 HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 HSPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)V
@@ -23791,6 +25884,7 @@
 HSPLcom/android/server/notification/NotificationManagerService;->getRealUserId(I)I
 HPLcom/android/server/notification/NotificationManagerService;->getShortcutInfo(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ShortcutInfo;
 HPLcom/android/server/notification/NotificationManagerService;->getSuppressors()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationManagerService;->getToastRecord(IILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
 HPLcom/android/server/notification/NotificationManagerService;->getToastRecord(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/app/ITransientNotification;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)Lcom/android/server/notification/toast/ToastRecord;
 HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
 PLcom/android/server/notification/NotificationManagerService;->handleDurationReached(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
@@ -23814,6 +25908,8 @@
 HPLcom/android/server/notification/NotificationManagerService;->indexOfToastLocked(Ljava/lang/String;Landroid/os/IBinder;)I
 HSPLcom/android/server/notification/NotificationManagerService;->init(Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/RankingHandler;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationHistoryManager;)V
 HSPLcom/android/server/notification/NotificationManagerService;->init(Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/RankingHandler;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/StatsManager;)V
+PLcom/android/server/notification/NotificationManagerService;->init(Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/RankingHandler;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Lcom/android/server/wm/ActivityTaskManagerInternal;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/StatsManager;)V
+PLcom/android/server/notification/NotificationManagerService;->init(Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/RankingHandler;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Lcom/android/server/wm/ActivityTaskManagerInternal;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationHistoryManager;Landroid/app/StatsManager;Landroid/telephony/TelephonyManager;)V
 HSPLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;)Z
 HSPLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationUsageStats;)Z
 HSPLcom/android/server/notification/NotificationManagerService;->isCallerAndroid(Ljava/lang/String;I)Z
@@ -23837,7 +25933,9 @@
 HPLcom/android/server/notification/NotificationManagerService;->keepProcessAliveIfNeededLocked(I)V
 HPLcom/android/server/notification/NotificationManagerService;->lambda$doChannelWarningToast$3$NotificationManagerService(Ljava/lang/CharSequence;)V
 PLcom/android/server/notification/NotificationManagerService;->lambda$doChannelWarningToast$4$NotificationManagerService(Ljava/lang/CharSequence;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$onStart$0$NotificationManagerService(ILcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->lambda$onStopUser$2$NotificationManagerService(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$onStopUser$3$NotificationManagerService(Landroid/content/pm/UserInfo;)V
 PLcom/android/server/notification/NotificationManagerService;->lambda$onUnlockUser$1$NotificationManagerService(Landroid/content/pm/UserInfo;)V
 PLcom/android/server/notification/NotificationManagerService;->lambda$onUnlockUser$2$NotificationManagerService(Landroid/content/pm/UserInfo;)V
 HSPLcom/android/server/notification/NotificationManagerService;->lambda$playVibration$4$NotificationManagerService(Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
@@ -23849,6 +25947,7 @@
 PLcom/android/server/notification/NotificationManagerService;->logBubbleError(Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/notification/NotificationManagerService;->logSmartSuggestionsVisible(Lcom/android/server/notification/NotificationRecord;I)V
 HSPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+PLcom/android/server/notification/NotificationManagerService;->maybeNotifyChannelGroupOwner(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;Landroid/app/NotificationChannelGroup;)V
 PLcom/android/server/notification/NotificationManagerService;->maybeNotifyChannelOwner(Ljava/lang/String;ILandroid/app/NotificationChannel;Landroid/app/NotificationChannel;)V
 HSPLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->notificationMatchesCurrentProfiles(Lcom/android/server/notification/NotificationRecord;I)Z
@@ -23897,6 +25996,7 @@
 HSPLcom/android/server/notification/NotificationManagerService;->updateLightsLocked()V
 PLcom/android/server/notification/NotificationManagerService;->updateListenerHintsLocked()V
 HPLcom/android/server/notification/NotificationManagerService;->updateNotificationBubbleFlags(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->updateNotificationBubbleFlags(Lcom/android/server/notification/NotificationRecord;Z)V
 PLcom/android/server/notification/NotificationManagerService;->updateNotificationChannelInt(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
 HSPLcom/android/server/notification/NotificationManagerService;->updateNotificationPulse()V
 HSPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
@@ -23982,6 +26082,7 @@
 HPLcom/android/server/notification/NotificationRecord;->isAudioAttributesUsage(I)Z
 HPLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
 HPLcom/android/server/notification/NotificationRecord;->isConversation()Z
+HPLcom/android/server/notification/NotificationRecord;->isFlagBubbleRemoved()Z
 HSPLcom/android/server/notification/NotificationRecord;->isHidden()Z
 HSPLcom/android/server/notification/NotificationRecord;->isIntercepted()Z
 HSPLcom/android/server/notification/NotificationRecord;->isInterruptive()Z
@@ -23993,7 +26094,7 @@
 HSPLcom/android/server/notification/NotificationRecord;->lambda$calculateGrantableUris$0$NotificationRecord(Landroid/net/Uri;)V
 PLcom/android/server/notification/NotificationRecord;->recordDirectReplied()V
 PLcom/android/server/notification/NotificationRecord;->recordDismissalSentiment(I)V
-PLcom/android/server/notification/NotificationRecord;->recordDismissalSurface(I)V
+HPLcom/android/server/notification/NotificationRecord;->recordDismissalSurface(I)V
 PLcom/android/server/notification/NotificationRecord;->recordExpanded()V
 PLcom/android/server/notification/NotificationRecord;->recordSnoozed()V
 PLcom/android/server/notification/NotificationRecord;->recordViewedSettings()V
@@ -24003,6 +26104,7 @@
 HSPLcom/android/server/notification/NotificationRecord;->setAuthoritativeRank(I)V
 HSPLcom/android/server/notification/NotificationRecord;->setContactAffinity(F)V
 PLcom/android/server/notification/NotificationRecord;->setEditChoicesBeforeSending(Z)V
+HPLcom/android/server/notification/NotificationRecord;->setFlagBubbleRemoved(Z)V
 HSPLcom/android/server/notification/NotificationRecord;->setGlobalSortKey(Ljava/lang/String;)V
 HSPLcom/android/server/notification/NotificationRecord;->setHidden(Z)V
 HSPLcom/android/server/notification/NotificationRecord;->setIntercepted(Z)Z
@@ -24013,7 +26115,7 @@
 HPLcom/android/server/notification/NotificationRecord;->setOverrideGroupKey(Ljava/lang/String;)V
 HSPLcom/android/server/notification/NotificationRecord;->setPackagePriority(I)V
 HSPLcom/android/server/notification/NotificationRecord;->setPackageVisibilityOverride(I)V
-PLcom/android/server/notification/NotificationRecord;->setPostSilently(Z)V
+HPLcom/android/server/notification/NotificationRecord;->setPostSilently(Z)V
 HSPLcom/android/server/notification/NotificationRecord;->setRecentlyIntrusive(Z)V
 HSPLcom/android/server/notification/NotificationRecord;->setRecordedInterruption(Z)V
 HPLcom/android/server/notification/NotificationRecord;->setSeen()V
@@ -24039,14 +26141,18 @@
 HPLcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent;->values()[Lcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent;
 PLcom/android/server/notification/NotificationRecordLogger$NotificationEvent;-><clinit>()V
 PLcom/android/server/notification/NotificationRecordLogger$NotificationEvent;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationRecordLogger$NotificationEvent;->fromExpanded(ZZ)Lcom/android/server/notification/NotificationRecordLogger$NotificationEvent;
 PLcom/android/server/notification/NotificationRecordLogger$NotificationEvent;->fromVisibility(Z)Lcom/android/server/notification/NotificationRecordLogger$NotificationEvent;
 PLcom/android/server/notification/NotificationRecordLogger$NotificationEvent;->getId()I
+PLcom/android/server/notification/NotificationRecordLogger$NotificationPanelEvent;-><clinit>()V
+PLcom/android/server/notification/NotificationRecordLogger$NotificationPanelEvent;-><init>(Ljava/lang/String;II)V
+HPLcom/android/server/notification/NotificationRecordLogger$NotificationPanelEvent;->getId()I
 HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;-><init>(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getAssistantHash()I
 PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getChannelIdHash()I
-PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getGroupIdHash()I
-PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getInstanceId()I
-PLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNotificationIdHash()I
+HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getGroupIdHash()I
+HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getInstanceId()I
+HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNotificationIdHash()I
 HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople()I
 HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getNumPeople(Landroid/os/Bundle;)I
 HPLcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;->getStyle()I
@@ -24062,10 +26168,13 @@
 PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvents;-><clinit>()V
 PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvents;-><init>(Ljava/lang/String;II)V
 PLcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvents;->getId()I
+PLcom/android/server/notification/NotificationRecordLogger;->logNotificationCancelled(Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationRecordLogger;->logNotificationVisibility(Lcom/android/server/notification/NotificationRecord;Z)V
 HPLcom/android/server/notification/NotificationRecordLogger;->smallHash(I)I
 HPLcom/android/server/notification/NotificationRecordLogger;->smallHash(Ljava/lang/String;)I
 HSPLcom/android/server/notification/NotificationRecordLoggerImpl;-><init>()V
-PLcom/android/server/notification/NotificationRecordLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationRecordLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;)V
+HPLcom/android/server/notification/NotificationRecordLoggerImpl;->log(Lcom/android/internal/logging/UiEventLogger$UiEventEnum;Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationRecordLoggerImpl;->logNotificationCancelled(Lcom/android/server/notification/NotificationRecord;II)V
 HPLcom/android/server/notification/NotificationRecordLoggerImpl;->logNotificationReported(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
 PLcom/android/server/notification/NotificationRecordLoggerImpl;->logNotificationVisibility(Lcom/android/server/notification/NotificationRecord;Z)V
@@ -24187,6 +26296,7 @@
 HSPLcom/android/server/notification/PreferencesHelper;->getChannelLog(Landroid/app/NotificationChannel;Ljava/lang/String;)Landroid/metrics/LogMaker;
 HSPLcom/android/server/notification/PreferencesHelper;->getConversationNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZZ)Landroid/app/NotificationChannel;
 PLcom/android/server/notification/PreferencesHelper;->getConversations(Ljava/lang/String;I)Ljava/util/ArrayList;
+HPLcom/android/server/notification/PreferencesHelper;->getConversations(Z)Ljava/util/ArrayList;
 HPLcom/android/server/notification/PreferencesHelper;->getDeletedChannelCount(Ljava/lang/String;I)I
 HSPLcom/android/server/notification/PreferencesHelper;->getImportance(Ljava/lang/String;I)I
 HSPLcom/android/server/notification/PreferencesHelper;->getIsAppImportanceLocked(Ljava/lang/String;I)Z
@@ -24196,6 +26306,7 @@
 HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
 HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroups(Ljava/lang/String;IZZZ)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelsBypassingDnd(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
 HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;IIIIIZZ)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
 HPLcom/android/server/notification/PreferencesHelper;->getPackageBans()Ljava/util/Map;
@@ -24218,6 +26329,7 @@
 HSPLcom/android/server/notification/PreferencesHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
 PLcom/android/server/notification/PreferencesHelper;->setEnabled(Ljava/lang/String;IZ)V
 PLcom/android/server/notification/PreferencesHelper;->setImportance(Ljava/lang/String;II)V
+PLcom/android/server/notification/PreferencesHelper;->setShowBadge(Ljava/lang/String;IZ)V
 HSPLcom/android/server/notification/PreferencesHelper;->shouldHaveDefaultChannel(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
 PLcom/android/server/notification/PreferencesHelper;->shouldHideSilentStatusIcons()Z
 HSPLcom/android/server/notification/PreferencesHelper;->syncChannelsBypassingDnd(I)V
@@ -24279,6 +26391,13 @@
 HSPLcom/android/server/notification/ScheduleConditionProvider;->saveSnoozedLocked()V
 HSPLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
 HSPLcom/android/server/notification/ScheduleConditionProvider;->updateAlarm(JJ)V
+PLcom/android/server/notification/ShortcutHelper$1;-><init>(Lcom/android/server/notification/ShortcutHelper;)V
+PLcom/android/server/notification/ShortcutHelper;-><init>(Landroid/content/pm/LauncherApps;Lcom/android/server/notification/ShortcutHelper$ShortcutListener;)V
+HPLcom/android/server/notification/ShortcutHelper;->getShortcutInfo(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ShortcutInfo;
+HPLcom/android/server/notification/ShortcutHelper;->getValidShortcutInfo(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ShortcutInfo;
+HPLcom/android/server/notification/ShortcutHelper;->maybeListenForShortcutChangesForBubbles(Lcom/android/server/notification/NotificationRecord;ZLandroid/os/Handler;)V
+HPLcom/android/server/notification/SmallHash;->hash(I)I
+HPLcom/android/server/notification/SmallHash;->hash(Ljava/lang/String;)I
 HSPLcom/android/server/notification/SnoozeHelper$1;-><init>(Lcom/android/server/notification/SnoozeHelper;)V
 PLcom/android/server/notification/SnoozeHelper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/notification/SnoozeHelper;-><clinit>()V
@@ -24299,17 +26418,22 @@
 PLcom/android/server/notification/SnoozeHelper;->getSnoozed()Ljava/util/List;
 HPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
 HSPLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/SnoozeHelper;->lambda$scheduleRepostAtTime$2$SnoozeHelper(Ljava/lang/String;Ljava/lang/String;IJ)V
 HPLcom/android/server/notification/SnoozeHelper;->lambda$writeXml$0(JLorg/xmlpull/v1/XmlSerializer;Ljava/lang/Long;)V
+HPLcom/android/server/notification/SnoozeHelper;->lambda$writeXml$3(JLorg/xmlpull/v1/XmlSerializer;Ljava/lang/Long;)V
 HSPLcom/android/server/notification/SnoozeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;)V
 PLcom/android/server/notification/SnoozeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;J)V
 HSPLcom/android/server/notification/SnoozeHelper;->removeRecord(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Landroid/util/ArrayMap;)Ljava/lang/Object;
+PLcom/android/server/notification/SnoozeHelper;->removeRecordLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Landroid/util/ArrayMap;)Ljava/lang/Object;
 PLcom/android/server/notification/SnoozeHelper;->repost(Ljava/lang/String;I)V
+PLcom/android/server/notification/SnoozeHelper;->repost(Ljava/lang/String;IZ)V
 HPLcom/android/server/notification/SnoozeHelper;->repostGroupSummary(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/notification/SnoozeHelper;->scheduleRepost(Ljava/lang/String;Ljava/lang/String;IJ)V
 PLcom/android/server/notification/SnoozeHelper;->scheduleRepostsForPersistedNotifications(J)V
 PLcom/android/server/notification/SnoozeHelper;->snooze(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/SnoozeHelper;->snooze(Lcom/android/server/notification/NotificationRecord;J)V
 PLcom/android/server/notification/SnoozeHelper;->storeRecord(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Landroid/util/ArrayMap;Ljava/lang/Object;)V
+PLcom/android/server/notification/SnoozeHelper;->storeRecordLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Landroid/util/ArrayMap;Ljava/lang/Object;)V
 PLcom/android/server/notification/SnoozeHelper;->update(ILcom/android/server/notification/NotificationRecord;)V
 HSPLcom/android/server/notification/SnoozeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/notification/SnoozeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/util/ArrayMap;Ljava/lang/String;Lcom/android/server/notification/SnoozeHelper$Inserter;)V
@@ -24344,8 +26468,11 @@
 PLcom/android/server/notification/ValidateNotificationPeople;->access$300(Lcom/android/server/notification/ValidateNotificationPeople;)Landroid/util/LruCache;
 PLcom/android/server/notification/ValidateNotificationPeople;->access$600(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
 PLcom/android/server/notification/ValidateNotificationPeople;->access$700(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
+PLcom/android/server/notification/ValidateNotificationPeople;->access$800(Lcom/android/server/notification/ValidateNotificationPeople;ILjava/lang/String;)Ljava/lang/String;
 PLcom/android/server/notification/ValidateNotificationPeople;->access$800(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Landroid/net/Uri;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
+PLcom/android/server/notification/ValidateNotificationPeople;->access$900(Lcom/android/server/notification/ValidateNotificationPeople;)Lcom/android/server/notification/NotificationUsageStats;
 HPLcom/android/server/notification/ValidateNotificationPeople;->access$900(Lcom/android/server/notification/ValidateNotificationPeople;ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/ValidateNotificationPeople;->addContacts(Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;Landroid/content/Context;Landroid/net/Uri;)V
 HSPLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
 HPLcom/android/server/notification/ValidateNotificationPeople;->getCacheKey(ILjava/lang/String;)Ljava/lang/String;
 PLcom/android/server/notification/ValidateNotificationPeople;->getContactAffinity(Landroid/os/UserHandle;Landroid/os/Bundle;IF)F
@@ -24552,13 +26679,16 @@
 HSPLcom/android/server/notification/ZenModeHelper;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
 HSPLcom/android/server/notification/ZenModeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLjava/lang/Integer;I)V
 HSPLcom/android/server/notification/ZenModeHelper;->zenSeverity(I)I
+PLcom/android/server/notification/toast/CustomToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;ILandroid/os/Binder;I)V
 PLcom/android/server/notification/toast/CustomToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;Landroid/app/ITransientNotification;ILandroid/os/Binder;I)V
 HPLcom/android/server/notification/toast/CustomToastRecord;->hide()V
 HPLcom/android/server/notification/toast/CustomToastRecord;->show()Z
+PLcom/android/server/notification/toast/TextToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/statusbar/StatusBarManagerInternal;IILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)V
 HPLcom/android/server/notification/toast/TextToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/statusbar/StatusBarManagerInternal;ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Binder;ILandroid/app/ITransientNotificationCallback;)V
 HPLcom/android/server/notification/toast/TextToastRecord;->hide()V
 HPLcom/android/server/notification/toast/TextToastRecord;->show()Z
 PLcom/android/server/notification/toast/TextToastRecord;->toString()Ljava/lang/String;
+PLcom/android/server/notification/toast/ToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;Landroid/os/IBinder;ILandroid/os/Binder;I)V
 HPLcom/android/server/notification/toast/ToastRecord;-><init>(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;Landroid/os/IBinder;ILandroid/os/Binder;I)V
 PLcom/android/server/notification/toast/ToastRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
 PLcom/android/server/notification/toast/ToastRecord;->getDuration()I
@@ -24591,6 +26721,7 @@
 HSPLcom/android/server/oemlock/OemLockService;->getOemLock(Landroid/content/Context;)Lcom/android/server/oemlock/OemLock;
 HSPLcom/android/server/oemlock/OemLockService;->onStart()V
 PLcom/android/server/oemlock/OemLockService;->setPersistentDataBlockOemUnlockAllowedBit(Z)V
+PLcom/android/server/oemlock/PersistentDataBlockLock;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/oemlock/VendorLock;-><init>(Landroid/content/Context;Landroid/hardware/oemlock/V1_0/IOemLock;)V
 PLcom/android/server/oemlock/VendorLock;->getLockName()Ljava/lang/String;
 HSPLcom/android/server/oemlock/VendorLock;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
@@ -24603,6 +26734,9 @@
 HPLcom/android/server/oemlock/VendorLock;->toByteArrayList([B)Ljava/util/ArrayList;
 HSPLcom/android/server/om/-$$Lambda$IdmapDaemon$Connection$4U-n0RSv1BPv15mvu8B8zXARcpk;-><init>(Lcom/android/server/om/IdmapDaemon$Connection;)V
 PLcom/android/server/om/-$$Lambda$IdmapDaemon$Connection$4U-n0RSv1BPv15mvu8B8zXARcpk;->run()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$PJzhiOHnyxvsKcpF_77d27eStZs;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$PJzhiOHnyxvsKcpF_77d27eStZs;-><init>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$PJzhiOHnyxvsKcpF_77d27eStZs;->binderDied()V
 HSPLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;-><clinit>()V
 HSPLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;-><init>()V
 PLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;->binderDied()V
@@ -24653,6 +26787,7 @@
 HSPLcom/android/server/om/IdmapDaemon;-><clinit>()V
 HSPLcom/android/server/om/IdmapDaemon;-><init>()V
 HSPLcom/android/server/om/IdmapDaemon;->access$000()Ljava/lang/Object;
+PLcom/android/server/om/IdmapDaemon;->access$000(Lcom/android/server/om/IdmapDaemon;)Ljava/lang/Object;
 HSPLcom/android/server/om/IdmapDaemon;->access$100(Lcom/android/server/om/IdmapDaemon;)Ljava/util/concurrent/atomic/AtomicInteger;
 PLcom/android/server/om/IdmapDaemon;->access$200(Lcom/android/server/om/IdmapDaemon;)Landroid/os/IIdmap2;
 PLcom/android/server/om/IdmapDaemon;->access$202(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;)Landroid/os/IIdmap2;
@@ -24660,13 +26795,16 @@
 HSPLcom/android/server/om/IdmapDaemon;->connect()Lcom/android/server/om/IdmapDaemon$Connection;
 HSPLcom/android/server/om/IdmapDaemon;->createIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
 HSPLcom/android/server/om/IdmapDaemon;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/om/IdmapDaemon;->getIdmapService()Landroid/os/IBinder;
 HSPLcom/android/server/om/IdmapDaemon;->getInstance()Lcom/android/server/om/IdmapDaemon;
 HSPLcom/android/server/om/IdmapDaemon;->lambda$connect$0()Landroid/os/IBinder;
 PLcom/android/server/om/IdmapDaemon;->lambda$connect$1()V
+PLcom/android/server/om/IdmapDaemon;->lambda$getIdmapService$0()V
 PLcom/android/server/om/IdmapDaemon;->removeIdmap(Ljava/lang/String;I)Z
 HSPLcom/android/server/om/IdmapDaemon;->startIdmapService()V
 PLcom/android/server/om/IdmapDaemon;->stopIdmapService()V
 HSPLcom/android/server/om/IdmapDaemon;->verifyIdmap(Ljava/lang/String;IZI)Z
+PLcom/android/server/om/IdmapDaemon;->verifyIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Z
 HSPLcom/android/server/om/IdmapManager;-><clinit>()V
 HSPLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;)V
 HSPLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/om/OverlayableInfoCallback;)V
@@ -24714,13 +26852,17 @@
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->cachePackageInfo(Ljava/lang/String;ILandroid/content/pm/PackageInfo;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->doesTargetDefineOverlayable(Ljava/lang/String;I)Z
 PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->dump(Ljava/io/PrintWriter;Lcom/android/server/om/DumpState;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->enforcePermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->forgetPackageInfo(Ljava/lang/String;I)V
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getCachedPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getNamedActors()Ljava/util/Map;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getOverlayPackages(I)Ljava/util/List;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getOverlayableForTarget(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/om/OverlayableInfo;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->getPackagesForUid(I)[Ljava/lang/String;
 HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelperImpl;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
 HSPLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
 HSPLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
@@ -24823,6 +26965,7 @@
 HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$300(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
 HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
 HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Z)Z
 HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
 HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
 PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Z)Z
@@ -24914,11 +27057,15 @@
 PLcom/android/server/os/BugreportManagerServiceImpl;->access$000(Lcom/android/server/os/BugreportManagerServiceImpl;)Ljava/lang/Object;
 PLcom/android/server/os/BugreportManagerServiceImpl;->cancelBugreport()V
 PLcom/android/server/os/BugreportManagerServiceImpl;->ensureIsPrimaryUser()V
+PLcom/android/server/os/BugreportManagerServiceImpl;->getDumpstateBinderServiceLocked()Landroid/os/IDumpstate;
 PLcom/android/server/os/BugreportManagerServiceImpl;->isDumpstateBinderServiceRunningLocked()Z
+PLcom/android/server/os/BugreportManagerServiceImpl;->logAndThrow(Ljava/lang/String;)V
 PLcom/android/server/os/BugreportManagerServiceImpl;->reportError(Landroid/os/IDumpstateListener;I)V
 PLcom/android/server/os/BugreportManagerServiceImpl;->startAndGetDumpstateBinderServiceLocked()Landroid/os/IDumpstate;
 PLcom/android/server/os/BugreportManagerServiceImpl;->startBugreport(ILjava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;ILandroid/os/IDumpstateListener;)V
+PLcom/android/server/os/BugreportManagerServiceImpl;->startBugreport(ILjava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;ILandroid/os/IDumpstateListener;Z)V
 PLcom/android/server/os/BugreportManagerServiceImpl;->startBugreportLocked(ILjava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;ILandroid/os/IDumpstateListener;)V
+PLcom/android/server/os/BugreportManagerServiceImpl;->startBugreportLocked(ILjava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;ILandroid/os/IDumpstateListener;Z)V
 PLcom/android/server/os/BugreportManagerServiceImpl;->validateBugreportMode(I)V
 HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
@@ -24947,6 +27094,12 @@
 HSPLcom/android/server/people/PeopleServiceInternal;-><init>()V
 PLcom/android/server/people/data/-$$Lambda$DataMaintenanceService$pZUzfdXzCXsv1D-xTvqArhV-TxI;-><init>(Lcom/android/server/people/data/DataMaintenanceService;ILandroid/app/job/JobParameters;)V
 PLcom/android/server/people/data/-$$Lambda$DataMaintenanceService$pZUzfdXzCXsv1D-xTvqArhV-TxI;->run()V
+PLcom/android/server/people/data/-$$Lambda$DataManager$1AVkzisn06kivBI0ljIdzW4xBFk;-><init>(Ljava/util/Set;)V
+HPLcom/android/server/people/data/-$$Lambda$DataManager$1AVkzisn06kivBI0ljIdzW4xBFk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$2PaGggbKiSnqmSoymbF0v-MHUN8;-><init>(Landroid/os/CancellationSignal;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$6pZUUZdUbBofvEMr6GDYvsQO9wE;-><init>(Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$9_cqwu_v_T9xr29OyOFsOM1JRW4;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$9_cqwu_v_T9xr29OyOFsOM1JRW4;->run()V
 PLcom/android/server/people/data/-$$Lambda$DataManager$CallLogContentObserver$F795P2fXEZGvzLUih_SIpFcsyic;-><init>(Ljava/lang/String;Lcom/android/server/people/data/Event;)V
 PLcom/android/server/people/data/-$$Lambda$DataManager$CallLogContentObserver$F795P2fXEZGvzLUih_SIpFcsyic;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/people/data/-$$Lambda$DataManager$ContactsContentObserver$wv19gIIQIhM79fILSTcdGXPmrF0;-><init>(Landroid/net/Uri;Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)V
@@ -24964,6 +27117,12 @@
 PLcom/android/server/people/data/-$$Lambda$DataManager$UsageStatsQueryRunnable$XYAxcpC9us0TDcNCO-NIcs5ajqQ;-><init>(Lcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;I)V
 HPLcom/android/server/people/data/-$$Lambda$DataManager$UsageStatsQueryRunnable$XYAxcpC9us0TDcNCO-NIcs5ajqQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/people/data/-$$Lambda$DataManager$bD3rtmmxoewwfd8otWlj3817k9I;-><init>(Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$cNwnFF2X1aev7d3V9cSDCsqMMMk;-><init>(Landroid/os/CancellationSignal;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$ceDzy5VXjXt37sO3OJ89MHniTpY;-><init>(Lcom/android/server/people/data/DataManager;I)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$ceDzy5VXjXt37sO3OJ89MHniTpY;->run()V
+PLcom/android/server/people/data/-$$Lambda$DataManager$ePfoU6xce6fV5ihfbqLOLz2ubJM;-><init>(Ljava/util/Set;)V
+HPLcom/android/server/people/data/-$$Lambda$DataManager$ePfoU6xce6fV5ihfbqLOLz2ubJM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/people/data/-$$Lambda$DataManager$lf-NuHvKPG28h9B0DUOJdjK4FJY;-><init>(Ljava/util/Set;Ljava/util/List;)V
 PLcom/android/server/people/data/-$$Lambda$DataManager$uJBSlUElmiK7KhI29TaNgrYadmw;-><init>(Ljava/util/Set;)V
 HPLcom/android/server/people/data/-$$Lambda$DataManager$uJBSlUElmiK7KhI29TaNgrYadmw;->accept(Ljava/lang/Object;)V
 PLcom/android/server/people/data/-$$Lambda$DataManager$wv7ooDmmkMQmE1mC-w4Rx8IZ8rc;-><init>(Landroid/os/CancellationSignal;)V
@@ -24980,12 +27139,13 @@
 HPLcom/android/server/people/data/CallLogQueryHelper;->querySince(J)Z
 PLcom/android/server/people/data/CallLogQueryHelper;->validateEvent(Ljava/lang/String;JI)Z
 HPLcom/android/server/people/data/ContactsQueryHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/people/data/ContactsQueryHelper;->getContactUri()Landroid/net/Uri;
+HPLcom/android/server/people/data/ContactsQueryHelper;->getContactUri()Landroid/net/Uri;
 HPLcom/android/server/people/data/ContactsQueryHelper;->queryContact(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Z
 HPLcom/android/server/people/data/ContactsQueryHelper;->queryPhoneNumber(Ljava/lang/String;)Z
 HPLcom/android/server/people/data/ContactsQueryHelper;->querySince(J)Z
 PLcom/android/server/people/data/DataMaintenanceService;-><clinit>()V
 PLcom/android/server/people/data/DataMaintenanceService;-><init>()V
+PLcom/android/server/people/data/DataMaintenanceService;->cancelJob(Landroid/content/Context;I)V
 PLcom/android/server/people/data/DataMaintenanceService;->getJobId(I)I
 PLcom/android/server/people/data/DataMaintenanceService;->getUserId(I)I
 PLcom/android/server/people/data/DataMaintenanceService;->lambda$onStartJob$0$DataMaintenanceService(ILandroid/app/job/JobParameters;)V
@@ -24999,10 +27159,10 @@
 PLcom/android/server/people/data/DataManager$CallLogContentObserver;->lambda$accept$0(Ljava/lang/String;Lcom/android/server/people/data/Event;Lcom/android/server/people/data/UserData;)V
 PLcom/android/server/people/data/DataManager$CallLogContentObserver;->onChange(Z)V
 HPLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;-><init>(Lcom/android/server/people/data/DataManager$ContactsContentObserver;)V
-PLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;-><init>(Lcom/android/server/people/data/DataManager$ContactsContentObserver;Lcom/android/server/people/data/DataManager$1;)V
+HPLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;-><init>(Lcom/android/server/people/data/DataManager$ContactsContentObserver;Lcom/android/server/people/data/DataManager$1;)V
 PLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;->access$1100(Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)Lcom/android/server/people/data/ConversationInfo;
 PLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;->access$1200(Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)Lcom/android/server/people/data/ConversationInfo;
-PLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;->access$1300(Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)Lcom/android/server/people/data/ConversationInfo;
+HPLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;->access$1300(Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)Lcom/android/server/people/data/ConversationInfo;
 PLcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;->access$900(Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;)Lcom/android/server/people/data/ConversationInfo;
 PLcom/android/server/people/data/DataManager$ContactsContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;)V
 PLcom/android/server/people/data/DataManager$ContactsContentObserver;-><init>(Lcom/android/server/people/data/DataManager;Landroid/os/Handler;Lcom/android/server/people/data/DataManager$1;)V
@@ -25082,6 +27242,7 @@
 PLcom/android/server/people/data/DataManager;->access$800(Lcom/android/server/people/data/DataManager;I)Lcom/android/server/people/data/UserData;
 PLcom/android/server/people/data/DataManager;->access$900(Lcom/android/server/people/data/DataManager;)Landroid/content/Context;
 HSPLcom/android/server/people/data/DataManager;->access$900(Lcom/android/server/people/data/DataManager;)Lcom/android/server/people/data/DataManager$Injector;
+PLcom/android/server/people/data/DataManager;->cleanupUser(I)V
 PLcom/android/server/people/data/DataManager;->forAllPackages(Ljava/util/function/Consumer;)V
 HPLcom/android/server/people/data/DataManager;->forAllUnlockedUsers(Ljava/util/function/Consumer;)V
 HPLcom/android/server/people/data/DataManager;->getEventHistoryIfEligible(Landroid/service/notification/StatusBarNotification;)Lcom/android/server/people/data/EventHistoryImpl;
@@ -25091,13 +27252,19 @@
 HPLcom/android/server/people/data/DataManager;->getUnlockedUserData(I)Lcom/android/server/people/data/UserData;
 HSPLcom/android/server/people/data/DataManager;->initialize()V
 PLcom/android/server/people/data/DataManager;->isPersonShortcut(Landroid/content/pm/ShortcutInfo;)Z
+PLcom/android/server/people/data/DataManager;->lambda$onUserStopping$1$DataManager(I)V
+PLcom/android/server/people/data/DataManager;->lambda$onUserUnlocked$0$DataManager(I)V
 HPLcom/android/server/people/data/DataManager;->lambda$pruneUninstalledPackageData$1(Ljava/util/Set;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/people/data/DataManager;->lambda$pruneUninstalledPackageData$2(Ljava/util/Set;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/people/data/DataManager;->lambda$pruneUninstalledPackageData$3(Ljava/util/Set;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HPLcom/android/server/people/data/DataManager;->onShortcutAddedOrUpdated(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/people/data/DataManager;->onUserStopped(I)V
+PLcom/android/server/people/data/DataManager;->onUserStopping(I)V
 PLcom/android/server/people/data/DataManager;->onUserUnlocked(I)V
 PLcom/android/server/people/data/DataManager;->pruneDataForUser(ILandroid/os/CancellationSignal;)V
 PLcom/android/server/people/data/DataManager;->pruneUninstalledPackageData(Lcom/android/server/people/data/UserData;)V
 HPLcom/android/server/people/data/DataManager;->queryUsageStatsService(IJJ)V
+PLcom/android/server/people/data/DataManager;->setupUser(I)V
 PLcom/android/server/people/data/DataManager;->updateDefaultDialer(Lcom/android/server/people/data/UserData;)V
 PLcom/android/server/people/data/DataManager;->updateDefaultSmsApp(Lcom/android/server/people/data/UserData;)V
 PLcom/android/server/people/data/Event$Builder;-><init>(JI)V
@@ -25129,6 +27296,7 @@
 HPLcom/android/server/people/data/SmsQueryHelper;->validateEvent(Ljava/lang/String;JI)Z
 PLcom/android/server/people/data/UsageStatsQueryHelper;-><init>(ILjava/util/function/Function;)V
 HPLcom/android/server/people/data/UsageStatsQueryHelper;->getLastEventTimestamp()J
+PLcom/android/server/people/data/UsageStatsQueryHelper;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
 HPLcom/android/server/people/data/UsageStatsQueryHelper;->querySince(J)Z
 PLcom/android/server/people/data/UserData;-><clinit>()V
 PLcom/android/server/people/data/UserData;-><init>(I)V
@@ -25136,12 +27304,13 @@
 PLcom/android/server/people/data/UserData;-><init>(ILjava/util/concurrent/ScheduledExecutorService;Lcom/android/server/people/data/ContactsQueryHelper;)V
 PLcom/android/server/people/data/UserData;->deletePackageData(Ljava/lang/String;)V
 HPLcom/android/server/people/data/UserData;->forAllPackages(Ljava/util/function/Consumer;)V
-PLcom/android/server/people/data/UserData;->getBackupPayload()[B
+HPLcom/android/server/people/data/UserData;->getBackupPayload()[B
 PLcom/android/server/people/data/UserData;->getDefaultDialer()Lcom/android/server/people/data/PackageData;
 PLcom/android/server/people/data/UserData;->getDefaultSmsApp()Lcom/android/server/people/data/PackageData;
 HPLcom/android/server/people/data/UserData;->getPackageData(Ljava/lang/String;)Lcom/android/server/people/data/PackageData;
 PLcom/android/server/people/data/UserData;->getUserId()I
 HPLcom/android/server/people/data/UserData;->isUnlocked()Z
+PLcom/android/server/people/data/UserData;->loadUserData()V
 PLcom/android/server/people/data/UserData;->setDefaultDialer(Ljava/lang/String;)V
 PLcom/android/server/people/data/UserData;->setDefaultSmsApp(Ljava/lang/String;)V
 PLcom/android/server/people/data/UserData;->setUserStopped()V
@@ -25180,26 +27349,39 @@
 HPLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$-KiE2NsUP--OYmoSDt9BwEQICZw;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)V
 HPLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$-KiE2NsUP--OYmoSDt9BwEQICZw;->get()Ljava/lang/Object;
 HPLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/dex/DexoptOptions;)V
-PLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;->get()Ljava/lang/Object;
+HPLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;->get()Ljava/lang/Object;
 HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$-BT6ToCKHdhfX2-IK4pp-hGipzw;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$-BT6ToCKHdhfX2-IK4pp-hGipzw;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$35r-Eh7boIF7EPFqH7bKXyZYEDo;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)V
+HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$35r-Eh7boIF7EPFqH7bKXyZYEDo;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$4kTzFa_zjeGMtJVy5CluIOehAmM;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$4kTzFa_zjeGMtJVy5CluIOehAmM;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$D4Z_0MUKQxAr3kDglyup8aB9XLE;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Landroid/content/Intent;IILandroid/content/ComponentName;)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$D4Z_0MUKQxAr3kDglyup8aB9XLE;->runOrThrow()V
-PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$DxhjfM3U9U3V3tJbzSWj7AMLCBE;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)V
+HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$DxhjfM3U9U3V3tJbzSWj7AMLCBE;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)V
 HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$DxhjfM3U9U3V3tJbzSWj7AMLCBE;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$HVfTkMl1ZNC9cAfi1atsp3Dwnyg;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$HVfTkMl1ZNC9cAfi1atsp3Dwnyg;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$T3De7UNuZVnidaztgPZvPR9AaFc;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$T3De7UNuZVnidaztgPZvPR9AaFc;-><init>()V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$T3De7UNuZVnidaztgPZvPR9AaFc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$ZwEbVtiAVN8XYZYxg44xuGkFKak;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;)V
+HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$ZwEbVtiAVN8XYZYxg44xuGkFKak;->getOrThrow()Ljava/lang/Object;
 HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$bl8duoKAQm4-uSci6ZlA_aEdeg8;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;)V
 HPLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$bl8duoKAQm4-uSci6ZlA_aEdeg8;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$ejSUy1m1wyOuhw0Svv8oy0FfoJk;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;I)V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$ejSUy1m1wyOuhw0Svv8oy0FfoJk;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$i8pCn3vFy03m7u0vRgPEFDJBRZ8;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$i8pCn3vFy03m7u0vRgPEFDJBRZ8;->getOrThrow()Ljava/lang/Object;
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$kHkdp7f4qbaDOgRXrN-WS0lCU9U;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;ILjava/lang/String;I)V
 PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$kHkdp7f4qbaDOgRXrN-WS0lCU9U;->runOrThrow()V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$l4E6Ae9ff49LL4YaaBkPQrN1gzE;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Landroid/content/Intent;II)V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$l4E6Ae9ff49LL4YaaBkPQrN1gzE;->runOrThrow()V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$rCCSB6InuDi6ezubsUXw_B_FODI;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;I)V
+PLcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$rCCSB6InuDi6ezubsUXw_B_FODI;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/-$$Lambda$DpkuTFpeWPmvN7iGgFrn8VkMVd4;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$DpkuTFpeWPmvN7iGgFrn8VkMVd4;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$DpkuTFpeWPmvN7iGgFrn8VkMVd4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
@@ -25231,7 +27413,7 @@
 HSPLcom/android/server/pm/-$$Lambda$PLzRNNUpYHZlGNIn1ofLtN374Ow;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PLzRNNUpYHZlGNIn1ofLtN374Ow;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;-><init>(I)V
-PLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;->test(I)Z
+HPLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;->test(I)Z
 HSPLcom/android/server/pm/-$$Lambda$PackageInstallerSession$0MwsfMSD_PrEtElmOWjbhM7455A;-><init>(Ljava/io/FileFilter;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageInstallerSession$0MwsfMSD_PrEtElmOWjbhM7455A;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$0Oqu1oanLjaOBEcFPtJVCRQ0lHs;-><init>(Lcom/android/server/pm/PackageInstallerSession;Landroid/system/Int64Ref;)V
@@ -25262,6 +27444,11 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$-SI_LHw6Eiq8VNiFLLjJdCbGgSQ;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$0Regyd5pBrcIdGN2_jpl21L-KWw;-><init>(Lcom/android/server/pm/PackageManagerService;I)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$0Regyd5pBrcIdGN2_jpl21L-KWw;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$1i6Y2tMn7ZgU3qq2Qyiz0czgU-g;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$1i6Y2tMn7ZgU3qq2Qyiz0czgU-g;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$1i6Y2tMn7ZgU3qq2Qyiz0czgU-g;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$33tR-KoAu3JbEdrD_OjcuA5085g;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$33tR-KoAu3JbEdrD_OjcuA5085g;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$3TlqkUBuVM7NyAg7uqJCni92WOU;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$3TlqkUBuVM7NyAg7uqJCni92WOU;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;-><clinit>()V
@@ -25275,10 +27462,14 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$8L7pRmGgOsUHi0VNMkDwO-flFqk;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$8L7pRmGgOsUHi0VNMkDwO-flFqk;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$8L7pRmGgOsUHi0VNMkDwO-flFqk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$93yWNMP-e7A0Of4Ed1fIXs63utE;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$93yWNMP-e7A0Of4Ed1fIXs63utE;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$9nrhpVUScjAieIxS9iHE0hiaATk;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$9nrhpVUScjAieIxS9iHE0hiaATk;->forEachPackage(Ljava/util/function/BiConsumer;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$9znobjOH7ab0F1jsW2oFdNipS-8;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$9znobjOH7ab0F1jsW2oFdNipS-8;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$DgA5eAhvjiH6kMq2WYU8B282b-M;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;Landroid/util/SparseArray;[I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$DgA5eAhvjiH6kMq2WYU8B282b-M;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$E8wmDWkS1hMFlGgjBX_cxNdNPXc;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$E8wmDWkS1hMFlGgjBX_cxNdNPXc;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;-><clinit>()V
@@ -25287,6 +27478,8 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$IVwrF8dMtv5eEne1inTBiECMfDo;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$IVwrF8dMtv5eEne1inTBiECMfDo;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$J0eEFDuLDZBCGkS0UBLQaQGBMN8;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$J0eEFDuLDZBCGkS0UBLQaQGBMN8;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$JQITabyRBc2Nst0hnvtDUIYPLkk;-><clinit>()V
@@ -25294,6 +27487,10 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$JqISwjRG4Nrwn7K19yITMU1WH5g;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HPLcom/android/server/pm/-$$Lambda$PackageManagerService$KUTG4a_t__F9-jF9uKK4m5M6ED0;-><init>(I)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$KUTG4a_t__F9-jF9uKK4m5M6ED0;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$MT-9i21h4RNnCW49A_O4cxNuz38;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$MT-9i21h4RNnCW49A_O4cxNuz38;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$NOhDFtf63kwSrt001pe3Z5eI1EM;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$NOhDFtf63kwSrt001pe3Z5eI1EM;->forEachPackage(Ljava/util/function/BiConsumer;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$PPALVjzIAqON2FdZv5soozZSLq8;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$PPALVjzIAqON2FdZv5soozZSLq8;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$PackageManagerInternalImpl$JycGJrzHIngCbGMk68UBYZqLVhg;-><clinit>()V
@@ -25309,8 +27506,8 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$RoklvvEqbb0_WAziY4NuUNhrlUA;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$U47f17sf-Z0eef3W2xgzUB-ecR4;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$U47f17sf-Z0eef3W2xgzUB-ecR4;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$UmQDc8UZK0k1X1BVBYAHhv6arhU;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$UmQDc8UZK0k1X1BVBYAHhv6arhU;->run()V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$UmQDc8UZK0k1X1BVBYAHhv6arhU;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$UmQDc8UZK0k1X1BVBYAHhv6arhU;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$WXhCf3v80czwXbh17kimYOFhAFs;-><clinit>()V
@@ -25318,12 +27515,16 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$WqnaImxAHe0cZI0VBes-1l9f79k;-><init>(Lcom/android/server/pm/PackageManagerService;I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$WqnaImxAHe0cZI0VBes-1l9f79k;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$YHVD9fSfoszBkmlqzmswh1u_y_M;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$YHVD9fSfoszBkmlqzmswh1u_y_M;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$Ze0Xh0iBIll5jkJ4VcmUxBuZyI8;-><init>(Lcom/android/server/pm/PackageManagerService;ZI[Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$Ze0Xh0iBIll5jkJ4VcmUxBuZyI8;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$_CMCXnVAsgXUrfmWq_KOQ0-d17c;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$_CMCXnVAsgXUrfmWq_KOQ0-d17c;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$_QIa0JiksaMBecXbVJ_nhUm9TCg;-><init>(Ljava/util/function/BiConsumer;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$_QIa0JiksaMBecXbVJ_nhUm9TCg;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$aXPYjiloRwQataUrx041SxBr5us;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$aXPYjiloRwQataUrx041SxBr5us;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$aptgkdXtM4g66mNvfWDFzI6FQyI;-><init>(Lcom/android/server/pm/PackageManagerService;)V
@@ -25335,12 +27536,16 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$dxAUj27Y4Oe3hxwpfzBaLl3fLZw;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$dxAUj27Y4Oe3hxwpfzBaLl3fLZw;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$eOXySdFQ-z888HMdYTDdDb8rYuQ;-><init>(Ljava/util/function/BiConsumer;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$eOXySdFQ-z888HMdYTDdDb8rYuQ;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$f5l1_UOwACQPN6qixqBmzSJzDMw;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$f5l1_UOwACQPN6qixqBmzSJzDMw;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$fQjXY6S0s38rWZ-Tv1PTQvrgJb4;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/parsing/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$fQjXY6S0s38rWZ-Tv1PTQvrgJb4;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$fatmYTvGk9iEyP6L-_SkYfjFJig;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Z)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$fatmYTvGk9iEyP6L-_SkYfjFJig;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$hUwUCbxk7NyDYjopcudg9C0rNXI;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$hUwUCbxk7NyDYjopcudg9C0rNXI;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$hlGRKJu3cTGpEnG-hyOT3QbrXxY;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
@@ -25349,6 +27554,8 @@
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$i2wY1QKIZAfMEAymOPPs8KS2G5c;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$iG1AbXebGMN1Zo55kCJGOu78HXE;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$iG1AbXebGMN1Zo55kCJGOu78HXE;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;-><init>(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$iqEX-hdziBwn1njNVhAdQHeXwus;-><clinit>()V
@@ -25360,22 +27567,34 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$kUm15OrlWJD9K-LIlM_rBtX-g4Q;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$kdqJJNrm44ZfCpYgQsRrZy7nM38;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/parsing/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$kdqJJNrm44ZfCpYgQsRrZy7nM38;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$lFji3mhAT5bVVke68kDxQSlmEs4;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$lFji3mhAT5bVVke68kDxQSlmEs4;-><init>()V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$lFji3mhAT5bVVke68kDxQSlmEs4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$lMzdBb_uDjCHbhFoPJTxlDi_7zo;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$lMzdBb_uDjCHbhFoPJTxlDi_7zo;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$mozSqBaYzz4jQjwZjKIapdRXflc;-><init>(I)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$mozSqBaYzz4jQjwZjKIapdRXflc;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$ms4g2QGGQv1AIanhd1siLhoElkI;-><init>(Lcom/android/server/pm/PackageManagerService;I)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$ms4g2QGGQv1AIanhd1siLhoElkI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$nY7r1WodM3_tntZA-G8DR9Rw1f0;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$nY7r1WodM3_tntZA-G8DR9Rw1f0;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$pVdeIe13BPz2j1-uK6W_NugHu2Q;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$pVdeIe13BPz2j1-uK6W_NugHu2Q;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$rLdmTQLwnuPeDuWTeDB-0S1Ku4I;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$rLdmTQLwnuPeDuWTeDB-0S1Ku4I;->onInitialized(I)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$rcVfdsXa_dlub2enxT5rL0nTx7I;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Z)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$rcVfdsXa_dlub2enxT5rL0nTx7I;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$slf4ap74wBjxrA52mf3aW1YqmdM;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$slf4ap74wBjxrA52mf3aW1YqmdM;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$td_h2dUgAqjQUL1GEeARgH8IZsw;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$td_h2dUgAqjQUL1GEeARgH8IZsw;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$txzHud8DxAfBnzA16Cf-Mpca3TA;-><init>(Lcom/android/server/pm/PackageManagerService;ZI[Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$txzHud8DxAfBnzA16Cf-Mpca3TA;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$uKFiJiR-QQI8RsVT7igWuZ6FwAA;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$vPmwW10Lr1Zc8YoNadc7v4xmIWo;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$vPmwW10Lr1Zc8YoNadc7v4xmIWo;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$vjkkm7bIol6YmxXHA9bVeSUYkB8;-><init>(I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$vjkkm7bIol6YmxXHA9bVeSUYkB8;->run()V
 HPLcom/android/server/pm/-$$Lambda$PackageManagerService$wsVLwSG7sxG5kNGb-a6lG3mwxKg;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
 HPLcom/android/server/pm/-$$Lambda$PackageManagerService$wsVLwSG7sxG5kNGb-a6lG3mwxKg;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xKD6SB7pISjc29qfmXIq5O_3OJw;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;ZLjava/lang/Object;)V
@@ -25384,6 +27603,8 @@
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xZAAMOZCDrDe-FJUcRmxesa8h7c;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$yXdgY7SVZQWnWWIG0iO_OYKuh58;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$yXdgY7SVZQWnWWIG0iO_OYKuh58;->run()V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$z8SNwemq3afWJgXWmkJMd3eb198;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;Landroid/util/SparseArray;[I)V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$z8SNwemq3afWJgXWmkJMd3eb198;->run()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;-><clinit>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;-><init>()V
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
@@ -25392,7 +27613,7 @@
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$-TyALUo9to-tSa8TowQ8FvHNb6w;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$6Hiu23bVWNI_UB8JjRQOmllFVE8;-><clinit>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$6Hiu23bVWNI_UB8JjRQOmllFVE8;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$6Hiu23bVWNI_UB8JjRQOmllFVE8;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$6Hiu23bVWNI_UB8JjRQOmllFVE8;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$CznOu58qzp1xBXuz65vwZNf-2YQ;-><init>(Lcom/android/server/pm/dex/DexManager;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$CznOu58qzp1xBXuz65vwZNf-2YQ;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$JqfeXEVVj9qyD-t5TtAWP5dUo_Q;-><init>(Lcom/android/server/pm/dex/DexManager;)V
@@ -25422,9 +27643,12 @@
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$eMhMS_ozPxLQedSFcYUWkqe3DH4;-><clinit>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$eMhMS_ozPxLQedSFcYUWkqe3DH4;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$eMhMS_ozPxLQedSFcYUWkqe3DH4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$kGgIy61AI0hVhikc5IBRoH-OqgM;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$kGgIy61AI0hVhikc5IBRoH-OqgM;-><init>()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$kGgIy61AI0hVhikc5IBRoH-OqgM;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$mHSpCXTEDV8POwYEJDexVxYsJeU;-><clinit>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$mHSpCXTEDV8POwYEJDexVxYsJeU;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$mHSpCXTEDV8POwYEJDexVxYsJeU;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$mHSpCXTEDV8POwYEJDexVxYsJeU;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$miSwAI7tlaWPbDunujMxV7oiAWA;-><init>(Landroid/util/ArraySet;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$miSwAI7tlaWPbDunujMxV7oiAWA;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$pak5uFueWVDXpeD0raY40AD6lPY;-><clinit>()V
@@ -25440,6 +27664,7 @@
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$sV6Dy76F46JIA9ovYV5QyhvLuQ4;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;-><init>(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
 HSPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;->run()V
+PLcom/android/server/pm/-$$Lambda$S4BXTl5Ly3EHhXAReFCtlz2B8eo;-><init>(Ljava/lang/String;)V
 HSPLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;-><init>(Lcom/android/server/pm/ShortcutBitmapSaver;)V
 HPLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;->run()V
 HPLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;-><init>(Ljava/util/concurrent/CountDownLatch;)V
@@ -25592,8 +27817,14 @@
 PLcom/android/server/pm/-$$Lambda$StagingManager$l7fa-k0J9C50Vr9mDKn9MKzrXEI;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$UserManagerService$1$DQ_02g7kZ7QrJXO6aCATwE6DYCE;-><init>(Lcom/android/server/pm/UserManagerService$1;ILandroid/content/IntentSender;)V
 PLcom/android/server/pm/-$$Lambda$UserManagerService$1$DQ_02g7kZ7QrJXO6aCATwE6DYCE;->run()V
+PLcom/android/server/pm/-$$Lambda$UserManagerService$DisableQuietModeUserUnlockedCallback$Xj5Vf2ikWbZ5QWza6wyZQhLIFdE;-><init>(Lcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;)V
+PLcom/android/server/pm/-$$Lambda$UserManagerService$DisableQuietModeUserUnlockedCallback$Xj5Vf2ikWbZ5QWza6wyZQhLIFdE;->run()V
 HSPLcom/android/server/pm/-$$Lambda$UserManagerService$s1AxethOTPU7NQ5LXxyP4etLk7E;-><init>(Landroid/os/IUserRestrictionsListener;)V
 HSPLcom/android/server/pm/-$$Lambda$UserManagerService$s1AxethOTPU7NQ5LXxyP4etLk7E;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$BaBM2EgGaZ_mwYNdMEwnvM1-1EU;-><init>(Lcom/android/server/pm/UserSystemPackageInstaller;Ljava/util/Set;ZLjava/util/Set;)V
+HPLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$BaBM2EgGaZ_mwYNdMEwnvM1-1EU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$SWB43OEQXgI--EvtWi7AdFOngsk;-><init>(Ljava/util/Set;IZZLandroid/util/ArraySet;)V
+PLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$SWB43OEQXgI--EvtWi7AdFOngsk;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$qgQhYPPVJE0ZGQMRr6lmVdZZll0;-><init>(Lcom/android/server/pm/UserSystemPackageInstaller;Ljava/util/Set;ZLjava/util/Set;)V
 PLcom/android/server/pm/-$$Lambda$UserSystemPackageInstaller$qgQhYPPVJE0ZGQMRr6lmVdZZll0;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/-$$Lambda$YY245IBQr5Qygm_NJ7MG_oIzCHk;-><clinit>()V
@@ -25650,16 +27881,27 @@
 HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/io/File;Ljava/io/File;)V
 HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/io/File;Ljava/io/File;Lcom/android/server/pm/ApexManager$1;)V
 HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;-><init>()V
+HSPLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;-><init>(Lcom/android/server/pm/ApexManager$1;)V
+PLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->destroyCeSnapshotsNotSpecified(I[I)Z
+HSPLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->getActiveApexInfos()Ljava/util/List;
+PLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->getActiveApexPackageNameContainingPackage(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Ljava/lang/String;
+PLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->isApexPackage(Ljava/lang/String;)Z
+PLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->registerApkInApex(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+PLcom/android/server/pm/ApexManager$ApexManagerFlattenedApex;->scanApexPackagesTraced(Lcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl$1;-><init>(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)V
 PLcom/android/server/pm/ApexManager$ApexManagerImpl$1;->lambda$onReceive$0$ApexManager$ApexManagerImpl$1()V
 PLcom/android/server/pm/ApexManager$ApexManagerImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;-><init>()V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;-><init>(Landroid/apex/IApexService;)V
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->abortStagedSession(I)Z
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->access$100(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)V
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->access$200(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->destroyCeSnapshotsNotSpecified(I[I)Z
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->dumpFromPackagesCache(Ljava/util/List;Ljava/lang/String;Lcom/android/internal/util/IndentingPrintWriter;)V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexInfos()Ljava/util/List;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexPackageNameContainingPackage(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Ljava/lang/String;
 HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActivePackages()Ljava/util/List;
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApexModuleNameForPackageName(Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->getApksInApex(Ljava/lang/String;)Ljava/util/List;
@@ -25684,8 +27926,11 @@
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->populatePackageNameToApexModuleNameIfNeeded()V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->registerApkInApex(Landroid/content/pm/parsing/AndroidPackage;)V
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->registerApkInApex(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->scanApexPackagesInternalLocked(Lcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->scanApexPackagesTraced(Lcom/android/server/pm/parsing/PackageParser2;Ljava/util/concurrent/ExecutorService;)V
 PLcom/android/server/pm/ApexManager$ApexManagerImpl;->submitStagedSession(Landroid/apex/ApexSessionParams;)Landroid/apex/ApexInfoList;
 HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->systemReady(Landroid/content/Context;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->waitForApexService()Landroid/apex/IApexService;
 HSPLcom/android/server/pm/ApexManager;-><clinit>()V
 HSPLcom/android/server/pm/ApexManager;-><init>()V
 HSPLcom/android/server/pm/ApexManager;->getInstance()Lcom/android/server/pm/ApexManager;
@@ -25697,7 +27942,7 @@
 HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->fetchPackageIsEnabled(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->initializePackageState(Ljava/lang/String;)V
 HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->isGloballyEnabled()Z
-PLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->isLoggingEnabled(I)Z
+HPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->isLoggingEnabled(I)Z
 PLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->lambda$onSystemReady$0$AppsFilter$FeatureConfigImpl(Landroid/provider/DeviceConfig$Properties;)V
 HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->onCompatChange(Ljava/lang/String;)V
 HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->onSystemReady()V
@@ -25720,12 +27965,17 @@
 HPLcom/android/server/pm/AppsFilter;->dumpPackageSet(Ljava/io/PrintWriter;Ljava/lang/Object;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/pm/AppsFilter$ToString;)V
 HPLcom/android/server/pm/AppsFilter;->dumpQueries(Ljava/io/PrintWriter;Lcom/android/server/pm/PackageManagerService;Ljava/lang/Integer;Lcom/android/server/pm/DumpState;[I)V
 HPLcom/android/server/pm/AppsFilter;->dumpQueriesMap(Ljava/io/PrintWriter;Ljava/lang/Integer;Landroid/util/SparseSetArray;Ljava/lang/String;Lcom/android/server/pm/AppsFilter$ToString;)V
+HPLcom/android/server/pm/AppsFilter;->getVisibilityWhitelist(Lcom/android/server/pm/PackageSetting;[ILandroid/util/ArrayMap;)Landroid/util/SparseArray;
 HSPLcom/android/server/pm/AppsFilter;->grantImplicitAccess(II)V
 HSPLcom/android/server/pm/AppsFilter;->isSystemSigned(Landroid/content/pm/PackageParser$SigningDetails;Lcom/android/server/pm/PackageSetting;)Z
 HPLcom/android/server/pm/AppsFilter;->lambda$dumpQueries$0(Landroid/util/SparseArray;Lcom/android/server/pm/PackageManagerService;Ljava/lang/Integer;)Ljava/lang/String;
+PLcom/android/server/pm/AppsFilter;->log(Lcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;)V
+HSPLcom/android/server/pm/AppsFilter;->matches(Landroid/content/Intent;Landroid/content/pm/parsing/AndroidPackage;)Z
+HSPLcom/android/server/pm/AppsFilter;->matchesAnyFilter(Landroid/content/Intent;Landroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;)Z
 HSPLcom/android/server/pm/AppsFilter;->matchesAnyFilter(Landroid/content/Intent;Landroid/content/pm/parsing/component/ParsedComponent;)Z
 HSPLcom/android/server/pm/AppsFilter;->matchesIntentFilters(Landroid/content/Intent;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/AppsFilter;->onSystemReady()V
+HSPLcom/android/server/pm/AppsFilter;->pkgInstruments(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)Z
 HSPLcom/android/server/pm/AppsFilter;->removePackage(Lcom/android/server/pm/PackageSetting;[ILandroid/util/ArrayMap;)V
 HSPLcom/android/server/pm/AppsFilter;->shouldFilterApplication(ILcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;I)Z
 HSPLcom/android/server/pm/AppsFilter;->shouldFilterApplicationInternal(ILcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;I)Z
@@ -25801,7 +28051,7 @@
 HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->dumpFilterLabel(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;I)V
 HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Landroid/content/IntentFilter;)Ljava/lang/Object;
 HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)Ljava/lang/Object;
-PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Landroid/util/Pair;)Ljava/lang/Object;
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Landroid/util/Pair;)Ljava/lang/Object;
 HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Landroid/util/Pair;)Landroid/content/IntentFilter;
 HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
@@ -25832,10 +28082,10 @@
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;-><init>()V
 HPLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->filterResults(Ljava/util/List;)V
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->getIntentFilter(Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;)Landroid/content/IntentFilter;
-PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
+HPLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->getIntentFilter(Ljava/lang/Object;)Landroid/content/IntentFilter;
 HPLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
-PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Ljava/lang/Object;
+HPLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Ljava/lang/Object;
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newResult(Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;II)Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
 PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newResult(Ljava/lang/Object;II)Ljava/lang/Object;
@@ -26010,34 +28260,49 @@
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
 HSPLcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;-><init>(Lcom/android/server/pm/CrossProfileAppsServiceImpl;)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;->getTargetUserProfiles(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;->verifyPackageHasInteractAcrossProfilePermission(Ljava/lang/String;I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl$LocalService;->verifyUidHasInteractAcrossProfilePermission(Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->access$000(Lcom/android/server/pm/CrossProfileAppsServiceImpl;)Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->access$100(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;II)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->access$200(Lcom/android/server/pm/CrossProfileAppsServiceImpl;Ljava/lang/String;I)Ljava/util/List;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->appDeclaresCrossProfileAttribute(I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->canConfigureInteractAcrossProfiles(Ljava/lang/String;)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->canUserAttemptToConfigureInteractAcrossProfiles(Ljava/lang/String;)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->clearInteractAcrossProfilesAppOps()V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->currentModeEquals(ILjava/lang/String;I)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->findAllPackageNames()Ljava/util/List;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->findBroadcastReceiversForUser(Landroid/content/Intent;Landroid/os/UserHandle;)Ljava/util/List;
 HSPLcom/android/server/pm/CrossProfileAppsServiceImpl;->getLocalService()Landroid/content/pm/CrossProfileAppsInternal;
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfilesUnchecked(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasCallerGotInteractAcrossProfilesPermission(Ljava/lang/String;)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasInteractAcrossProfilesPermission(Ljava/lang/String;II)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasOtherProfileWithPackageInstalled(Ljava/lang/String;I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->hasRequestedAppOpPermission(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isCallingUserAManagedProfile()Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isCrossProfilePackageWhitelisted(Ljava/lang/String;)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isManagedProfile(I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPackageEnabled(Ljava/lang/String;I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPackageInstalled(Ljava/lang/String;I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPermissionGranted(Ljava/lang/String;I)Z
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isSameProfileGroup(II)Z
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$clearInteractAcrossProfilesAppOps$9$CrossProfileAppsServiceImpl(ILjava/lang/String;)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$currentModeEquals$7$CrossProfileAppsServiceImpl(ILjava/lang/String;ILjava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$findAllPackageNames$10(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$getTargetUserProfilesUnchecked$1$CrossProfileAppsServiceImpl(ILjava/lang/String;)Ljava/util/List;
+HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$getTargetUserProfilesUnchecked$2$CrossProfileAppsServiceImpl(ILjava/lang/String;)Ljava/util/List;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$hasOtherProfileWithPackageInstalled$8$CrossProfileAppsServiceImpl(ILjava/lang/String;)Ljava/lang/Boolean;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isCrossProfilePackageWhitelisted$0$CrossProfileAppsServiceImpl(Ljava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isManagedProfile$12$CrossProfileAppsServiceImpl(I)Ljava/lang/Boolean;
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isPackageEnabled$2$CrossProfileAppsServiceImpl(Ljava/lang/String;II)Ljava/lang/Boolean;
+HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isPackageEnabled$3$CrossProfileAppsServiceImpl(Ljava/lang/String;II)Ljava/lang/Boolean;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$isPackageInstalled$5$CrossProfileAppsServiceImpl(Ljava/lang/String;II)Ljava/lang/Boolean;
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$setInteractAcrossProfilesAppOpForUserOrThrow$6$CrossProfileAppsServiceImpl(ILjava/lang/String;I)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$verifyActivityCanHandleIntent$3$CrossProfileAppsServiceImpl(Landroid/content/Intent;II)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->lambda$verifyActivityCanHandleIntentAndExported$4$CrossProfileAppsServiceImpl(Landroid/content/Intent;IILandroid/content/ComponentName;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->logStartActivityByIntent(Ljava/lang/String;)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->maybeLogSetInteractAcrossProfilesAppOp(Ljava/lang/String;IIZI)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->sendCanInteractAcrossProfilesChangedBroadcast(Ljava/lang/String;ILandroid/os/UserHandle;)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->setInteractAcrossProfilesAppOp(Ljava/lang/String;I)V
@@ -26045,7 +28310,9 @@
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->setInteractAcrossProfilesAppOpForUserOrThrow(Ljava/lang/String;IIZ)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->setInteractAcrossProfilesAppOpUnchecked(Ljava/lang/String;IZ)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;IZ)V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;IZ)V
+HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;IZ)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->startActivityAsUserByIntent(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/IBinder;Landroid/os/Bundle;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->verifyActivityCanHandleIntent(Landroid/content/Intent;II)V
 PLcom/android/server/pm/CrossProfileAppsServiceImpl;->verifyActivityCanHandleIntentAndExported(Landroid/content/Intent;Landroid/content/ComponentName;II)V
 HPLcom/android/server/pm/CrossProfileAppsServiceImpl;->verifyCallingPackage(Ljava/lang/String;)V
 HPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Landroid/content/IntentFilter;Ljava/lang/String;II)V
@@ -26183,7 +28450,7 @@
 HPLcom/android/server/pm/InstantAppRegistry;->peekInstantCookieFile(Ljava/lang/String;I)Ljava/io/File;
 PLcom/android/server/pm/InstantAppRegistry;->peekOrParseUninstalledInstantAppInfo(Ljava/lang/String;I)Landroid/content/pm/InstantAppInfo;
 HPLcom/android/server/pm/InstantAppRegistry;->propagateInstantAppPermissionsIfNeeded(Landroid/content/pm/parsing/AndroidPackage;I)V
-PLcom/android/server/pm/InstantAppRegistry;->propagateInstantAppPermissionsIfNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;I)V
+HPLcom/android/server/pm/InstantAppRegistry;->propagateInstantAppPermissionsIfNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;I)V
 PLcom/android/server/pm/InstantAppRegistry;->pruneInstalledInstantApps(JJ)Z
 PLcom/android/server/pm/InstantAppRegistry;->pruneInstantApps()V
 HPLcom/android/server/pm/InstantAppRegistry;->pruneInstantApps(JJJ)Z
@@ -26191,6 +28458,7 @@
 HSPLcom/android/server/pm/InstantAppRegistry;->removeAppLPw(II)V
 HPLcom/android/server/pm/InstantAppRegistry;->removeUninstalledInstantAppStateLPw(Ljava/util/function/Predicate;I)V
 PLcom/android/server/pm/InstantAppResolver;-><clinit>()V
+PLcom/android/server/pm/InstantAppResolver;->buildEphemeralInstallerIntent(Landroid/content/Intent;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;ILandroid/content/ComponentName;Ljava/lang/String;ZLjava/util/List;)Landroid/content/Intent;
 HPLcom/android/server/pm/InstantAppResolver;->buildRequestInfo(Landroid/content/pm/InstantAppRequest;)Landroid/content/pm/InstantAppRequestInfo;
 HPLcom/android/server/pm/InstantAppResolver;->computeResolveFilters(Landroid/content/Intent;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/InstantAppResolveInfo;)Ljava/util/List;
 PLcom/android/server/pm/InstantAppResolver;->createFailureIntent(Landroid/content/Intent;Ljava/lang/String;)Landroid/content/Intent;
@@ -26241,7 +28509,7 @@
 PLcom/android/server/pm/IntentFilterVerificationState;-><clinit>()V
 PLcom/android/server/pm/IntentFilterVerificationState;-><init>(IILjava/lang/String;)V
 HPLcom/android/server/pm/IntentFilterVerificationState;->addFilter(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)V
-PLcom/android/server/pm/IntentFilterVerificationState;->addFilter(Landroid/content/pm/parsing/component/ParsedIntentInfo;)V
+HPLcom/android/server/pm/IntentFilterVerificationState;->addFilter(Landroid/content/pm/parsing/component/ParsedIntentInfo;)V
 PLcom/android/server/pm/IntentFilterVerificationState;->getFilters()Ljava/util/ArrayList;
 HPLcom/android/server/pm/IntentFilterVerificationState;->getHostsString()Ljava/lang/String;
 PLcom/android/server/pm/IntentFilterVerificationState;->getPackageName()Ljava/lang/String;
@@ -26330,13 +28598,14 @@
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;Landroid/content/pm/ShortcutQueryWrapper;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasDefaultEnableLauncherActivity(Ljava/lang/String;)Z
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasShortcutHostPermission(Ljava/lang/String;)Z
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectCallingUserId()I
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectClearCallingIdentity()J
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectHasInteractAcrossUsersFullPermission(II)Z
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectHasInteractAcrossUsersFullPermission(II)Z
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
 HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
@@ -26388,8 +28657,8 @@
 PLcom/android/server/pm/OtaDexoptService;->inMegabytes(J)I
 HPLcom/android/server/pm/OtaDexoptService;->isDone()Z
 PLcom/android/server/pm/OtaDexoptService;->lambda$prepare$0(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/AndroidPackage;)I
-PLcom/android/server/pm/OtaDexoptService;->lambda$prepare$0(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)I
-PLcom/android/server/pm/OtaDexoptService;->lambda$prepare$0(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)I
+HPLcom/android/server/pm/OtaDexoptService;->lambda$prepare$0(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)I
+HPLcom/android/server/pm/OtaDexoptService;->lambda$prepare$0(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)I
 HSPLcom/android/server/pm/OtaDexoptService;->main(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/OtaDexoptService;
 HSPLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
 HPLcom/android/server/pm/OtaDexoptService;->nextDexoptCommand()Ljava/lang/String;
@@ -26483,7 +28752,10 @@
 HPLcom/android/server/pm/PackageInstallerService$2;->run()V
 HSPLcom/android/server/pm/PackageInstallerService$Callbacks;-><init>(Landroid/os/Looper;)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$200(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$400(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$500(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$600(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIZ)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$700(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIF)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$700(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIZ)V
 HPLcom/android/server/pm/PackageInstallerService$Callbacks;->access$800(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIF)V
 HPLcom/android/server/pm/PackageInstallerService$Callbacks;->handleMessage(Landroid/os/Message;)V
@@ -26510,16 +28782,23 @@
 HSPLcom/android/server/pm/PackageInstallerService;-><clinit>()V
 HSPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;)V
+PLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Ljava/util/function/Supplier;)V
 HPLcom/android/server/pm/PackageInstallerService;->abandonSession(I)V
 PLcom/android/server/pm/PackageInstallerService;->access$000(Lcom/android/server/pm/PackageInstallerService;)Landroid/util/SparseArray;
 HPLcom/android/server/pm/PackageInstallerService;->access$100(Lcom/android/server/pm/PackageInstallerService;)V
 PLcom/android/server/pm/PackageInstallerService;->access$1000(Lcom/android/server/pm/PackageInstallerService;)Lcom/android/server/pm/PackageManagerService;
 PLcom/android/server/pm/PackageInstallerService;->access$1100(Lcom/android/server/pm/PackageInstallerService;)Lcom/android/server/pm/StagingManager;
+PLcom/android/server/pm/PackageInstallerService;->access$1100(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/PackageInstallerSession;)V
+PLcom/android/server/pm/PackageInstallerService;->access$1200(Lcom/android/server/pm/PackageInstallerService;I)Ljava/io/File;
 PLcom/android/server/pm/PackageInstallerService;->access$1200(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/PackageInstallerSession;)V
+PLcom/android/server/pm/PackageInstallerService;->access$1300(Lcom/android/server/pm/PackageInstallerService;)Landroid/os/Handler;
 PLcom/android/server/pm/PackageInstallerService;->access$1300(Lcom/android/server/pm/PackageInstallerService;I)Ljava/io/File;
 PLcom/android/server/pm/PackageInstallerService;->access$1400(Lcom/android/server/pm/PackageInstallerService;)Landroid/os/Handler;
+PLcom/android/server/pm/PackageInstallerService;->access$300(Lcom/android/server/pm/PackageInstallerService;)Lcom/android/server/pm/PackageInstallerService$Callbacks;
 PLcom/android/server/pm/PackageInstallerService;->access$400(Lcom/android/server/pm/PackageInstallerService;)Lcom/android/server/pm/PackageInstallerService$Callbacks;
+PLcom/android/server/pm/PackageInstallerService;->access$500(Lcom/android/server/pm/PackageInstallerService;)V
 PLcom/android/server/pm/PackageInstallerService;->access$600(Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageInstallerService;->access$800(Lcom/android/server/pm/PackageInstallerService;)Z
 PLcom/android/server/pm/PackageInstallerService;->access$900(Lcom/android/server/pm/PackageInstallerService;)Z
 HPLcom/android/server/pm/PackageInstallerService;->addHistoricalSessionLocked(Lcom/android/server/pm/PackageInstallerSession;)V
 HPLcom/android/server/pm/PackageInstallerService;->allocateSessionIdLocked()I
@@ -26592,6 +28871,7 @@
 PLcom/android/server/pm/PackageInstallerSession;->access$200(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerSession;->access$300(Lcom/android/server/pm/PackageInstallerSession;)Landroid/content/Context;
 PLcom/android/server/pm/PackageInstallerSession;->access$300(Lcom/android/server/pm/PackageInstallerSession;)Z
+PLcom/android/server/pm/PackageInstallerSession;->access$400(Landroid/content/Context;Landroid/content/IntentSender;IZILjava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
 PLcom/android/server/pm/PackageInstallerSession;->access$400(Lcom/android/server/pm/PackageInstallerSession;)Z
 PLcom/android/server/pm/PackageInstallerSession;->access$600(Lcom/android/server/pm/PackageInstallerSession;)Landroid/os/Handler;
 PLcom/android/server/pm/PackageInstallerSession;->access$700(Lcom/android/server/pm/PackageInstallerSession;)Landroid/os/Handler;
@@ -26633,6 +28913,9 @@
 HSPLcom/android/server/pm/PackageInstallerSession;->filterFiles(Ljava/io/File;[Ljava/lang/String;Ljava/io/FileFilter;)[Ljava/io/File;
 HPLcom/android/server/pm/PackageInstallerSession;->generateInfo()Landroid/content/pm/PackageInstaller$SessionInfo;
 HPLcom/android/server/pm/PackageInstallerSession;->generateInfo(Z)Landroid/content/pm/PackageInstaller$SessionInfo;
+HPLcom/android/server/pm/PackageInstallerSession;->generateInfoForCaller(ZI)Landroid/content/pm/PackageInstaller$SessionInfo;
+HPLcom/android/server/pm/PackageInstallerSession;->generateInfoInternal(ZZ)Landroid/content/pm/PackageInstaller$SessionInfo;
+PLcom/android/server/pm/PackageInstallerSession;->generateInfoScrubbed(Z)Landroid/content/pm/PackageInstaller$SessionInfo;
 PLcom/android/server/pm/PackageInstallerSession;->getAddedApksLocked()Ljava/util/List;
 HSPLcom/android/server/pm/PackageInstallerSession;->getAddedApksLocked()[Ljava/io/File;
 PLcom/android/server/pm/PackageInstallerSession;->getAddedFilesLocked()[Ljava/io/File;
@@ -26640,6 +28923,7 @@
 HSPLcom/android/server/pm/PackageInstallerSession;->getChildSessions()Ljava/util/List;
 PLcom/android/server/pm/PackageInstallerSession;->getDataLoaderParams()Landroid/content/pm/DataLoaderParamsParcel;
 PLcom/android/server/pm/PackageInstallerSession;->getInstallSource()Lcom/android/server/pm/InstallSource;
+HPLcom/android/server/pm/PackageInstallerSession;->getInstallationFilesLocked()[Landroid/content/pm/InstallationFile;
 PLcom/android/server/pm/PackageInstallerSession;->getInstallerPackageName()Ljava/lang/String;
 HPLcom/android/server/pm/PackageInstallerSession;->getInstallerUid()I
 HPLcom/android/server/pm/PackageInstallerSession;->getNames()[Ljava/lang/String;
@@ -26706,6 +28990,7 @@
 HSPLcom/android/server/pm/PackageInstallerSession;->sealAndValidateLocked(Ljava/util/List;)V
 PLcom/android/server/pm/PackageInstallerSession;->sealIfNecessary()V
 HSPLcom/android/server/pm/PackageInstallerSession;->sealLocked(Ljava/util/List;)V
+HPLcom/android/server/pm/PackageInstallerSession;->sendOnPackageInstalled(Landroid/content/Context;Landroid/content/IntentSender;IZILjava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
 HPLcom/android/server/pm/PackageInstallerSession;->setClientProgress(F)V
 HPLcom/android/server/pm/PackageInstallerSession;->setClientProgressLocked(F)V
 PLcom/android/server/pm/PackageInstallerSession;->setParentSessionId(I)V
@@ -26713,6 +28998,7 @@
 PLcom/android/server/pm/PackageInstallerSession;->setStagedSessionApplied()V
 PLcom/android/server/pm/PackageInstallerSession;->setStagedSessionFailed(ILjava/lang/String;)V
 PLcom/android/server/pm/PackageInstallerSession;->setStagedSessionReady()V
+HPLcom/android/server/pm/PackageInstallerSession;->shouldScrubData(I)Z
 HSPLcom/android/server/pm/PackageInstallerSession;->streamAndValidateLocked()V
 PLcom/android/server/pm/PackageInstallerSession;->streamAndValidateLocked()Z
 PLcom/android/server/pm/PackageInstallerSession;->streamValidateAndCommit()Z
@@ -26721,6 +29007,7 @@
 HPLcom/android/server/pm/PackageInstallerSession;->validateApkInstallLocked(Landroid/content/pm/PackageInfo;)V
 PLcom/android/server/pm/PackageInstallerSession;->write(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)V
 HSPLcom/android/server/pm/PackageInstallerSession;->write(Lorg/xmlpull/v1/XmlSerializer;Ljava/io/File;)V
+HPLcom/android/server/pm/PackageInstallerSession;->writeAutoRevokePermissionsMode(Lorg/xmlpull/v1/XmlSerializer;I)V
 HSPLcom/android/server/pm/PackageInstallerSession;->writeGrantedRuntimePermissionsLocked(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;)V
 HSPLcom/android/server/pm/PackageInstallerSession;->writeWhitelistedRestrictedPermissionsLocked(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
 HSPLcom/android/server/pm/PackageKeySetData;-><init>()V
@@ -26743,19 +29030,31 @@
 HSPLcom/android/server/pm/PackageManagerException;->from(Landroid/content/pm/PackageParser$PackageParserException;)Lcom/android/server/pm/PackageManagerException;
 HSPLcom/android/server/pm/PackageManagerService$1;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 PLcom/android/server/pm/PackageManagerService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+HSPLcom/android/server/pm/PackageManagerService$2;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/compat/PlatformCompat;)V
 PLcom/android/server/pm/PackageManagerService$2;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;)V
+HSPLcom/android/server/pm/PackageManagerService$2;->hasFeature(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService$2;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z
 HPLcom/android/server/pm/PackageManagerService$2;->writeElement(Landroid/content/IntentFilter;Landroid/os/Parcel;I)V
 HPLcom/android/server/pm/PackageManagerService$2;->writeElement(Ljava/lang/Object;Landroid/os/Parcel;I)V
+PLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;)V
 PLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
 PLcom/android/server/pm/PackageManagerService$3;->run()V
+HPLcom/android/server/pm/PackageManagerService$3;->writeElement(Landroid/content/IntentFilter;Landroid/os/Parcel;I)V
+HPLcom/android/server/pm/PackageManagerService$3;->writeElement(Ljava/lang/Object;Landroid/os/Parcel;I)V
 HSPLcom/android/server/pm/PackageManagerService$4;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/pm/PackageManagerService$4;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
 HSPLcom/android/server/pm/PackageManagerService$4;->onChange(Z)V
+PLcom/android/server/pm/PackageManagerService$4;->run()V
 HSPLcom/android/server/pm/PackageManagerService$5;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$5;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/pm/PackageManagerService$5;->onChange(Z)V
 HSPLcom/android/server/pm/PackageManagerService$6;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 PLcom/android/server/pm/PackageManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/pm/PackageManagerService$7;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HPLcom/android/server/pm/PackageManagerService$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;-><init>(Ljava/lang/String;Ljava/io/File;Landroid/content/pm/IPackageInstallObserver2;ILandroid/content/pm/PackageInstaller$SessionParams;ILcom/android/server/pm/InstallSource;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$SigningDetails;)V
+PLcom/android/server/pm/PackageManagerService$8;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/pm/PackageManagerService$ActiveInstallSession;-><init>(Ljava/lang/String;Ljava/io/File;Landroid/content/pm/IPackageInstallObserver2;ILandroid/content/pm/PackageInstaller$SessionParams;ILcom/android/server/pm/InstallSource;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$SigningDetails;)V
 PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;-><init>(Ljava/lang/String;Ljava/io/File;Landroid/content/pm/IPackageInstallObserver2;Landroid/content/pm/PackageInstaller$SessionParams;ILcom/android/server/pm/InstallSource;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$SigningDetails;)V
 PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallSource()Lcom/android/server/pm/InstallSource;
 PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallerUid()I
@@ -26781,7 +29080,7 @@
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPostInstall(II)I
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPreInstall(I)I
 HPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILandroid/content/pm/parsing/ParsedPackage;)Z
-PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILcom/android/server/pm/parsing/pkg/ParsedPackage;)Z
+HPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILcom/android/server/pm/parsing/pkg/ParsedPackage;)Z
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->getCodePath()Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService$HandlerParams;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/UserHandle;)V
 PLcom/android/server/pm/PackageManagerService$HandlerParams;->getRollbackUser()Landroid/os/UserHandle;
@@ -26797,8 +29096,10 @@
 HSPLcom/android/server/pm/PackageManagerService$Injector$SystemServiceProducer;-><init>(Ljava/lang/Class;)V
 HSPLcom/android/server/pm/PackageManagerService$Injector$SystemServiceProducer;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/PackageManagerService$Injector;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageAbiHelper;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;)V
+HSPLcom/android/server/pm/PackageManagerService$Injector;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageAbiHelper;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;)V
 HSPLcom/android/server/pm/PackageManagerService$Injector;->bootstrap(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/PackageManagerService$Injector;->getAbiHelper()Lcom/android/server/pm/PackageAbiHelper;
+PLcom/android/server/pm/PackageManagerService$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
 HSPLcom/android/server/pm/PackageManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
 PLcom/android/server/pm/PackageManagerService$Injector;->getAppOpsManager()Landroid/app/AppOpsManager;
 HSPLcom/android/server/pm/PackageManagerService$Injector;->getAppsFilter()Lcom/android/server/pm/AppsFilter;
@@ -26819,6 +29120,7 @@
 HSPLcom/android/server/pm/PackageManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
 HSPLcom/android/server/pm/PackageManagerService$Injector;->getUserManagerService()Lcom/android/server/pm/UserManagerService;
 PLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$InstallParams;)V
+HSPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILcom/android/server/pm/InstallSource;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;ILjava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;IZLcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;I)V
 HSPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILcom/android/server/pm/InstallSource;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;ILcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;)V
 HSPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILcom/android/server/pm/InstallSource;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;IZLcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;)V
 HSPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILcom/android/server/pm/InstallSource;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;IZLcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;I)V
@@ -26847,7 +29149,7 @@
 HSPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Landroid/content/ComponentName;)V
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/IntentFilter;Ljava/lang/String;)Z
 HPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/pm/parsing/component/ParsedIntentInfo;Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/pm/parsing/component/ParsedIntentInfo;Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->createDomainVerificationState(IIILjava/lang/String;)Lcom/android/server/pm/IntentFilterVerificationState;
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->getDefaultScheme()Ljava/lang/String;
 HPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->receiveVerificationResponse(I)V
@@ -26862,6 +29164,8 @@
 HSPLcom/android/server/pm/PackageManagerService$OriginInfo;-><init>(Ljava/io/File;ZZ)V
 HSPLcom/android/server/pm/PackageManagerService$OriginInfo;->fromNothing()Lcom/android/server/pm/PackageManagerService$OriginInfo;
 PLcom/android/server/pm/PackageManagerService$OriginInfo;->fromStagedFile(Ljava/io/File;)Lcom/android/server/pm/PackageManagerService$OriginInfo;
+PLcom/android/server/pm/PackageManagerService$PackageChangeObserverDeathRecipient;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/IPackageChangeObserver;)V
+PLcom/android/server/pm/PackageManagerService$PackageChangeObserverDeathRecipient;->binderDied()V
 PLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService$PackageFreezer;->close()V
@@ -26888,6 +29192,7 @@
 HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->flushPackageRestrictions(I)V
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachInstalledPackage(Ljava/util/function/Consumer;I)V
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachPackage(Ljava/util/function/Consumer;)V
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachPackageSetting(Ljava/util/function/Consumer;)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->freeStorage(Ljava/lang/String;JI)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getActivityInfo(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApksInApex(Ljava/lang/String;)Ljava/util/List;
@@ -26955,12 +29260,15 @@
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPlatformSigned(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isResolveActivityComponent(Landroid/content/pm/ComponentInfo;)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isSystemPackage(Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->migrateLegacyObbData()V
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->pruneInstantApps()V
 HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;III)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->removeDistractingPackageRestrictions(Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->removeIsolatedUid(I)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->removeLegacyDefaultBrowserPackageName(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->removeNonSystemPackageSuspensions(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIIZI)Landroid/content/pm/ResolveInfo;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
@@ -26989,6 +29297,7 @@
 HPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getTargetSdkVersionForPackage(Ljava/lang/String;)I
 HSPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
 HPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->isAudioPlaybackCaptureAllowed([Ljava/lang/String;)[Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->registerPackageChangeObserver(Landroid/content/pm/IPackageChangeObserver;)V
 HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->hasFeature(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;-><init>(Lcom/android/server/pm/PackageSender;)V
@@ -27029,6 +29338,7 @@
 HSPLcom/android/server/pm/PackageManagerService$ScanPartition;-><init>(Landroid/content/pm/PackagePartitions$SystemPartition;)V
 HSPLcom/android/server/pm/PackageManagerService$ScanPartition;-><init>(Ljava/io/File;Lcom/android/server/pm/PackageManagerService$ScanPartition;I)V
 HSPLcom/android/server/pm/PackageManagerService$ScanPartition;->scanFlagForPartition(Landroid/content/pm/PackagePartitions$SystemPartition;)I
+HSPLcom/android/server/pm/PackageManagerService$ScanPartition;->toString()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Landroid/content/pm/parsing/ParsedPackage;Lcom/android/server/pm/SharedUserSetting;Landroid/content/pm/parsing/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;)V
 HSPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;)V
 HSPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;Ljava/lang/String;)V
@@ -27044,7 +29354,9 @@
 PLcom/android/server/pm/PackageManagerService$VerificationInfo;-><init>(Landroid/net/Uri;Landroid/net/Uri;II)V
 HSPLcom/android/server/pm/PackageManagerService;-><clinit>()V
 HSPLcom/android/server/pm/PackageManagerService;-><init>(Lcom/android/server/pm/PackageManagerService$Injector;ZZ)V
+PLcom/android/server/pm/PackageManagerService;->access$000(Lcom/android/server/pm/PackageManagerService;)J
 PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)J
+PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$Injector;
 PLcom/android/server/pm/PackageManagerService;->access$1000(Lcom/android/server/pm/PackageManagerService;ILandroid/net/Uri;ILandroid/os/UserHandle;)V
 PLcom/android/server/pm/PackageManagerService;->access$1100(Lcom/android/server/pm/PackageManagerService;IIZLjava/lang/String;ZLjava/util/List;)V
 PLcom/android/server/pm/PackageManagerService;->access$1200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$IntentFilterVerifier;
@@ -27053,37 +29365,52 @@
 PLcom/android/server/pm/PackageManagerService;->access$200(Landroid/content/pm/parsing/component/ParsedIntentInfo;)Z
 PLcom/android/server/pm/PackageManagerService;->access$200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$Injector;
 PLcom/android/server/pm/PackageManagerService;->access$2300(Lcom/android/server/pm/PackageManagerService;I)Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;
+PLcom/android/server/pm/PackageManagerService;->access$2400()Z
 PLcom/android/server/pm/PackageManagerService;->access$2400(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
 PLcom/android/server/pm/PackageManagerService;->access$2500()Z
+PLcom/android/server/pm/PackageManagerService;->access$2500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)I
 PLcom/android/server/pm/PackageManagerService;->access$2600(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)I
+PLcom/android/server/pm/PackageManagerService;->access$2600(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/PackageInfoLite;)V
 PLcom/android/server/pm/PackageManagerService;->access$2700(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/PackageInfoLite;)V
+PLcom/android/server/pm/PackageManagerService;->access$2700(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
 PLcom/android/server/pm/PackageManagerService;->access$2800(Landroid/content/pm/parsing/AndroidPackage;)Z
 PLcom/android/server/pm/PackageManagerService;->access$2800(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
+PLcom/android/server/pm/PackageManagerService;->access$2808(Lcom/android/server/pm/PackageManagerService;)I
 PLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;III)Z
 PLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
 PLcom/android/server/pm/PackageManagerService;->access$300(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->access$300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->access$300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->access$3000(Lcom/android/server/pm/PackageManagerService;)Z
 PLcom/android/server/pm/PackageManagerService;->access$3000(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->access$3008(Lcom/android/server/pm/PackageManagerService;)I
+PLcom/android/server/pm/PackageManagerService;->access$3100(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;III)Z
 PLcom/android/server/pm/PackageManagerService;->access$3108(Lcom/android/server/pm/PackageManagerService;)I
 PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;)Z
+PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;III)Z
 PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;III)Z
+PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
 PLcom/android/server/pm/PackageManagerService;->access$3400(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
 PLcom/android/server/pm/PackageManagerService;->access$3500(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3500(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallArgs;I)V
 PLcom/android/server/pm/PackageManagerService;->access$3600(Lcom/android/server/pm/PackageManagerService;Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 PLcom/android/server/pm/PackageManagerService;->access$3600(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->access$3700(Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
+HSPLcom/android/server/pm/PackageManagerService;->access$3700(Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
 PLcom/android/server/pm/PackageManagerService;->access$3700(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallArgs;I)V
 PLcom/android/server/pm/PackageManagerService;->access$3700(Lcom/android/server/pm/PackageManagerService;Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 HSPLcom/android/server/pm/PackageManagerService;->access$3800(Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
 PLcom/android/server/pm/PackageManagerService;->access$3800(Lcom/android/server/pm/PackageManagerService;Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 HSPLcom/android/server/pm/PackageManagerService;->access$3900(Lcom/android/server/pm/PackageManagerService;)Landroid/os/incremental/IncrementalManager;
+PLcom/android/server/pm/PackageManagerService;->access$400(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;IZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;I)V
 PLcom/android/server/pm/PackageManagerService;->access$400(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;I)V
 HPLcom/android/server/pm/PackageManagerService;->access$400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->access$4200()[I
 PLcom/android/server/pm/PackageManagerService;->access$4400()[I
+PLcom/android/server/pm/PackageManagerService;->access$4500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->access$4600(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/InstantAppRegistry;
 HPLcom/android/server/pm/PackageManagerService;->access$4700(Lcom/android/server/pm/PackageManagerService;I)V
 PLcom/android/server/pm/PackageManagerService;->access$4700(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/PackageManagerService;->access$4800(Lcom/android/server/pm/PackageManagerService;)Landroid/util/SparseBooleanArray;
@@ -27096,6 +29423,8 @@
 HSPLcom/android/server/pm/PackageManagerService;->access$5000(Lcom/android/server/pm/PackageManagerService;)Landroid/util/SparseBooleanArray;
 HSPLcom/android/server/pm/PackageManagerService;->access$5100(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;IILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->access$5600(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
+PLcom/android/server/pm/PackageManagerService;->access$5600(Lcom/android/server/pm/PackageManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/PackageManagerService;->access$5700(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
 PLcom/android/server/pm/PackageManagerService;->access$5700(Lcom/android/server/pm/PackageManagerService;III)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->access$5800(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ModuleInfoProvider;
 HSPLcom/android/server/pm/PackageManagerService;->access$5800(Lcom/android/server/pm/PackageManagerService;I)Ljava/lang/String;
@@ -27130,7 +29459,7 @@
 PLcom/android/server/pm/PackageManagerService;->access$6700(Lcom/android/server/pm/PackageManagerService;Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
 HPLcom/android/server/pm/PackageManagerService;->access$6700(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
 PLcom/android/server/pm/PackageManagerService;->access$6800(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$6800(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)I
+HPLcom/android/server/pm/PackageManagerService;->access$6800(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)I
 HSPLcom/android/server/pm/PackageManagerService;->access$6800(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
 HPLcom/android/server/pm/PackageManagerService;->access$6900(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)I
 HPLcom/android/server/pm/PackageManagerService;->access$6900(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
@@ -27203,12 +29532,15 @@
 HSPLcom/android/server/pm/PackageManagerService;->access$9200(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)[Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->access$9300(Lcom/android/server/pm/PackageManagerService;II)V
 PLcom/android/server/pm/PackageManagerService;->access$9400(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ApexManager;
+PLcom/android/server/pm/PackageManagerService;->access$9400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->access$9500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->activitySupportsIntent(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->addBuiltInSharedLibraryLocked(Ljava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/server/pm/PackageManagerService;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
 HSPLcom/android/server/pm/PackageManagerService;->addForInitLI(Landroid/content/pm/parsing/ParsedPackage;IIJLandroid/os/UserHandle;)Landroid/content/pm/parsing/AndroidPackage;
 HSPLcom/android/server/pm/PackageManagerService;->addForInitLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/parsing/pkg/AndroidPackage;
 HSPLcom/android/server/pm/PackageManagerService;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;[Ljava/lang/String;[ZII)V
+PLcom/android/server/pm/PackageManagerService;->addPersistentPreferredActivity(Landroid/content/IntentFilter;Landroid/content/ComponentName;I)V
 PLcom/android/server/pm/PackageManagerService;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
 PLcom/android/server/pm/PackageManagerService;->addPreferredActivityInternal(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;ZILjava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService;->addSharedLibraryLPr(Landroid/content/pm/parsing/AndroidPackage;Ljava/util/Set;Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/parsing/AndroidPackage;)V
@@ -27234,7 +29566,7 @@
 HPLcom/android/server/pm/PackageManagerService;->areWebInstantAppsDisabled(I)Z
 HPLcom/android/server/pm/PackageManagerService;->arrayToString([I)Ljava/lang/String;
 HPLcom/android/server/pm/PackageManagerService;->assertCodePolicy(Landroid/content/pm/parsing/AndroidPackage;)V
-PLcom/android/server/pm/PackageManagerService;->assertCodePolicy(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/PackageManagerService;->assertCodePolicy(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/PackageManagerService;->assertPackageIsValid(Landroid/content/pm/parsing/AndroidPackage;II)V
 HSPLcom/android/server/pm/PackageManagerService;->assertPackageIsValid(Lcom/android/server/pm/parsing/pkg/AndroidPackage;II)V
 HSPLcom/android/server/pm/PackageManagerService;->assertPackageKnownAndInstalled(Ljava/lang/String;Ljava/lang/String;I)V
@@ -27250,7 +29582,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->canViewInstantApps(II)Z
 HSPLcom/android/server/pm/PackageManagerService;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
 HPLcom/android/server/pm/PackageManagerService;->checkDowngrade(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/PackageInfoLite;)V
-PLcom/android/server/pm/PackageManagerService;->checkDowngrade(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/PackageInfoLite;)V
+HPLcom/android/server/pm/PackageManagerService;->checkDowngrade(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/PackageInfoLite;)V
 PLcom/android/server/pm/PackageManagerService;->checkPackageFrozen(Ljava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
@@ -27275,6 +29607,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->clearDefaultBrowserIfNeededForUser(Ljava/lang/String;I)V
 HPLcom/android/server/pm/PackageManagerService;->clearIntentFilterVerificationsLPw(I)V
 HSPLcom/android/server/pm/PackageManagerService;->clearIntentFilterVerificationsLPw(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->clearPackagePersistentPreferredActivities(Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivities(Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivities(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivitiesLPw(Ljava/lang/String;Landroid/util/SparseBooleanArray;I)V
@@ -27324,6 +29657,7 @@
 PLcom/android/server/pm/PackageManagerService;->disableSystemPackageLPw(Landroid/content/pm/parsing/AndroidPackage;)Z
 PLcom/android/server/pm/PackageManagerService;->disableSystemPackageLPw(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
+HPLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZLandroid/util/SparseArray;)V
 HSPLcom/android/server/pm/PackageManagerService;->dropNonSystemPackages([Ljava/lang/String;)[Ljava/lang/String;
 HPLcom/android/server/pm/PackageManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/server/pm/PackageManagerService;->dumpCompilerStatsLPr(Ljava/io/PrintWriter;Ljava/lang/String;)V
@@ -27332,6 +29666,7 @@
 HPLcom/android/server/pm/PackageManagerService;->dumpFeaturesProto(Landroid/util/proto/ProtoOutputStream;)V
 PLcom/android/server/pm/PackageManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
 HPLcom/android/server/pm/PackageManagerService;->dumpSharedLibrariesProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/pm/PackageManagerService;->enableCompressedPackage(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)Z
 PLcom/android/server/pm/PackageManagerService;->enableSystemPackageLPw(Landroid/content/pm/parsing/AndroidPackage;)V
 PLcom/android/server/pm/PackageManagerService;->enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions(Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->enforceCanSetPackagesSuspendedAsUser(Ljava/lang/String;IILjava/lang/String;)V
@@ -27340,7 +29675,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->ensureSystemPackageName(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->ensureSystemPackageNames([Ljava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->executeDeletePackageLIF(Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/lang/String;Z[IZLandroid/content/pm/parsing/ParsedPackage;)V
-PLcom/android/server/pm/PackageManagerService;->executeDeletePackageLIF(Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/lang/String;Z[IZLcom/android/server/pm/parsing/pkg/ParsedPackage;)V
+HPLcom/android/server/pm/PackageManagerService;->executeDeletePackageLIF(Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/lang/String;Z[IZLcom/android/server/pm/parsing/pkg/ParsedPackage;)V
 HPLcom/android/server/pm/PackageManagerService;->executePostCommitSteps(Lcom/android/server/pm/PackageManagerService$CommitRequest;)V
 HSPLcom/android/server/pm/PackageManagerService;->executeSharedLibrariesUpdateLPr(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/AndroidPackage;Ljava/util/ArrayList;)V
 HSPLcom/android/server/pm/PackageManagerService;->executeSharedLibrariesUpdateLPr(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Ljava/util/ArrayList;)V
@@ -27363,6 +29698,7 @@
 HPLcom/android/server/pm/PackageManagerService;->finishPackageInstall(IZ)V
 HSPLcom/android/server/pm/PackageManagerService;->fixProcessName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->fixUpInstallReason(Ljava/lang/String;II)I
+PLcom/android/server/pm/PackageManagerService;->flushPackageRestrictionsAsUser(I)V
 HPLcom/android/server/pm/PackageManagerService;->flushPackageRestrictionsAsUserInternalLocked(I)V
 HSPLcom/android/server/pm/PackageManagerService;->forEachInstalledPackage(Ljava/util/function/Consumer;I)V
 HSPLcom/android/server/pm/PackageManagerService;->forEachPackage(Ljava/util/function/Consumer;)V
@@ -27511,6 +29847,7 @@
 HPLcom/android/server/pm/PackageManagerService;->getVerificationTimeout()J
 HSPLcom/android/server/pm/PackageManagerService;->getWellbeingPackageName()Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;IZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;I)V
 HPLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;)V
 HPLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;I)V
 PLcom/android/server/pm/PackageManagerService;->hasDomainURLs(Landroid/content/pm/parsing/AndroidPackage;)Z
@@ -27520,7 +29857,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/PackageManagerService;->hasSystemUidErrors()Z
 HPLcom/android/server/pm/PackageManagerService;->hasValidDomains(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->hasValidDomains(Landroid/content/pm/parsing/component/ParsedIntentInfo;)Z
+HPLcom/android/server/pm/PackageManagerService;->hasValidDomains(Landroid/content/pm/parsing/component/ParsedIntentInfo;)Z
 HPLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;IIILjava/util/List;)I
 HPLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;IIILjava/util/List;Landroid/content/IntentSender;)I
 PLcom/android/server/pm/PackageManagerService;->installPackageFromSystemLIF(Ljava/lang/String;[I[ILcom/android/server/pm/permission/PermissionsState;Z)Landroid/content/pm/parsing/AndroidPackage;
@@ -27539,7 +29876,7 @@
 PLcom/android/server/pm/PackageManagerService;->isCallerVerifier(I)Z
 PLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Landroid/content/pm/parsing/AndroidPackage;)Z
 HSPLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 PLcom/android/server/pm/PackageManagerService;->isComponentVisibleToInstantApp(Landroid/content/ComponentName;)Z
 PLcom/android/server/pm/PackageManagerService;->isComponentVisibleToInstantApp(Landroid/content/ComponentName;I)Z
 HSPLcom/android/server/pm/PackageManagerService;->isDeviceUpgrading()Z
@@ -27573,7 +29910,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->isRecentsAccessingChildProfiles(II)Z
 PLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Landroid/content/pm/parsing/AndroidPackage;)Z
 HSPLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
+HPLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/PackageManagerService;->isSafeMode()Z
 PLcom/android/server/pm/PackageManagerService;->isStorageLow()Z
 PLcom/android/server/pm/PackageManagerService;->isSuspendAllowedForUser(I)Z
@@ -27591,18 +29928,23 @@
 HSPLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;ILjava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$QIOg9odF8NpVJsmgYMdGQy_GpvY(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/PackageManagerService$ScanPartition;
+PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$14$PackageManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$15$PackageManagerService(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$15$PackageManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$16$PackageManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$deleteApplicationCacheFilesAsUser$27$PackageManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$deleteApplicationCacheFilesAsUser$28$PackageManagerService(Landroid/content/pm/parsing/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$deleteApplicationCacheFilesAsUser$28$PackageManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$deleteApplicationCacheFilesAsUser$29$PackageManagerService(Landroid/content/pm/parsing/AndroidPackage;IIILandroid/content/pm/IPackageDataObserver;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$deletePackageVersioned$25$PackageManagerService(Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$deletePackageVersioned$26$PackageManagerService(Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$deletePackageVersioned$27$PackageManagerService(Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$executeSharedLibrariesUpdateLPr$13(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$executeSharedLibrariesUpdateLPr$14(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$executeSharedLibrariesUpdateLPr$15(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
 HPLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$10$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-PLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$11$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$11$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$installExistingPackageAsUser$18$PackageManagerService(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$installExistingPackageAsUser$19$PackageManagerService(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$installExistingPackageAsUser$20$PackageManagerService(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/IntentSender;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$main$0(Ljava/lang/Object;Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ComponentResolver;
@@ -27612,32 +29954,44 @@
 HSPLcom/android/server/pm/PackageManagerService;->lambda$main$4(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppsFilter;
 HSPLcom/android/server/pm/PackageManagerService;->lambda$main$5(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/compat/PlatformCompat;
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$10$PackageManagerService(Ljava/util/List;I)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$new$34$PackageManagerService(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$35$PackageManagerService(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$36$PackageManagerService(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$7(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/PackageManagerService$SystemPartition;
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$7(Lcom/android/server/pm/PackageManagerService$ScanPartition;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$7(Ljava/util/function/BiConsumer;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$8$PackageManagerService(Ljava/util/function/BiConsumer;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$8(Lcom/android/server/pm/PackageManagerService$SystemPartition;)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$8(Ljava/util/function/BiConsumer;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$9$PackageManagerService(Ljava/util/List;I)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$new$9$PackageManagerService(Ljava/util/function/BiConsumer;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$21$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$22$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$23$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$28(I)V
 PLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$29(I)V
 HPLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$30(I)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$20$PackageManagerService(ZLjava/util/List;)V
 HPLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$21$PackageManagerService(ZLjava/util/List;)V
-PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$22$PackageManagerService(ZLjava/util/List;)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$22$PackageManagerService(ZLjava/util/List;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$removePackageDataLIF$27$PackageManagerService(Lcom/android/server/pm/PackageSetting;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$removePackageDataLIF$28$PackageManagerService(Lcom/android/server/pm/PackageSetting;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$removeUnusedPackagesLPw$43$PackageManagerService(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$sendMyPackageSuspendedOrUnsuspended$19$PackageManagerService(ZI[Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/pm/PackageManagerService;->lambda$sendMyPackageSuspendedOrUnsuspended$20$PackageManagerService(ZI[Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageAddedForNewUsers$17$PackageManagerService([ILjava/lang/String;Z)V
 PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageAddedForNewUsers$18$PackageManagerService([ILjava/lang/String;Z)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$15$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;Landroid/util/SparseArray;[I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$16$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;Landroid/util/SparseArray;[I)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$16$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
 HPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$17$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$static$16(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
 HSPLcom/android/server/pm/PackageManagerService;->lambda$static$17(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
 HSPLcom/android/server/pm/PackageManagerService;->lambda$static$18(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
 HSPLcom/android/server/pm/PackageManagerService;->lambda$systemReady$36$PackageManagerService(I)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$systemReady$37$PackageManagerService(I)V
 HSPLcom/android/server/pm/PackageManagerService;->lambda$systemReady$38$PackageManagerService(I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$updateDefaultHomeNotLocked$32$PackageManagerService(ILjava/lang/Boolean;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$updateDefaultHomeNotLocked$33$PackageManagerService(ILjava/lang/Boolean;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$updateDefaultHomeNotLocked$34$PackageManagerService(ILjava/lang/Boolean;)V
 HSPLcom/android/server/pm/PackageManagerService;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
@@ -27653,6 +30007,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->maybeMigrateAppDataLIF(Landroid/content/pm/parsing/AndroidPackage;I)Z
 HSPLcom/android/server/pm/PackageManagerService;->maybeMigrateAppDataLIF(Lcom/android/server/pm/parsing/pkg/AndroidPackage;I)Z
 PLcom/android/server/pm/PackageManagerService;->needsNetworkVerificationLPr(Landroid/content/pm/parsing/ComponentParseUtils$ParsedActivityIntentInfo;)Z
+PLcom/android/server/pm/PackageManagerService;->needsNetworkVerificationLPr(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->nonStaticSharedLibExistsLocked(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageManagerService;->normalizePackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
@@ -27661,6 +30016,9 @@
 PLcom/android/server/pm/PackageManagerService;->notifyInstallObserver(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/pm/IPackageInstallObserver2;)V
 PLcom/android/server/pm/PackageManagerService;->notifyInstallObserver(Ljava/lang/String;)V
 HPLcom/android/server/pm/PackageManagerService;->notifyPackageAdded(Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->notifyPackageChangeObservers(Landroid/content/pm/PackageChangeEvent;)V
+PLcom/android/server/pm/PackageManagerService;->notifyPackageChangeObserversOnDelete(Ljava/lang/String;J)V
+PLcom/android/server/pm/PackageManagerService;->notifyPackageChangeObserversOnUpdate(Lcom/android/server/pm/PackageManagerService$ReconciledPackage;)V
 HPLcom/android/server/pm/PackageManagerService;->notifyPackageChanged(Ljava/lang/String;I)V
 HPLcom/android/server/pm/PackageManagerService;->notifyPackageRemoved(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/PackageManagerService;->notifyPackageUse(Ljava/lang/String;I)V
@@ -27726,6 +30084,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List;
 HSPLcom/android/server/pm/PackageManagerService;->reconcilePackagesLocked(Lcom/android/server/pm/PackageManagerService$ReconcileRequest;Lcom/android/server/pm/KeySetManagerService;)Ljava/util/Map;
 PLcom/android/server/pm/PackageManagerService;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
+PLcom/android/server/pm/PackageManagerService;->removeAllDistractingPackageRestrictions(I)V
 HSPLcom/android/server/pm/PackageManagerService;->removeCodePathLI(Ljava/io/File;)V
 HSPLcom/android/server/pm/PackageManagerService;->removeDexFiles(Ljava/util/List;[Ljava/lang/String;)V
 HPLcom/android/server/pm/PackageManagerService;->removeDistractingPackageRestrictions([Ljava/lang/String;I)V
@@ -27771,7 +30130,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->scanPackageOnlyLI(Lcom/android/server/pm/PackageManagerService$ScanRequest;Lcom/android/server/pm/PackageManagerService$Injector;ZJ)Lcom/android/server/pm/PackageManagerService$ScanResult;
 HPLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Landroid/content/pm/parsing/ParsedPackage;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$ScanResult;
 PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$ScanResult;
-PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$ScanResult;
+HPLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Lcom/android/server/pm/parsing/pkg/ParsedPackage;IIJLandroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$ScanResult;
 PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Ljava/io/File;IIJLandroid/os/UserHandle;)Landroid/content/pm/parsing/AndroidPackage;
 PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Ljava/io/File;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/parsing/pkg/AndroidPackage;
 PLcom/android/server/pm/PackageManagerService;->scheduleDeferredNoKillInstallObserver(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/pm/IPackageInstallObserver2;)V
@@ -27787,6 +30146,7 @@
 HPLcom/android/server/pm/PackageManagerService;->sendPackageAddedForNewUsers(Ljava/lang/String;ZZI[I[I)V
 PLcom/android/server/pm/PackageManagerService;->sendPackageAddedForUser(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;I)V
 HSPLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
+HPLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[ILandroid/util/SparseArray;)V
 HPLcom/android/server/pm/PackageManagerService;->sendPackageChangedBroadcast(Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->sendPackagesSuspendedForUser([Ljava/lang/String;[IIZ)V
 HPLcom/android/server/pm/PackageManagerService;->sendSessionCommitBroadcast(Landroid/content/pm/PackageInstaller$SessionInfo;I)V
@@ -27816,7 +30176,7 @@
 PLcom/android/server/pm/PackageManagerService;->shouldKeepUninstalledPackageLPr(Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService;->shutdown()V
 HPLcom/android/server/pm/PackageManagerService;->startIntentFilterVerifications(IZLandroid/content/pm/parsing/AndroidPackage;)V
-PLcom/android/server/pm/PackageManagerService;->startIntentFilterVerifications(IZLcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/PackageManagerService;->startIntentFilterVerifications(IZLcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/PackageManagerService;->systemReady()V
 HPLcom/android/server/pm/PackageManagerService;->unsuspendForSuspendingPackage(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/PackageManagerService;->updateAllSharedLibrariesLocked(Landroid/content/pm/parsing/AndroidPackage;Ljava/util/Map;)Ljava/util/ArrayList;
@@ -27830,6 +30190,7 @@
 HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForPackage(II)I
 HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IIIZ)I
 HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IIIZZ)I
+HPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IIIZZZ)I
 HSPLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
 HSPLcom/android/server/pm/PackageManagerService;->updateIntentForResolve(Landroid/content/Intent;)Landroid/content/Intent;
 PLcom/android/server/pm/PackageManagerService;->updateIntentVerificationStatus(Ljava/lang/String;II)Z
@@ -27899,6 +30260,7 @@
 HPLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$5(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)I
 HPLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$6(JLcom/android/server/pm/PackageSetting;)Z
 PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$7(Landroid/content/pm/parsing/AndroidPackage;)Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$8(Lcom/android/server/pm/PackageSetting;)Z
 HSPLcom/android/server/pm/PackageManagerServiceUtils;->lambda$sortPackagesByUsageDate$0(Landroid/content/pm/parsing/AndroidPackage;Landroid/content/pm/parsing/AndroidPackage;)I
 HPLcom/android/server/pm/PackageManagerServiceUtils;->lambda$sortPackagesByUsageDate$0(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)I
 HPLcom/android/server/pm/PackageManagerServiceUtils;->lambda$sortPackagesByUsageDate$1(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)I
@@ -27909,7 +30271,13 @@
 HPLcom/android/server/pm/PackageManagerServiceUtils;->packagesToString(Ljava/util/List;)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerServiceUtils;->sortPackagesByUsageDate(Ljava/util/List;Lcom/android/server/pm/PackageManagerService;)V
 HSPLcom/android/server/pm/PackageManagerServiceUtils;->verifySignatures(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$SigningDetails;ZZ)Z
+PLcom/android/server/pm/PackageManagerShellCommand$1;-><init>(Lcom/android/server/pm/PackageManagerShellCommand;)V
+HPLcom/android/server/pm/PackageManagerShellCommand$1;->compare(Landroid/content/pm/FeatureInfo;Landroid/content/pm/FeatureInfo;)I
+HPLcom/android/server/pm/PackageManagerShellCommand$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 PLcom/android/server/pm/PackageManagerShellCommand$2;-><init>(Lcom/android/server/pm/PackageManagerShellCommand;)V
+PLcom/android/server/pm/PackageManagerShellCommand$3;-><init>(Lcom/android/server/pm/PackageManagerShellCommand;)V
+PLcom/android/server/pm/PackageManagerShellCommand$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/PackageManagerShellCommand$3;->compare(Ljava/lang/String;Ljava/lang/String;)I
 PLcom/android/server/pm/PackageManagerShellCommand$ClearDataObserver;-><init>()V
 PLcom/android/server/pm/PackageManagerShellCommand$ClearDataObserver;->onRemoveCompleted(Ljava/lang/String;Z)V
 PLcom/android/server/pm/PackageManagerShellCommand$InstallParams;-><init>()V
@@ -27931,6 +30299,7 @@
 HPLcom/android/server/pm/PackageManagerShellCommand;->doRunInstall(Lcom/android/server/pm/PackageManagerShellCommand$InstallParams;)I
 PLcom/android/server/pm/PackageManagerShellCommand;->doWriteSplit(ILjava/lang/String;JLjava/lang/String;Z)I
 HPLcom/android/server/pm/PackageManagerShellCommand;->doWriteSplits(ILjava/util/ArrayList;JZ)I
+PLcom/android/server/pm/PackageManagerShellCommand;->enabledSettingToString(I)Ljava/lang/String;
 HPLcom/android/server/pm/PackageManagerShellCommand;->getRemainingArgs()Ljava/util/ArrayList;
 HPLcom/android/server/pm/PackageManagerShellCommand;->makeInstallParams()Lcom/android/server/pm/PackageManagerShellCommand$InstallParams;
 HSPLcom/android/server/pm/PackageManagerShellCommand;->onCommand(Ljava/lang/String;)I
@@ -27942,9 +30311,12 @@
 PLcom/android/server/pm/PackageManagerShellCommand;->runInstallCreate()I
 PLcom/android/server/pm/PackageManagerShellCommand;->runInstallWrite()I
 HSPLcom/android/server/pm/PackageManagerShellCommand;->runList()I
+HPLcom/android/server/pm/PackageManagerShellCommand;->runListFeatures()I
 PLcom/android/server/pm/PackageManagerShellCommand;->runListInstrumentation()I
+PLcom/android/server/pm/PackageManagerShellCommand;->runListLibraries()I
 HSPLcom/android/server/pm/PackageManagerShellCommand;->runListPackages(Z)I
 PLcom/android/server/pm/PackageManagerShellCommand;->runPath()I
+PLcom/android/server/pm/PackageManagerShellCommand;->runSetEnabledSetting(I)I
 HPLcom/android/server/pm/PackageManagerShellCommand;->runUninstall()I
 HPLcom/android/server/pm/PackageManagerShellCommand;->setParamsSize(Lcom/android/server/pm/PackageManagerShellCommand$InstallParams;Ljava/util/List;)V
 HSPLcom/android/server/pm/PackageManagerShellCommand;->translateUserId(IILjava/lang/String;)I
@@ -28001,6 +30373,7 @@
 HSPLcom/android/server/pm/PackageSettingBase;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
 HSPLcom/android/server/pm/PackageSettingBase;->getStopped(I)Z
 HSPLcom/android/server/pm/PackageSettingBase;->getSuspended(I)Z
+PLcom/android/server/pm/PackageSettingBase;->getUninstallReason(I)I
 HSPLcom/android/server/pm/PackageSettingBase;->getVirtulalPreload(I)Z
 PLcom/android/server/pm/PackageSettingBase;->isAnyInstalled([I)Z
 HSPLcom/android/server/pm/PackageSettingBase;->modifyUserState(I)Landroid/content/pm/PackageUserState;
@@ -28009,6 +30382,7 @@
 HSPLcom/android/server/pm/PackageSettingBase;->readUserState(I)Landroid/content/pm/PackageUserState;
 HPLcom/android/server/pm/PackageSettingBase;->removeSuspension(Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageSettingBase;->removeUser(I)V
+PLcom/android/server/pm/PackageSettingBase;->resetOverrideComponentLabelIcon(I)V
 HSPLcom/android/server/pm/PackageSettingBase;->restoreComponentLPw(Ljava/lang/String;I)Z
 HPLcom/android/server/pm/PackageSettingBase;->setCeDataInode(JI)V
 PLcom/android/server/pm/PackageSettingBase;->setDistractionFlags(II)V
@@ -28026,7 +30400,9 @@
 HSPLcom/android/server/pm/PackageSettingBase;->setOverlayPathsForLibrary(Ljava/lang/String;Ljava/util/List;I)V
 PLcom/android/server/pm/PackageSettingBase;->setStopped(ZI)V
 HSPLcom/android/server/pm/PackageSettingBase;->setTimeStamp(J)V
+PLcom/android/server/pm/PackageSettingBase;->setUninstallReason(II)V
 PLcom/android/server/pm/PackageSettingBase;->setUpdateAvailable(Z)V
+HSPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZIZLandroid/util/ArrayMap;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIIILjava/lang/String;)V
 HSPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZIZLandroid/util/ArrayMap;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIILjava/lang/String;)V
 HSPLcom/android/server/pm/PackageSettingBase;->updateFrom(Lcom/android/server/pm/PackageSettingBase;)Lcom/android/server/pm/PackageSettingBase;
 HPLcom/android/server/pm/PackageSettingBase;->writeUsersInfoToProto(Landroid/util/proto/ProtoOutputStream;J)V
@@ -28071,6 +30447,7 @@
 HSPLcom/android/server/pm/ParallelPackageParser;->parsePackage(Ljava/io/File;I)Lcom/android/server/pm/parsing/pkg/ParsedPackage;
 HSPLcom/android/server/pm/ParallelPackageParser;->submit(Ljava/io/File;I)V
 HSPLcom/android/server/pm/ParallelPackageParser;->take()Lcom/android/server/pm/ParallelPackageParser$ParseResult;
+PLcom/android/server/pm/PersistentPreferredActivity;-><init>(Landroid/content/IntentFilter;Landroid/content/ComponentName;)V
 HSPLcom/android/server/pm/PersistentPreferredActivity;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/server/pm/PersistentPreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/pm/PersistentPreferredIntentResolver;-><init>()V
@@ -28138,6 +30515,21 @@
 HSPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
 HSPLcom/android/server/pm/ProtectedPackages;->setDeviceOwnerProtectedPackages(Ljava/util/List;)V
+HSPLcom/android/server/pm/RestrictionsSet;-><init>()V
+HSPLcom/android/server/pm/RestrictionsSet;-><init>(ILandroid/os/Bundle;)V
+PLcom/android/server/pm/RestrictionsSet;->containsKey(I)Z
+HPLcom/android/server/pm/RestrictionsSet;->dumpRestrictions(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/pm/RestrictionsSet;->getEnforcingUser(II)Landroid/os/UserManager$EnforcingUser;
+HPLcom/android/server/pm/RestrictionsSet;->getEnforcingUsers(Ljava/lang/String;I)Ljava/util/List;
+HPLcom/android/server/pm/RestrictionsSet;->getRestrictions(I)Landroid/os/Bundle;
+PLcom/android/server/pm/RestrictionsSet;->isEmpty()Z
+PLcom/android/server/pm/RestrictionsSet;->keyAt(I)I
+PLcom/android/server/pm/RestrictionsSet;->mergeAll()Landroid/os/Bundle;
+HSPLcom/android/server/pm/RestrictionsSet;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/android/server/pm/RestrictionsSet;
+PLcom/android/server/pm/RestrictionsSet;->removeAllRestrictions()V
+PLcom/android/server/pm/RestrictionsSet;->size()I
+HSPLcom/android/server/pm/RestrictionsSet;->updateRestrictions(ILandroid/os/Bundle;)Z
+PLcom/android/server/pm/RestrictionsSet;->writeRestrictions(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;)V
 HSPLcom/android/server/pm/SELinuxMMAC;-><clinit>()V
 HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/parsing/AndroidPackage;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/compat/PlatformCompat;)Ljava/lang/String;
 HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/parsing/AndroidPackage;ZI)Ljava/lang/String;
@@ -28461,6 +30853,10 @@
 HPLcom/android/server/pm/ShortcutParser;->parseShortcutAttributes(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;Ljava/lang/String;Landroid/content/ComponentName;II)Landroid/content/pm/ShortcutInfo;
 HPLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
 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;
+PLcom/android/server/pm/ShortcutRequestPinProcessor$PinAppWidgetRequestInner;-><init>(Lcom/android/server/pm/ShortcutRequestPinProcessor;Landroid/content/IntentSender;ILandroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;)V
+PLcom/android/server/pm/ShortcutRequestPinProcessor$PinAppWidgetRequestInner;-><init>(Lcom/android/server/pm/ShortcutRequestPinProcessor;Landroid/content/IntentSender;ILandroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;Lcom/android/server/pm/ShortcutRequestPinProcessor$1;)V
+PLcom/android/server/pm/ShortcutRequestPinProcessor$PinAppWidgetRequestInner;->getAppWidgetProviderInfo()Landroid/appwidget/AppWidgetProviderInfo;
+PLcom/android/server/pm/ShortcutRequestPinProcessor$PinAppWidgetRequestInner;->getExtras()Landroid/os/Bundle;
 PLcom/android/server/pm/ShortcutRequestPinProcessor$PinItemRequestInner;-><init>(Lcom/android/server/pm/ShortcutRequestPinProcessor;Landroid/content/IntentSender;I)V
 PLcom/android/server/pm/ShortcutRequestPinProcessor$PinItemRequestInner;-><init>(Lcom/android/server/pm/ShortcutRequestPinProcessor;Landroid/content/IntentSender;ILcom/android/server/pm/ShortcutRequestPinProcessor$1;)V
 PLcom/android/server/pm/ShortcutRequestPinProcessor$PinItemRequestInner;->accept(Landroid/os/Bundle;)Z
@@ -28534,14 +30930,21 @@
 HPLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcutsInnerLocked$1(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z
 HPLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcutsInnerLocked$1(JLandroid/util/ArraySet;Landroid/util/ArraySet;Landroid/content/ComponentName;ZZZZZLandroid/content/pm/ShortcutInfo;)Z
 PLcom/android/server/pm/ShortcutService$LocalService;->pinShortcuts(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;I)V
+PLcom/android/server/pm/ShortcutService$LocalService;->requestPinAppWidget(Ljava/lang/String;Landroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;Landroid/content/IntentSender;I)Z
 PLcom/android/server/pm/ShortcutService$LocalService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/server/pm/ShortcutService;-><clinit>()V
 HSPLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
 HPLcom/android/server/pm/ShortcutService;->access$000(Landroid/content/pm/PackageInfo;)Z
 PLcom/android/server/pm/ShortcutService;->access$1000(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1100(Lcom/android/server/pm/ShortcutService;)Ljava/util/concurrent/atomic/AtomicBoolean;
 PLcom/android/server/pm/ShortcutService;->access$1100(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1200(Lcom/android/server/pm/ShortcutService;)Lcom/android/server/uri/UriGrantsManagerInternal;
 PLcom/android/server/pm/ShortcutService;->access$1200(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1300(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1400(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1500(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->access$1600(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
 HSPLcom/android/server/pm/ShortcutService;->access$200(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object;
 HPLcom/android/server/pm/ShortcutService;->access$300(Lcom/android/server/pm/ShortcutService;Ljava/util/List;)Ljava/util/List;
 HSPLcom/android/server/pm/ShortcutService;->access$400(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
@@ -28549,6 +30952,8 @@
 HSPLcom/android/server/pm/ShortcutService;->access$500(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
 PLcom/android/server/pm/ShortcutService;->access$600(Lcom/android/server/pm/ShortcutService;)Lcom/android/server/pm/ShortcutBitmapSaver;
 HSPLcom/android/server/pm/ShortcutService;->access$700(Lcom/android/server/pm/ShortcutService;)Ljava/util/concurrent/atomic/AtomicBoolean;
+PLcom/android/server/pm/ShortcutService;->access$700(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILandroid/content/pm/ShortcutInfo;Landroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;Landroid/content/IntentSender;)Z
+PLcom/android/server/pm/ShortcutService;->access$800(Lcom/android/server/pm/ShortcutService;)Landroid/os/IBinder;
 HSPLcom/android/server/pm/ShortcutService;->access$800(Lcom/android/server/pm/ShortcutService;)Ljava/util/concurrent/atomic/AtomicBoolean;
 PLcom/android/server/pm/ShortcutService;->access$800(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->access$900(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
@@ -28719,7 +31124,7 @@
 PLcom/android/server/pm/ShortcutService;->loadUserLocked(I)Lcom/android/server/pm/ShortcutUser;
 HPLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V
 HPLcom/android/server/pm/ShortcutService;->notifyListeners(Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->notifyShortcutChangeCallbacks(Ljava/lang/String;ILjava/util/List;Ljava/util/List;)V
+HPLcom/android/server/pm/ShortcutService;->notifyShortcutChangeCallbacks(Ljava/lang/String;ILjava/util/List;Ljava/util/List;)V
 PLcom/android/server/pm/ShortcutService;->onApplicationActive(Ljava/lang/String;I)V
 HSPLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
 HPLcom/android/server/pm/ShortcutService;->openIconFileForWrite(ILandroid/content/pm/ShortcutInfo;)Lcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;
@@ -28847,6 +31252,7 @@
 PLcom/android/server/pm/StagingManager$PreRebootVerificationHandler;->readyToStart()V
 PLcom/android/server/pm/StagingManager$PreRebootVerificationHandler;->startPreRebootVerification(I)V
 HSPLcom/android/server/pm/StagingManager;-><init>(Lcom/android/server/pm/PackageInstallerService;Landroid/content/Context;)V
+PLcom/android/server/pm/StagingManager;-><init>(Lcom/android/server/pm/PackageInstallerService;Landroid/content/Context;Ljava/util/function/Supplier;)V
 HSPLcom/android/server/pm/StagingManager;-><init>(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/ApexManager;Landroid/content/Context;)V
 PLcom/android/server/pm/StagingManager;->abortCommittedSession(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/StagingManager;->abortSession(Lcom/android/server/pm/PackageInstallerSession;)V
@@ -28870,6 +31276,7 @@
 PLcom/android/server/pm/StagingManager;->extractApksInSession(Lcom/android/server/pm/PackageInstallerSession;Z)Lcom/android/server/pm/PackageInstallerSession;
 PLcom/android/server/pm/StagingManager;->findAPKsInDir(Ljava/io/File;)Ljava/util/List;
 HPLcom/android/server/pm/StagingManager;->getSessions()Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/StagingManager;->getSessions(I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/StagingManager;->installApksInSession(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/StagingManager;->isApexSession(Lcom/android/server/pm/PackageInstallerSession;)Z
 PLcom/android/server/pm/StagingManager;->isApexSessionFailed(Landroid/apex/ApexSessionInfo;)Z
@@ -28931,6 +31338,7 @@
 PLcom/android/server/pm/UserManagerService$6;-><init>(Lcom/android/server/pm/UserManagerService;I)V
 PLcom/android/server/pm/UserManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/content/IntentSender;)V
+PLcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;->lambda$onFinished$0$UserManagerService$DisableQuietModeUserUnlockedCallback()V
 PLcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;->onFinished(ILandroid/os/Bundle;)V
 PLcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;->onProgress(IILandroid/os/Bundle;)V
 PLcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;->onStarted(ILandroid/os/Bundle;)V
@@ -28960,6 +31368,7 @@
 PLcom/android/server/pm/UserManagerService$LocalService;->removeUserState(I)V
 HSPLcom/android/server/pm/UserManagerService$LocalService;->setDeviceManaged(Z)V
 HSPLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;Lcom/android/server/pm/RestrictionsSet;Z)V
 HSPLcom/android/server/pm/UserManagerService$LocalService;->setForceEphemeralUsers(Z)V
 PLcom/android/server/pm/UserManagerService$LocalService;->setUserIcon(ILandroid/graphics/Bitmap;)V
 HSPLcom/android/server/pm/UserManagerService$LocalService;->setUserManaged(IZ)V
@@ -28983,20 +31392,27 @@
 HSPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;Ljava/io/File;)V
 PLcom/android/server/pm/UserManagerService;->access$000(Lcom/android/server/pm/UserManagerService;IZLandroid/content/IntentSender;Ljava/lang/String;)V
 HSPLcom/android/server/pm/UserManagerService;->access$100(Lcom/android/server/pm/UserManagerService;)Landroid/content/Context;
+PLcom/android/server/pm/UserManagerService;->access$1000(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 PLcom/android/server/pm/UserManagerService;->access$1000(Lcom/android/server/pm/UserManagerService;I)V
 PLcom/android/server/pm/UserManagerService;->access$1100(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 PLcom/android/server/pm/UserManagerService;->access$1200(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 PLcom/android/server/pm/UserManagerService;->access$1200(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->access$1300(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 PLcom/android/server/pm/UserManagerService;->access$1300(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
 PLcom/android/server/pm/UserManagerService;->access$1300(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->access$1400(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
 HSPLcom/android/server/pm/UserManagerService;->access$1400(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;I)V
 PLcom/android/server/pm/UserManagerService;->access$1400(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
 HSPLcom/android/server/pm/UserManagerService;->access$1500(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->access$1500(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->access$1600(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->access$1600(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;Lcom/android/server/pm/RestrictionsSet;Z)V
 PLcom/android/server/pm/UserManagerService;->access$1800(Lcom/android/server/pm/UserManagerService;)Z
 HSPLcom/android/server/pm/UserManagerService;->access$1802(Lcom/android/server/pm/UserManagerService;Z)Z
 HSPLcom/android/server/pm/UserManagerService;->access$1900(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseBooleanArray;
 PLcom/android/server/pm/UserManagerService;->access$1900(Lcom/android/server/pm/UserManagerService;)Z
 HSPLcom/android/server/pm/UserManagerService;->access$1902(Lcom/android/server/pm/UserManagerService;Z)Z
+PLcom/android/server/pm/UserManagerService;->access$200(Lcom/android/server/pm/UserManagerService;)Landroid/content/Context;
 HSPLcom/android/server/pm/UserManagerService;->access$200(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/PackageManagerService;
 HSPLcom/android/server/pm/UserManagerService;->access$200(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/UserManagerService;->access$2000(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseBooleanArray;
@@ -29007,9 +31423,11 @@
 HPLcom/android/server/pm/UserManagerService;->access$2500(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
 HPLcom/android/server/pm/UserManagerService;->access$2600(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
 HSPLcom/android/server/pm/UserManagerService;->access$2800(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseIntArray;
+HSPLcom/android/server/pm/UserManagerService;->access$2800(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserManagerService$WatchedUserStates;
 HSPLcom/android/server/pm/UserManagerService;->access$2900(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseIntArray;
 HSPLcom/android/server/pm/UserManagerService;->access$2900(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/UserManagerService$WatchedUserStates;
 HSPLcom/android/server/pm/UserManagerService;->access$2900(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->access$300(Lcom/android/server/pm/UserManagerService;)Lcom/android/server/pm/PackageManagerService;
 HSPLcom/android/server/pm/UserManagerService;->access$300(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/UserManagerService;->access$300(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
 HSPLcom/android/server/pm/UserManagerService;->access$3000(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
@@ -29018,15 +31436,20 @@
 HSPLcom/android/server/pm/UserManagerService;->access$3200(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseArray;
 HSPLcom/android/server/pm/UserManagerService;->access$3200(Lcom/android/server/pm/UserManagerService;I)Landroid/os/Bundle;
 HSPLcom/android/server/pm/UserManagerService;->access$3300(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/pm/UserManagerService;->access$400(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/UserManagerService;->access$400(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
 HSPLcom/android/server/pm/UserManagerService;->access$500()Landroid/os/IBinder;
+PLcom/android/server/pm/UserManagerService;->access$500(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
 HSPLcom/android/server/pm/UserManagerService;->access$600()Landroid/os/IBinder;
 HSPLcom/android/server/pm/UserManagerService;->access$600(Lcom/android/server/pm/UserManagerService;)Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/pm/UserManagerService;->access$700()Landroid/os/IBinder;
 HSPLcom/android/server/pm/UserManagerService;->access$700(Lcom/android/server/pm/UserManagerService;)Lcom/android/internal/app/IAppOpsService;
 HSPLcom/android/server/pm/UserManagerService;->access$700(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/UserManagerService;->access$800(Lcom/android/server/pm/UserManagerService;)Lcom/android/internal/app/IAppOpsService;
 PLcom/android/server/pm/UserManagerService;->access$800(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/pm/UserManagerService;->access$800(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
 PLcom/android/server/pm/UserManagerService;->access$900(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/UserManagerService;->access$900(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
 PLcom/android/server/pm/UserManagerService;->addRemovingUserIdLocked(I)V
 HSPLcom/android/server/pm/UserManagerService;->addUserRestrictionsListener(Landroid/os/IUserRestrictionsListener;)V
 PLcom/android/server/pm/UserManagerService;->applyUserRestrictionsForAllUsersLR()V
@@ -29039,6 +31462,7 @@
 PLcom/android/server/pm/UserManagerService;->checkManageOrCreateUsersPermission(I)V
 HSPLcom/android/server/pm/UserManagerService;->checkManageOrCreateUsersPermission(Ljava/lang/String;)V
 HSPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermIfCallerInOtherProfileGroup(ILjava/lang/String;)V
+HSPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermissionIfCallerInOtherProfileGroup(ILjava/lang/String;)V
 PLcom/android/server/pm/UserManagerService;->checkManageUserAndAcrossUsersFullPermission(Ljava/lang/String;)V
 HSPLcom/android/server/pm/UserManagerService;->checkManageUsersPermission(Ljava/lang/String;)V
 HPLcom/android/server/pm/UserManagerService;->checkSystemOrRoot(Ljava/lang/String;)V
@@ -29066,6 +31490,7 @@
 HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
 PLcom/android/server/pm/UserManagerService;->getCreationTime()J
 HSPLcom/android/server/pm/UserManagerService;->getCredentialOwnerProfile(I)I
+HPLcom/android/server/pm/UserManagerService;->getDevicePolicyLocalRestrictionsForTargetUserLR(I)Lcom/android/server/pm/RestrictionsSet;
 HSPLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
 PLcom/android/server/pm/UserManagerService;->getEnforcingUserLocked(I)Landroid/os/UserManager$EnforcingUser;
 PLcom/android/server/pm/UserManagerService;->getFreeProfileBadgeLU(ILjava/lang/String;)I
@@ -29087,6 +31512,7 @@
 HSPLcom/android/server/pm/UserManagerService;->getProfilesLU(ILjava/lang/String;ZZ)Ljava/util/List;
 PLcom/android/server/pm/UserManagerService;->getSeedAccountType()Ljava/lang/String;
 HPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
+HPLcom/android/server/pm/UserManagerService;->getUpdatedTargetUserIdsFromLocalRestrictions(ILcom/android/server/pm/RestrictionsSet;)Ljava/util/List;
 PLcom/android/server/pm/UserManagerService;->getUserAccount(I)Ljava/lang/String;
 HPLcom/android/server/pm/UserManagerService;->getUserBadgeColorResId(I)I
 HPLcom/android/server/pm/UserManagerService;->getUserBadgeLabelResId(I)I
@@ -29125,6 +31551,7 @@
 HPLcom/android/server/pm/UserManagerService;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/UserManagerService;->initDefaultGuestRestrictions()V
 HSPLcom/android/server/pm/UserManagerService;->installWhitelistedSystemPackages(ZZ)Z
+PLcom/android/server/pm/UserManagerService;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z
 PLcom/android/server/pm/UserManagerService;->isAtMostOneFlag(I)Z
 HPLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z
 HSPLcom/android/server/pm/UserManagerService;->isManagedProfile(I)Z
@@ -29175,12 +31602,15 @@
 PLcom/android/server/pm/UserManagerService;->sendUserInfoChangedBroadcast(I)V
 HPLcom/android/server/pm/UserManagerService;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V
 HSPLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;I)V
+HPLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;Lcom/android/server/pm/RestrictionsSet;Z)V
 PLcom/android/server/pm/UserManagerService;->setQuietModeEnabled(IZLandroid/content/IntentSender;Ljava/lang/String;)V
 PLcom/android/server/pm/UserManagerService;->setUserEnabled(I)V
 PLcom/android/server/pm/UserManagerService;->setUserIcon(ILandroid/graphics/Bitmap;)V
+PLcom/android/server/pm/UserManagerService;->setUserName(ILjava/lang/String;)V
 HSPLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
 PLcom/android/server/pm/UserManagerService;->showConfirmCredentialToDisableQuietMode(ILandroid/content/IntentSender;)V
 HSPLcom/android/server/pm/UserManagerService;->systemReady()V
+HPLcom/android/server/pm/UserManagerService;->updateLocalRestrictionsForTargetUsersLR(ILcom/android/server/pm/RestrictionsSet;Ljava/util/List;)Z
 HSPLcom/android/server/pm/UserManagerService;->updateRestrictionsIfNeededLR(ILandroid/os/Bundle;Landroid/util/SparseArray;)Z
 HSPLcom/android/server/pm/UserManagerService;->updateUserIds()V
 HSPLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
@@ -29208,6 +31638,7 @@
 HSPLcom/android/server/pm/UserRestrictionsUtils;->getNewUserRestrictionSetting(Landroid/content/Context;ILjava/lang/String;Z)I
 HSPLcom/android/server/pm/UserRestrictionsUtils;->isEmpty(Landroid/os/Bundle;)Z
 HSPLcom/android/server/pm/UserRestrictionsUtils;->isGlobal(ILjava/lang/String;)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->isLocal(ILjava/lang/String;)Z
 HSPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
 PLcom/android/server/pm/UserRestrictionsUtils;->isSystemApp(I[Ljava/lang/String;)Z
 HSPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
@@ -29227,6 +31658,7 @@
 HPLcom/android/server/pm/UserSystemPackageInstaller;->dump(Ljava/io/PrintWriter;)V
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->getAndSortKeysFromMap(Landroid/util/ArrayMap;)[Ljava/lang/String;
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->getBaseTypeBitSets()Ljava/util/Map;
+PLcom/android/server/pm/UserSystemPackageInstaller;->getInstallablePackagesForUserId(I)Ljava/util/Set;
 PLcom/android/server/pm/UserSystemPackageInstaller;->getInstallablePackagesForUserType(Ljava/lang/String;)Ljava/util/Set;
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->getTypesBitSet(Ljava/lang/Iterable;Ljava/util/Map;)J
 PLcom/android/server/pm/UserSystemPackageInstaller;->getUserTypeMask(Ljava/lang/String;)J
@@ -29234,12 +31666,17 @@
 PLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistedPackagesForUserType(Ljava/lang/String;)Ljava/util/Set;
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistedSystemPackages()Ljava/util/Set;
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->installWhitelistedSystemPackages(ZZ)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->installWhitelistedSystemPackages(ZZLandroid/util/ArraySet;)Z
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->isEnforceMode(I)Z
 PLcom/android/server/pm/UserSystemPackageInstaller;->isIgnoreOtaMode(I)Z
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->isImplicitWhitelistMode(I)Z
 HSPLcom/android/server/pm/UserSystemPackageInstaller;->isLogMode(I)Z
 HPLcom/android/server/pm/UserSystemPackageInstaller;->lambda$getInstallablePackagesForUserType$2$UserSystemPackageInstaller(Ljava/util/Set;ZLjava/util/Set;Landroid/content/pm/parsing/AndroidPackage;)V
+HPLcom/android/server/pm/UserSystemPackageInstaller;->lambda$getInstallablePackagesForUserType$2$UserSystemPackageInstaller(Ljava/util/Set;ZLjava/util/Set;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/UserSystemPackageInstaller;->lambda$installWhitelistedSystemPackages$0(Ljava/util/Set;IZZLandroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/UserSystemPackageInstaller;->shouldChangeInstallationState(Lcom/android/server/pm/PackageSetting;ZIZZLandroid/util/ArraySet;)Z
 PLcom/android/server/pm/UserSystemPackageInstaller;->shouldInstallPackage(Landroid/content/pm/parsing/AndroidPackage;Landroid/util/ArrayMap;Ljava/util/Set;Z)Z
+HPLcom/android/server/pm/UserSystemPackageInstaller;->shouldInstallPackage(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/util/ArrayMap;Ljava/util/Set;Z)Z
 HSPLcom/android/server/pm/UserTypeDetails$Builder;-><init>()V
 HSPLcom/android/server/pm/UserTypeDetails$Builder;->createUserTypeDetails()Lcom/android/server/pm/UserTypeDetails;
 HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasBadge()Z
@@ -29315,6 +31752,7 @@
 HPLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/parsing/AndroidPackage;IZ)V
 PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/parsing/AndroidPackage;[IZ)V
 HPLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Lcom/android/server/pm/parsing/pkg/AndroidPackage;IZ)V
+PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Lcom/android/server/pm/parsing/pkg/AndroidPackage;[IZ)V
 HPLcom/android/server/pm/dex/ArtManagerService;->snapshotAppProfile(Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
 PLcom/android/server/pm/dex/ArtManagerService;->snapshotBootImageProfile(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
 PLcom/android/server/pm/dex/ArtManagerService;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
@@ -29345,6 +31783,7 @@
 HSPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/util/Collection;)Z
 HSPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOobInternal(ZLjava/lang/String;Ljava/util/Collection;)Z
+PLcom/android/server/pm/dex/DexManager;->isSystemServerDexPathSupportedForOdex(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
 HSPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
 HSPLcom/android/server/pm/dex/DexManager;->notifyDexLoad(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
@@ -29412,13 +31851,17 @@
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getLoadingPackages()Ljava/util/Set;
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getOwnerUserId()I
 HPLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnknownClassLoaderContext()Z
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnknownOrUnsupportedContext(Ljava/lang/String;)Z
+HPLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnknownOrUnsupportedContext(Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnsupportedClassLoaderContext()Z
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnsupportedContext(Ljava/lang/String;)Z
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUsedByOtherApps()Z
 HPLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isVariableClassLoaderContext()Z
 HPLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->merge(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>()V
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)V
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/PackageDexUsage$1;)V
+HPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Ljava/lang/String;)V
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$000(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$000(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$100(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$500(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
@@ -29429,6 +31872,7 @@
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isAnyCodePathUsedByOtherApps()Z
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isUsedByOtherApps(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergeCodePathUsedByOtherApps(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergePrimaryCodePaths(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V
 PLcom/android/server/pm/dex/PackageDexUsage;->clearUsedByOtherApps(Ljava/lang/String;)Z
 HPLcom/android/server/pm/dex/PackageDexUsage;->clonePackageUseInfoMap()Ljava/util/Map;
@@ -29442,14 +31886,18 @@
 HSPLcom/android/server/pm/dex/PackageDexUsage;->read()V
 HSPLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V
 HSPLcom/android/server/pm/dex/PackageDexUsage;->readBoolean(Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage;->readClassLoaderContext(Ljava/io/BufferedReader;I)Ljava/lang/String;
 HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->readLoadingPackages(Ljava/io/BufferedReader;I)Ljava/util/Set;
+HPLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/pm/dex/PackageDexUsage;->removeDexFile(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;I)Z
 PLcom/android/server/pm/dex/PackageDexUsage;->removeDexFile(Ljava/lang/String;Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage;->removePackage(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage;->removeUserPackage(Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;)V
+HPLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;Ljava/util/List;)V
 HPLcom/android/server/pm/dex/PackageDexUsage;->write(Ljava/io/Writer;)V
 PLcom/android/server/pm/dex/PackageDexUsage;->writeBoolean(Z)Ljava/lang/String;
 PLcom/android/server/pm/dex/PackageDexUsage;->writeInternal(Ljava/lang/Object;)V
@@ -29464,10 +31912,12 @@
 HPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
 HPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;Lcom/android/server/pm/dex/PackageDynamicCodeLoading$1;)V
 HPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->access$100(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;Ljava/lang/String;CILjava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->access$300(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;I)Z
 PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->access$400(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;Ljava/lang/String;I)Z
 HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->access$500(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;Ljava/util/Map;Ljava/util/Set;)V
 HPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->add(Ljava/lang/String;CILjava/lang/String;)Z
 HPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->removeFile(Ljava/lang/String;I)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->removeUser(I)Z
 HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->syncData(Ljava/util/Map;Ljava/util/Set;)V
 HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><clinit>()V
 HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><init>()V
@@ -29493,10 +31943,21 @@
 PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Object;)V
 PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Void;)V
 PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeNow()V
+PLcom/android/server/pm/dex/SystemServerDexLoadReporter;-><clinit>()V
+PLcom/android/server/pm/dex/SystemServerDexLoadReporter;-><init>(Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/pm/dex/SystemServerDexLoadReporter;->configureSystemServerDexReporter(Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/pm/dex/SystemServerDexLoadReporter;->report(Ljava/util/Map;)V
 HSPLcom/android/server/pm/dex/ViewCompiler;-><init>(Ljava/lang/Object;Lcom/android/server/pm/Installer;)V
 HSPLcom/android/server/pm/parsing/-$$Lambda$MsCTQbj1nCkHPuW2VX512f_ZKpg;-><clinit>()V
 HSPLcom/android/server/pm/parsing/-$$Lambda$MsCTQbj1nCkHPuW2VX512f_ZKpg;-><init>()V
 HSPLcom/android/server/pm/parsing/-$$Lambda$MsCTQbj1nCkHPuW2VX512f_ZKpg;->get()Ljava/lang/Object;
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Svc6Ot6mP20gZxXqsV5RuSFu1Lk;-><clinit>()V
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Svc6Ot6mP20gZxXqsV5RuSFu1Lk;-><init>()V
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Svc6Ot6mP20gZxXqsV5RuSFu1Lk;->get()Ljava/lang/Object;
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Z1LNA-uFIqWWTxexnRn70YNNhRw;-><init>(Lcom/android/server/pm/parsing/PackageParser2;Lcom/android/server/pm/parsing/PackageParser2$Callback;)V
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Z1LNA-uFIqWWTxexnRn70YNNhRw;->isChangeEnabled(JLjava/lang/String;I)Z
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$_jLfb1ehczUk0X2MUB2Q0T-RBTI;-><init>(Landroid/content/pm/parsing/result/ParseInput$Callback;)V
+HSPLcom/android/server/pm/parsing/-$$Lambda$PackageParser2$_jLfb1ehczUk0X2MUB2Q0T-RBTI;->get()Ljava/lang/Object;
 HSPLcom/android/server/pm/parsing/-$$Lambda$gLXiiRPkkfU6FsJxq4nR4nPlVSk;-><clinit>()V
 HSPLcom/android/server/pm/parsing/-$$Lambda$gLXiiRPkkfU6FsJxq4nR4nPlVSk;-><init>()V
 HSPLcom/android/server/pm/parsing/-$$Lambda$gLXiiRPkkfU6FsJxq4nR4nPlVSk;->get()Ljava/lang/Object;
@@ -29516,8 +31977,10 @@
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->appInfoPrivateFlags(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;)I
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignSharedFieldsForComponentInfo(Landroid/content/pm/ComponentInfo;Landroid/content/pm/parsing/ComponentParseUtils$ParsedMainComponent;Lcom/android/server/pm/PackageSetting;)V
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignSharedFieldsForComponentInfo(Landroid/content/pm/ComponentInfo;Landroid/content/pm/parsing/component/ParsedMainComponent;Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->assignSharedFieldsForComponentInfo(Landroid/content/pm/ComponentInfo;Landroid/content/pm/parsing/component/ParsedMainComponent;Lcom/android/server/pm/PackageSetting;I)V
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignStateFieldsForPackageItemInfo(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/parsing/ComponentParseUtils$ParsedComponent;Lcom/android/server/pm/PackageSetting;)V
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->assignStateFieldsForPackageItemInfo(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/parsing/component/ParsedComponent;Lcom/android/server/pm/PackageSetting;)V
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->assignStateFieldsForPackageItemInfo(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/parsing/component/ParsedComponent;Lcom/android/server/pm/PackageSetting;I)V
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->checkUseInstalledOrHidden(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageUserState;I)Z
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->flag(ZI)I
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generate(Lcom/android/server/pm/parsing/pkg/AndroidPackage;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
@@ -29528,6 +31991,7 @@
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateActivityInfo(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/parsing/component/ParsedActivity;ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/PackageSetting;)Landroid/content/pm/ActivityInfo;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateApplicationInfo(Lcom/android/server/pm/parsing/pkg/AndroidPackage;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateApplicationInfo(Lcom/android/server/pm/parsing/pkg/AndroidPackage;ILandroid/content/pm/PackageUserState;ILcom/android/server/pm/PackageSetting;)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/parsing/PackageInfoUtils;->generateInstrumentationInfo(Landroid/content/pm/parsing/component/ParsedInstrumentation;Lcom/android/server/pm/parsing/pkg/AndroidPackage;IILcom/android/server/pm/PackageSetting;)Landroid/content/pm/InstrumentationInfo;
 PLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionGroupInfo(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
 PLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionGroupInfo(Landroid/content/pm/parsing/component/ParsedPermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generatePermissionInfo(Landroid/content/pm/parsing/ComponentParseUtils$ParsedPermission;I)Landroid/content/pm/PermissionInfo;
@@ -29541,13 +32005,20 @@
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/parsing/component/ParsedService;ILandroid/content/pm/PackageUserState;ILcom/android/server/pm/PackageSetting;)Landroid/content/pm/ServiceInfo;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateServiceInfo(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Landroid/content/pm/parsing/component/ParsedService;ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;ILcom/android/server/pm/PackageSetting;)Landroid/content/pm/ServiceInfo;
 HSPLcom/android/server/pm/parsing/PackageInfoUtils;->generateWithComponents(Lcom/android/server/pm/parsing/pkg/AndroidPackage;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;ILandroid/apex/ApexInfo;Lcom/android/server/pm/PackageSetting;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/parsing/PackageParser2$1;-><init>(Lcom/android/server/compat/PlatformCompat;)V
 PLcom/android/server/pm/parsing/PackageParser2$1;-><init>(Lcom/android/server/pm/parsing/PackageParser2;)V
 PLcom/android/server/pm/parsing/PackageParser2$1;->hasFeature(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/parsing/PackageParser2$Callback;-><init>()V
 HSPLcom/android/server/pm/parsing/PackageParser2$Callback;->startParsingPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)Landroid/content/pm/parsing/ParsingPackage;
 HSPLcom/android/server/pm/parsing/PackageParser2;-><clinit>()V
 HSPLcom/android/server/pm/parsing/PackageParser2;-><init>([Ljava/lang/String;ZLandroid/util/DisplayMetrics;Ljava/io/File;Lcom/android/server/pm/parsing/PackageParser2$Callback;)V
+PLcom/android/server/pm/parsing/PackageParser2;->close()V
+PLcom/android/server/pm/parsing/PackageParser2;->forParsingFileWithDefaults()Lcom/android/server/pm/parsing/PackageParser2;
+HSPLcom/android/server/pm/parsing/PackageParser2;->lambda$new$0()Landroid/content/pm/ApplicationInfo;
+HSPLcom/android/server/pm/parsing/PackageParser2;->lambda$new$1$PackageParser2(Lcom/android/server/pm/parsing/PackageParser2$Callback;JLjava/lang/String;I)Z
+HSPLcom/android/server/pm/parsing/PackageParser2;->lambda$new$2(Landroid/content/pm/parsing/result/ParseInput$Callback;)Landroid/content/pm/parsing/result/ParseTypeImpl;
 HSPLcom/android/server/pm/parsing/PackageParser2;->parsePackage(Ljava/io/File;IZ)Lcom/android/server/pm/parsing/pkg/ParsedPackage;
+HPLcom/android/server/pm/parsing/ParsedComponentStateUtils;->getNonLocalizedLabelAndIcon(Landroid/content/pm/parsing/component/ParsedComponent;Lcom/android/server/pm/PackageSetting;I)Landroid/util/Pair;
 HSPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;-><init>()V
 HSPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)V
 HSPLcom/android/server/pm/parsing/library/AndroidHidlUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Z)V
@@ -29555,6 +32026,8 @@
 HSPLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;->isChangeEnabled(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)V
 HSPLcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Z)V
+HSPLcom/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdater;-><init>()V
+HSPLcom/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;Z)V
 HSPLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;-><init>()V
 HSPLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;->apkTargetsApiLevelLessThanOrEqualToOMR1(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;->updatePackage(Lcom/android/server/pm/parsing/pkg/ParsedPackage;)V
@@ -29592,13 +32065,15 @@
 HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isEncryptionAware(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isLibrary(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->isMatchForSystemOnly(Lcom/android/server/pm/parsing/pkg/AndroidPackage;I)Z
-PLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->validatePackageDexMetadata(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/parsing/pkg/AndroidPackageUtils;->validatePackageDexMetadata(Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl$1;-><init>()V
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;-><clinit>()V
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;-><init>(Landroid/os/Parcel;)V
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;Z)V
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage;
+HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesOptionalLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/PackageImpl;
+HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->addUsesOptionalLibrary(ILjava/lang/String;)Lcom/android/server/pm/parsing/pkg/ParsedPackage;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->capPermissionPriorities()Lcom/android/server/pm/parsing/pkg/PackageImpl;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->capPermissionPriorities()Lcom/android/server/pm/parsing/pkg/ParsedPackage;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->clearAdoptPermissions()Lcom/android/server/pm/parsing/pkg/PackageImpl;
@@ -29622,6 +32097,7 @@
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSeInfo()Ljava/lang/String;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSeInfoUser()Ljava/lang/String;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getSecondaryCpuAbi()Ljava/lang/String;
+PLcom/android/server/pm/parsing/pkg/PackageImpl;->getSecondaryNativeLibraryDir()Ljava/lang/String;
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUid()I
 HSPLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesLibraryFiles()[Ljava/lang/String;
 PLcom/android/server/pm/parsing/pkg/PackageImpl;->getUsesLibraryInfos()Ljava/util/List;
@@ -29753,12 +32229,16 @@
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$1$7A2ffMA57G4PvFD5RbG2mRh2Q_8;->run()V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$5wIJaBo3ATYcr96ofI23sjuUqoA;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/os/UserHandle;)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$5wIJaBo3ATYcr96ofI23sjuUqoA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$7UbsdDkY7eb6gD8CfMZMTcb6R5Y;-><init>(ILjava/util/List;)V
+HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$7UbsdDkY7eb6gD8CfMZMTcb6R5Y;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$BEPoV9HmbUN2-ZgCcIqC6xfzvew;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$BEPoV9HmbUN2-ZgCcIqC6xfzvew;->runOrThrow()V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$E0rM1FNIqzKUZzqphmkzeY3ZdTk;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$E0rM1FNIqzKUZzqphmkzeY3ZdTk;->runOrThrow()V
 HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JcWw5txStfnrnbvcFd2durv6YOo;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JcWw5txStfnrnbvcFd2durv6YOo;->runOrThrow()V
+HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$MRwpP9TcX_fEwjj-3Vp2CFidMPk;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$MRwpP9TcX_fEwjj-3Vp2CFidMPk;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;-><clinit>()V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;-><init>()V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -29768,16 +32248,26 @@
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$T4uCZ9__oEXYpzLBYEW1T_BN3SU;->runOrThrow()V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$TCLcs8BgJvNr88B1R6pU9xRD-jw;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/BasePermission;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$TCLcs8BgJvNr88B1R6pU9xRD-jw;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$XR_q8pmrsZ93foAa2J5K4McsCr0;-><init>(Ljava/util/List;)V
+HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$XR_q8pmrsZ93foAa2J5K4McsCr0;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$XgJON0nYdrr1Swr3OJklQ7xA-pU;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$XgJON0nYdrr1Swr3OJklQ7xA-pU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$_Kakccz_-nomXOc_Nhv5q-uqA7I;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$_Kakccz_-nomXOc_Nhv5q-uqA7I;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$aQWnOfCuKK-rSxzDPI_dUOtzv8I;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$aQWnOfCuKK-rSxzDPI_dUOtzv8I;->runOrThrow()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$eApyRxwI3JHTSVAxV9EbP43gFOo;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$eApyRxwI3JHTSVAxV9EbP43gFOo;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$g9Bo5gFpLYyPOsp3K8Aik5xseDI;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/parsing/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$g9Bo5gFpLYyPOsp3K8Aik5xseDI;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$igfYI7thImnYrDxs3qWtqs2SCRk;-><init>(II)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$igfYI7thImnYrDxs3qWtqs2SCRk;->run()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$iwnRBDwjg4K5iRGbRU5_sVt0zaU;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$iwnRBDwjg4K5iRGbRU5_sVt0zaU;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$oG7YD8MVgcqcPbx_HXQ04PEUOXM;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$oG7YD8MVgcqcPbx_HXQ04PEUOXM;->runOrThrow()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$tAcOXvvLnf8YMDota79zZypUyds;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/BasePermission;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$tAcOXvvLnf8YMDota79zZypUyds;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/permission/-$$Lambda$oynlBn0BbcU0KODvfUDDUHb5LKY;-><init>(Ljava/util/concurrent/CompletableFuture;)V
 PLcom/android/server/pm/permission/-$$Lambda$oynlBn0BbcU0KODvfUDDUHb5LKY;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/pm/permission/BasePermission;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
@@ -29809,7 +32299,7 @@
 HSPLcom/android/server/pm/permission/BasePermission;->isDevelopment()Z
 HSPLcom/android/server/pm/permission/BasePermission;->isDocumenter()Z
 HSPLcom/android/server/pm/permission/BasePermission;->isDynamic()Z
-PLcom/android/server/pm/permission/BasePermission;->isHardOrSoftRestricted()Z
+HPLcom/android/server/pm/permission/BasePermission;->isHardOrSoftRestricted()Z
 HSPLcom/android/server/pm/permission/BasePermission;->isHardRestricted()Z
 PLcom/android/server/pm/permission/BasePermission;->isImmutablyRestricted()Z
 HSPLcom/android/server/pm/permission/BasePermission;->isIncidentReportApprover()Z
@@ -29939,6 +32429,8 @@
 PLcom/android/server/pm/permission/PermissionManagerService$1;->lambda$onPermissionRevoked$1(II)V
 PLcom/android/server/pm/permission/PermissionManagerService$1;->onInstallPermissionGranted()V
 PLcom/android/server/pm/permission/PermissionManagerService$1;->onInstallPermissionRevoked()V
+HPLcom/android/server/pm/permission/PermissionManagerService$1;->onInstallPermissionUpdated()V
+HPLcom/android/server/pm/permission/PermissionManagerService$1;->onInstallPermissionUpdatedNotifyListener(I)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionGranted(II)V
 HPLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionRevoked(II)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionUpdated([IZ)V
@@ -29948,6 +32440,16 @@
 PLcom/android/server/pm/permission/PermissionManagerService$2;->onPermissionRevoked(II)V
 PLcom/android/server/pm/permission/PermissionManagerService$2;->onPermissionUpdated([IZ)V
 PLcom/android/server/pm/permission/PermissionManagerService$2;->onPermissionUpdatedNotifyListener([IZI)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$Injector;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->checkPermission(Ljava/lang/String;II)I
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->clearCallingIdentity()J
+HSPLcom/android/server/pm/permission/PermissionManagerService$Injector;->disablePackageNamePermissionCache()V
+HSPLcom/android/server/pm/permission/PermissionManagerService$Injector;->disablePermissionCache()V
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->getCallingPid()I
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->getCallingUid()I
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
+HSPLcom/android/server/pm/permission/PermissionManagerService$Injector;->invalidatePackageInfoCache()V
+HPLcom/android/server/pm/permission/PermissionManagerService$Injector;->restoreCallingIdentity(J)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->addListenerLocked(Landroid/permission/IOnPermissionsChangeListener;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->handleMessage(Landroid/os/Message;)V
@@ -29967,6 +32469,7 @@
 HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionWithProtection(I)Ljava/util/ArrayList;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAppOpPermissionPackages(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getCheckPermissionDelegate()Landroid/permission/PermissionManagerInternal$CheckPermissionDelegate;
 HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultBrowser(I)Ljava/lang/String;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultDialer(I)Ljava/lang/String;
 HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultHome(I)Ljava/lang/String;
@@ -30010,6 +32513,7 @@
 HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->wereDefaultPermissionsGrantedSinceBoot(I)Z
 HSPLcom/android/server/pm/permission/PermissionManagerService;-><clinit>()V
 HSPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/pm/permission/PermissionManagerService$Injector;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->access$000(Lcom/android/server/pm/permission/PermissionManagerService;)Landroid/os/Handler;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->access$100(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->access$1000(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/parsing/AndroidPackage;Z)V
@@ -30036,6 +32540,7 @@
 HSPLcom/android/server/pm/permission/PermissionManagerService;->access$2500(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/permission/PermissionManagerInternal$OnRuntimePermissionStateChangedListener;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->access$2500(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Landroid/os/UserHandle;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->access$2600(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/permission/PermissionManagerInternal$OnRuntimePermissionStateChangedListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$2800(Lcom/android/server/pm/permission/PermissionManagerService;)Landroid/permission/PermissionManagerInternal$CheckPermissionDelegate;
 PLcom/android/server/pm/permission/PermissionManagerService;->access$2800(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;
 PLcom/android/server/pm/permission/PermissionManagerService;->access$2802(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/permission/PermissionManagerInternal$CheckPermissionDelegate;)Landroid/permission/PermissionManagerInternal$CheckPermissionDelegate;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->access$2802(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;
@@ -30072,9 +32577,11 @@
 HPLcom/android/server/pm/permission/PermissionManagerService;->addWhitelistedRestrictedPermission(Ljava/lang/String;Ljava/lang/String;II)Z
 HSPLcom/android/server/pm/permission/PermissionManagerService;->adjustPermissionProtectionFlagsLocked(ILjava/lang/String;I)I
 PLcom/android/server/pm/permission/PermissionManagerService;->backupRuntimePermissions(Landroid/os/UserHandle;)[B
+PLcom/android/server/pm/permission/PermissionManagerService;->buildInvalidCrossUserOrProfilePermissionMessage(Ljava/lang/String;ZZ)Ljava/lang/String;
 PLcom/android/server/pm/permission/PermissionManagerService;->buildInvalidCrossUserPermissionMessage(Ljava/lang/String;Z)Ljava/lang/String;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->cacheBackgroundToForegoundPermissionMapping()V
 HPLcom/android/server/pm/permission/PermissionManagerService;->calculateCurrentPermissionFootprintLocked(Lcom/android/server/pm/permission/BasePermission;)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)I
 HPLcom/android/server/pm/permission/PermissionManagerService;->checkExistsAndEnforceCannotModifyImmutablyRestrictedPermission(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/permission/PermissionManagerService;->checkIfLegacyStorageOpsNeedToBeUpdated(Landroid/content/pm/parsing/AndroidPackage;Z[I)[I
 HSPLcom/android/server/pm/permission/PermissionManagerService;->checkIfLegacyStorageOpsNeedToBeUpdated(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Z[I)[I
@@ -30098,9 +32605,11 @@
 HPLcom/android/server/pm/permission/PermissionManagerService;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/pm/permission/PermissionManagerService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
 HPLcom/android/server/pm/permission/PermissionManagerService;->getAppOpPermissionPackagesInternal(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/pm/permission/PermissionManagerService;->getAutoRevokeExemptionGrantedPackages(I)Ljava/util/List;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getBackgroundPermissions()Landroid/util/ArrayMap;
 PLcom/android/server/pm/permission/PermissionManagerService;->getDefaultBrowser(I)Ljava/lang/String;
 PLcom/android/server/pm/permission/PermissionManagerService;->getOneTimePermissionUserManager(I)Lcom/android/server/pm/permission/OneTimePermissionUserManager;
+PLcom/android/server/pm/permission/PermissionManagerService;->getPackagesWithAutoRevokePolicy(II)Ljava/util/List;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlagsInternal(Ljava/lang/String;Ljava/lang/String;II)I
@@ -30132,7 +32641,7 @@
 HSPLcom/android/server/pm/permission/PermissionManagerService;->inheritPermissionStateToNewImplicitPermissionLocked(Landroid/util/ArraySet;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/parsing/AndroidPackage;I)V
 PLcom/android/server/pm/permission/PermissionManagerService;->inheritPermissionStateToNewImplicitPermissionLocked(Landroid/util/ArraySet;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionsState;Lcom/android/server/pm/parsing/pkg/AndroidPackage;I)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Landroid/content/pm/parsing/AndroidPackage;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)Z
 HSPLcom/android/server/pm/permission/PermissionManagerService;->isPackageRequestingPermission(Landroid/content/pm/parsing/AndroidPackage;Ljava/lang/String;)Z
 HSPLcom/android/server/pm/permission/PermissionManagerService;->isPackageRequestingPermission(Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/lang/String;)Z
 HPLcom/android/server/pm/permission/PermissionManagerService;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
@@ -30141,18 +32650,25 @@
 HPLcom/android/server/pm/permission/PermissionManagerService;->isSameProfileGroup(II)Z
 HPLcom/android/server/pm/permission/PermissionManagerService;->killUid(IILjava/lang/String;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->lambda$NPd9St1HBvGAtg1uhMV2Upfww4g(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$eApyRxwI3JHTSVAxV9EbP43gFOo(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;I)I
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$getAutoRevokeExemptionGrantedPackages$11(Ljava/util/List;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$getPackagesWithAutoRevokePolicy$10(ILjava/util/List;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToActiveLuiApp$7$PermissionManagerService(Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToEnabledCarrierApps$3$PermissionManagerService([Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToEnabledImsServices$4$PermissionManagerService([Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$5$PermissionManagerService([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$iwnRBDwjg4K5iRGbRU5_sVt0zaU(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;I)I
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$resetRuntimePermissionsInternal$2(II)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$restoreDelayedRuntimePermissions$9$PermissionManagerService(Landroid/os/UserHandle;Ljava/lang/Boolean;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$6$PermissionManagerService([Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/PermissionManagerService;->lambda$revokeDefaultPermissionsFromLuiApps$8$PermissionManagerService([Ljava/lang/String;I)V
 HPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissionSourcePackage$11$PermissionManagerService(Lcom/android/server/pm/permission/BasePermission;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Landroid/content/pm/parsing/AndroidPackage;)V
 HPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissionSourcePackage$11$PermissionManagerService(Lcom/android/server/pm/permission/BasePermission;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissionSourcePackage$12$PermissionManagerService(Lcom/android/server/pm/permission/BasePermission;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissions$10$PermissionManagerService(Landroid/content/pm/parsing/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Landroid/content/pm/parsing/AndroidPackage;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissions$10$PermissionManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissions$11$PermissionManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissions$12$PermissionManagerService(Lcom/android/server/pm/parsing/pkg/AndroidPackage;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Lcom/android/server/pm/parsing/pkg/AndroidPackage;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->logPermission(ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->notifyRuntimePermissionStateChanged(Ljava/lang/String;I)V
 HPLcom/android/server/pm/permission/PermissionManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
@@ -30407,6 +32923,9 @@
 PLcom/android/server/policy/PermissionPolicyService$1;->onPackageRemoved(Ljava/lang/String;I)V
 HSPLcom/android/server/policy/PermissionPolicyService$2;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
 HSPLcom/android/server/policy/PermissionPolicyService$2;->opChanged(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$3;-><init>(Lcom/android/server/policy/PermissionPolicyService;Landroid/content/pm/PackageManagerInternal;)V
+HPLcom/android/server/policy/PermissionPolicyService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/policy/PermissionPolicyService$3;->updateUid(I)V
 HSPLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
 HSPLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyService$1;)V
 HSPLcom/android/server/policy/PermissionPolicyService$Internal;->checkStartActivity(Landroid/content/Intent;ILjava/lang/String;)Z
@@ -30420,6 +32939,7 @@
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;-><init>(Lcom/android/server/policy/PermissionPolicyService;Landroid/content/Context;)V
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->access$400(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->access$500(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Lcom/android/server/pm/parsing/pkg/AndroidPackage;Ljava/lang/String;)V
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Ljava/lang/String;)V
 HSPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addExtraAppOp(Landroid/content/pm/PackageInfo;Landroid/content/pm/PermissionInfo;)V
@@ -30446,15 +32966,20 @@
 HSPLcom/android/server/policy/PermissionPolicyService;-><clinit>()V
 HSPLcom/android/server/policy/PermissionPolicyService;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/policy/PermissionPolicyService;->access$100(Lcom/android/server/policy/PermissionPolicyService;I)Z
+PLcom/android/server/policy/PermissionPolicyService;->access$1002(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;)Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;
 PLcom/android/server/policy/PermissionPolicyService;->access$200(Lcom/android/server/policy/PermissionPolicyService;I)V
 PLcom/android/server/policy/PermissionPolicyService;->access$200(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
 HPLcom/android/server/policy/PermissionPolicyService;->access$300(Lcom/android/server/policy/PermissionPolicyService;I)V
 HSPLcom/android/server/policy/PermissionPolicyService;->access$300(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService;->access$400(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
 HSPLcom/android/server/policy/PermissionPolicyService;->access$500(Ljava/lang/String;)I
 PLcom/android/server/policy/PermissionPolicyService;->access$600(Lcom/android/server/policy/PermissionPolicyService;)Lcom/android/internal/app/IAppOpsCallback;
+HPLcom/android/server/policy/PermissionPolicyService;->access$600(Ljava/lang/String;)I
+PLcom/android/server/policy/PermissionPolicyService;->access$700(Lcom/android/server/policy/PermissionPolicyService;)Lcom/android/internal/app/IAppOpsCallback;
 HSPLcom/android/server/policy/PermissionPolicyService;->access$700(Lcom/android/server/policy/PermissionPolicyService;)Ljava/lang/Object;
 HSPLcom/android/server/policy/PermissionPolicyService;->access$800(Lcom/android/server/policy/PermissionPolicyService;)Ljava/lang/Object;
 HSPLcom/android/server/policy/PermissionPolicyService;->access$802(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;)Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;
+PLcom/android/server/policy/PermissionPolicyService;->access$900(Lcom/android/server/policy/PermissionPolicyService;)Ljava/lang/Object;
 HSPLcom/android/server/policy/PermissionPolicyService;->access$902(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;)Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;
 HSPLcom/android/server/policy/PermissionPolicyService;->getSwitchOp(Ljava/lang/String;)I
 HSPLcom/android/server/policy/PermissionPolicyService;->getUserContext(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
@@ -30755,6 +33280,23 @@
 HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
 HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
 HSPLcom/android/server/policy/WindowManagerPolicy;->userRotationModeToString(I)Ljava/lang/String;
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;Landroid/content/Context;)V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->addTiltHistoryEntryLocked(JF)V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->clearPredictedRotationLocked()V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->clearTiltHistoryLocked()V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->getProposedRotationLocked()I
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isAcceleratingLocked(F)Z
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isFlatLocked(J)Z
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isOrientationAngleAcceptableLocked(II)Z
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isPredictedRotationAcceptableLocked(J)Z
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isSwingingLocked(JF)Z
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->isTiltAngleAcceptableLocked(II)Z
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->nextTiltHistoryIndexLocked(I)I
+HPLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->onTouchEndLocked(J)V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->onTouchStartLocked()V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->resetLocked(Z)V
+PLcom/android/server/policy/WindowOrientationListener$AccelSensorJudge;->updatePredictedRotationLocked(JI)V
 HSPLcom/android/server/policy/WindowOrientationListener$OrientationJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;)V
 HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;-><init>(Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;)V
 HPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;->run()V
@@ -30776,6 +33318,7 @@
 HSPLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
 PLcom/android/server/policy/WindowOrientationListener;->access$000(Lcom/android/server/policy/WindowOrientationListener;)Ljava/lang/Object;
 PLcom/android/server/policy/WindowOrientationListener;->access$100()Z
+PLcom/android/server/policy/WindowOrientationListener;->access$200(Lcom/android/server/policy/WindowOrientationListener;)I
 PLcom/android/server/policy/WindowOrientationListener;->access$300(Lcom/android/server/policy/WindowOrientationListener;)Landroid/os/Handler;
 HSPLcom/android/server/policy/WindowOrientationListener;->canDetectOrientation()Z
 HPLcom/android/server/policy/WindowOrientationListener;->disable()V
@@ -30891,11 +33434,14 @@
 HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;->run()V
 HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;-><init>(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
 HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;->run()V
+HSPLcom/android/server/power/-$$Lambda$mJs78oyYBMDErllGe4sx87OZns8;-><clinit>()V
+HSPLcom/android/server/power/-$$Lambda$mJs78oyYBMDErllGe4sx87OZns8;-><init>()V
+HPLcom/android/server/power/-$$Lambda$mJs78oyYBMDErllGe4sx87OZns8;->uptimeMillis()J
 HSPLcom/android/server/power/AmbientDisplaySuppressionController;-><init>(Landroid/content/Context;)V
 PLcom/android/server/power/AmbientDisplaySuppressionController;->dump(Ljava/io/PrintWriter;)V
 PLcom/android/server/power/AmbientDisplaySuppressionController;->getStatusBar()Lcom/android/internal/statusbar/IStatusBarService;
 PLcom/android/server/power/AmbientDisplaySuppressionController;->isSuppressed()Z
-PLcom/android/server/power/AmbientDisplaySuppressionController;->suppress(Ljava/lang/String;IZ)V
+HPLcom/android/server/power/AmbientDisplaySuppressionController;->suppress(Ljava/lang/String;IZ)V
 HSPLcom/android/server/power/AttentionDetector$1;-><init>(Lcom/android/server/power/AttentionDetector;Landroid/os/Handler;Landroid/content/Context;)V
 PLcom/android/server/power/AttentionDetector$1;->onChange(Z)V
 PLcom/android/server/power/AttentionDetector$AttentionCallbackInternalImpl;-><init>(Lcom/android/server/power/AttentionDetector;I)V
@@ -31014,6 +33560,7 @@
 HSPLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
 HPLcom/android/server/power/PowerManagerService$BinderService;->setDynamicPowerSaveHint(ZI)Z
 PLcom/android/server/power/PowerManagerService$BinderService;->setPowerSaveModeEnabled(Z)Z
+PLcom/android/server/power/PowerManagerService$BinderService;->setStayOnSetting(I)V
 PLcom/android/server/power/PowerManagerService$BinderService;->shutdown(ZLjava/lang/String;Z)V
 HPLcom/android/server/power/PowerManagerService$BinderService;->suppressAmbientDisplay(Ljava/lang/String;Z)V
 HSPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V
@@ -31042,6 +33589,9 @@
 HSPLcom/android/server/power/PowerManagerService$Injector;->createAmbientDisplaySuppressionController(Landroid/content/Context;)Lcom/android/server/power/AmbientDisplaySuppressionController;
 HSPLcom/android/server/power/PowerManagerService$Injector;->createBatterySaverController(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySavingStats;)Lcom/android/server/power/batterysaver/BatterySaverController;
 HSPLcom/android/server/power/PowerManagerService$Injector;->createBatterySaverPolicy(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createBatterySaverStateMachine(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySaverController;)Lcom/android/server/power/batterysaver/BatterySaverStateMachine;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createClock()Lcom/android/server/power/PowerManagerService$Clock;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createHandler(Landroid/os/Looper;Landroid/os/Handler$Callback;)Landroid/os/Handler;
 HSPLcom/android/server/power/PowerManagerService$Injector;->createInattentiveSleepWarningController()Lcom/android/server/power/InattentiveSleepWarningController;
 HSPLcom/android/server/power/PowerManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/PowerManagerService$NativeWrapper;
 HSPLcom/android/server/power/PowerManagerService$Injector;->createNotifier(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)Lcom/android/server/power/Notifier;
@@ -31060,6 +33610,7 @@
 HPLcom/android/server/power/PowerManagerService$LocalService;->setDozeOverrideFromDreamManager(II)V
 HPLcom/android/server/power/PowerManagerService$LocalService;->setLightDeviceIdleMode(Z)Z
 HSPLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(F)V
 HSPLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(I)V
 HSPLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
 HSPLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
@@ -31074,8 +33625,13 @@
 HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetAutoSuspend(Z)V
 HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetFeature(II)V
 HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetInteractive(Z)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetPowerMode(IZ)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetPowerMode(IZ)Z
 HSPLcom/android/server/power/PowerManagerService$PowerManagerHandler;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Looper;)V
 HSPLcom/android/server/power/PowerManagerService$PowerManagerHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HSPLcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
+HPLcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;->handleMessage(Landroid/os/Message;)Z
 HSPLcom/android/server/power/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
 PLcom/android/server/power/PowerManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
 HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;-><init>(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)V
@@ -31100,71 +33656,116 @@
 HSPLcom/android/server/power/PowerManagerService;->access$000(Lcom/android/server/power/PowerManagerService;)Ljava/lang/Object;
 HSPLcom/android/server/power/PowerManagerService;->access$1000(II)V
 PLcom/android/server/power/PowerManagerService;->access$102(Lcom/android/server/power/PowerManagerService;I)I
+PLcom/android/server/power/PowerManagerService;->access$1100(IZ)V
 HSPLcom/android/server/power/PowerManagerService;->access$1200(II)V
+PLcom/android/server/power/PowerManagerService;->access$1200(IZ)V
+PLcom/android/server/power/PowerManagerService;->access$1200(IZ)Z
 HSPLcom/android/server/power/PowerManagerService;->access$1200(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList;
+HSPLcom/android/server/power/PowerManagerService;->access$1300(II)V
 HSPLcom/android/server/power/PowerManagerService;->access$1400(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList;
+HSPLcom/android/server/power/PowerManagerService;->access$1500(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList;
 HSPLcom/android/server/power/PowerManagerService;->access$1676(Lcom/android/server/power/PowerManagerService;I)I
 HSPLcom/android/server/power/PowerManagerService;->access$1700(Lcom/android/server/power/PowerManagerService;)V
 PLcom/android/server/power/PowerManagerService;->access$1802(Lcom/android/server/power/PowerManagerService;Z)Z
 PLcom/android/server/power/PowerManagerService;->access$1876(Lcom/android/server/power/PowerManagerService;I)I
 PLcom/android/server/power/PowerManagerService;->access$1900(Lcom/android/server/power/PowerManagerService;)V
 PLcom/android/server/power/PowerManagerService;->access$1900(Lcom/android/server/power/PowerManagerService;JIII)Z
+PLcom/android/server/power/PowerManagerService;->access$200(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$Clock;
 HSPLcom/android/server/power/PowerManagerService;->access$2000(Lcom/android/server/power/PowerManagerService;)Z
 PLcom/android/server/power/PowerManagerService;->access$202(Lcom/android/server/power/PowerManagerService;I)I
+PLcom/android/server/power/PowerManagerService;->access$2076(Lcom/android/server/power/PowerManagerService;I)I
+PLcom/android/server/power/PowerManagerService;->access$2100(Lcom/android/server/power/PowerManagerService;)V
 HSPLcom/android/server/power/PowerManagerService;->access$2200(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$2200(Lcom/android/server/power/PowerManagerService;IZ)V
+PLcom/android/server/power/PowerManagerService;->access$2300(Lcom/android/server/power/PowerManagerService;)Z
 HSPLcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
 PLcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;IZ)V
+PLcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;IZ)Z
 HSPLcom/android/server/power/PowerManagerService;->access$2500(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2500(Lcom/android/server/power/PowerManagerService;)Z
 PLcom/android/server/power/PowerManagerService;->access$2600(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
 HPLcom/android/server/power/PowerManagerService;->access$2600(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2600(Lcom/android/server/power/PowerManagerService;Z)V
+PLcom/android/server/power/PowerManagerService;->access$2700(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
 HSPLcom/android/server/power/PowerManagerService;->access$2700(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2700(Lcom/android/server/power/PowerManagerService;)Z
 PLcom/android/server/power/PowerManagerService;->access$2800(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2800(Lcom/android/server/power/PowerManagerService;Z)V
+PLcom/android/server/power/PowerManagerService;->access$2900(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
 PLcom/android/server/power/PowerManagerService;->access$2900(Lcom/android/server/power/PowerManagerService;)V
 HSPLcom/android/server/power/PowerManagerService;->access$2900(Lcom/android/server/power/PowerManagerService;II)V
 PLcom/android/server/power/PowerManagerService;->access$300(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->access$3000(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$302(Lcom/android/server/power/PowerManagerService;I)I
 PLcom/android/server/power/PowerManagerService;->access$3100(Lcom/android/server/power/PowerManagerService;)V
 PLcom/android/server/power/PowerManagerService;->access$3100(Lcom/android/server/power/PowerManagerService;II)V
 HSPLcom/android/server/power/PowerManagerService;->access$3200(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$3300(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$3200(Lcom/android/server/power/PowerManagerService;II)V
+HPLcom/android/server/power/PowerManagerService;->access$3300(Lcom/android/server/power/PowerManagerService;)V
 HPLcom/android/server/power/PowerManagerService;->access$3400(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$3400(Lcom/android/server/power/PowerManagerService;II)V
 HSPLcom/android/server/power/PowerManagerService;->access$3500(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+HPLcom/android/server/power/PowerManagerService;->access$3500(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$3600(Lcom/android/server/power/PowerManagerService;)V
 PLcom/android/server/power/PowerManagerService;->access$3600(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$WakeLock;)V
 HPLcom/android/server/power/PowerManagerService;->access$3700(Landroid/os/WorkSource;)Landroid/os/WorkSource;
 HSPLcom/android/server/power/PowerManagerService;->access$3700(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
+HPLcom/android/server/power/PowerManagerService;->access$3700(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService;->access$3800(Landroid/os/WorkSource;)Landroid/os/WorkSource;
 PLcom/android/server/power/PowerManagerService;->access$3800(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$WakeLock;)V
 HSPLcom/android/server/power/PowerManagerService;->access$3900(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
 HSPLcom/android/server/power/PowerManagerService;->access$3900(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
+PLcom/android/server/power/PowerManagerService;->access$3900(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$WakeLock;)V
 HSPLcom/android/server/power/PowerManagerService;->access$400(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$400(Lcom/android/server/power/PowerManagerService;J)V
+HPLcom/android/server/power/PowerManagerService;->access$4000(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+HSPLcom/android/server/power/PowerManagerService;->access$4000(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
 HSPLcom/android/server/power/PowerManagerService;->access$4000(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
 HPLcom/android/server/power/PowerManagerService;->access$4100(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
 HSPLcom/android/server/power/PowerManagerService;->access$4100(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService;->access$4100(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$WakeLock;)V
+PLcom/android/server/power/PowerManagerService;->access$4200(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
+HSPLcom/android/server/power/PowerManagerService;->access$4200(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
 HSPLcom/android/server/power/PowerManagerService;->access$4200(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
 HSPLcom/android/server/power/PowerManagerService;->access$4300(Lcom/android/server/power/PowerManagerService;I)Z
 PLcom/android/server/power/PowerManagerService;->access$4400(Lcom/android/server/power/PowerManagerService;)J
+PLcom/android/server/power/PowerManagerService;->access$4400(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
 PLcom/android/server/power/PowerManagerService;->access$4400(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
 PLcom/android/server/power/PowerManagerService;->access$4402(Lcom/android/server/power/PowerManagerService;J)J
 HPLcom/android/server/power/PowerManagerService;->access$4500(Lcom/android/server/power/PowerManagerService;JIII)V
 PLcom/android/server/power/PowerManagerService;->access$4500(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
 PLcom/android/server/power/PowerManagerService;->access$4600(Lcom/android/server/power/PowerManagerService;JILjava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/power/PowerManagerService;->access$4600(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
 PLcom/android/server/power/PowerManagerService;->access$4600(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
 PLcom/android/server/power/PowerManagerService;->access$4700(Lcom/android/server/power/PowerManagerService;I)Z
 PLcom/android/server/power/PowerManagerService;->access$4700(Lcom/android/server/power/PowerManagerService;JIII)V
+PLcom/android/server/power/PowerManagerService;->access$4700(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
 PLcom/android/server/power/PowerManagerService;->access$4800(Lcom/android/server/power/PowerManagerService;JI)V
+PLcom/android/server/power/PowerManagerService;->access$4800(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
 HSPLcom/android/server/power/PowerManagerService;->access$4900(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$4900(Lcom/android/server/power/PowerManagerService;I)Z
 PLcom/android/server/power/PowerManagerService;->access$4900(Lcom/android/server/power/PowerManagerService;JIII)V
+HSPLcom/android/server/power/PowerManagerService;->access$500(Lcom/android/server/power/PowerManagerService;)V
 HSPLcom/android/server/power/PowerManagerService;->access$500(Ljava/lang/String;)V
 HSPLcom/android/server/power/PowerManagerService;->access$5000(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverController;
 PLcom/android/server/power/PowerManagerService;->access$5000(Lcom/android/server/power/PowerManagerService;JILjava/lang/String;ILjava/lang/String;I)V
 HSPLcom/android/server/power/PowerManagerService;->access$5100(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
 PLcom/android/server/power/PowerManagerService;->access$5100(Lcom/android/server/power/PowerManagerService;JIII)V
+PLcom/android/server/power/PowerManagerService;->access$5200(Lcom/android/server/power/PowerManagerService;JILjava/lang/String;ILjava/lang/String;I)V
 PLcom/android/server/power/PowerManagerService;->access$5200(Lcom/android/server/power/PowerManagerService;Z)Z
 PLcom/android/server/power/PowerManagerService;->access$5300(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverStateMachine;
 PLcom/android/server/power/PowerManagerService;->access$5300(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$5300(Lcom/android/server/power/PowerManagerService;JIII)V
 HSPLcom/android/server/power/PowerManagerService;->access$5400(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverController;
 HSPLcom/android/server/power/PowerManagerService;->access$5500(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+PLcom/android/server/power/PowerManagerService;->access$5500(Lcom/android/server/power/PowerManagerService;)Z
 PLcom/android/server/power/PowerManagerService;->access$5500(Lcom/android/server/power/PowerManagerService;IZLjava/lang/String;Z)V
+HSPLcom/android/server/power/PowerManagerService;->access$5600(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverController;
+HSPLcom/android/server/power/PowerManagerService;->access$5700(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
 HSPLcom/android/server/power/PowerManagerService;->access$5800(Lcom/android/server/power/PowerManagerService;Z)V
 PLcom/android/server/power/PowerManagerService;->access$5900(Lcom/android/server/power/PowerManagerService;)Landroid/hardware/display/AmbientDisplayConfiguration;
+PLcom/android/server/power/PowerManagerService;->access$5900(Lcom/android/server/power/PowerManagerService;IZLjava/lang/String;Z)V
 HSPLcom/android/server/power/PowerManagerService;->access$600(Ljava/lang/String;)V
 PLcom/android/server/power/PowerManagerService;->access$6000(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/AmbientDisplaySuppressionController;
 PLcom/android/server/power/PowerManagerService;->access$6000(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;I)Ljava/lang/String;
@@ -31173,8 +33774,12 @@
 PLcom/android/server/power/PowerManagerService;->access$6200(Lcom/android/server/power/PowerManagerService;Z)V
 PLcom/android/server/power/PowerManagerService;->access$6300(Lcom/android/server/power/PowerManagerService;)Landroid/hardware/display/AmbientDisplayConfiguration;
 PLcom/android/server/power/PowerManagerService;->access$6300(Lcom/android/server/power/PowerManagerService;Ljava/io/PrintWriter;)V
+PLcom/android/server/power/PowerManagerService;->access$6400(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/AmbientDisplaySuppressionController;
 HSPLcom/android/server/power/PowerManagerService;->access$6400(Lcom/android/server/power/PowerManagerService;I)V
+PLcom/android/server/power/PowerManagerService;->access$6400(Lcom/android/server/power/PowerManagerService;Z)V
+PLcom/android/server/power/PowerManagerService;->access$6500(Lcom/android/server/power/PowerManagerService;)Landroid/hardware/display/AmbientDisplayConfiguration;
 PLcom/android/server/power/PowerManagerService;->access$6500(Lcom/android/server/power/PowerManagerService;II)V
+PLcom/android/server/power/PowerManagerService;->access$6600(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/AmbientDisplaySuppressionController;
 HSPLcom/android/server/power/PowerManagerService;->access$6600(Lcom/android/server/power/PowerManagerService;I)V
 PLcom/android/server/power/PowerManagerService;->access$6600(Lcom/android/server/power/PowerManagerService;Ljava/io/FileDescriptor;)V
 HSPLcom/android/server/power/PowerManagerService;->access$6700(Lcom/android/server/power/PowerManagerService;J)V
@@ -31183,15 +33788,24 @@
 PLcom/android/server/power/PowerManagerService;->access$6900(Lcom/android/server/power/PowerManagerService;)Landroid/os/PowerManager$WakeData;
 HPLcom/android/server/power/PowerManagerService;->access$6900(Lcom/android/server/power/PowerManagerService;II)V
 HSPLcom/android/server/power/PowerManagerService;->access$6900(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->access$6900(Lcom/android/server/power/PowerManagerService;Ljava/io/PrintWriter;)V
+HPLcom/android/server/power/PowerManagerService;->access$700(Ljava/lang/String;)V
 HSPLcom/android/server/power/PowerManagerService;->access$700(Z)V
 PLcom/android/server/power/PowerManagerService;->access$7000(Lcom/android/server/power/PowerManagerService;I)V
 PLcom/android/server/power/PowerManagerService;->access$7100(Lcom/android/server/power/PowerManagerService;II)V
 HSPLcom/android/server/power/PowerManagerService;->access$7100(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->access$7100(Lcom/android/server/power/PowerManagerService;Ljava/io/PrintWriter;)V
+PLcom/android/server/power/PowerManagerService;->access$7200(Lcom/android/server/power/PowerManagerService;F)V
+PLcom/android/server/power/PowerManagerService;->access$7200(Lcom/android/server/power/PowerManagerService;I)V
 PLcom/android/server/power/PowerManagerService;->access$7300(Lcom/android/server/power/PowerManagerService;)Landroid/os/PowerManager$WakeData;
+PLcom/android/server/power/PowerManagerService;->access$7300(Lcom/android/server/power/PowerManagerService;II)V
 PLcom/android/server/power/PowerManagerService;->access$7300(Lcom/android/server/power/PowerManagerService;J)V
 PLcom/android/server/power/PowerManagerService;->access$7500(Lcom/android/server/power/PowerManagerService;)Landroid/os/PowerManager$WakeData;
+PLcom/android/server/power/PowerManagerService;->access$7500(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->access$7700(Lcom/android/server/power/PowerManagerService;)Landroid/os/PowerManager$WakeData;
 HSPLcom/android/server/power/PowerManagerService;->access$800(Z)V
 HSPLcom/android/server/power/PowerManagerService;->access$900(II)V
+HSPLcom/android/server/power/PowerManagerService;->access$900(Z)V
 HSPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
 HSPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummaryLocked(I)I
 HSPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
@@ -31234,6 +33848,7 @@
 HSPLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
 HSPLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z
 PLcom/android/server/power/PowerManagerService;->isScreenLock(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
+PLcom/android/server/power/PowerManagerService;->isValidBrightness(F)Z
 HPLcom/android/server/power/PowerManagerService;->isValidBrightness(I)Z
 HSPLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
 PLcom/android/server/power/PowerManagerService;->lambda$FUW_os-Z9SregUE_DR9vDwaRuXo(Lcom/android/server/power/PowerManagerService;)V
@@ -31272,7 +33887,11 @@
 HPLcom/android/server/power/PowerManagerService;->setLightDeviceIdleModeInternal(Z)Z
 PLcom/android/server/power/PowerManagerService;->setLowPowerModeInternal(Z)Z
 HSPLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
+PLcom/android/server/power/PowerManagerService;->setPowerModeInternal(IZ)V
+PLcom/android/server/power/PowerManagerService;->setPowerModeInternal(IZ)Z
+HPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(F)V
 HSPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(I)V
+PLcom/android/server/power/PowerManagerService;->setStayOnSettingInternal(I)V
 HSPLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
 HSPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
 HPLcom/android/server/power/PowerManagerService;->setWakefulnessLocked(IIJ)V
@@ -31360,6 +33979,11 @@
 HSPLcom/android/server/power/ThermalManagerService$TemperatureWatcher;-><init>(Lcom/android/server/power/ThermalManagerService;)V
 HSPLcom/android/server/power/ThermalManagerService$TemperatureWatcher;-><init>(Lcom/android/server/power/ThermalManagerService;Lcom/android/server/power/ThermalManagerService$1;)V
 HSPLcom/android/server/power/ThermalManagerService$TemperatureWatcher;->updateSevereThresholds()V
+PLcom/android/server/power/ThermalManagerService$ThermalHal10Wrapper;-><init>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHal10Wrapper;->connectToHal()Z
+PLcom/android/server/power/ThermalManagerService$ThermalHal11Wrapper$1;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHal11Wrapper;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHal11Wrapper;-><init>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHal11Wrapper;->connectToHal()Z
 HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;)V
 PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;->notifyThrottling(Landroid/hardware/thermal/V2_0/Temperature;)V
 HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;-><init>()V
@@ -31531,6 +34155,7 @@
 HSPLcom/android/server/power/batterysaver/BatterySaverController;->getBatterySaverPolicy()Lcom/android/server/power/batterysaver/BatterySaverPolicy;
 HSPLcom/android/server/power/batterysaver/BatterySaverController;->getFullEnabledLocked()Z
 HSPLcom/android/server/power/batterysaver/BatterySaverController;->getPowerManager()Landroid/os/PowerManager;
+PLcom/android/server/power/batterysaver/BatterySaverController;->getPowerSaveModeChangedListenerPackage()Ljava/util/Optional;
 HPLcom/android/server/power/batterysaver/BatterySaverController;->handleBatterySaverStateChanged(ZI)V
 PLcom/android/server/power/batterysaver/BatterySaverController;->isAdaptiveEnabled()Z
 HSPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z
@@ -31799,9 +34424,9 @@
 PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
 PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
 PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;)Z
-PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdTampered(Landroid/content/ComponentName;Landroid/print/PrinterId;)V
-PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdsForPrinterInfoTampered(Landroid/content/ComponentName;Ljava/util/List;)V
-PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdsTampered(Landroid/content/ComponentName;Ljava/util/List;)V
+HPLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdTampered(Landroid/content/ComponentName;Landroid/print/PrinterId;)V
+HPLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdsForPrinterInfoTampered(Landroid/content/ComponentName;Ljava/util/List;)V
+HPLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->throwIfPrinterIdsTampered(Landroid/content/ComponentName;Ljava/util/List;)V
 PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
 PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;)V
 PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;Lcom/android/server/print/RemotePrintService$1;)V
@@ -31973,8 +34598,8 @@
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->lambda$_XymASnzhemmGwK4Nu5RUIT0ahk(Lcom/android/server/print/UserState$PrinterDiscoverySessionMediator;Lcom/android/server/print/RemotePrintService;Landroid/print/PrinterId;)V
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->lambda$iQrjLK8luujjjp1uW3VGCsAZK_g(Lcom/android/server/print/UserState$PrinterDiscoverySessionMediator;Lcom/android/server/print/RemotePrintService;Landroid/print/PrinterId;)V
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->lambda$lfSsgTy_1NLRRkjOH_yL2Tk_x2w(Lcom/android/server/print/UserState$PrinterDiscoverySessionMediator;Ljava/util/List;)V
-PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->onPrintersAddedLocked(Ljava/util/List;)V
-PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->onPrintersRemovedLocked(Ljava/util/List;)V
+HPLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->onPrintersAddedLocked(Ljava/util/List;)V
+HPLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->onPrintersRemovedLocked(Ljava/util/List;)V
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->removeObserverLocked(Landroid/print/IPrinterDiscoveryObserver;)V
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->startPrinterDiscoveryLocked(Landroid/print/IPrinterDiscoveryObserver;Ljava/util/List;)V
 PLcom/android/server/print/UserState$PrinterDiscoverySessionMediator;->startPrinterStateTrackingLocked(Landroid/print/PrinterId;)V
@@ -32204,6 +34829,7 @@
 HPLcom/android/server/role/RoleUserState;->writeFile()V
 PLcom/android/server/rollback/-$$Lambda$Rollback$EvT1BaUrjWsJaVTizSu77MCfRBs;-><init>(Lcom/android/server/rollback/Rollback;Landroid/content/Context;Landroid/content/IntentSender;Ljava/util/List;)V
 PLcom/android/server/rollback/-$$Lambda$Rollback$EvT1BaUrjWsJaVTizSu77MCfRBs;->accept(Ljava/lang/Object;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$0HibeeAepjXymkK7UmEMFrp6FJs;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$1$QPIiLceItKZOKeHshAhrcNkM3m8;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl$1;ILjava/io/File;II)V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$1$QPIiLceItKZOKeHshAhrcNkM3m8;->run()V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$1$whIhaWpnqJBe6ocQeiVgI5ygyCA;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl$1;II)V
@@ -32212,6 +34838,8 @@
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$58BbNzpzWX_z-GzhKXpdGPwKcIU;->run()V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$8P8gySPy0dcZ7pWpZaoseQ0VuIo;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;Ljava/lang/String;[IILjava/lang/String;I)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$8P8gySPy0dcZ7pWpZaoseQ0VuIo;->run()V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;->run()V
 PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$Be1hJgd8PbSLFX_uKif2yCGhtKo;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;ILjava/util/concurrent/CountDownLatch;)V
@@ -32358,6 +34986,7 @@
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->completeEnableRollback(Lcom/android/server/rollback/RollbackManagerServiceImpl$NewRollback;)Lcom/android/server/rollback/Rollback;
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->createNewRollbackLocked(Landroid/content/pm/PackageInstaller$SessionInfo;)Lcom/android/server/rollback/Rollback;
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->createNewRollbackLocked(Landroid/content/pm/PackageInstaller$SessionInfo;)Lcom/android/server/rollback/RollbackManagerServiceImpl$NewRollback;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->destroyCeSnapshotsForExpiredRollbacks(I)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->enableRollback(I)Z
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->enableRollback(ILjava/io/File;II)Z
@@ -32385,6 +35014,7 @@
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$6$RollbackManagerServiceImpl()V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$4$RollbackManagerServiceImpl(ILjava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$scheduleExpiration$7$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$snapshotAndRestoreUserData$7$RollbackManagerServiceImpl(Ljava/lang/String;[IILjava/lang/String;I)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$snapshotAndRestoreUserData$8$RollbackManagerServiceImpl(Ljava/lang/String;[IILjava/lang/String;I)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->makeRollbackAvailable(Lcom/android/server/rollback/Rollback;)V
 PLcom/android/server/rollback/RollbackManagerServiceImpl;->notifyStagedApkSession(II)V
@@ -32481,7 +35111,7 @@
 PLcom/android/server/search/SearchManagerService;->getGlobalSearchActivity()Landroid/content/ComponentName;
 PLcom/android/server/search/SearchManagerService;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 PLcom/android/server/search/SearchManagerService;->getSearchables(I)Lcom/android/server/search/Searchables;
-PLcom/android/server/search/SearchManagerService;->getSearchables(IZ)Lcom/android/server/search/Searchables;
+HPLcom/android/server/search/SearchManagerService;->getSearchables(IZ)Lcom/android/server/search/Searchables;
 PLcom/android/server/search/SearchManagerService;->getSearchablesInGlobalSearch()Ljava/util/List;
 PLcom/android/server/search/SearchManagerService;->getWebSearchActivity()Landroid/content/ComponentName;
 PLcom/android/server/search/SearchManagerService;->onCleanupUser(I)V
@@ -32508,10 +35138,13 @@
 HPLcom/android/server/search/Searchables;->updateSearchableList()V
 HSPLcom/android/server/security/FileIntegrityService$1;-><init>(Lcom/android/server/security/FileIntegrityService;)V
 HSPLcom/android/server/security/FileIntegrityService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/security/FileIntegrityService;->collectCertificate([B)V
 HSPLcom/android/server/security/FileIntegrityService;->loadAllCertificates()V
 HSPLcom/android/server/security/FileIntegrityService;->loadCertificatesFromDirectory(Ljava/lang/String;)V
+HSPLcom/android/server/security/FileIntegrityService;->loadCertificatesFromDirectory(Ljava/nio/file/Path;)V
 HSPLcom/android/server/security/FileIntegrityService;->loadCertificatesFromKeystore(Landroid/security/KeyStore;)V
 HSPLcom/android/server/security/FileIntegrityService;->onStart()V
+HSPLcom/android/server/security/FileIntegrityService;->toCertificate([B)Ljava/security/cert/X509Certificate;
 HSPLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
 HPLcom/android/server/security/KeyAttestationApplicationIdProviderService;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
 HSPLcom/android/server/security/KeyChainSystemService$1;-><init>(Lcom/android/server/security/KeyChainSystemService;)V
@@ -32753,6 +35386,8 @@
 HPLcom/android/server/soundtrigger/SoundTriggerDbHelper;->getGenericSoundModel(Ljava/util/UUID;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
 PLcom/android/server/soundtrigger/SoundTriggerDbHelper;->onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
 HPLcom/android/server/soundtrigger/SoundTriggerDbHelper;->updateGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)Z
+PLcom/android/server/soundtrigger/SoundTriggerHelper$1;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;Landroid/os/Looper;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;-><init>(Ljava/util/UUID;I)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->callbackToString()Ljava/lang/String;
 HPLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->clearCallback()V
@@ -32790,8 +35425,10 @@
 HSPLcom/android/server/soundtrigger/SoundTriggerHelper;-><init>(Landroid/content/Context;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$000(Lcom/android/server/soundtrigger/SoundTriggerHelper;)Ljava/lang/Object;
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$100(Lcom/android/server/soundtrigger/SoundTriggerHelper;Z)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$200(Lcom/android/server/soundtrigger/SoundTriggerHelper;)Landroid/os/Handler;
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$200(Lcom/android/server/soundtrigger/SoundTriggerHelper;)Landroid/os/PowerManager;
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$300(Lcom/android/server/soundtrigger/SoundTriggerHelper;Z)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->cleanUpExistingKeyphraseModelLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;)I
 HPLcom/android/server/soundtrigger/SoundTriggerHelper;->computeRecognitionRequestedLocked()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->createKeyphraseModelDataLocked(Ljava/util/UUID;I)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
@@ -32818,6 +35455,7 @@
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceDiedLocked()V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceStateChange(I)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceStateChangedLocked(Z)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->prepareForRecognition(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->removeKeyphraseModelLocked(I)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->sendErrorCallbacksToAllLocked(I)V
 HPLcom/android/server/soundtrigger/SoundTriggerHelper;->startGenericRecognition(Ljava/util/UUID;Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
@@ -32923,6 +35561,8 @@
 HSPLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
 HSPLcom/android/server/soundtrigger/SoundTriggerService;->onStartUser(I)V
 PLcom/android/server/soundtrigger/SoundTriggerService;->onSwitchUser(I)V
+PLcom/android/server/soundtrigger_middleware/-$$Lambda$ExternalCaptureStateTracker$Ygm9zjschDPyC1_diGoIJXbnmGc;-><init>(Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;)V
+PLcom/android/server/soundtrigger_middleware/-$$Lambda$ExternalCaptureStateTracker$Ygm9zjschDPyC1_diGoIJXbnmGc;->run()V
 HPLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerHw2Compat$-_QZ-VR2645z-GkbokL_T8I__48;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicInteger;)V
 PLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerHw2Compat$-_QZ-VR2645z-GkbokL_T8I__48;->onValues(II)V
 HSPLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerHw2Compat$TgbC0Y00RFANX4qn5-S2zqA0RJU;-><init>(Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicReference;)V
@@ -32934,6 +35574,8 @@
 HSPLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$Lifecycle$-t8UndY0AHGyM6n9ce2y6qok3Ho;-><clinit>()V
 HSPLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$Lifecycle$-t8UndY0AHGyM6n9ce2y6qok3Ho;-><init>()V
 HSPLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$Lifecycle$-t8UndY0AHGyM6n9ce2y6qok3Ho;->create()Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;
+PLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$usinpPnoUy9JbhY8PKAGU1Qj0TE;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;)V
+PLcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$usinpPnoUy9JbhY8PKAGU1Qj0TE;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/soundtrigger_middleware/AudioSessionProviderImpl;-><init>()V
 PLcom/android/server/soundtrigger_middleware/ConversionUtil;->aidl2hidlPhrase(Landroid/media/soundtrigger_middleware/Phrase;)Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$Phrase;
 HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->aidl2hidlPhraseRecognitionExtra(Landroid/media/soundtrigger_middleware/PhraseRecognitionExtra;)Landroid/hardware/soundtrigger/V2_0/PhraseRecognitionExtra;
@@ -32957,6 +35599,10 @@
 HPLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlRecognitionStatus(I)I
 PLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlSoundModelType(I)I
 HSPLcom/android/server/soundtrigger_middleware/ConversionUtil;->hidl2aidlUuid(Landroid/hardware/audio/common/V2_0/Uuid;)Ljava/lang/String;
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->lambda$Ygm9zjschDPyC1_diGoIJXbnmGc(Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;)V
+PLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->run()V
+HPLcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;->setCaptureState(Z)V
 PLcom/android/server/soundtrigger_middleware/HalException;-><init>(ILjava/lang/String;)V
 HPLcom/android/server/soundtrigger_middleware/HalException;->toString()Ljava/lang/String;
 HSPLcom/android/server/soundtrigger_middleware/Hw2CompatUtil;->convertProperties_2_0_to_2_3(Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw$Properties;)Landroid/hardware/soundtrigger/V2_3/Properties;
@@ -32969,7 +35615,7 @@
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHw2$Callback;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerHw2$Callback;Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$1;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;->phraseRecognitionCallback_2_1(Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback$PhraseRecognitionEvent;I)V
-PLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;->recognitionCallback_2_1(Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback$RecognitionEvent;I)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;->recognitionCallback_2_1(Landroid/hardware/soundtrigger/V2_1/ISoundTriggerHwCallback$RecognitionEvent;I)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat;-><init>(Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat;-><init>(Landroid/os/IHwBinder;)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat;->as2_0()Landroid/hardware/soundtrigger/V2_0/ISoundTriggerHw;
@@ -33010,19 +35656,22 @@
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;-><init>([Lcom/android/server/soundtrigger_middleware/HalFactory;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;->attach(ILandroid/media/soundtrigger_middleware/ISoundTriggerCallback;)Landroid/media/soundtrigger_middleware/ISoundTriggerModule;
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;->listModules()[Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor;
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;->setCaptureState(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;->setExternalCaptureState(Z)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Landroid/media/soundtrigger_middleware/ISoundTriggerCallback;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Landroid/media/soundtrigger_middleware/ISoundTriggerCallback;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$1;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->asBinder()Landroid/os/IBinder;
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->logVoidReturn(Ljava/lang/String;[Ljava/lang/Object;)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->logVoidReturn(Ljava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onModuleDied()V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onPhraseRecognition(ILandroid/media/soundtrigger_middleware/PhraseRecognitionEvent;)V
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onRecognition(ILandroid/media/soundtrigger_middleware/RecognitionEvent;)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onRecognition(ILandroid/media/soundtrigger_middleware/RecognitionEvent;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->onRecognitionAvailabilityChange(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;->toString()Ljava/lang/String;
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$Event;-><init>(Ljava/lang/String;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$Event;-><init>(Ljava/lang/String;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$1;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Landroid/media/soundtrigger_middleware/ISoundTriggerModule;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Landroid/media/soundtrigger_middleware/ISoundTriggerModule;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$1;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->detach()V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->forceRecognitionEvent(I)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->loadModel(Landroid/media/soundtrigger_middleware/SoundModel;)I
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->loadPhraseModel(Landroid/media/soundtrigger_middleware/PhraseSoundModel;)I
@@ -33035,22 +35684,24 @@
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;->unloadModel(I)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;-><clinit>()V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->access$200(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Exception;[Ljava/lang/Object;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->access$300(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->access$400(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->appendMessage(Ljava/lang/String;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->attach(ILandroid/media/soundtrigger_middleware/ISoundTriggerCallback;)Landroid/media/soundtrigger_middleware/ISoundTriggerModule;
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->dump(Ljava/io/PrintWriter;)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->dump(Ljava/io/PrintWriter;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->listModules()[Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logException(Ljava/lang/String;Ljava/lang/Exception;[Ljava/lang/Object;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logExceptionWithObject(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Exception;[Ljava/lang/Object;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logReturn(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logReturnWithObject(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logVoidReturn(Ljava/lang/String;[Ljava/lang/Object;)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logVoidReturn(Ljava/lang/String;[Ljava/lang/Object;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->logVoidReturnWithObject(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->printArgs([Ljava/lang/Object;)Ljava/lang/String;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->printObject(Ljava/lang/Object;)Ljava/lang/String;
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->printObject(Ljava/lang/StringBuilder;Ljava/lang/Object;)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->setCaptureState(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->setExternalCaptureState(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;->toString()Ljava/lang/String;
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$Lifecycle;-><init>(Landroid/content/Context;)V
@@ -33079,6 +35730,8 @@
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;Landroid/content/Context;)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;Landroid/content/Context;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$1;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$1;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$1;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->access$100(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->access$200(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->attach(ILandroid/media/soundtrigger_middleware/ISoundTriggerCallback;)Landroid/media/soundtrigger_middleware/ISoundTriggerModule;
@@ -33087,6 +35740,7 @@
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->enforcePermission(Ljava/lang/String;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->handleException(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->lambda$new$0$SoundTriggerMiddlewareService(Ljava/lang/Boolean;)V
 HSPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->listModules()[Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor;
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;->setExternalCaptureState(Z)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModelState$Activity;-><clinit>()V
@@ -33094,10 +35748,13 @@
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModelState;-><init>()V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;-><init>(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;ILandroid/media/soundtrigger_middleware/ISoundTriggerCallback;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->attach(Landroid/media/soundtrigger_middleware/ISoundTriggerModule;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->detach()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->detachInternal()V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->forceRecognitionEvent(I)V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->forceRecognitionEvent(I)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->loadModel(Landroid/media/soundtrigger_middleware/SoundModel;)I
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->loadPhraseModel(Landroid/media/soundtrigger_middleware/PhraseSoundModel;)I
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->onModuleDied()V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->onPhraseRecognition(ILandroid/media/soundtrigger_middleware/PhraseRecognitionEvent;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->onRecognition(ILandroid/media/soundtrigger_middleware/RecognitionEvent;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->onRecognitionAvailabilityChange(Z)V
@@ -33105,15 +35762,19 @@
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->stopRecognition(I)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->toString()Ljava/lang/String;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;->unloadModel(I)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleState;-><clinit>()V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleState;-><init>(Ljava/lang/String;I)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;-><init>(Landroid/media/soundtrigger_middleware/ISoundTriggerMiddlewareService;Landroid/content/Context;)V
+PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;-><init>(Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;Landroid/content/Context;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->access$000(Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;)Ljava/util/Map;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->attach(ILandroid/media/soundtrigger_middleware/ISoundTriggerCallback;)Landroid/media/soundtrigger_middleware/ISoundTriggerModule;
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->checkPermissions()V
-PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->checkPreemptPermissions()V
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->checkPreemptPermissions()V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->dump(Ljava/io/PrintWriter;)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->enforcePermission(Ljava/lang/String;)V
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->handleException(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->listModules()[Landroid/media/soundtrigger_middleware/SoundTriggerModuleDescriptor;
+HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->setCaptureState(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->setExternalCaptureState(Z)V
 HPLcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;->toString()Ljava/lang/String;
 PLcom/android/server/soundtrigger_middleware/SoundTriggerModule$ModelState;-><clinit>()V
@@ -33364,6 +36025,7 @@
 PLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$M5tfOmnyD25Ws5xFmcaNZmCcWv4;->onPullAtom(ILjava/util/List;)I
 HSPLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$Myxd926lI020RejJAC3J7xJBf-M;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
 HPLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$Myxd926lI020RejJAC3J7xJBf-M;->onPullAtom(ILjava/util/List;)I
+PLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$N3NRt-eUatVUnaOb87ZVVmp10oA;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
 HSPLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$O-i_qJRna30dOvZwoceUXgRcdmM;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
 PLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$O-i_qJRna30dOvZwoceUXgRcdmM;->onPullAtom(ILjava/util/List;)I
 PLcom/android/server/stats/pull/-$$Lambda$StatsPullAtomService$ODMP0J94F-i0lScEZVqBmBZetGs;-><init>(Lcom/android/server/stats/pull/StatsPullAtomService;)V
@@ -33482,12 +36144,19 @@
 HSPLcom/android/server/stats/pull/StatsPullAtomService;-><clinit>()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/stats/pull/StatsPullAtomService;->access$000(Lcom/android/server/stats/pull/StatsPullAtomService;IILjava/util/List;)I
+PLcom/android/server/stats/pull/StatsPullAtomService;->access$000(Lcom/android/server/stats/pull/StatsPullAtomService;ILjava/util/List;Z)I
+PLcom/android/server/stats/pull/StatsPullAtomService;->access$100(Lcom/android/server/stats/pull/StatsPullAtomService;ILjava/util/List;Z)I
+PLcom/android/server/stats/pull/StatsPullAtomService;->access$200(Lcom/android/server/stats/pull/StatsPullAtomService;IILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->addNetworkStats(ILjava/util/List;Landroid/net/NetworkStats;Z)V
+HPLcom/android/server/stats/pull/StatsPullAtomService;->addNetworkStats(ILjava/util/List;Landroid/net/NetworkStats;ZI)V
 HPLcom/android/server/stats/pull/StatsPullAtomService;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable;
+PLcom/android/server/stats/pull/StatsPullAtomService;->estimateAppOpsSize()I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->fetchBluetoothData()Landroid/bluetooth/BluetoothActivityEnergyInfo;
 HPLcom/android/server/stats/pull/StatsPullAtomService;->getINetworkStatsService()Landroid/net/INetworkStatsService;
 HPLcom/android/server/stats/pull/StatsPullAtomService;->getIStoragedService()Landroid/os/IStoraged;
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->getIThermalService()Landroid/os/IThermalService;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->getNetworkStatsSession()Landroid/net/INetworkStatsSession;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->getUidNetworkStatsSinceBoot(Landroid/net/NetworkTemplate;Z)Landroid/net/NetworkStats;
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->initializePullersState()V
 HPLcom/android/server/stats/pull/StatsPullAtomService;->isAppUid(I)Z
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->lambda$onBootPhase$0$StatsPullAtomService()V
@@ -33552,8 +36221,10 @@
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->onStart()V
 HPLcom/android/server/stats/pull/StatsPullAtomService;->processHistoricalOp(Landroid/app/AppOpsManager$HistoricalOp;ILjava/util/List;ILjava/lang/String;Ljava/lang/String;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->processHistoricalOps(Landroid/app/AppOpsManager$HistoricalOps;ILjava/util/List;)I
+HPLcom/android/server/stats/pull/StatsPullAtomService;->pullAppFeaturesOps(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullAppOps(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullAppsOnExternalStorageInfo(ILjava/util/List;)I
+HPLcom/android/server/stats/pull/StatsPullAtomService;->pullAttributedAppOps(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullBatteryLevel(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullBinderCallsStats(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullBluetoothActivityInfo(ILjava/util/List;)I
@@ -33576,6 +36247,7 @@
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullKernelWakelock(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullLooperStats(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullMobileBytesTransfer(ILjava/util/List;)I
+HPLcom/android/server/stats/pull/StatsPullAtomService;->pullMobileBytesTransfer(ILjava/util/List;Z)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullMobileBytesTransferBackground(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullModemActivityInfo(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullNumBiometricsEnrolled(IILjava/util/List;)I
@@ -33583,19 +36255,21 @@
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessMemoryHighWaterMark(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessMemorySnapshot(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullProcessSystemIonHeapSize(ILjava/util/List;)I
-PLcom/android/server/stats/pull/StatsPullAtomService;->pullRuntimeAppOpAccessMessage(ILjava/util/List;)I
+HPLcom/android/server/stats/pull/StatsPullAtomService;->pullRuntimeAppOpAccessMessage(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullSystemIonHeapSize(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullSystemUptime(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullTemperature(ILjava/util/List;)I
 PLcom/android/server/stats/pull/StatsPullAtomService;->pullTimeZoneDataInfo(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullWifiActivityInfo(ILjava/util/List;)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullWifiBytesTransfer(ILjava/util/List;)I
+PLcom/android/server/stats/pull/StatsPullAtomService;->pullWifiBytesTransfer(ILjava/util/List;Z)I
 HPLcom/android/server/stats/pull/StatsPullAtomService;->pullWifiBytesTransferBackground(ILjava/util/List;)I
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerAllPullers()V
 PLcom/android/server/stats/pull/StatsPullAtomService;->registerAppFeaturesOps()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerAppOps()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerAppSize()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerAppsOnExternalStorageInfo()V
+PLcom/android/server/stats/pull/StatsPullAtomService;->registerAttributedAppOps()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryCycleCount()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryLevel()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerBatteryVoltage()V
@@ -33655,6 +36329,7 @@
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerWifiBytesTransfer()V
 HSPLcom/android/server/stats/pull/StatsPullAtomService;->registerWifiBytesTransferBackground()V
 HPLcom/android/server/stats/pull/StatsPullAtomService;->rollupNetworkStatsByFGBG(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
+HPLcom/android/server/stats/pull/StatsPullAtomService;->rollupNetworkStatsByFgbg(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
 HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$E67OP8P-DuCzmX46ISCwIyOv93Q;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
 HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$E67OP8P-DuCzmX46ISCwIyOv93Q;->run()V
 PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$KPqmL9kxt0YFCz4dBAFkiUMRWw8;-><clinit>()V
@@ -33689,6 +36364,7 @@
 PLcom/android/server/statusbar/StatusBarManagerService$1;->showChargingAnimation(I)V
 PLcom/android/server/statusbar/StatusBarManagerService$1;->showRecentApps(Z)V
 PLcom/android/server/statusbar/StatusBarManagerService$1;->showShutdownUi(ZLjava/lang/String;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$1;->showToast(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/IBinder;ILandroid/app/ITransientNotificationCallback;)V
 HPLcom/android/server/statusbar/StatusBarManagerService$1;->showToast(Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/IBinder;ILandroid/app/ITransientNotificationCallback;)V
 PLcom/android/server/statusbar/StatusBarManagerService$1;->showTransient(I[I)V
 HSPLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(IZZ)V
@@ -33779,6 +36455,7 @@
 HSPLcom/android/server/statusbar/StatusBarManagerService;->getUiState(I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
 HPLcom/android/server/statusbar/StatusBarManagerService;->handleSystemKey(I)V
 PLcom/android/server/statusbar/StatusBarManagerService;->hideAuthenticationDialog()V
+PLcom/android/server/statusbar/StatusBarManagerService;->isTracing()Z
 PLcom/android/server/statusbar/StatusBarManagerService;->lambda$disableLocked$0$StatusBarManagerService(I)V
 HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$3$StatusBarManagerService()V
 PLcom/android/server/statusbar/StatusBarManagerService;->lambda$reboot$5(Z)V
@@ -33819,6 +36496,7 @@
 HSPLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
 HPLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(ILandroid/os/IBinder;IIZZ)V
 PLcom/android/server/statusbar/StatusBarManagerService;->showAuthenticationDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;IZILjava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->showAuthenticationDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;IZILjava/lang/String;J)V
 PLcom/android/server/statusbar/StatusBarManagerService;->showPinningEnterExitToast(Z)V
 PLcom/android/server/statusbar/StatusBarManagerService;->showPinningEscapeToast()V
 PLcom/android/server/statusbar/StatusBarManagerService;->shutdown()V
@@ -33826,6 +36504,8 @@
 HSPLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(IZZ)V
 PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$2ECT20JMDVk3s2c7JRifxIdFISs;-><init>(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$2ECT20JMDVk3s2c7JRifxIdFISs;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$_fNj4MMVR2_fLDVK18ztgw4RUrI;-><init>(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$_fNj4MMVR2_fLDVK18ztgw4RUrI;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$uMm3Ei4cCV446R_LJOCKr8R8AU8;-><init>(Lcom/android/server/storage/StorageUserConnection$ActiveConnection;Ljava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/storage/-$$Lambda$StorageUserConnection$ActiveConnection$uMm3Ei4cCV446R_LJOCKr8R8AU8;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/storage/AppCollector$BackgroundHandler;-><init>(Lcom/android/server/storage/AppCollector;Landroid/os/Looper;Landroid/os/storage/VolumeInfo;Landroid/content/pm/PackageManager;Landroid/os/UserManager;Landroid/app/usage/StorageStatsManager;)V
@@ -33924,12 +36604,14 @@
 PLcom/android/server/storage/FileCollector;->getMeasurementResult(Landroid/content/Context;)Lcom/android/server/storage/FileCollector$MeasurementResult;
 PLcom/android/server/storage/FileCollector;->getMeasurementResult(Ljava/io/File;)Lcom/android/server/storage/FileCollector$MeasurementResult;
 PLcom/android/server/storage/FileCollector;->getSystemSize(Landroid/content/Context;)J
+PLcom/android/server/storage/StorageSessionController$ExternalStorageServiceException;-><init>(Ljava/lang/String;)V
 PLcom/android/server/storage/StorageSessionController$ExternalStorageServiceException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLcom/android/server/storage/StorageSessionController;-><init>(Landroid/content/Context;Z)V
 PLcom/android/server/storage/StorageSessionController;->getExternalStorageServiceComponentName()Landroid/content/ComponentName;
 PLcom/android/server/storage/StorageSessionController;->initExternalStorageServiceComponent()V
 PLcom/android/server/storage/StorageSessionController;->isEmulatedOrPublic(Landroid/os/storage/VolumeInfo;)Z
 PLcom/android/server/storage/StorageSessionController;->killExternalStorageService(I)V
+PLcom/android/server/storage/StorageSessionController;->notifyVolumeStateChanged(Landroid/os/storage/VolumeInfo;)V
 PLcom/android/server/storage/StorageSessionController;->onReset(Landroid/os/IVold;Landroid/os/Handler;)V
 PLcom/android/server/storage/StorageSessionController;->onUnlockUser(I)V
 PLcom/android/server/storage/StorageSessionController;->onUserStopping(I)V
@@ -33955,8 +36637,10 @@
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->endSessionLocked(Lcom/android/server/storage/StorageUserConnection$Session;)V
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->isActiveLocked(Lcom/android/server/storage/StorageUserConnection$Session;)Z
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$endSessionLocked$1$StorageUserConnection$ActiveConnection(Ljava/util/concurrent/CountDownLatch;Landroid/os/Bundle;)V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$notifyVolumeStateChangedLocked$2$StorageUserConnection$ActiveConnection(Ljava/util/concurrent/CountDownLatch;Landroid/os/Bundle;)V
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->lambda$startSessionLocked$0$StorageUserConnection$ActiveConnection(Ljava/util/concurrent/CountDownLatch;Landroid/os/Bundle;)V
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->maybeThrowExceptionLocked()V
+PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->notifyVolumeStateChangedLocked(Ljava/lang/String;Landroid/os/storage/StorageVolume;)V
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->setResultLocked(Ljava/util/concurrent/CountDownLatch;Landroid/os/Bundle;)V
 PLcom/android/server/storage/StorageUserConnection$ActiveConnection;->startSessionLocked(Lcom/android/server/storage/StorageUserConnection$Session;Landroid/os/ParcelFileDescriptor;)V
 PLcom/android/server/storage/StorageUserConnection$Session;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -33970,6 +36654,7 @@
 PLcom/android/server/storage/StorageUserConnection;->access$500(Lcom/android/server/storage/StorageUserConnection;)Lcom/android/server/storage/StorageSessionController;
 PLcom/android/server/storage/StorageUserConnection;->close()V
 PLcom/android/server/storage/StorageUserConnection;->getAllSessionIds()Ljava/util/Set;
+PLcom/android/server/storage/StorageUserConnection;->notifyVolumeStateChanged(Ljava/lang/String;Landroid/os/storage/StorageVolume;)V
 PLcom/android/server/storage/StorageUserConnection;->prepareRemote()V
 PLcom/android/server/storage/StorageUserConnection;->removeAllSessions()V
 PLcom/android/server/storage/StorageUserConnection;->removeSession(Ljava/lang/String;)Lcom/android/server/storage/StorageUserConnection$Session;
@@ -34126,6 +36811,7 @@
 HSPLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->bindIfHasPendingRequestsLocked()Z
 HPLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->bindLocked()Z
 HPLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->checkRequestAcceptedLocked(ILjava/lang/String;)Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->createBindServiceFlags(Ljava/lang/String;)I
 PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->getTextClassifierServiceComponent()Landroid/content/ComponentName;
 HPLcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;->handlePendingRequestsLocked()V
@@ -34200,6 +36886,7 @@
 HSPLcom/android/server/textclassifier/TextClassificationManagerService;->getUserStateLocked(I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
 HPLcom/android/server/textclassifier/TextClassificationManagerService;->handleRequest(ILjava/lang/String;ZLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Ljava/lang/String;Landroid/service/textclassifier/ITextClassifierCallback;)V
 HPLcom/android/server/textclassifier/TextClassificationManagerService;->handleRequest(ILjava/lang/String;ZZLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Ljava/lang/String;Landroid/service/textclassifier/ITextClassifierCallback;)V
+HPLcom/android/server/textclassifier/TextClassificationManagerService;->handleRequest(Landroid/view/textclassifier/SystemTextClassifierMetadata;ZZLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Ljava/lang/String;Landroid/service/textclassifier/ITextClassifierCallback;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$dump$9$TextClassificationManagerService(Lcom/android/internal/util/IndentingPrintWriter;)V
 HPLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$handleRequest$10(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Lcom/android/server/textclassifier/TextClassificationManagerService$ServiceState;)V
 HPLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$handleRequest$10(Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
@@ -34320,6 +37007,7 @@
 HSPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
 HPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
 HPLcom/android/server/textservices/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
+PLcom/android/server/textservices/TextServicesManagerService;->getEnabledSpellCheckers(I)[Landroid/view/textservice/SpellCheckerInfo;
 HPLcom/android/server/textservices/TextServicesManagerService;->getSpellCheckerService(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
 PLcom/android/server/textservices/TextServicesManagerService;->initializeInternalStateLocked(I)V
 HPLcom/android/server/textservices/TextServicesManagerService;->isSpellCheckerEnabled(I)Z
@@ -34399,6 +37087,8 @@
 PLcom/android/server/timezonedetector/-$$Lambda$TimeZoneDetectorService$UdeBqzyBZX1S4jHLM7d2cKvE_-U;->run()V
 PLcom/android/server/timezonedetector/-$$Lambda$TimeZoneDetectorService$fVU6C2loDoPZ5MLRbaxmXaLRy_s;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorService;Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
 PLcom/android/server/timezonedetector/-$$Lambda$TimeZoneDetectorService$fVU6C2loDoPZ5MLRbaxmXaLRy_s;->run()V
+PLcom/android/server/timezonedetector/-$$Lambda$YxXJMUW4yEyBSw8jCvXmZTpthE8;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/-$$Lambda$YxXJMUW4yEyBSw8jCvXmZTpthE8;->run()V
 HSPLcom/android/server/timezonedetector/ArrayMapWithHistory;-><init>(I)V
 PLcom/android/server/timezonedetector/ArrayMapWithHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 HPLcom/android/server/timezonedetector/ArrayMapWithHistory;->get(Ljava/lang/Object;)Ljava/lang/Object;
@@ -34406,12 +37096,15 @@
 HPLcom/android/server/timezonedetector/ArrayMapWithHistory;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HPLcom/android/server/timezonedetector/ArrayMapWithHistory;->size()I
 HPLcom/android/server/timezonedetector/ArrayMapWithHistory;->valueAt(I)Ljava/lang/Object;
+PLcom/android/server/timezonedetector/ReferenceWithHistory;-><clinit>()V
 HSPLcom/android/server/timezonedetector/ReferenceWithHistory;-><init>(I)V
 HPLcom/android/server/timezonedetector/ReferenceWithHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
 HPLcom/android/server/timezonedetector/ReferenceWithHistory;->get()Ljava/lang/Object;
 HPLcom/android/server/timezonedetector/ReferenceWithHistory;->getHistoryCount()I
+PLcom/android/server/timezonedetector/ReferenceWithHistory;->packNullIfRequired(Ljava/lang/Object;)Ljava/lang/Object;
 HPLcom/android/server/timezonedetector/ReferenceWithHistory;->set(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/timezonedetector/ReferenceWithHistory;->toString()Ljava/lang/String;
+PLcom/android/server/timezonedetector/ReferenceWithHistory;->unpackNullIfRequired(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;-><init>(Landroid/content/Context;)V
 PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;->deviceHasTelephonyNetwork()Z
 PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;->getDeviceTimeZone()Ljava/lang/String;
@@ -34460,10 +37153,12 @@
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->dump(Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->findBestPhoneSuggestion()Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$QualifiedPhoneTimeZoneSuggestion;
 HPLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->findBestTelephonySuggestion()Lcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl$QualifiedTelephonyTimeZoneSuggestion;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->handleAutoTimeZoneDetectionChanged()V
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->isOriginAutomatic(I)Z
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->scorePhoneSuggestion(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)I
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->scoreTelephonySuggestion(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)I
 HPLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->setDeviceTimeZoneIfRequired(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->suggestManualTimeZone(Landroid/app/timezonedetector/ManualTimeZoneSuggestion;)V
 PLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->suggestPhoneTimeZone(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)V
 HPLcom/android/server/timezonedetector/TimeZoneDetectorStrategyImpl;->suggestTelephonyTimeZone(Landroid/app/timezonedetector/TelephonyTimeZoneSuggestion;)V
 HSPLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><clinit>()V
@@ -34482,7 +37177,7 @@
 PLcom/android/server/trust/TrustAgentWrapper;-><clinit>()V
 HPLcom/android/server/trust/TrustAgentWrapper;-><init>(Landroid/content/Context;Lcom/android/server/trust/TrustManagerService;Landroid/content/Intent;Landroid/os/UserHandle;)V
 PLcom/android/server/trust/TrustAgentWrapper;->access$000(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/content/ComponentName;
-PLcom/android/server/trust/TrustAgentWrapper;->access$100(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/os/Handler;
+HPLcom/android/server/trust/TrustAgentWrapper;->access$100(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/os/Handler;
 HPLcom/android/server/trust/TrustAgentWrapper;->access$1000(Lcom/android/server/trust/TrustAgentWrapper;)I
 HPLcom/android/server/trust/TrustAgentWrapper;->access$1100(Lcom/android/server/trust/TrustAgentWrapper;)Lcom/android/server/trust/TrustManagerService;
 PLcom/android/server/trust/TrustAgentWrapper;->access$1302(Lcom/android/server/trust/TrustAgentWrapper;Landroid/os/IBinder;)Landroid/os/IBinder;
@@ -34498,9 +37193,10 @@
 PLcom/android/server/trust/TrustAgentWrapper;->access$2200(Lcom/android/server/trust/TrustAgentWrapper;)V
 PLcom/android/server/trust/TrustAgentWrapper;->access$300(Lcom/android/server/trust/TrustAgentWrapper;)Ljava/lang/CharSequence;
 PLcom/android/server/trust/TrustAgentWrapper;->access$302(Lcom/android/server/trust/TrustAgentWrapper;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-PLcom/android/server/trust/TrustAgentWrapper;->access$500()Z
+HPLcom/android/server/trust/TrustAgentWrapper;->access$500()Z
 PLcom/android/server/trust/TrustAgentWrapper;->destroy()V
 PLcom/android/server/trust/TrustAgentWrapper;->getMessage()Ljava/lang/CharSequence;
+PLcom/android/server/trust/TrustAgentWrapper;->getScheduledRestartUptimeMillis()J
 PLcom/android/server/trust/TrustAgentWrapper;->isBound()Z
 HPLcom/android/server/trust/TrustAgentWrapper;->isConnected()Z
 PLcom/android/server/trust/TrustAgentWrapper;->isManagingTrust()Z
@@ -34984,6 +37680,7 @@
 PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;I)V
 PLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
 HPLcom/android/server/usage/UsageStatsDatabase;->checkinDailyFiles(Lcom/android/server/usage/UsageStatsDatabase$CheckinAction;)Z
+PLcom/android/server/usage/UsageStatsDatabase;->deleteDirectory(Ljava/io/File;)V
 PLcom/android/server/usage/UsageStatsDatabase;->doUpgradeLocked(I)V
 HPLcom/android/server/usage/UsageStatsDatabase;->dump(Lcom/android/internal/util/IndentingPrintWriter;Z)V
 HPLcom/android/server/usage/UsageStatsDatabase;->dumpMappings(Lcom/android/internal/util/IndentingPrintWriter;)V
@@ -35004,6 +37701,8 @@
 PLcom/android/server/usage/UsageStatsDatabase;->prune(J)V
 HPLcom/android/server/usage/UsageStatsDatabase;->pruneChooserCountsOlderThan(Ljava/io/File;J)V
 HPLcom/android/server/usage/UsageStatsDatabase;->pruneFilesOlderThan(Ljava/io/File;J)V
+PLcom/android/server/usage/UsageStatsDatabase;->prunePackagesDataOnUpgrade(Ljava/util/HashMap;)V
+HPLcom/android/server/usage/UsageStatsDatabase;->pruneStats(Ljava/util/HashMap;Lcom/android/server/usage/IntervalStats;)Z
 PLcom/android/server/usage/UsageStatsDatabase;->pruneUninstalledPackagesData()Z
 HPLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
 HPLcom/android/server/usage/UsageStatsDatabase;->queryUsageStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
@@ -35023,6 +37722,7 @@
 PLcom/android/server/usage/UsageStatsIdleService;->cancelJob(Landroid/content/Context;I)V
 PLcom/android/server/usage/UsageStatsIdleService;->lambda$onStartJob$0$UsageStatsIdleService(ILandroid/app/job/JobParameters;)V
 PLcom/android/server/usage/UsageStatsIdleService;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/usage/UsageStatsIdleService;->onStopJob(Landroid/app/job/JobParameters;)Z
 PLcom/android/server/usage/UsageStatsIdleService;->scheduleJob(Landroid/content/Context;I)V
 PLcom/android/server/usage/UsageStatsProto;-><clinit>()V
 HPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
@@ -35118,7 +37818,7 @@
 PLcom/android/server/usage/UsageStatsService$LocalService;->reportExemptedSyncStart(Ljava/lang/String;I)V
 HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/usage/UsageStatsService$LocalService;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportSyncScheduled(Ljava/lang/String;IZ)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->reportSyncScheduled(Ljava/lang/String;IZ)V
 HSPLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
 HPLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V
 HSPLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;)V
@@ -35186,10 +37886,10 @@
 HPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
 HSPLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V
 HPLcom/android/server/usage/UsageStatsService;->reportEventToAllUserId(Landroid/app/usage/UsageEvents$Event;)V
-PLcom/android/server/usage/UsageStatsService;->shouldHideLocusIdEvents(II)Z
+HPLcom/android/server/usage/UsageStatsService;->shouldHideLocusIdEvents(II)Z
 HPLcom/android/server/usage/UsageStatsService;->shouldHideShortcutInvocationEvents(ILjava/lang/String;II)Z
 HPLcom/android/server/usage/UsageStatsService;->shouldObfuscateInstantAppsForCaller(II)Z
-PLcom/android/server/usage/UsageStatsService;->shouldObfuscateNotificationEvents(II)Z
+HPLcom/android/server/usage/UsageStatsService;->shouldObfuscateNotificationEvents(II)Z
 PLcom/android/server/usage/UsageStatsService;->shutdown()V
 PLcom/android/server/usage/UsageStatsService;->unregisterAppUsageLimitObserver(III)V
 PLcom/android/server/usage/UsageStatsService;->unregisterAppUsageObserver(III)V
@@ -35198,7 +37898,7 @@
 HPLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
 PLcom/android/server/usage/UserUsageStatsService$2;-><init>()V
 PLcom/android/server/usage/UserUsageStatsService$3;-><init>()V
-PLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJILandroid/util/ArraySet;)V
+HPLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJILandroid/util/ArraySet;)V
 HPLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJZLandroid/util/ArraySet;)V
 HPLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJZZLandroid/util/ArraySet;)V
 HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
@@ -35213,7 +37913,7 @@
 PLcom/android/server/usage/UserUsageStatsService;->checkin(Lcom/android/internal/util/IndentingPrintWriter;)V
 HPLcom/android/server/usage/UserUsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V
 PLcom/android/server/usage/UserUsageStatsService;->dump(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Z)V
-PLcom/android/server/usage/UserUsageStatsService;->dump(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/List;Z)V
+HPLcom/android/server/usage/UserUsageStatsService;->dump(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/List;Z)V
 HPLcom/android/server/usage/UserUsageStatsService;->eventToString(I)Ljava/lang/String;
 HPLcom/android/server/usage/UserUsageStatsService;->formatDateTime(JZ)Ljava/lang/String;
 HPLcom/android/server/usage/UserUsageStatsService;->formatElapsedTime(JZ)Ljava/lang/String;
@@ -35258,6 +37958,8 @@
 HSPLcom/android/server/usb/-$$Lambda$UsbService$Lifecycle$KjOG0MXO3C0J-L5Ymrj6FnSwXwQ;->run()V
 HSPLcom/android/server/usb/-$$Lambda$UsbService$Lifecycle$sV0bZ5BCi6DR9FlGZbY2PyYUP58;-><init>(Lcom/android/server/usb/UsbService$Lifecycle;)V
 HSPLcom/android/server/usb/-$$Lambda$UsbService$Lifecycle$sV0bZ5BCi6DR9FlGZbY2PyYUP58;->run()V
+PLcom/android/server/usb/-$$Lambda$UsbService$Lifecycle$uW1Zp8w_9pHt-c93nC2qQFOakXo;-><init>(Lcom/android/server/usb/UsbService$Lifecycle;Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/usb/-$$Lambda$UsbService$Lifecycle$uW1Zp8w_9pHt-c93nC2qQFOakXo;->run()V
 HSPLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;)V
 HSPLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;Lcom/android/server/usb/MtpNotificationManager$1;)V
 HSPLcom/android/server/usb/MtpNotificationManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;)V
@@ -35311,6 +38013,7 @@
 HSPLcom/android/server/usb/UsbDeviceManager$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandler;)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;->onAdbEnabled(Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;->onAdbEnabled(ZB)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbPermissionManager;)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->dumpFunctions(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;JJ)V
@@ -35357,6 +38060,16 @@
 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setEnabledFunctions(JZ)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setUsbConfig(JZ)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->addFunction(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->applyAdbFunction(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->applyOemOverrideFunction(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->getPersistProp(Z)Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->isNormalBoot()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->readOemUsbOverrideConfig(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->setEnabledFunctions(JZ)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->trySetEnabledFunctions(JZ)Z
 HSPLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDeviceManager$1;)V
 HSPLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
@@ -35390,6 +38103,7 @@
 PLcom/android/server/usb/UsbHandlerManager;->confirmUsbHandler(Landroid/content/pm/ResolveInfo;Landroid/hardware/usb/UsbDevice;Landroid/hardware/usb/UsbAccessory;)V
 PLcom/android/server/usb/UsbHandlerManager;->createDialogIntent()Landroid/content/Intent;
 PLcom/android/server/usb/UsbHandlerManager;->selectUsbHandler(Ljava/util/ArrayList;Landroid/os/UserHandle;Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbHandlerManager;->showUsbAccessoryUriActivity(Landroid/hardware/usb/UsbAccessory;Landroid/os/UserHandle;)V
 PLcom/android/server/usb/UsbHostManager$ConnectionRecord;-><init>(Lcom/android/server/usb/UsbHostManager;Ljava/lang/String;I[B)V
 HPLcom/android/server/usb/UsbHostManager$ConnectionRecord;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
 HSPLcom/android/server/usb/UsbHostManager;-><clinit>()V
@@ -35515,6 +38229,7 @@
 HSPLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/usb/UsbService$Lifecycle;->lambda$onBootPhase$1$UsbService$Lifecycle()V
 HSPLcom/android/server/usb/UsbService$Lifecycle;->lambda$onStart$0$UsbService$Lifecycle()V
+PLcom/android/server/usb/UsbService$Lifecycle;->lambda$onUserSwitching$2$UsbService$Lifecycle(Lcom/android/server/SystemService$TargetUser;)V
 HSPLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
 HSPLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
 PLcom/android/server/usb/UsbService$Lifecycle;->onStopUser(I)V
@@ -35523,10 +38238,12 @@
 PLcom/android/server/usb/UsbService$Lifecycle;->onUnlockUser(I)V
 PLcom/android/server/usb/UsbService$Lifecycle;->onUnlockUser(Lcom/android/server/SystemService$TargetUser;)V
 PLcom/android/server/usb/UsbService$Lifecycle;->onUserStopping(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/usb/UsbService$Lifecycle;->onUserSwitching(Lcom/android/server/SystemService$TargetUser;Lcom/android/server/SystemService$TargetUser;)V
 PLcom/android/server/usb/UsbService$Lifecycle;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
 HSPLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/usb/UsbService;->access$000(Lcom/android/server/usb/UsbService;I)V
 PLcom/android/server/usb/UsbService;->access$000(Lcom/android/server/usb/UsbService;Landroid/os/UserHandle;)V
+PLcom/android/server/usb/UsbService;->access$100(Lcom/android/server/usb/UsbService;I)V
 PLcom/android/server/usb/UsbService;->access$100(Lcom/android/server/usb/UsbService;Landroid/os/UserHandle;)V
 HSPLcom/android/server/usb/UsbService;->access$200(Lcom/android/server/usb/UsbService;)Lcom/android/server/usb/UsbDeviceManager;
 PLcom/android/server/usb/UsbService;->bootCompleted()V
@@ -35636,6 +38353,8 @@
 PLcom/android/server/usb/descriptors/UsbACMixerUnit;-><init>(IBBI)V
 PLcom/android/server/usb/descriptors/UsbACMixerUnit;->calcControlArraySize(II)I
 PLcom/android/server/usb/descriptors/UsbACMixerUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbACSelectorUnit;-><init>(IBBI)V
+PLcom/android/server/usb/descriptors/UsbACSelectorUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
 PLcom/android/server/usb/descriptors/UsbACTerminal;-><init>(IBBI)V
 PLcom/android/server/usb/descriptors/UsbACTerminal;->getTerminalType()I
 PLcom/android/server/usb/descriptors/UsbACTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
@@ -35682,6 +38401,7 @@
 PLcom/android/server/usb/descriptors/UsbDescriptorParser;->isOutputHeadset()Z
 HPLcom/android/server/usb/descriptors/UsbDescriptorParser;->parseDescriptors([B)V
 PLcom/android/server/usb/descriptors/UsbDescriptorParser;->setACInterfaceSpec(I)V
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->setVCInterfaceSpec(I)V
 PLcom/android/server/usb/descriptors/UsbDescriptorParser;->toAndroidUsbDeviceBuilder()Landroid/hardware/usb/UsbDevice$Builder;
 PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;-><init>(IB)V
 PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->addConfigDescriptor(Lcom/android/server/usb/descriptors/UsbConfigDescriptor;)V
@@ -35707,6 +38427,20 @@
 HPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
 HPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbInterface;
 PLcom/android/server/usb/descriptors/UsbUnknown;-><init>(IB)V
+PLcom/android/server/usb/descriptors/UsbVCEndpoint;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;IBB)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbVCHeader;-><init>(IBBI)V
+PLcom/android/server/usb/descriptors/UsbVCHeader;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbVCHeaderInterface;-><init>(IBBI)V
+PLcom/android/server/usb/descriptors/UsbVCInputTerminal;-><init>(IBB)V
+PLcom/android/server/usb/descriptors/UsbVCInputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbVCInterface;-><init>(IBB)V
+HPLcom/android/server/usb/descriptors/UsbVCInterface;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IB)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbVCOutputTerminal;-><init>(IBB)V
+PLcom/android/server/usb/descriptors/UsbVCOutputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbVCProcessingUnit;-><init>(IBB)V
+HPLcom/android/server/usb/descriptors/UsbVCProcessingUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbVCSelectorUnit;-><init>(IBB)V
+PLcom/android/server/usb/descriptors/UsbVCSelectorUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
 PLcom/android/server/utils/AppInstallerUtil;->createIntent(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/utils/AppInstallerUtil;->createIntent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/utils/AppInstallerUtil;->getInstallerPackageName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
@@ -35909,8 +38643,9 @@
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->deleteKeyphraseSoundModel(ILjava/lang/String;)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallerAllowedToEnrollVoiceModel()V
 HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallingPermission(Ljava/lang/String;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceIsCurrentVoiceInteractionService()V
+HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceIsCurrentVoiceInteractionService()V
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceIsCurrentVoiceInteractionService(Landroid/service/voice/IVoiceInteractionService;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailInteractor(ILjava/lang/String;)Landroid/service/voice/VoiceInteractionServiceInfo;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailRecognizer(Ljava/lang/String;I)Landroid/content/ComponentName;
@@ -35925,12 +38660,15 @@
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getEnrolledKeyphraseMetadata(Ljava/lang/String;Ljava/lang/String;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
 HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getForceVoiceInteractionServicePackage(Landroid/content/res/Resources;)Ljava/lang/String;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getOrCreateEnrollmentApplicationInfo()V
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getUserDisabledShowContext()I
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideCurrentSession()V
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideSessionFromSession(Landroid/os/IBinder;)Z
 HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
 HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUserNoTracing(I)V
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isCallerCurrentVoiceInteractionService()Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isCallerHoldingPermission(Ljava/lang/String;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isCallerTrustedEnrollmentApplication()Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isSessionRunning()Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->lambda$switchUser$0$VoiceInteractionManagerService$VoiceInteractionManagerServiceStub(I)V
@@ -35981,6 +38719,8 @@
 HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStartUser(Landroid/content/pm/UserInfo;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onSwitchUser(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUserStarting(Lcom/android/server/SystemService$TargetUser;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUserUnlocking(Lcom/android/server/SystemService$TargetUser;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
 HPLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
@@ -36132,13 +38872,21 @@
 HSPLcom/android/server/vr/VrManagerService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
 HPLcom/android/server/vr/VrManagerService;->updateCurrentVrServiceLocked(ZZLandroid/content/ComponentName;IILandroid/content/ComponentName;)Z
 HSPLcom/android/server/vr/VrManagerService;->updateVrModeAllowedLocked()V
+PLcom/android/server/wallpaper/-$$Lambda$QblJSn28fT0IWuWTmXxzYPXTYdI;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/-$$Lambda$QblJSn28fT0IWuWTmXxzYPXTYdI;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$-BqUtvsdVGS3ye_UHe7qFnTZPn4;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$-BqUtvsdVGS3ye_UHe7qFnTZPn4;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$1tPkxHr3PHUgpfvv03vRyPzY3uM;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$1tPkxHr3PHUgpfvv03vRyPzY3uM;->run()V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$4phuz9MKBqoKfDMu8M8EBVJyI2I;-><init>(Ljava/io/PrintWriter;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$4phuz9MKBqoKfDMu8M8EBVJyI2I;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$8NPecRUvsVyVb9PqWBr_ybjykpE;-><init>(Ljava/io/PrintWriter;)V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$93YXv2Z9dcGnT0Vr4Zebgn1qyVM;-><init>(Ljava/io/PrintWriter;)V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$93YXv2Z9dcGnT0Vr4Zebgn1qyVM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$D8sKj0RqX-3Qbw982v7_y2qaq5w;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$D8sKj0RqX-3Qbw982v7_y2qaq5w;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$NjJWXk8Bi-l1pjCm41zPCbZJ2ME;-><init>(Ljava/io/PrintWriter;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$NjJWXk8Bi-l1pjCm41zPCbZJ2ME;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
 HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$VUhQWq8Flr0dsQqeVHhHT8jU7qY;-><init>(Ljava/io/PrintWriter;)V
@@ -36154,6 +38902,7 @@
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Yk86TTURTI5B9DzxOzMQGDq7aQU;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Yk86TTURTI5B9DzxOzMQGDq7aQU;->run()V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$d7gUC6mQx1Xv_Bvlwss1NEF5PwU;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$d7gUC6mQx1Xv_Bvlwss1NEF5PwU;->run()V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$pf_7EcVpbLQlQnQ4nGnqzkGUhqg;-><clinit>()V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$pf_7EcVpbLQlQnQ4nGnqzkGUhqg;-><init>()V
 PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$pf_7EcVpbLQlQnQ4nGnqzkGUhqg;->accept(Ljava/lang/Object;)V
@@ -36210,11 +38959,13 @@
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->containsDisplay(I)Z
 PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getConnectedEngineSize()I
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->initDisplayState()V
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->isUsableDisplay(Landroid/view/Display;)Z
 HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$NrNkceFJLqjCb8eAxErUhpLd5c8(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Landroid/view/Display;)Z
 PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$new$0$WallpaperManagerService$WallpaperConnection()V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$new$1$WallpaperManagerService$WallpaperConnection()V
 PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$onServiceDisconnected$1(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
 PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$onServiceDisconnected$2$WallpaperManagerService$WallpaperConnection()V
 PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$onServiceDisconnected$2(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
@@ -36268,6 +39019,7 @@
 PLcom/android/server/wallpaper/WallpaperManagerService;->detachWallpaperLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
 HPLcom/android/server/wallpaper/WallpaperManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->emptyCallbackList(Landroid/os/RemoteCallbackList;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperDisplaySize(Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;I)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->extractColors(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
@@ -36294,8 +39046,11 @@
 PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperBackupEligible(II)Z
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$attachServiceLocked$6(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$attachServiceLocked$7(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
 PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$dump$7(Ljava/io/PrintWriter;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$dump$8(Ljava/io/PrintWriter;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;)V
 PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$dump$8(Ljava/io/PrintWriter;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$dump$9(Ljava/io/PrintWriter;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWallpaperColorsChanged$0$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;ILcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
 PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$onUnlockUser$4$WallpaperManagerService(I)V
 HSPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$5$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
@@ -36463,7 +39218,7 @@
 HSPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$AccessibilityController$DisplayMagnifier$MagnifiedViewport$ZNyFGy-UXiWV1D2yZGvH-9qN0AA;-><init>(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;Landroid/util/SparseArray;)V
+HPLcom/android/server/wm/-$$Lambda$AccessibilityController$DisplayMagnifier$MagnifiedViewport$ZNyFGy-UXiWV1D2yZGvH-9qN0AA;-><init>(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;Landroid/util/SparseArray;)V
 HPLcom/android/server/wm/-$$Lambda$AccessibilityController$DisplayMagnifier$MagnifiedViewport$ZNyFGy-UXiWV1D2yZGvH-9qN0AA;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$AccessibilityController$WindowsForAccessibilityObserver$2C1tADzS58YZU_H5KqoEnZ2M57I;-><init>(Lcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;Lcom/android/server/wm/WindowState;Landroid/graphics/Matrix;Landroid/graphics/Region;)V
 HPLcom/android/server/wm/-$$Lambda$AccessibilityController$WindowsForAccessibilityObserver$2C1tADzS58YZU_H5KqoEnZ2M57I;->accept(Ljava/lang/Object;)V
@@ -36526,16 +39281,21 @@
 HSPLcom/android/server/wm/-$$Lambda$ActivityStack$0bNPw28X3N2biqQIdsnZuX7xaP4;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityStack$0bNPw28X3N2biqQIdsnZuX7xaP4;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityStack$0bNPw28X3N2biqQIdsnZuX7xaP4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityStack$1naDAoUMprftj-K2aF4LqsZgbmk;-><init>(Lcom/android/server/wm/ActivityStack;IZ)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$1naDAoUMprftj-K2aF4LqsZgbmk;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$2g-Gmexz3kbCg6lRcnM6dKBTDYc;-><init>(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/DisplayContent;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZI)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$2g-Gmexz3kbCg6lRcnM6dKBTDYc;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$3E_4gGkb9HfbJl_9i9cAvvWs0ik;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$3E_4gGkb9HfbJl_9i9cAvvWs0ik;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$3E_4gGkb9HfbJl_9i9cAvvWs0ik;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$4eA3orAXlhwXqOJQ8sydb6lzW_4;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$4eA3orAXlhwXqOJQ8sydb6lzW_4;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$4eA3orAXlhwXqOJQ8sydb6lzW_4;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$5VekJIJoJIh5JMUz2PkEx2YRfmo;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$5VekJIJoJIh5JMUz2PkEx2YRfmo;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$5VekJIJoJIh5JMUz2PkEx2YRfmo;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;-><init>(Lcom/android/server/wm/ActivityStack;IZZZZZ)V
-PLcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;->run()V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;-><init>(Lcom/android/server/wm/ActivityStack;IZZZZZ)V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$8rl8kos6nVh_HCoMLzbQatFXfQM;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$8rl8kos6nVh_HCoMLzbQatFXfQM;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$8rl8kos6nVh_HCoMLzbQatFXfQM;->accept(Ljava/lang/Object;)V
@@ -36544,6 +39304,9 @@
 PLcom/android/server/wm/-$$Lambda$ActivityStack$9LPSm49BYrWURHV0f_s9bnJYnVk;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$AQt7n1uNhFzkQj_jKv_v8YLYK-E;-><init>(Lcom/android/server/wm/ActivityStack;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$AQt7n1uNhFzkQj_jKv_v8YLYK-E;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$AXNc-RXYBO_4RmK-wntPIZnu2BU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$AXNc-RXYBO_4RmK-wntPIZnu2BU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$AXNc-RXYBO_4RmK-wntPIZnu2BU;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$BmRNRfPY9eDs_h7lUVkDfKuzXrA;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$BmRNRfPY9eDs_h7lUVkDfKuzXrA;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$ActivityStack$BmRNRfPY9eDs_h7lUVkDfKuzXrA;->accept(Ljava/lang/Object;)V
@@ -36594,6 +39357,9 @@
 PLcom/android/server/wm/-$$Lambda$ActivityStack$W1rlXKcoaLb8UYskrF3gqMvOkRU;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$W1rlXKcoaLb8UYskrF3gqMvOkRU;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$W1rlXKcoaLb8UYskrF3gqMvOkRU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$W663mOLtnXMNAh9tDlxDJVnMnlw;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$W663mOLtnXMNAh9tDlxDJVnMnlw;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$W663mOLtnXMNAh9tDlxDJVnMnlw;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$W67sd8AeAGx32tFIatx3GYvaD8c;-><init>(Lcom/android/server/wm/ActivityStack;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$W67sd8AeAGx32tFIatx3GYvaD8c;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$X9vss1g3clUg_jG-lx3LQEpL5fM;-><clinit>()V
@@ -36602,9 +39368,14 @@
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YAQEcQUrLqR06xiJJApMvOPIxhg;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YAQEcQUrLqR06xiJJApMvOPIxhg;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$ActivityStack$YAQEcQUrLqR06xiJJApMvOPIxhg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YIUBC0Vum7KZ2D2K8E2QiIjsRcU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YIUBC0Vum7KZ2D2K8E2QiIjsRcU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YIUBC0Vum7KZ2D2K8E2QiIjsRcU;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YSl94_bUS3JseXf6G9nDhP6JXog;-><init>(Landroid/content/ComponentName;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YSl94_bUS3JseXf6G9nDhP6JXog;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YtJbVURmslxye4JS4EFo6X31Vv0;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YtJbVURmslxye4JS4EFo6X31Vv0;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$YtJbVURmslxye4JS4EFo6X31Vv0;->accept(Ljava/lang/Object;)V
@@ -36622,17 +39393,30 @@
 PLcom/android/server/wm/-$$Lambda$ActivityStack$dhfbladKtxXwwdCS2dFdAfUfBN4;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$dhfbladKtxXwwdCS2dFdAfUfBN4;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$dhfbladKtxXwwdCS2dFdAfUfBN4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$h_1-4reDIGBYw21ijNWBS1zMxGU;-><init>(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$h_1-4reDIGBYw21ijNWBS1zMxGU;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$n-w1s4z47M3zxF8atJ8fDCrw2CA;-><init>(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/BoundsAnimationController;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$n-w1s4z47M3zxF8atJ8fDCrw2CA;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$n6lnB087ZFxNYV3rhtRTHATdcS8;-><init>(Landroid/content/ComponentName;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$n6lnB087ZFxNYV3rhtRTHATdcS8;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$ActivityStack$nvWNVaQ4kkXHI7BamR6vzb4wwJU;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$nvWNVaQ4kkXHI7BamR6vzb4wwJU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$nvWNVaQ4kkXHI7BamR6vzb4wwJU;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityStack$qkCAzDJZvvr0EXPICXZPcjlgp_o;-><init>(Lcom/android/server/wm/ActivityRecord;[I[Landroid/content/Intent;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$qkCAzDJZvvr0EXPICXZPcjlgp_o;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/wm/-$$Lambda$ActivityStack$vLTEw6nwtjcZ-ZyMktx8L5MR_TA;-><init>(Landroid/content/ComponentName;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$vLTEw6nwtjcZ-ZyMktx8L5MR_TA;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$wJQPexdNStkdyCgh9H-D2te6pWw;-><init>(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;)V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$wJQPexdNStkdyCgh9H-D2te6pWw;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$wkB3-w53KH3phbITqwbrFwbXJWU;-><init>(Lcom/android/server/wm/ActivityRecord;[I[Landroid/content/Intent;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$wkB3-w53KH3phbITqwbrFwbXJWU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/wm/-$$Lambda$ActivityStack$xrtErRAEnS21CI3h4SKc_WzJFDA;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityStack$xrtErRAEnS21CI3h4SKc_WzJFDA;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$ActivityStack$xrtErRAEnS21CI3h4SKc_WzJFDA;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$ActivityStack$yjID4CziB85rCK56sUtW6Ulw2eI;-><init>(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;)V
-PLcom/android/server/wm/-$$Lambda$ActivityStack$yjID4CziB85rCK56sUtW6Ulw2eI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$yggURMk9blCv0pLzL-HyhfGSMDQ;-><init>(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$yggURMk9blCv0pLzL-HyhfGSMDQ;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$yjID4CziB85rCK56sUtW6Ulw2eI;-><init>(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;)V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$yjID4CziB85rCK56sUtW6Ulw2eI;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$0u1RcpeZ6m0BHDGGv8EXroS3KyE;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStack;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$0u1RcpeZ6m0BHDGGv8EXroS3KyE;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;)V
@@ -36648,6 +39432,8 @@
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$MoveTaskToFullscreenHelper$n0VOwWNM3mud17SnHip7XMiWlWE;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PKLpVoHaca7ZAS9IjUCkoGIBtDw;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStack;Z)V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PKLpVoHaca7ZAS9IjUCkoGIBtDw;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$UyRHhEK51F9dKhfp0wUGjTncdyo;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$UyRHhEK51F9dKhfp0wUGjTncdyo;->run()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$iNb1-M_lYtbDycAXODgbDkmI9ww;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;)V
 HSPLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$iNb1-M_lYtbDycAXODgbDkmI9ww;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$mLKHIIzkTAK9QSlSxia8-84y15M;-><clinit>()V
@@ -36672,14 +39458,20 @@
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$U6g1UdnOPnEF9wX1OTm9nKVXY5k;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
 HPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$hgT7_BsCohDVg6qQfaw5Xpx0-yQ;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$hgT7_BsCohDVg6qQfaw5Xpx0-yQ;->run()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$js0zprxhKzo_Mx9ozR8logP_1-c;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/app/PictureInPictureParams;)V
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$js0zprxhKzo_Mx9ozR8logP_1-c;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$nuSrfdXdOXcutw3SV8Ualpreu30;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$nuSrfdXdOXcutw3SV8Ualpreu30;->run()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;->run()V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZLcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yEgPBZves-gjR6r_sca6FAEYeiA;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yEgPBZves-gjR6r_sca6FAEYeiA;->run()V
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;-><init>()V
 PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -36742,11 +39534,16 @@
 PLcom/android/server/wm/-$$Lambda$Dimmer$DimState$QYvwJex5H10MFMe0LEzEUs1b2G0;->run()V
 HPLcom/android/server/wm/-$$Lambda$Dimmer$DimState$wU1YjYaM1_enRLsRLQ25SnC1ECw;-><init>(Lcom/android/server/wm/Dimmer$DimState;Lcom/android/server/wm/Dimmer$DimAnimatable;)V
 HPLcom/android/server/wm/-$$Lambda$Dimmer$DimState$wU1YjYaM1_enRLsRLQ25SnC1ECw;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/-$$Lambda$DisplayArea$Root$FFTAJJ7j74rtyQzx7LluB65mKYM;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DisplayArea$Root$FFTAJJ7j74rtyQzx7LluB65mKYM;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$DisplayArea$Root$FFTAJJ7j74rtyQzx7LluB65mKYM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/server/wm/-$$Lambda$DisplayArea$Tokens$m3rhEbIWQl888W_2uGBIkkXLdlA;-><init>(Lcom/android/server/wm/DisplayArea$Tokens;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayArea$Tokens$m3rhEbIWQl888W_2uGBIkkXLdlA;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/-$$Lambda$DisplayAreaPolicyBuilder$PendingArea$3ZZ3VghJFXPK9kfKPSTf_9BJZCQ;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayAreaPolicyBuilder$PendingArea$3ZZ3VghJFXPK9kfKPSTf_9BJZCQ;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayAreaPolicyBuilder$PendingArea$3ZZ3VghJFXPK9kfKPSTf_9BJZCQ;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/wm/-$$Lambda$DisplayContent$-lwLvC_wAU5sgJoEjpK20Cc7yDo;-><init>(Lcom/android/server/wm/DisplayContent;Z)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$-lwLvC_wAU5sgJoEjpK20Cc7yDo;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$-t02M5j-NY8t_HMWggKym0SrI5k;-><init>([I[ILandroid/graphics/Region;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$-t02M5j-NY8t_HMWggKym0SrI5k;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$0DHYqZExqV37Iiw4M0GSqxCijHE;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
@@ -36757,8 +39554,12 @@
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;-><init>(I)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$471eZ2Y9qAx45FtnBviGRqYPWPc;-><init>(Lcom/android/server/wm/DisplayContent;I)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$471eZ2Y9qAx45FtnBviGRqYPWPc;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$4EwMMjZ5_EoQtEZ4VPJm9XUauJY;-><init>(Lcom/android/server/policy/WindowManagerPolicy;ZZZ)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$4EwMMjZ5_EoQtEZ4VPJm9XUauJY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$6aFyCnAfgcKG9bc7CweYPJnHxo4;-><init>(Lcom/android/server/wm/DisplayContent;II)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$6aFyCnAfgcKG9bc7CweYPJnHxo4;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$7Z9gsguOLtfXssJUALjgEsOLZoE;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$7Z9gsguOLtfXssJUALjgEsOLZoE;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$7Z9gsguOLtfXssJUALjgEsOLZoE;->test(Ljava/lang/Object;)Z
@@ -36790,6 +39591,8 @@
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$JYsrGdifTPH6ASJDC3B9YWMD2pw;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;-><init>(Lcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$L4wfLIQKzeKO_85fKAn10tvgsIo;-><init>(Lcom/android/server/wm/DisplayContent;II)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$L4wfLIQKzeKO_85fKAn10tvgsIo;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$MTOrQ0uso5p3wixTLmDsYyck6h4;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$MTOrQ0uso5p3wixTLmDsYyck6h4;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$MTOrQ0uso5p3wixTLmDsYyck6h4;->test(Ljava/lang/Object;)Z
@@ -36828,6 +39631,9 @@
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$_XfE1uZ9VUv6i0SxWUvqu69FNb4;->test(Ljava/lang/Object;)Z
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;-><init>(Lcom/android/server/wm/DisplayContent;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$bdlFI0H2lliPVl6xvIwtAprz6cM;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$bdlFI0H2lliPVl6xvIwtAprz6cM;-><init>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$bdlFI0H2lliPVl6xvIwtAprz6cM;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$cDcvMzGxc6XW13Q8FrU5X4DagqE;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$cDcvMzGxc6XW13Q8FrU5X4DagqE;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$cDcvMzGxc6XW13Q8FrU5X4DagqE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -36841,6 +39647,8 @@
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$gpAoT7pBNdi6jYEHs_L3kzaRF0g;-><init>([I[ILandroid/graphics/Region;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$gpAoT7pBNdi6jYEHs_L3kzaRF0g;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$hR9cqmg13mqjX0eTykdAu3LKn8U;-><init>(Lcom/android/server/wm/DisplayContent;II)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$hR9cqmg13mqjX0eTykdAu3LKn8U;->run()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;-><init>(Lcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$k7ctHGhg6DCeupTBZO8cyEJDjLM;-><init>(Lcom/android/server/wm/DisplayContent;Z)V
@@ -36857,6 +39665,8 @@
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;-><init>(Lcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$rrIyMuu-GcQqYYNiuxrgp7_xvhQ;-><init>(Landroid/view/SurfaceControl$Transaction;IIZ)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$rrIyMuu-GcQqYYNiuxrgp7_xvhQ;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$sYPOy6TL-QiWuU_jcEHYn4HeFnQ;-><init>(II)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$sYPOy6TL-QiWuU_jcEHYn4HeFnQ;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayContent$vehcSAr5hQ3Q5gWBUB0K8yByHXQ;-><init>(Lcom/android/server/wm/DisplayContent;Z)V
@@ -36870,16 +39680,24 @@
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$-jer63nl4BagHUaTYzlDJxk8xIU;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$-jer63nl4BagHUaTYzlDJxk8xIU;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$-jer63nl4BagHUaTYzlDJxk8xIU;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$065TFLjrw5w04yG_sIUv_3nsSrA;-><init>(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayFrames;I)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$065TFLjrw5w04yG_sIUv_3nsSrA;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$9Q7foUL8MStILLFmJNfN48-WaJM;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$9Q7foUL8MStILLFmJNfN48-WaJM;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$9vMdRW11iw1rRp_fzUkWacwvib0;-><init>(I)V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$9vMdRW11iw1rRp_fzUkWacwvib0;->apply(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$AdQlGK4do0LfpQJmOnIuKqDwp0Y;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$AdQlGK4do0LfpQJmOnIuKqDwp0Y;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$DaI-u7gKDqJtPizmW-_eQ3hO-BU;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$DaI-u7gKDqJtPizmW-_eQ3hO-BU;->run()V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$E7j9SKAujlVEAp0eeRWet1AUkHs;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$E7j9SKAujlVEAp0eeRWet1AUkHs;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$FpQuLkFb2EnHvk4Uzhr9G5Rn_xI;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$FpQuLkFb2EnHvk4Uzhr9G5Rn_xI;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$FrqQUcKiL3X6Pe1CkPSji1LFTNc;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$FrqQUcKiL3X6Pe1CkPSji1LFTNc;->run()V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$HbdRZfPpJ53Wnk7_Ueb0ycyz_AQ;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$HbdRZfPpJ53Wnk7_Ueb0ycyz_AQ;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$IOyP8YVRG92tn9u1muYWZgBbgc0;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
@@ -36890,16 +39708,27 @@
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$LFEaXRr2IF3nhPJdP5h3swIhnus;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$NcnTU5Z6X56cfSOOwc98WQ4IVv8;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$NcnTU5Z6X56cfSOOwc98WQ4IVv8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$P8D337iYIcX04InNbwQCJWD0nmU;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$P8D337iYIcX04InNbwQCJWD0nmU;->run()V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$XssW_Qm0L7CsznkQYKBfWrF7PU4;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$XssW_Qm0L7CsznkQYKBfWrF7PU4;->run()V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$_FEXboPObSj41eBmuQropgw92iw;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$_FEXboPObSj41eBmuQropgw92iw;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$_FEXboPObSj41eBmuQropgw92iw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$_FsvHpVUi-gbWmSpT009cJNNmgM;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$_TMMRrVRogk2OR6_DeTRPAotpfk;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$_TMMRrVRogk2OR6_DeTRPAotpfk;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$bT9mjfT_DJVx_BBfkRPXHf6mfWE;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$bT9mjfT_DJVx_BBfkRPXHf6mfWE;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$cEnuxDxbBynzDo57utSyr9Sq49I;-><init>(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$cEnuxDxbBynzDo57utSyr9Sq49I;->run()V
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$j3sY1jb4WFF_F3wOT9D2fB2mOts;-><init>(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/WindowManagerService;I)V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$kBGaoM81dIzHnQJw_w2MKNDiHow;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$kBGaoM81dIzHnQJw_w2MKNDiHow;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$m-UPXUZKrPpeFUjrauzoJMNbYjM;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$m-UPXUZKrPpeFUjrauzoJMNbYjM;->run()V
 HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$nrBrmKRLvJQjdv_P6oPT7D0GGW8;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
@@ -36912,6 +39741,11 @@
 PLcom/android/server/wm/-$$Lambda$DisplayPolicy$rkGhPuV8zWnPuCUXhzLY40zhjLk;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$wrdG81IaCZoCL0YqumBunZu5DyM;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$wrdG81IaCZoCL0YqumBunZu5DyM;->run()V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$wuub-Dyl5Xosh1PZUGJaQMy9r5Y;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
+HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$wuub-Dyl5Xosh1PZUGJaQMy9r5Y;->run()V
+PLcom/android/server/wm/-$$Lambda$DisplayRotation$2$37vRmD77aVmzN2ixs0KjlN8wUX4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DisplayRotation$2$37vRmD77aVmzN2ixs0KjlN8wUX4;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$DisplayRotation$2$37vRmD77aVmzN2ixs0KjlN8wUX4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayRotation$2$pp3jOG1BWDI3rPQ3oFXammeS5Tg;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$DisplayRotation$2$pp3jOG1BWDI3rPQ3oFXammeS5Tg;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$DisplayRotation$2$pp3jOG1BWDI3rPQ3oFXammeS5Tg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -37010,6 +39844,7 @@
 HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchParamsPersister$Jn24e8Qu0NiiVH-qAilJf6vgADQ;-><init>(Ljava/lang/String;)V
 PLcom/android/server/wm/-$$Lambda$LaunchParamsPersister$Rc1cXPLhXa2WPSr18Q9-Xc7SdV8;-><init>(Ljava/lang/String;)V
 HPLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;-><init>(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
 HPLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;->run()V
@@ -37019,6 +39854,8 @@
 PLcom/android/server/wm/-$$Lambda$LockTaskController$NMEqFdnoSJ8A7QRxQO-ZoqXOmVc;->run()V
 PLcom/android/server/wm/-$$Lambda$LockTaskController$mYEdosOvuhEWdcYLQrOC83U4Wms;-><init>(Lcom/android/server/wm/LockTaskController;Landroid/content/Intent;Lcom/android/server/wm/Task;I)V
 PLcom/android/server/wm/-$$Lambda$LockTaskController$mYEdosOvuhEWdcYLQrOC83U4Wms;->run()V
+PLcom/android/server/wm/-$$Lambda$LockTaskController$nuVptnoYwaF1CYydSggC_oxSSSc;-><init>(Lcom/android/server/wm/LockTaskController;I)V
+PLcom/android/server/wm/-$$Lambda$LockTaskController$nuVptnoYwaF1CYydSggC_oxSSSc;->run()V
 PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;-><init>()V
 PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;->accept(Ljava/lang/Object;)V
@@ -37110,6 +39947,9 @@
 PLcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$1$HOnR_rhPvM6ZPX8yI-4GFhkGqUs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$1$HOnR_rhPvM6ZPX8yI-4GFhkGqUs;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$1$HOnR_rhPvM6ZPX8yI-4GFhkGqUs;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$3VVFoec4x74e1MMAq03gYI9kKjo;-><init>(IZ)V
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$3VVFoec4x74e1MMAq03gYI9kKjo;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$5fbF65VSmaJkPHxEhceOGTat7JE;-><clinit>()V
@@ -37142,6 +39982,8 @@
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><init>()V
 HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$ZTXupc1zKRWZgWpo-r3so3blHoI;-><init>(I)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$ZTXupc1zKRWZgWpo-r3so3blHoI;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$RootWindowContainer$bRRfWu3QSW54eS51jCvFD02TPt8;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$RootWindowContainer$bRRfWu3QSW54eS51jCvFD02TPt8;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$bRRfWu3QSW54eS51jCvFD02TPt8;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
@@ -37182,6 +40024,12 @@
 PLcom/android/server/wm/-$$Lambda$ScreenRotationAnimation$SurfaceRotationAnimationController$mryOPi3UUpYZkQThzDJyjGBpl5c;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
 HPLcom/android/server/wm/-$$Lambda$Session$15hO_YO9_yR6FTMdPPe87fZzL1c;-><init>(Landroid/os/IBinder;)V
 HPLcom/android/server/wm/-$$Lambda$Session$15hO_YO9_yR6FTMdPPe87fZzL1c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/wm/-$$Lambda$Session$MgROwKXIO2fCZINsq4gthndARg4;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/server/wm/-$$Lambda$Session$MgROwKXIO2fCZINsq4gthndARg4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$Session$R2ONibXT5EMw7qvLbqzL2qgYR_8;-><init>(Z)V
+PLcom/android/server/wm/-$$Lambda$Session$R2ONibXT5EMw7qvLbqzL2qgYR_8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/server/wm/-$$Lambda$Session$ioowOPU3nnV2ImsCDZtbuIYXGt0;-><init>(F)V
+PLcom/android/server/wm/-$$Lambda$Session$ioowOPU3nnV2ImsCDZtbuIYXGt0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$Session$zgdcs0nAb8hCdS-6ugnFMadbhU8;-><init>(FFFF)V
 HPLcom/android/server/wm/-$$Lambda$Session$zgdcs0nAb8hCdS-6ugnFMadbhU8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ShellRoot$ZIRxB0zj35u-emFBSiaW8a8zUus;-><init>(Lcom/android/server/wm/ShellRoot;I)V
@@ -37301,7 +40149,7 @@
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;-><init>()V
 PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
@@ -37328,6 +40176,7 @@
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
@@ -37363,12 +40212,30 @@
 HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sS6OHbZtuWHjzmkm8bleSWZWFqA;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;-><clinit>()V
 HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$89toIj4dzbPnZV52yJ_Lx-50YLc;-><init>(Ljava/util/ArrayList;)V
+HPLcom/android/server/wm/-$$Lambda$TaskContainers$89toIj4dzbPnZV52yJ_Lx-50YLc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$Qznqwsi8-BCA1-_vB3zr05PqJDA;-><init>(Lcom/android/server/wm/TaskContainers;)V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$Qznqwsi8-BCA1-_vB3zr05PqJDA;->onPreAssignChildLayers()V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$_ESmy8lGTnG7nYvjr73ww_q-Aio;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$_ESmy8lGTnG7nYvjr73ww_q-Aio;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskContainers$_ESmy8lGTnG7nYvjr73ww_q-Aio;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskDisplayArea$2fufOSTi1fAiixVdHx5JtOWaiDQ;-><init>(Lcom/android/server/wm/TaskDisplayArea;)V
+PLcom/android/server/wm/-$$Lambda$TaskDisplayArea$2fufOSTi1fAiixVdHx5JtOWaiDQ;->onPreAssignChildLayers()V
+PLcom/android/server/wm/-$$Lambda$TaskDisplayArea$XcH01_sSElIBkfdzcfbGZuAMtmk;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$TaskDisplayArea$XcH01_sSElIBkfdzcfbGZuAMtmk;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskDisplayArea$XcH01_sSElIBkfdzcfbGZuAMtmk;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+HPLcom/android/server/wm/-$$Lambda$TaskDisplayArea$ajDQ2FQogtLzT2xeLoBFC1sWS3U;-><init>(Ljava/util/ArrayList;)V
+HPLcom/android/server/wm/-$$Lambda$TaskDisplayArea$ajDQ2FQogtLzT2xeLoBFC1sWS3U;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$TaskOrganizerController$6oHHz4Ki8lAtXH-ILvgmrwWRqNM;-><init>(I)V
+PLcom/android/server/wm/-$$Lambda$TaskOrganizerController$6oHHz4Ki8lAtXH-ILvgmrwWRqNM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$TaskOrganizerController$TaskOrganizerCallbacks$0vq-lXzpiq-wIq4e4iVbdijNaZU;-><init>(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;Lcom/android/server/wm/Task;Landroid/app/ActivityManager$RunningTaskInfo;)V
+PLcom/android/server/wm/-$$Lambda$TaskOrganizerController$TaskOrganizerCallbacks$0vq-lXzpiq-wIq4e4iVbdijNaZU;->run()V
 HPLcom/android/server/wm/-$$Lambda$TaskPersister$8MhgCrM41UuyRqTjWwKtfifKRLo;-><init>(Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/-$$Lambda$TaskPersister$8MhgCrM41UuyRqTjWwKtfifKRLo;->test(Ljava/lang/Object;)Z
 HPLcom/android/server/wm/-$$Lambda$TaskPersister$mW0HULrR8EtZ9La-pL9kLTnHSzk;-><init>(Ljava/lang/String;)V
@@ -37406,8 +40273,12 @@
 HPLcom/android/server/wm/-$$Lambda$VYR_ckkt7281-Ti8Ps0f0Tx3ljY;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
 HPLcom/android/server/wm/-$$Lambda$WallpaperAnimationAdapter$-EwtM9NXnIMpRq_OzBHTdmhakaM;-><init>(JJLjava/util/function/Consumer;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
 HPLcom/android/server/wm/-$$Lambda$WallpaperAnimationAdapter$-EwtM9NXnIMpRq_OzBHTdmhakaM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WallpaperController$0Scukj2yhz26p26xa_96t0qdaCE;-><init>(Lcom/android/server/wm/WallpaperController;)V
+HPLcom/android/server/wm/-$$Lambda$WallpaperController$0Scukj2yhz26p26xa_96t0qdaCE;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;-><init>(Lcom/android/server/wm/WallpaperController;)V
 HSPLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;->apply(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/-$$Lambda$WallpaperController$BBasRkLKZIyG7orBtnzZo0qYk68;-><init>(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/-$$Lambda$WallpaperController$BBasRkLKZIyG7orBtnzZo0qYk68;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;-><init>(Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;-><clinit>()V
@@ -37462,11 +40333,16 @@
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$-84S7IuSlM65nKgepHJEvVFHdC8;->binderDied()V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$05fsn8aS3Yh8PJChNK4X3zTgx6M;-><init>(I)V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$05fsn8aS3Yh8PJChNK4X3zTgx6M;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$3pgjva340aXusIC_xagnOER--AY;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/io/PrintWriter;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$3pgjva340aXusIC_xagnOER--AY;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$76as6dijPl5n2m0AtZPbXLM-ukM;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$76as6dijPl5n2m0AtZPbXLM-ukM;-><init>()V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$76as6dijPl5n2m0AtZPbXLM-ukM;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$8ua71O53dXrMSZy5W0bAg3kK7ho;-><init>(Z)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$8ua71O53dXrMSZy5W0bAg3kK7ho;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$KFmzvAqk_xZK5kvrW8MP3Y6A4FY;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$KFmzvAqk_xZK5kvrW8MP3Y6A4FY;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$KFmzvAqk_xZK5kvrW8MP3Y6A4FY;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$LocalService$_nYJRiVOgbON7mI191FIzNAk4Xs;-><init>(Ljava/lang/String;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$LocalService$_nYJRiVOgbON7mI191FIzNAk4Xs;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$LocalService$rEGrcIRCgYp-4kzr5xA12LKQX0E;-><init>(Ljava/lang/String;)V
@@ -37475,6 +40351,8 @@
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$Zv37mcLTUXyG89YznyHzluaKNE0;->run()V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$eaG2e7SQKd8e2ZcXySkFGa1yxFk;-><init>(Ljava/io/PrintWriter;)V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$eaG2e7SQKd8e2ZcXySkFGa1yxFk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$kkZ1DwaOMG22nszMFlx-BVZqi3A;-><init>(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$kkZ1DwaOMG22nszMFlx-BVZqi3A;->accept(Ljava/lang/Object;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$pUqz7rqEpzd4geO4TXsDyOVZCOc;-><init>(Lcom/android/server/wm/WindowManagerService;)V
 HPLcom/android/server/wm/-$$Lambda$WindowManagerService$pUqz7rqEpzd4geO4TXsDyOVZCOc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$WindowManagerService$qCWPyJrU0wwX4tP-_QpfmersCVc;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
@@ -37497,6 +40375,9 @@
 HSPLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;->accept(Ljava/lang/Object;)V
 HSPLcom/android/server/wm/-$$Lambda$dwJG8BAnLlvKNGuDY9U3-haNY4M;-><init>(Lcom/android/server/wm/WindowContainer;)V
 HPLcom/android/server/wm/-$$Lambda$dwJG8BAnLlvKNGuDY9U3-haNY4M;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/-$$Lambda$eT9SjQHKmQJBvlyYh6oQCJNBjSE;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$eT9SjQHKmQJBvlyYh6oQCJNBjSE;-><init>()V
+PLcom/android/server/wm/-$$Lambda$eT9SjQHKmQJBvlyYh6oQCJNBjSE;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$h-x5kpt7iRsCHGk24gs4Sab2qLw;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$h-x5kpt7iRsCHGk24gs4Sab2qLw;-><init>()V
 PLcom/android/server/wm/-$$Lambda$h-x5kpt7iRsCHGk24gs4Sab2qLw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
@@ -37518,9 +40399,16 @@
 PLcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$ju_KnYxEFekr6LzoWamCeaO5FHQ;-><init>(Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/-$$Lambda$ju_KnYxEFekr6LzoWamCeaO5FHQ;->binderDied()V
+PLcom/android/server/wm/-$$Lambda$l6AtA6HpQmFuEYd_DP955eyY_WI;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$l6AtA6HpQmFuEYd_DP955eyY_WI;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$l6AtA6HpQmFuEYd_DP955eyY_WI;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$lnLU7X2Jo6KLxEmrQlMdzuxHhJA;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$lnLU7X2Jo6KLxEmrQlMdzuxHhJA;-><init>()V
 PLcom/android/server/wm/-$$Lambda$lnLU7X2Jo6KLxEmrQlMdzuxHhJA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$neohyhAIBSbDm4hUahIEOo5bYNY;-><init>(Lcom/android/internal/policy/GestureNavigationSettingsObserver;)V
+PLcom/android/server/wm/-$$Lambda$neohyhAIBSbDm4hUahIEOo5bYNY;->run()V
+PLcom/android/server/wm/-$$Lambda$o8Xf30aea0t-A93AFKY5pBW0IDI;-><init>(Lcom/android/internal/policy/GestureNavigationSettingsObserver;)V
+PLcom/android/server/wm/-$$Lambda$o8Xf30aea0t-A93AFKY5pBW0IDI;->run()V
 PLcom/android/server/wm/-$$Lambda$oZvG727evJMxIwK1im7QJjcltfo;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$oZvG727evJMxIwK1im7QJjcltfo;-><init>()V
 PLcom/android/server/wm/-$$Lambda$oZvG727evJMxIwK1im7QJjcltfo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
@@ -37537,6 +40425,8 @@
 PLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$vZR5471cvTgvcvM990tM31bi4pI;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/-$$Lambda$vZR5471cvTgvcvM990tM31bi4pI;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$vhwCX-wzYksBgFM46tASKUCeQRc;-><clinit>()V
 PLcom/android/server/wm/-$$Lambda$vhwCX-wzYksBgFM46tASKUCeQRc;-><init>()V
 HPLcom/android/server/wm/-$$Lambda$vhwCX-wzYksBgFM46tASKUCeQRc;->accept(Ljava/lang/Object;)V
@@ -37574,18 +40464,18 @@
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;-><init>(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)V
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->access$1200(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;)Landroid/graphics/Point;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->access$1300(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;)F
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->access$1400(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;)I
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->access$1400(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;)I
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->access$1400(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;)Landroid/view/WindowManager;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->destroyWindow()V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->drawWindowIfNeededLocked(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->drawWindowIfNeededLocked(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->getLetterboxBounds(Lcom/android/server/wm/WindowState;)Landroid/graphics/Region;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->getMagnificationRegionLocked(Landroid/graphics/Region;)V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->getMagnificationSpecLocked()Landroid/view/MagnificationSpec;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->getMagnificationSpecLocked()Landroid/view/MagnificationSpec;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->getMagnifiedFrameInContentCoordsLocked(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->isMagnifyingLocked()Z
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->isMagnifyingLocked()Z
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->lambda$populateWindowsOnScreenLocked$0$AccessibilityController$DisplayMagnifier$MagnifiedViewport(Landroid/util/SparseArray;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->onRotationChangedLocked(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->populateWindowsOnScreenLocked(Landroid/util/SparseArray;)V
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->populateWindowsOnScreenLocked(Landroid/util/SparseArray;)V
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->recomputeBoundsLocked()V
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->setMagnifiedRegionBorderShownLocked(ZZ)V
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;->updateMagnificationSpecLocked(Landroid/view/MagnificationSpec;)V
@@ -37593,22 +40483,22 @@
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier$MyHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Landroid/view/Display;Lcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;)V
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$000(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/content/Context;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$100(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/view/Display;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1000(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/WindowManagerService;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1100(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1500(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$100(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/view/Display;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1000(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/WindowManagerService;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1100(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/DisplayContent;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1500(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1600(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/AccessibilityController$DisplayMagnifier$MagnifiedViewport;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$1600(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Lcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$200(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/os/Handler;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$300(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$400(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$600(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$700(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Rect;
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$800(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$200(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/os/Handler;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$300(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$400(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$600(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$700(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Rect;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->access$800(Lcom/android/server/wm/AccessibilityController$DisplayMagnifier;)Landroid/graphics/Region;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->destroyLocked()V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->drawMagnifiedRegionBorderIfNeededLocked(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->drawMagnifiedRegionBorderIfNeededLocked(Landroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->getMagnificationRegionLocked(Landroid/graphics/Region;)V
-PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->getMagnificationSpecForWindowLocked(Lcom/android/server/wm/WindowState;)Landroid/view/MagnificationSpec;
+HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->getMagnificationSpecForWindowLocked(Lcom/android/server/wm/WindowState;)Landroid/view/MagnificationSpec;
 PLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->isForceShowingMagnifiableBoundsLocked()Z
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->onAppWindowTransitionLocked(II)V
 HPLcom/android/server/wm/AccessibilityController$DisplayMagnifier;->onRectangleOnScreenRequestedLocked(Landroid/graphics/Rect;)V
@@ -37637,7 +40527,7 @@
 HPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowMattersToAccessibility(Lcom/android/server/wm/WindowState;Landroid/graphics/Region;Landroid/graphics/Region;Ljava/util/HashSet;)Z
 PLcom/android/server/wm/AccessibilityController;-><clinit>()V
 PLcom/android/server/wm/AccessibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/AccessibilityController;->access$500(Lcom/android/server/wm/WindowState;Landroid/graphics/Matrix;)V
+HPLcom/android/server/wm/AccessibilityController;->access$500(Lcom/android/server/wm/WindowState;Landroid/graphics/Matrix;)V
 HPLcom/android/server/wm/AccessibilityController;->drawMagnifiedRegionBorderIfNeededLocked(ILandroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/wm/AccessibilityController;->getMagnificationRegionLocked(ILandroid/graphics/Region;)V
 HPLcom/android/server/wm/AccessibilityController;->getMagnificationSpecForWindowLocked(Lcom/android/server/wm/WindowState;)Landroid/view/MagnificationSpec;
@@ -37649,7 +40539,7 @@
 HPLcom/android/server/wm/AccessibilityController;->onWindowFocusChangedNotLocked(I)V
 HPLcom/android/server/wm/AccessibilityController;->onWindowTransitionLocked(Lcom/android/server/wm/WindowState;I)V
 HPLcom/android/server/wm/AccessibilityController;->performComputeChangedWindowsNotLocked(IZ)V
-PLcom/android/server/wm/AccessibilityController;->populateTransformationMatrixLocked(Lcom/android/server/wm/WindowState;Landroid/graphics/Matrix;)V
+HPLcom/android/server/wm/AccessibilityController;->populateTransformationMatrixLocked(Lcom/android/server/wm/WindowState;Landroid/graphics/Matrix;)V
 HPLcom/android/server/wm/AccessibilityController;->setForceShowMagnifiableBoundsLocked(IZ)V
 PLcom/android/server/wm/AccessibilityController;->setMagnificationCallbacksLocked(ILcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;)Z
 HPLcom/android/server/wm/AccessibilityController;->setMagnificationSpecLocked(ILandroid/view/MagnificationSpec;)V
@@ -37692,7 +40582,7 @@
 HSPLcom/android/server/wm/ActivityMetricsLogger;->convertTransitionTypeToLaunchObserverTemperature(I)I
 HSPLcom/android/server/wm/ActivityMetricsLogger;->done(ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Ljava/lang/String;J)V
 HSPLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
-PLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+HPLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
 PLcom/android/server/wm/ActivityMetricsLogger;->getArtManagerInternal()Landroid/content/pm/dex/ArtManagerInternal;
 HSPLcom/android/server/wm/ActivityMetricsLogger;->getLastDrawnDelayMs(Lcom/android/server/wm/ActivityRecord;)I
 HSPLcom/android/server/wm/ActivityMetricsLogger;->getLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
@@ -37747,9 +40637,9 @@
 PLcom/android/server/wm/ActivityRecord$AppSaturationInfo;-><init>(Lcom/android/server/wm/ActivityRecord$1;)V
 PLcom/android/server/wm/ActivityRecord$AppSaturationInfo;->setSaturation([F[F)V
 HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/graphics/Rect;Z)V
-PLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getBoundsByRotation(Landroid/graphics/Rect;I)V
-PLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getContainerBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)V
+HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getBoundsByRotation(Landroid/graphics/Rect;I)V
+HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getContainerBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)V
 HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getDisplayBoundsByRotation(Landroid/graphics/Rect;I)V
 HPLcom/android/server/wm/ActivityRecord$CompatDisplayInsets;->getFrameByOrientation(Landroid/graphics/Rect;I)V
 HSPLcom/android/server/wm/ActivityRecord$Token;-><init>(Landroid/content/Intent;)V
@@ -37778,9 +40668,10 @@
 HSPLcom/android/server/wm/ActivityRecord;->allowMoveToFront()Z
 HSPLcom/android/server/wm/ActivityRecord;->allowTaskSnapshot()Z
 HPLcom/android/server/wm/ActivityRecord;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Z
-PLcom/android/server/wm/ActivityRecord;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZLcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)Z
+HPLcom/android/server/wm/ActivityRecord;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZLcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)Z
 HPLcom/android/server/wm/ActivityRecord;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZLjava/lang/Runnable;)Z
 HSPLcom/android/server/wm/ActivityRecord;->applyAspectRatio(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityRecord;->applyFixedRotationTransform(Landroid/view/DisplayInfo;Lcom/android/server/wm/DisplayFrames;Landroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked()V
 HSPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked(Landroid/app/ActivityOptions;Landroid/content/Intent;)V
 HSPLcom/android/server/wm/ActivityRecord;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
@@ -37791,6 +40682,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->canBeLaunchedOnDisplay(I)Z
 HSPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z
 PLcom/android/server/wm/ActivityRecord;->canLaunchAssistActivity(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityRecord;->canLaunchDreamActivity(Ljava/lang/String;)Z
 HPLcom/android/server/wm/ActivityRecord;->canLaunchHomeActivity(ILcom/android/server/wm/ActivityRecord;)Z
 HSPLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z
 HSPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z
@@ -37871,9 +40763,11 @@
 HSPLcom/android/server/wm/ActivityRecord;->getBounds()Landroid/graphics/Rect;
 HSPLcom/android/server/wm/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
 HSPLcom/android/server/wm/ActivityRecord;->getDisplay()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/ActivityRecord;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
 HSPLcom/android/server/wm/ActivityRecord;->getDisplayId()I
 HSPLcom/android/server/wm/ActivityRecord;->getDisplayedBounds()Landroid/graphics/Rect;
 PLcom/android/server/wm/ActivityRecord;->getHighestAnimLayerWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/ActivityRecord;->getHorizontalCenterOffset(II)I
 HPLcom/android/server/wm/ActivityRecord;->getImeTargetBelowWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/ActivityRecord;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/ActivityRecord;->getLetterboxInsets()Landroid/graphics/Rect;
@@ -37882,6 +40776,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->getPersistentSavedState()Landroid/os/PersistableBundle;
 HPLcom/android/server/wm/ActivityRecord;->getPid()I
 HSPLcom/android/server/wm/ActivityRecord;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/wm/ActivityRecord;->getProtoFieldId()J
 PLcom/android/server/wm/ActivityRecord;->getRemoteAnimationDefinition()Landroid/view/RemoteAnimationDefinition;
 HSPLcom/android/server/wm/ActivityRecord;->getRequestedOrientation()I
 HSPLcom/android/server/wm/ActivityRecord;->getRootTask()Lcom/android/server/wm/ActivityStack;
@@ -37916,7 +40811,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->isClientVisible()Z
 HPLcom/android/server/wm/ActivityRecord;->isClosingOrEnteringPip()Z
 PLcom/android/server/wm/ActivityRecord;->isConfigurationCompatible(Landroid/content/res/Configuration;)Z
-PLcom/android/server/wm/ActivityRecord;->isDestroyable()Z
+HPLcom/android/server/wm/ActivityRecord;->isDestroyable()Z
 HPLcom/android/server/wm/ActivityRecord;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/ActivityRecord;->isFocusable()Z
 HSPLcom/android/server/wm/ActivityRecord;->isFreezingScreen()Z
@@ -37986,6 +40881,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->notifyAppStopped()V
 HSPLcom/android/server/wm/ActivityRecord;->notifyUnknownVisibilityLaunchedForKeyguardTransition()V
 HSPLcom/android/server/wm/ActivityRecord;->occludesParent()Z
+PLcom/android/server/wm/ActivityRecord;->offsetBounds(Landroid/content/res/Configuration;II)V
 HSPLcom/android/server/wm/ActivityRecord;->okToShowLocked()Z
 HSPLcom/android/server/wm/ActivityRecord;->onAnimationFinished()V
 HSPLcom/android/server/wm/ActivityRecord;->onAnimationFinished(ILcom/android/server/wm/AnimationAdapter;)V
@@ -38032,6 +40928,7 @@
 HSPLcom/android/server/wm/ActivityRecord;->reportDescendantOrientationChangeIfNeeded()V
 PLcom/android/server/wm/ActivityRecord;->reportFullyDrawnLocked(Z)V
 HSPLcom/android/server/wm/ActivityRecord;->requestUpdateWallpaperIfNeeded()V
+HPLcom/android/server/wm/ActivityRecord;->resolveFullscreenConfiguration(Landroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
 HPLcom/android/server/wm/ActivityRecord;->resolveSizeCompatModeConfiguration(Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/ActivityRecord;->restartProcessIfVisible()V
@@ -38058,6 +40955,7 @@
 HPLcom/android/server/wm/ActivityRecord;->setMainWindowOpaque(Z)V
 HPLcom/android/server/wm/ActivityRecord;->setOccludesParent(Z)Z
 HPLcom/android/server/wm/ActivityRecord;->setOrientation(IZ)V
+PLcom/android/server/wm/ActivityRecord;->setPictureInPictureParams(Landroid/app/PictureInPictureParams;)V
 HSPLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V
 HPLcom/android/server/wm/ActivityRecord;->setRequestedOrientation(I)V
 HSPLcom/android/server/wm/ActivityRecord;->setSavedState(Landroid/os/Bundle;)V
@@ -38167,6 +41065,7 @@
 HPLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;->processActivity(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/ActivityStack;-><clinit>()V
 HSPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;)V
+PLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)V
 HSPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)V
 HSPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;Ljava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)V
 HSPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/ActivityStack;)V
@@ -38246,6 +41145,7 @@
 PLcom/android/server/wm/ActivityStack;->getFinalAnimationSourceHintBounds(Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/ActivityStack;->getMinTopStackBottom(Landroid/graphics/Rect;I)I
 HSPLcom/android/server/wm/ActivityStack;->getName()Ljava/lang/String;
+PLcom/android/server/wm/ActivityStack;->getOccludingActivityAbove(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
 PLcom/android/server/wm/ActivityStack;->getOrientation()I
 HPLcom/android/server/wm/ActivityStack;->getParentSurfaceControl()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/ActivityStack;->getRawBounds()Landroid/graphics/Rect;
@@ -38291,6 +41191,7 @@
 HPLcom/android/server/wm/ActivityStack;->isTopActivityVisible()Z
 HPLcom/android/server/wm/ActivityStack;->isTopRunningNonDelayed(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
 HPLcom/android/server/wm/ActivityStack;->isTopSplitScreenStack()Z
+PLcom/android/server/wm/ActivityStack;->isTopStackInDisplayArea()Z
 HSPLcom/android/server/wm/ActivityStack;->isTopStackOnDisplay()Z
 PLcom/android/server/wm/ActivityStack;->isTransientWindowingMode(I)Z
 HPLcom/android/server/wm/ActivityStack;->lambda$GDPUuzTvyfp2z6wYxqAF0vhMJK8(Lcom/android/server/wm/Task;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
@@ -38305,30 +41206,43 @@
 PLcom/android/server/wm/ActivityStack;->lambda$beginImeAdjustAnimation$18(Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/ActivityStack;->lambda$calculatePinnedBoundsForConfigChange$17$ActivityStack(Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/ActivityStack;->lambda$dhfbladKtxXwwdCS2dFdAfUfBN4(Lcom/android/server/wm/Task;Landroid/view/ITaskOrganizer;)V
+PLcom/android/server/wm/ActivityStack;->lambda$dismissPip$14$ActivityStack()V
 PLcom/android/server/wm/ActivityStack;->lambda$dismissPip$15$ActivityStack()V
 PLcom/android/server/wm/ActivityStack;->lambda$dismissPip$16$ActivityStack()V
+HPLcom/android/server/wm/ActivityStack;->lambda$dumpActivities$11(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$dumpActivities$12(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$dumpActivities$13$ActivityStack(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$dumpActivities$13(ZLjava/io/PrintWriter;Ljava/io/FileDescriptor;ZZLjava/lang/String;Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/ActivityStack;->lambda$dumpDebug$21(Landroid/util/proto/ProtoOutputStream;ILcom/android/server/wm/Task;)V
 PLcom/android/server/wm/ActivityStack;->lambda$dumpDebugInnerStackOnly$22(Landroid/util/proto/ProtoOutputStream;ILcom/android/server/wm/Task;)V
 PLcom/android/server/wm/ActivityStack;->lambda$endImeAdjustAnimation$19(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStack;->lambda$finishAllActivitiesImmediately$7(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->lambda$finishAllActivitiesImmediately$8(Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/ActivityStack;->lambda$finishAllActivitiesImmediately$9(Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/ActivityStack;->lambda$finishIfVoiceTask$8(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$getDumpActivitiesLocked$14(Lcom/android/server/am/ActivityManagerService$ItemMatcher;Ljava/util/ArrayList;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->lambda$getOccludingActivityAbove$10(Lcom/android/server/wm/ActivityRecord;)Z
 HPLcom/android/server/wm/ActivityStack;->lambda$goToSleep$5(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$goToSleep$6(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$10(Landroid/content/ComponentName;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$10(Lcom/android/server/wm/ActivityRecord;[I[Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;)Ljava/lang/Boolean;
 PLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$11(Lcom/android/server/wm/ActivityRecord;[I[Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;)Ljava/lang/Boolean;
+PLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$8(Landroid/content/ComponentName;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$9(Landroid/content/ComponentName;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$navigateUpTo$9(Lcom/android/server/wm/ActivityRecord;[I[Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;)Ljava/lang/Boolean;
 PLcom/android/server/wm/ActivityStack;->lambda$onAnimationStart$20(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/ActivityStack;->lambda$onConfigurationChanged$0(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/ActivityStack;->lambda$resetCurrentBoundsAnimation$17$ActivityStack(Lcom/android/server/wm/BoundsAnimationController;)V
-PLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$0$ActivityStack(IZZZZZ)V
+PLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$0$ActivityStack(IZ)V
+HPLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$0$ActivityStack(IZZZZZ)V
 HSPLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$1$ActivityStack(IZZZZZ)V
+PLcom/android/server/wm/ActivityStack;->lambda$startActivityLocked$6(Lcom/android/server/wm/ActivityRecord;)Z
 HPLcom/android/server/wm/ActivityStack;->lambda$startActivityLocked$7(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$switchUser$3$ActivityStack(Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/ActivityStack;->lambda$switchUser$4$ActivityStack(Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/ActivityStack;->lambda$topRunningActivity$1(Lcom/android/server/wm/ActivityRecord;)Z
 HSPLcom/android/server/wm/ActivityStack;->lambda$topRunningActivity$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$topRunningNonOverlayTaskActivity$2(Lcom/android/server/wm/ActivityRecord;)Z
 PLcom/android/server/wm/ActivityStack;->lambda$topRunningNonOverlayTaskActivity$3(Lcom/android/server/wm/ActivityRecord;)Z
 PLcom/android/server/wm/ActivityStack;->lambda$willActivityBeVisible$11(Lcom/android/server/wm/ActivityRecord;)Z
 PLcom/android/server/wm/ActivityStack;->lambda$willActivityBeVisible$12(Lcom/android/server/wm/ActivityRecord;)Z
@@ -38407,8 +41321,11 @@
 PLcom/android/server/wm/ActivityStack;->setTaskBounds(Landroid/graphics/Rect;)V
 PLcom/android/server/wm/ActivityStack;->setTaskBounds(Lcom/android/server/wm/Task;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/ActivityStack;->setTaskDisplayedBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStack;->setTile(Lcom/android/server/wm/TaskTile;)V
 PLcom/android/server/wm/ActivityStack;->setWindowingMode(I)V
+PLcom/android/server/wm/ActivityStack;->setWindowingMode(IZ)V
 HSPLcom/android/server/wm/ActivityStack;->setWindowingMode(IZZZZZ)V
+HPLcom/android/server/wm/ActivityStack;->setWindowingModeInSurfaceTransaction(IZ)V
 HSPLcom/android/server/wm/ActivityStack;->setWindowingModeInSurfaceTransaction(IZZZZZ)V
 HSPLcom/android/server/wm/ActivityStack;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z
 PLcom/android/server/wm/ActivityStack;->shouldDeferStartOnMoveToFullscreen()Z
@@ -38456,10 +41373,12 @@
 PLcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;Lcom/android/server/wm/WindowProcessController;)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;-><clinit>()V
 HSPLcom/android/server/wm/ActivityStackSupervisor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->access$000(Lcom/android/server/wm/ActivityStackSupervisor;)Ljava/util/ArrayList;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$100(Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$200(Lcom/android/server/wm/ActivityStackSupervisor;)Ljava/util/ArrayList;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$300(Lcom/android/server/wm/ActivityStackSupervisor;)Ljava/util/ArrayList;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$400(Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityStackSupervisor;->access$500(Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$500(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityRecord;ZLjava/lang/String;)V
 PLcom/android/server/wm/ActivityStackSupervisor;->access$600(Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;
 PLcom/android/server/wm/ActivityStackSupervisor;->access$600(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityRecord;)V
@@ -38518,10 +41437,12 @@
 PLcom/android/server/wm/ActivityStackSupervisor;->lambda$activityIdleInternalLocked$0$ActivityStackSupervisor()V
 PLcom/android/server/wm/ActivityStackSupervisor;->lambda$mLKHIIzkTAK9QSlSxia8-84y15M(Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/ActivityStackSupervisor;->lambda$moveTasksToFullscreenStackLocked$1$ActivityStackSupervisor(Lcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->lambda$removeStack$1$ActivityStackSupervisor(Lcom/android/server/wm/ActivityStack;)V
 PLcom/android/server/wm/ActivityStackSupervisor;->lambda$removeStack$2$ActivityStackSupervisor(Lcom/android/server/wm/ActivityStack;)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;->logStackState()V
 HPLcom/android/server/wm/ActivityStackSupervisor;->moveHomeStackToFrontIfNeeded(ILcom/android/server/wm/DisplayContent;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->moveHomeStackToFrontIfNeeded(ILcom/android/server/wm/TaskDisplayArea;Ljava/lang/String;)V
 PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackInSurfaceTransaction(Lcom/android/server/wm/ActivityStack;IZ)V
 PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackLocked(Lcom/android/server/wm/ActivityStack;Z)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;->nextTaskIdForUser(II)I
@@ -38538,6 +41459,7 @@
 HSPLcom/android/server/wm/ActivityStackSupervisor;->removeHistoryRecords(Lcom/android/server/wm/WindowProcessController;)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;->removeHistoryRecords(Ljava/util/ArrayList;Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)V
 HPLcom/android/server/wm/ActivityStackSupervisor;->removeIdleTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->removePinnedStackInSurfaceTransaction(Lcom/android/server/wm/ActivityStack;)V
 PLcom/android/server/wm/ActivityStackSupervisor;->removeRestartTimeouts(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/ActivityStackSupervisor;->removeSleepTimeouts()V
 PLcom/android/server/wm/ActivityStackSupervisor;->removeStack(Lcom/android/server/wm/ActivityStack;)V
@@ -38623,6 +41545,7 @@
 HSPLcom/android/server/wm/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/Task;IILandroid/app/ActivityOptions;)Z
 HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
 HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptLockTaskModeViolationPackageIfNeeded()Z
+HPLcom/android/server/wm/ActivityStartInterceptor;->interceptLockedManagedProfileIfNeeded()Z
 HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
 HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
 HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
@@ -38648,6 +41571,7 @@
 HSPLcom/android/server/wm/ActivityStarter;->computeSourceStack()V
 PLcom/android/server/wm/ActivityStarter;->computeStackFocus(Lcom/android/server/wm/ActivityRecord;ZILandroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/ActivityStarter;->computeTargetTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->createLaunchIntent(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;I)Landroid/content/Intent;
 HPLcom/android/server/wm/ActivityStarter;->deliverNewIntent(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/ActivityStarter;->deliverToCurrentTopIfNeeded(Lcom/android/server/wm/ActivityStack;)I
 HPLcom/android/server/wm/ActivityStarter;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
@@ -38722,6 +41646,7 @@
 PLcom/android/server/wm/ActivityTaskManagerService$2;->onDismissSucceeded()V
 HSPLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
 PLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;->onChange(ZLjava/util/Collection;II)V
 HSPLcom/android/server/wm/ActivityTaskManagerService$H;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->getService()Lcom/android/server/wm/ActivityTaskManagerService;
@@ -38761,7 +41686,9 @@
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopVisibleActivities()Ljava/util/List;
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppCrashInActivityController(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Runnable;)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->hasResumedActivity(I)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isDreaming()Z
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isFactoryTestProcess(Lcom/android/server/wm/WindowProcessController;)Z
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isHeavyWeightProcess(Lcom/android/server/wm/WindowProcessController;)Z
@@ -38774,6 +41701,7 @@
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionCancelled()V
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionFinished()V
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyDockedStackMinimizedChanged(Z)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyDreamStateChanged(Z)V
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardTrustedChanged()V
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyLockedProfile(II)V
@@ -38804,6 +41732,7 @@
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->removeUser(I)V
 HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->resumeTopActivities(Z)V
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->saveANRState(Ljava/lang/String;)V
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->scheduleDestroyAllActivities(Ljava/lang/String;)V
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->sendActivityResult(ILandroid/os/IBinder;Ljava/lang/String;IILandroid/content/Intent;)V
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setCompanionAppPackages(ILjava/util/Set;)V
@@ -38816,7 +41745,7 @@
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesInPackage(IIILjava/lang/String;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesInPackage(IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Landroid/os/Bundle;I)I
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Landroid/os/IBinder;ILandroid/os/Bundle;I)I
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Landroid/os/IBinder;ILandroid/os/Bundle;I)I
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/Task;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
 HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityInPackage(IIILjava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/Task;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
 PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeActivity(ILjava/lang/String;)Z
@@ -38835,20 +41764,27 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->access$000(Lcom/android/server/wm/ActivityTaskManagerService;I)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1000(Lcom/android/server/wm/ActivityTaskManagerService;)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1000(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1100(Lcom/android/server/wm/ActivityTaskManagerService;)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1100(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/util/proto/ProtoOutputStream;IZ)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1100(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/lang/String;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$1200(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/MirrorActiveUids;
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1200(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/util/proto/ProtoOutputStream;IZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1200(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/lang/String;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1300(Lcom/android/server/wm/ActivityTaskManagerService;)Landroid/util/SparseArray;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$1300(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/MirrorActiveUids;
 HPLcom/android/server/wm/ActivityTaskManagerService;->access$1400(Lcom/android/server/wm/ActivityTaskManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1400(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/MirrorActiveUids;
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1400(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/RecentTasks;
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1500(Lcom/android/server/wm/ActivityTaskManagerService;)Landroid/util/SparseArray;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$1500(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/RecentTasks;
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1500(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1600(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/RecentTasks;
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1600(Lcom/android/server/wm/ActivityTaskManagerService;IZZ)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1600(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZ)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1700(Lcom/android/server/wm/ActivityTaskManagerService;)Ljava/util/Map;
 HPLcom/android/server/wm/ActivityTaskManagerService;->access$1700(Lcom/android/server/wm/ActivityTaskManagerService;IZZ)Landroid/app/ActivityManager$TaskSnapshot;
 PLcom/android/server/wm/ActivityTaskManagerService;->access$1800(Lcom/android/server/wm/ActivityTaskManagerService;)Ljava/util/Map;
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1900(Lcom/android/server/wm/ActivityTaskManagerService;)Ljava/util/Map;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$200(Lcom/android/server/wm/ActivityTaskManagerService;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$300(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$500(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/TaskChangeNotificationController;
@@ -38859,7 +41795,9 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->access$700(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
 PLcom/android/server/wm/ActivityTaskManagerService;->access$800(Lcom/android/server/wm/ActivityTaskManagerService;)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$800(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$802(Lcom/android/server/wm/ActivityTaskManagerService;Z)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService;->access$900(Lcom/android/server/wm/ActivityTaskManagerService;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->access$900(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
 HPLcom/android/server/wm/ActivityTaskManagerService;->activityDestroyed(Landroid/os/IBinder;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
@@ -38905,6 +41843,7 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivityContainersLocked(Ljava/io/PrintWriter;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivityStarterLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->dumpLastANRLocked(Ljava/io/PrintWriter;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceCallerIsDream(Ljava/lang/String;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->enqueueAssistContext(ILandroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZILandroid/os/Bundle;JI)Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;
@@ -38936,6 +41875,7 @@
 HPLcom/android/server/wm/ActivityTaskManagerService;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getDisplayId(Landroid/os/IBinder;)I
 HPLcom/android/server/wm/ActivityTaskManagerService;->getFilteredTasks(III)Ljava/util/List;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getFilteredTasks(IZ)Ljava/util/List;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForCallingPid()Landroid/content/res/Configuration;
@@ -38963,18 +41903,21 @@
 HPLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getRequestedOrientation(Landroid/os/IBinder;)I
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->getSysUiServiceComponentLocked()Landroid/content/ComponentName;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskBounds(I)Landroid/graphics/Rect;
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getTaskChangeNotificationController()Lcom/android/server/wm/TaskChangeNotificationController;
 PLcom/android/server/wm/ActivityTaskManagerService;->getTaskDescription(I)Landroid/app/ActivityManager$TaskDescription;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
-PLcom/android/server/wm/ActivityTaskManagerService;->getTaskOrganizerController()Landroid/app/ITaskOrganizerController;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskOrganizerController()Landroid/app/ITaskOrganizerController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getTaskOrganizerController()Landroid/window/ITaskOrganizerController;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZZ)Landroid/app/ActivityManager$TaskSnapshot;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(I)Ljava/util/List;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
 HPLcom/android/server/wm/ActivityTaskManagerService;->getUidState(I)I
 HSPLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/wm/ActivityTaskManagerService;->getWindowOrganizerController()Landroid/window/IWindowOrganizerController;
 HPLcom/android/server/wm/ActivityTaskManagerService;->handleIncomingUser(IIILjava/lang/String;)I
 PLcom/android/server/wm/ActivityTaskManagerService;->hasSystemAlertWindowPermission(IILjava/lang/String;)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
@@ -39008,11 +41951,14 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->lambda$U6g1UdnOPnEF9wX1OTm9nKVXY5k(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/Locale;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateLockStateLocked$0$ActivityTaskManagerService(ZLcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$5$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$6$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->lambda$enterPictureInPictureMode$4$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;Landroid/app/PictureInPictureParams;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$notifyEnterAnimationComplete$1$ActivityTaskManagerService(Landroid/os/IBinder;)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->lambda$onScreenAwakeChanged$3$ActivityTaskManagerService(Z)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$6$ActivityTaskManagerService(ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$7$ActivityTaskManagerService(ZZ)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$7$ActivityTaskManagerService()V
+HPLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$8$ActivityTaskManagerService()V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$2$ActivityTaskManagerService(Z)V
 PLcom/android/server/wm/ActivityTaskManagerService;->lambda$yP9TbBmrgQ4lrgcxb-8oL1pBAs4(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/res/Configuration;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->logAppTooSlow(Lcom/android/server/wm/WindowProcessController;JLjava/lang/String;)V
@@ -39020,6 +41966,7 @@
 HPLcom/android/server/wm/ActivityTaskManagerService;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->moveTaskToFront(Landroid/app/IApplicationThread;Ljava/lang/String;IILandroid/os/Bundle;)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->moveTaskToFrontLocked(Landroid/app/IApplicationThread;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->moveTaskToSplitScreenPrimaryTile(Lcom/android/server/wm/Task;Z)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService;->notifyActivityDrawn(Landroid/os/IBinder;)V
 HSPLcom/android/server/wm/ActivityTaskManagerService;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
@@ -39087,7 +42034,7 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->shouldDisableNonVrUiLocked()Z
 PLcom/android/server/wm/ActivityTaskManagerService;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService;->start()V
-PLcom/android/server/wm/ActivityTaskManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
+HPLcom/android/server/wm/ActivityTaskManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
 PLcom/android/server/wm/ActivityTaskManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
 HPLcom/android/server/wm/ActivityTaskManagerService;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
 HPLcom/android/server/wm/ActivityTaskManagerService;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
@@ -39105,12 +42052,14 @@
 PLcom/android/server/wm/ActivityTaskManagerService;->startDreamActivity(Landroid/content/Intent;)Z
 PLcom/android/server/wm/ActivityTaskManagerService;->startLockTaskModeByToken(Landroid/os/IBinder;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->startLockTaskModeLocked(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
 HSPLcom/android/server/wm/ActivityTaskManagerService;->startProcessAsync(Lcom/android/server/wm/ActivityRecord;ZZLjava/lang/String;)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->startSystemLockTaskMode(I)V
 HPLcom/android/server/wm/ActivityTaskManagerService;->startTimeTrackingFocusedActivityLocked()V
 PLcom/android/server/wm/ActivityTaskManagerService;->startVoiceActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
 HPLcom/android/server/wm/ActivityTaskManagerService;->stopAppSwitches()V
+PLcom/android/server/wm/ActivityTaskManagerService;->stopLockTaskModeByToken(Landroid/os/IBinder;)V
 PLcom/android/server/wm/ActivityTaskManagerService;->stopLockTaskModeInternal(Lcom/android/server/wm/Task;Z)V
 PLcom/android/server/wm/ActivityTaskManagerService;->stopSystemLockTaskMode()V
 PLcom/android/server/wm/ActivityTaskManagerService;->unregisterRemoteAnimations(Landroid/os/IBinder;)V
@@ -39446,6 +42395,7 @@
 HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenSecondaryWindowingMode()Z
 HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenWindowingMode()Z
 HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
+HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeDream()Z
 HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
 HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
 HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
@@ -39514,6 +42464,7 @@
 HPLcom/android/server/wm/DisplayArea$Root;->getSurfaceControl()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/DisplayArea$Root;->getSurfaceHeight()I
 PLcom/android/server/wm/DisplayArea$Root;->getSurfaceWidth()I
+HPLcom/android/server/wm/DisplayArea$Root;->lambda$prepareSurfaces$0(Lcom/android/server/wm/Task;)Ljava/lang/Boolean;
 PLcom/android/server/wm/DisplayArea$Root;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
 HSPLcom/android/server/wm/DisplayArea$Root;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/DisplayArea$Root;->prepareSurfaces()V
@@ -39532,22 +42483,27 @@
 HPLcom/android/server/wm/DisplayArea$Type;->typeOf(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayArea$Type;
 HSPLcom/android/server/wm/DisplayArea$Type;->values()[Lcom/android/server/wm/DisplayArea$Type;
 HSPLcom/android/server/wm/DisplayArea;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;)V
+PLcom/android/server/wm/DisplayArea;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayArea$Type;Ljava/lang/String;I)V
 PLcom/android/server/wm/DisplayArea;->commitPendingTransaction()V
 HPLcom/android/server/wm/DisplayArea;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V
 HSPLcom/android/server/wm/DisplayArea;->fillsParent()Z
 HPLcom/android/server/wm/DisplayArea;->getAnimationLeashParent()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/DisplayArea;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
 HSPLcom/android/server/wm/DisplayArea;->getName()Ljava/lang/String;
 HPLcom/android/server/wm/DisplayArea;->getParentSurfaceControl()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/DisplayArea;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/DisplayArea;->getProtoFieldId()J
 HSPLcom/android/server/wm/DisplayArea;->getSurfaceControl()Landroid/view/SurfaceControl;
 HPLcom/android/server/wm/DisplayArea;->getSurfaceHeight()I
 HPLcom/android/server/wm/DisplayArea;->getSurfaceWidth()I
+HPLcom/android/server/wm/DisplayArea;->isOrganized()Z
 HPLcom/android/server/wm/DisplayArea;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
 HPLcom/android/server/wm/DisplayArea;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
 HPLcom/android/server/wm/DisplayArea;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
 HSPLcom/android/server/wm/DisplayArea;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
 HSPLcom/android/server/wm/DisplayArea;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/DisplayArea;->toString()Ljava/lang/String;
+HSPLcom/android/server/wm/DisplayAreaOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
 PLcom/android/server/wm/DisplayAreaPolicy$1;-><clinit>()V
 HSPLcom/android/server/wm/DisplayAreaPolicy$Default$Provider;-><init>()V
 HSPLcom/android/server/wm/DisplayAreaPolicy$Default$Provider;->instantiate(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$TaskContainers;)Lcom/android/server/wm/DisplayAreaPolicy;
@@ -39556,6 +42512,8 @@
 HSPLcom/android/server/wm/DisplayAreaPolicy$Default;->attachDisplayAreas()V
 HSPLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;-><init>()V
 HSPLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->instantiate(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$TaskContainers;)Lcom/android/server/wm/DisplayAreaPolicy;
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->instantiate(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/TaskContainers;)Lcom/android/server/wm/DisplayAreaPolicy;
+PLcom/android/server/wm/DisplayAreaPolicy$DefaultProvider;->instantiate(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/TaskDisplayArea;)Lcom/android/server/wm/DisplayAreaPolicy;
 HSPLcom/android/server/wm/DisplayAreaPolicy$Provider;->fromResources(Landroid/content/res/Resources;)Lcom/android/server/wm/DisplayAreaPolicy$Provider;
 HSPLcom/android/server/wm/DisplayAreaPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea;)V
 HSPLcom/android/server/wm/DisplayAreaPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayContent$TaskContainers;)V
@@ -39571,6 +42529,10 @@
 HSPLcom/android/server/wm/DisplayAreaPolicyBuilder$Result;->typeOfLayer(Lcom/android/server/policy/WindowManagerPolicy;I)I
 HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;-><init>()V
 HSPLcom/android/server/wm/DisplayAreaPolicyBuilder;->build(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayArea$Root;Lcom/android/server/wm/DisplayArea;Lcom/android/server/wm/DisplayArea;)Lcom/android/server/wm/DisplayAreaPolicyBuilder$Result;
+PLcom/android/server/wm/DisplayContent$1;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayContent$1;->done()V
+PLcom/android/server/wm/DisplayContent$1;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent$1;->onAppTransitionTimeoutLocked()V
 HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
 HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
 HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
@@ -39600,6 +42562,7 @@
 HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$1$DisplayContent$NonAppWindowContainers(Lcom/android/server/wm/WindowState;)Z
 HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$1(Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->prepareSurfaces()V
+HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->shouldMagnify()Z
 PLcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/view/IDisplayWindowInsetsController;)V
 PLcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;->hideInsets(IZ)V
 HPLcom/android/server/wm/DisplayContent$RemoteInsetsControlTarget;->notifyInsetsChanged()V
@@ -39681,10 +42644,13 @@
 HSPLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/RootWindowContainer;)V
 HSPLcom/android/server/wm/DisplayContent;->access$100(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$TaskStackContainers;
 HSPLcom/android/server/wm/DisplayContent;->access$1002(Lcom/android/server/wm/DisplayContent;I)I
+PLcom/android/server/wm/DisplayContent;->access$200(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$ImeContainer;
 HSPLcom/android/server/wm/DisplayContent;->access$200(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$TaskContainers;
 HSPLcom/android/server/wm/DisplayContent;->access$200(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$TaskStackContainers;
 HSPLcom/android/server/wm/DisplayContent;->access$200(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayContent;->access$300(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayArea$Root;
 HSPLcom/android/server/wm/DisplayContent;->access$300(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayContent;->access$400(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayAreaPolicy;
 HSPLcom/android/server/wm/DisplayContent;->access$400(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
 HSPLcom/android/server/wm/DisplayContent;->access$500(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;
 HSPLcom/android/server/wm/DisplayContent;->access$500(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
@@ -39713,7 +42679,10 @@
 HSPLcom/android/server/wm/DisplayContent;->amendWindowTapExcludeRegion(Landroid/graphics/Region;)V
 HPLcom/android/server/wm/DisplayContent;->animateForIme(FFF)Z
 HPLcom/android/server/wm/DisplayContent;->applyMagnificationSpec(Landroid/view/MagnificationSpec;)V
+HPLcom/android/server/wm/DisplayContent;->applyRotation(II)V
+PLcom/android/server/wm/DisplayContent;->applyRotationAndClearFixedRotation(II)V
 HPLcom/android/server/wm/DisplayContent;->applyRotationLocked(II)V
+HPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction()V
 HSPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction(Z)V
 HSPLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/DisplayContent;->assignStackOrdering()V
@@ -39729,6 +42698,7 @@
 HSPLcom/android/server/wm/DisplayContent;->checkCompleteDeferredRemoval()Z
 HPLcom/android/server/wm/DisplayContent;->clearImeAdjustAnimation()Z
 HSPLcom/android/server/wm/DisplayContent;->clearLayoutNeeded()V
+HPLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIII)I
 HSPLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIIILandroid/view/DisplayCutout;)I
 PLcom/android/server/wm/DisplayContent;->computeImeControlTarget()Lcom/android/server/wm/InsetsControlTarget;
 HPLcom/android/server/wm/DisplayContent;->computeImeParent()Landroid/view/SurfaceControl;
@@ -39736,17 +42706,21 @@
 HSPLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/DisplayContent;->computeScreenAppConfiguration(Landroid/content/res/Configuration;IIIILandroid/view/DisplayCutout;)V
 HSPLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;I)Landroid/view/DisplayInfo;
 HSPLcom/android/server/wm/DisplayContent;->computeSizeRangesAndScreenLayout(Landroid/view/DisplayInfo;ZIIIFLandroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
 HPLcom/android/server/wm/DisplayContent;->continueUpdateImeTarget()V
+PLcom/android/server/wm/DisplayContent;->continueUpdateOrientationForDiffOrienLaunchingApp(Lcom/android/server/wm/WindowToken;)Z
 PLcom/android/server/wm/DisplayContent;->convertCropForSurfaceFlinger(Landroid/graphics/Rect;III)V
 PLcom/android/server/wm/DisplayContent;->createPortalWindowHandle(Ljava/lang/String;)Landroid/view/InputWindowHandle;
 HPLcom/android/server/wm/DisplayContent;->createRotationMatrix(IFFFFLandroid/graphics/Matrix;)V
 PLcom/android/server/wm/DisplayContent;->createRotationMatrix(IFFLandroid/graphics/Matrix;)V
 HSPLcom/android/server/wm/DisplayContent;->createStack(IIZ)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->createStack(IIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->createStack(IIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->createStackUnchecked(IIIZ)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->createStackUnchecked(IIIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->createStackUnchecked(IIIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
 PLcom/android/server/wm/DisplayContent;->deferUpdateImeTarget()V
 HPLcom/android/server/wm/DisplayContent;->deltaRotation(II)I
 PLcom/android/server/wm/DisplayContent;->destroyLeakedSurfaces()Z
@@ -39766,6 +42740,7 @@
 HSPLcom/android/server/wm/DisplayContent;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
 HPLcom/android/server/wm/DisplayContent;->getBounds(Landroid/graphics/Rect;I)V
 PLcom/android/server/wm/DisplayContent;->getCurrentOverrideConfigurationChanges()I
+HPLcom/android/server/wm/DisplayContent;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
 HSPLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
 HSPLcom/android/server/wm/DisplayContent;->getDisplayId()I
 HSPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
@@ -39778,7 +42753,7 @@
 PLcom/android/server/wm/DisplayContent;->getHomeActivity()Lcom/android/server/wm/ActivityRecord;
 HPLcom/android/server/wm/DisplayContent;->getHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/DisplayContent;->getHomeStack()Lcom/android/server/wm/ActivityStack;
-PLcom/android/server/wm/DisplayContent;->getImeFallback()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/DisplayContent;->getImeFallback()Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/DisplayContent;->getImeHostOrFallback(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
 HSPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
@@ -39797,13 +42772,16 @@
 HSPLcom/android/server/wm/DisplayContent;->getNextStackId()I
 PLcom/android/server/wm/DisplayContent;->getOrCreateRootHomeTask()Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->getOrCreateStack(IIZLandroid/content/Intent;Lcom/android/server/wm/Task;Z)Lcom/android/server/wm/ActivityStack;
 PLcom/android/server/wm/DisplayContent;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;IZ)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getOrientation()I
 PLcom/android/server/wm/DisplayContent;->getOverlayLayer()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/DisplayContent;->getParentWindow()Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/DisplayContent;->getPinnedStack()Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getPinnedStackController()Lcom/android/server/wm/PinnedStackController;
+PLcom/android/server/wm/DisplayContent;->getPreferredOptionsPanelGravity()I
 HPLcom/android/server/wm/DisplayContent;->getPresentUIDs()Landroid/util/IntArray;
+PLcom/android/server/wm/DisplayContent;->getProtoFieldId()J
 HSPLcom/android/server/wm/DisplayContent;->getRecentsStack()Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/DisplayContent;->getRootHomeTask()Lcom/android/server/wm/ActivityStack;
@@ -39822,6 +42800,8 @@
 HSPLcom/android/server/wm/DisplayContent;->getStackAt(I)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getStackCount()I
 HSPLcom/android/server/wm/DisplayContent;->getStacks()Lcom/android/server/wm/WindowList;
+HPLcom/android/server/wm/DisplayContent;->getTaskDisplayAreaAt(I)Lcom/android/server/wm/TaskDisplayArea;
+HPLcom/android/server/wm/DisplayContent;->getTaskDisplayAreaCount()I
 HSPLcom/android/server/wm/DisplayContent;->getTopStack()Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/DisplayContent;->getTopStackInWindowingMode(I)Lcom/android/server/wm/ActivityStack;
 HPLcom/android/server/wm/DisplayContent;->getTouchableWinAtPointLocked(FF)Lcom/android/server/wm/WindowState;
@@ -39856,6 +42836,7 @@
 PLcom/android/server/wm/DisplayContent;->isRemoving()Z
 HSPLcom/android/server/wm/DisplayContent;->isSingleTaskInstance()Z
 HSPLcom/android/server/wm/DisplayContent;->isSleeping()Z
+PLcom/android/server/wm/DisplayContent;->isSplitScreenModeActivated()Z
 HSPLcom/android/server/wm/DisplayContent;->isStackVisible(I)Z
 HSPLcom/android/server/wm/DisplayContent;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
 HSPLcom/android/server/wm/DisplayContent;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
@@ -39867,6 +42848,10 @@
 HPLcom/android/server/wm/DisplayContent;->lambda$addToGlobalAndConsumeLimit$24([I[ILandroid/graphics/Region;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayContent;->lambda$addToGlobalAndConsumeLimit$25([I[ILandroid/graphics/Region;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayContent;->lambda$adjustForImeIfNeeded$12(Lcom/android/server/wm/Task;)Z
+HPLcom/android/server/wm/DisplayContent;->lambda$applyRotation$10$DisplayContent(ZLcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$applyRotation$9(Landroid/view/SurfaceControl$Transaction;IIZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$applyRotationAndClearFixedRotation$25$DisplayContent(ILcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayContent;->lambda$applyRotationAndClearFixedRotation$26$DisplayContent(II)V
 HPLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$10$DisplayContent(ZLcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$8(Landroid/view/SurfaceControl$Transaction;IIZLcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$9$DisplayContent(ZLcom/android/server/wm/WindowState;)V
@@ -39899,7 +42884,10 @@
 HPLcom/android/server/wm/DisplayContent;->lambda$new$6$DisplayContent(Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$7$DisplayContent(Lcom/android/server/wm/WindowState;)V
 HSPLcom/android/server/wm/DisplayContent;->lambda$new$8$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$notifyLocationInParentDisplayChanged$22(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DisplayContent;->lambda$notifyLocationInParentDisplayChanged$23(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$onRequestedOverrideConfigurationChanged$25$DisplayContent(II)V
+PLcom/android/server/wm/DisplayContent;->lambda$onRequestedOverrideConfigurationChanged$27$DisplayContent(II)V
 PLcom/android/server/wm/DisplayContent;->lambda$onWindowFreezeTimeout$21$DisplayContent(Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/DisplayContent;->lambda$onWindowFreezeTimeout$22$DisplayContent(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DisplayContent;->lambda$pointWithinAppWindow$10([IIILcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
@@ -39963,7 +42951,9 @@
 HSPLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
 HSPLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
 HSPLcom/android/server/wm/DisplayContent;->reconfigureDisplayLocked()V
+HPLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;II)I
 HSPLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;IILandroid/view/DisplayCutout;)I
+HPLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIII)I
 HSPLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIIILandroid/view/DisplayCutout;)I
 HPLcom/android/server/wm/DisplayContent;->reevaluateStatusBarVisibility()V
 HSPLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
@@ -40009,6 +42999,7 @@
 PLcom/android/server/wm/DisplayContent;->shouldDestroyContentOnRemove()Z
 HSPLcom/android/server/wm/DisplayContent;->shouldSleep()Z
 PLcom/android/server/wm/DisplayContent;->shouldWaitForSystemDecorWindowsOnBoot()Z
+PLcom/android/server/wm/DisplayContent;->startFixedRotationTransform(Lcom/android/server/wm/WindowToken;I)V
 HPLcom/android/server/wm/DisplayContent;->startKeyguardExitOnNonAppWindows(ZZZ)V
 HSPLcom/android/server/wm/DisplayContent;->statusBarVisibilityChanged(I)V
 HPLcom/android/server/wm/DisplayContent;->supportsSystemDecorations()Z
@@ -40029,6 +43020,7 @@
 HPLcom/android/server/wm/DisplayContent;->updateImeControlTarget(Lcom/android/server/wm/InsetsControlTarget;)V
 HPLcom/android/server/wm/DisplayContent;->updateImeControlTarget(Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/DisplayContent;->updateImeParent()V
+PLcom/android/server/wm/DisplayContent;->updateLaunchRootTask(I)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/DisplayContent;->updateLaunchTile(I)Lcom/android/server/wm/TaskTile;
 PLcom/android/server/wm/DisplayContent;->updateLocation(Lcom/android/server/wm/WindowState;II)V
 HSPLcom/android/server/wm/DisplayContent;->updateOrientation()Z
@@ -40072,10 +43064,14 @@
 HSPLcom/android/server/wm/DisplayPolicy;-><clinit>()V
 HSPLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/DisplayPolicy;->access$000(Lcom/android/server/wm/DisplayPolicy;)Landroid/view/accessibility/AccessibilityManager;
+PLcom/android/server/wm/DisplayPolicy;->access$100(Lcom/android/server/wm/DisplayPolicy;)Ljava/lang/Object;
 PLcom/android/server/wm/DisplayPolicy;->access$100(Lcom/android/server/wm/DisplayPolicy;Z)V
 PLcom/android/server/wm/DisplayPolicy;->access$1000(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/DisplayPolicy;->access$1000(Lcom/android/server/wm/DisplayPolicy;)Z
+PLcom/android/server/wm/DisplayPolicy;->access$1100(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/SystemGesturesPointerEventListener;
 PLcom/android/server/wm/DisplayPolicy;->access$1100(Lcom/android/server/wm/DisplayPolicy;)Z
 PLcom/android/server/wm/DisplayPolicy;->access$1200(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/SystemGesturesPointerEventListener;
+PLcom/android/server/wm/DisplayPolicy;->access$1200(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowManagerService;
 HPLcom/android/server/wm/DisplayPolicy;->access$1300(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowManagerService;
 PLcom/android/server/wm/DisplayPolicy;->access$1400(Lcom/android/server/wm/DisplayPolicy;)Landroid/os/Handler;
 PLcom/android/server/wm/DisplayPolicy;->access$1500(Lcom/android/server/wm/DisplayPolicy;)I
@@ -40087,12 +43083,18 @@
 PLcom/android/server/wm/DisplayPolicy;->access$1800(Lcom/android/server/wm/DisplayPolicy;)Ljava/lang/Runnable;
 PLcom/android/server/wm/DisplayPolicy;->access$1902(Lcom/android/server/wm/DisplayPolicy;J)J
 PLcom/android/server/wm/DisplayPolicy;->access$200(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->access$200(Lcom/android/server/wm/DisplayPolicy;)Ljava/lang/Object;
 PLcom/android/server/wm/DisplayPolicy;->access$2000(I)Z
 PLcom/android/server/wm/DisplayPolicy;->access$2100(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/BarController;
 PLcom/android/server/wm/DisplayPolicy;->access$300(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->access$400(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/DisplayPolicy;->access$400(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DisplayPolicy;->access$500(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;)V
+PLcom/android/server/wm/DisplayPolicy;->access$500(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->access$600(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;)V
 PLcom/android/server/wm/DisplayPolicy;->access$800(Lcom/android/server/wm/DisplayPolicy;)I
+PLcom/android/server/wm/DisplayPolicy;->access$900(Lcom/android/server/wm/DisplayPolicy;)I
+PLcom/android/server/wm/DisplayPolicy;->access$900(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/DisplayContent;
 PLcom/android/server/wm/DisplayPolicy;->access$900(Lcom/android/server/wm/DisplayPolicy;)Ljava/lang/Object;
 HSPLcom/android/server/wm/DisplayPolicy;->addWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
 HSPLcom/android/server/wm/DisplayPolicy;->adjustSystemUiVisibilityLw(I)I
@@ -40126,6 +43128,7 @@
 HSPLcom/android/server/wm/DisplayPolicy;->getCurrentUserResources()Landroid/content/res/Resources;
 HSPLcom/android/server/wm/DisplayPolicy;->getDisplayId()I
 HPLcom/android/server/wm/DisplayPolicy;->getDockMode()I
+PLcom/android/server/wm/DisplayPolicy;->getForceShowSystemBars()Z
 PLcom/android/server/wm/DisplayPolicy;->getForwardedInsets()Landroid/graphics/Insets;
 HSPLcom/android/server/wm/DisplayPolicy;->getImpliedSysUiFlagsForLayout(Landroid/view/WindowManager$LayoutParams;)I
 HSPLcom/android/server/wm/DisplayPolicy;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
@@ -40163,6 +43166,7 @@
 HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z
 HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardShowing()Z
 PLcom/android/server/wm/DisplayPolicy;->isNavBarEmpty(I)Z
+PLcom/android/server/wm/DisplayPolicy;->isNavigationBarRequestedVisible()Z
 HPLcom/android/server/wm/DisplayPolicy;->isPersistentVrModeEnabled()Z
 HSPLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z
 HSPLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z
@@ -40171,8 +43175,10 @@
 PLcom/android/server/wm/DisplayPolicy;->isTopLayoutFullscreen()Z
 HSPLcom/android/server/wm/DisplayPolicy;->isWindowExcludedFromContent(Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z
+HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$2$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$3$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$4$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$4(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$5$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$5(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$6$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
@@ -40180,17 +43186,25 @@
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$8$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$9$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$10$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
+HPLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$11$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 PLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$12$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 PLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$8$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 PLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$9$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
+HPLcom/android/server/wm/DisplayPolicy;->lambda$canToastShowWhenLocked$1(ILcom/android/server/wm/WindowState;)Z
 HPLcom/android/server/wm/DisplayPolicy;->lambda$canToastShowWhenLocked$2(ILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->lambda$new$0$DisplayPolicy()V
 PLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$10$DisplayPolicy()V
 PLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$11$DisplayPolicy()V
+PLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$12$DisplayPolicy()V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$13$DisplayPolicy()V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$9$DisplayPolicy()V
+PLcom/android/server/wm/DisplayPolicy;->lambda$simulateLayoutDisplay$10$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$simulateLayoutDisplay$9$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;I)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$updateHideNavInputEventReceiver$11$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
 HSPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$10$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HSPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$11$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$12$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
+HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$13$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$14$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
 HSPLcom/android/server/wm/DisplayPolicy;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;IZZZZ)Z
 HSPLcom/android/server/wm/DisplayPolicy;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;IZZZZZ)Z
@@ -40224,6 +43238,8 @@
 PLcom/android/server/wm/DisplayPolicy;->setNavBarOpaqueFlag(I)I
 HSPLcom/android/server/wm/DisplayPolicy;->setNavBarTransparentFlag(I)I
 PLcom/android/server/wm/DisplayPolicy;->setPointerLocationEnabled(Z)V
+PLcom/android/server/wm/DisplayPolicy;->simulateLayoutDecorWindow(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;Landroid/view/InsetsState;Lcom/android/server/wm/WindowFrames;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/DisplayPolicy;->simulateLayoutDisplay(Lcom/android/server/wm/DisplayFrames;Landroid/view/InsetsState;I)V
 PLcom/android/server/wm/DisplayPolicy;->supportsPointerLocation()Z
 PLcom/android/server/wm/DisplayPolicy;->switchUser()V
 HSPLcom/android/server/wm/DisplayPolicy;->systemReady()V
@@ -40232,6 +43248,7 @@
 HSPLcom/android/server/wm/DisplayPolicy;->updateConfigurationAndScreenSizeDependentBehaviors()V
 HSPLcom/android/server/wm/DisplayPolicy;->updateCurrentUserResources()V
 PLcom/android/server/wm/DisplayPolicy;->updateDreamingSleepToken(Z)V
+HPLcom/android/server/wm/DisplayPolicy;->updateHideNavInputEventReceiver(ZZ)V
 HSPLcom/android/server/wm/DisplayPolicy;->updateInsetsStateForDisplayCutout(Lcom/android/server/wm/DisplayFrames;Landroid/view/InsetsState;)V
 HPLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarAppearanceLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
 HSPLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
@@ -40246,7 +43263,9 @@
 PLcom/android/server/wm/DisplayRotation$1;->run()V
 HSPLcom/android/server/wm/DisplayRotation$2;-><init>(Lcom/android/server/wm/DisplayRotation;)V
 HPLcom/android/server/wm/DisplayRotation$2;->continueRotateDisplay(ILandroid/view/WindowContainerTransaction;)V
+HPLcom/android/server/wm/DisplayRotation$2;->continueRotateDisplay(ILandroid/window/WindowContainerTransaction;)V
 PLcom/android/server/wm/DisplayRotation$2;->lambda$continueRotateDisplay$0(Ljava/lang/Object;ILandroid/view/WindowContainerTransaction;)V
+PLcom/android/server/wm/DisplayRotation$2;->lambda$continueRotateDisplay$0(Ljava/lang/Object;ILandroid/window/WindowContainerTransaction;)V
 PLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;-><init>(Lcom/android/server/wm/DisplayRotation$OrientationListener;I)V
 HPLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;->run()V
 HSPLcom/android/server/wm/DisplayRotation$OrientationListener;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/content/Context;Landroid/os/Handler;)V
@@ -40262,6 +43281,7 @@
 HSPLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayWindowSettings;Landroid/content/Context;Ljava/lang/Object;)V
 PLcom/android/server/wm/DisplayRotation;->access$100(Lcom/android/server/wm/DisplayRotation;)I
 PLcom/android/server/wm/DisplayRotation;->access$200(Lcom/android/server/wm/DisplayRotation;ILandroid/view/WindowContainerTransaction;)V
+PLcom/android/server/wm/DisplayRotation;->access$200(Lcom/android/server/wm/DisplayRotation;ILandroid/window/WindowContainerTransaction;)V
 PLcom/android/server/wm/DisplayRotation;->access$300(Lcom/android/server/wm/DisplayRotation;)Lcom/android/server/wm/WindowManagerService;
 PLcom/android/server/wm/DisplayRotation;->access$400(Lcom/android/server/wm/DisplayRotation;)I
 PLcom/android/server/wm/DisplayRotation;->access$500(Lcom/android/server/wm/DisplayRotation;I)Z
@@ -40273,6 +43293,7 @@
 PLcom/android/server/wm/DisplayRotation;->applyCurrentRotation(I)V
 HSPLcom/android/server/wm/DisplayRotation;->configure(IIII)V
 HPLcom/android/server/wm/DisplayRotation;->continueRotation(ILandroid/view/WindowContainerTransaction;)V
+HPLcom/android/server/wm/DisplayRotation;->continueRotation(ILandroid/window/WindowContainerTransaction;)V
 HSPLcom/android/server/wm/DisplayRotation;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
 PLcom/android/server/wm/DisplayRotation;->freezeRotation(I)V
 PLcom/android/server/wm/DisplayRotation;->getCurrentAppOrientation()I
@@ -40404,6 +43425,7 @@
 HSPLcom/android/server/wm/DockedStackDividerController;->setWindow(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DockedStackDividerController;->startImeAdjustAnimation(ZZLcom/android/server/wm/WindowState;)V
 HSPLcom/android/server/wm/DockedStackDividerController;->wasVisible()Z
+PLcom/android/server/wm/DragAndDropPermissionsHandler;-><init>(Landroid/content/ClipData;ILjava/lang/String;III)V
 HSPLcom/android/server/wm/DragDropController$1;-><init>(Lcom/android/server/wm/DragDropController;)V
 HSPLcom/android/server/wm/DragDropController$DragHandler;-><init>(Lcom/android/server/wm/DragDropController;Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
 PLcom/android/server/wm/DragDropController$DragHandler;->handleMessage(Landroid/os/Message;)V
@@ -40574,12 +43596,15 @@
 PLcom/android/server/wm/InputConsumerImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;I)V
 PLcom/android/server/wm/InputConsumerImpl;->binderDied()V
 PLcom/android/server/wm/InputConsumerImpl;->disposeChannelsLw()V
+PLcom/android/server/wm/InputConsumerImpl;->disposeChannelsLw(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/InputConsumerImpl;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/wm/InputConsumerImpl;->getLayerLw(I)I
 HPLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;II)V
 HPLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/InputConsumerImpl;->linkToDeathRecipient()V
+HPLcom/android/server/wm/InputConsumerImpl;->reparent(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/InputConsumerImpl;->show(Landroid/view/SurfaceControl$Transaction;I)V
 HPLcom/android/server/wm/InputConsumerImpl;->show(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/InputConsumerImpl;->unlinkFromDeathRecipient()V
 PLcom/android/server/wm/InputManagerCallback$1;-><init>(Lcom/android/server/wm/InputManagerCallback;Ljava/lang/Runnable;Ljava/util/concurrent/CountDownLatch;JLjava/lang/String;[Z)V
@@ -40598,6 +43623,7 @@
 HPLcom/android/server/wm/InputManagerCallback;->interceptMotionBeforeQueueingNonInteractive(IJI)I
 PLcom/android/server/wm/InputManagerCallback;->isWindowAboveSystem(Lcom/android/server/wm/WindowState;)Z
 PLcom/android/server/wm/InputManagerCallback;->notifyANR(Landroid/view/InputApplicationHandle;Landroid/os/IBinder;Ljava/lang/String;)J
+PLcom/android/server/wm/InputManagerCallback;->notifyANRInner(Landroid/view/InputApplicationHandle;Landroid/os/IBinder;Ljava/lang/String;)J
 HSPLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V
 HPLcom/android/server/wm/InputManagerCallback;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)Z
 PLcom/android/server/wm/InputManagerCallback;->notifyInputChannelBroken(Landroid/os/IBinder;)V
@@ -40610,7 +43636,7 @@
 HSPLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z
 PLcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/InputMonitor;Landroid/os/Looper;Ljava/lang/String;Landroid/view/InputEventReceiver$Factory;ILandroid/os/UserHandle;I)V
 PLcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;->dismiss()V
-PLcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;->dispose()V
+HPLcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;->dispose()V
 HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;)V
 HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$1;)V
 HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
@@ -40623,6 +43649,7 @@
 HSPLcom/android/server/wm/InputMonitor$UpdateInputWindows;->run()V
 HSPLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;I)V
 HSPLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InputMonitor;->access$000(Lcom/android/server/wm/InputMonitor;)Landroid/util/ArrayMap;
 HSPLcom/android/server/wm/InputMonitor;->access$000(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/WindowManagerService;
 HSPLcom/android/server/wm/InputMonitor;->access$100(Lcom/android/server/wm/InputMonitor;)Landroid/view/SurfaceControl$Transaction;
 HSPLcom/android/server/wm/InputMonitor;->access$1000(Lcom/android/server/wm/InputMonitor;)Landroid/graphics/Rect;
@@ -40648,7 +43675,7 @@
 HSPLcom/android/server/wm/InputMonitor;->access$600(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
 HSPLcom/android/server/wm/InputMonitor;->access$700(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
 PLcom/android/server/wm/InputMonitor;->addInputConsumer(Ljava/lang/String;Lcom/android/server/wm/InputConsumerImpl;)V
-PLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
+HPLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
 PLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/Looper;Ljava/lang/String;Landroid/view/InputEventReceiver$Factory;)Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;
 PLcom/android/server/wm/InputMonitor;->destroyInputConsumer(Ljava/lang/String;)Z
 PLcom/android/server/wm/InputMonitor;->disposeInputConsumer(Lcom/android/server/wm/InputConsumerImpl;)Z
@@ -40665,9 +43692,11 @@
 HSPLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/InputMonitor;->setInputFocusLw(Lcom/android/server/wm/WindowState;Z)V
 HSPLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
+PLcom/android/server/wm/InputMonitor;->updateInputWindowsImmediately()V
+PLcom/android/server/wm/InputMonitor;->updateInputWindowsImmediately(Landroid/view/SurfaceControl$Transaction;)V
 HSPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
 PLcom/android/server/wm/InsetsControlTarget;->canShowTransient()Z
-PLcom/android/server/wm/InsetsControlTarget;->getWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/InsetsControlTarget;->getWindow()Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/InsetsControlTarget;->notifyInsetsControlChanged()V
 PLcom/android/server/wm/InsetsControlTarget;->showInsets(IZ)V
 HSPLcom/android/server/wm/InsetsPolicy$1;-><init>(Lcom/android/server/wm/InsetsPolicy;)V
@@ -40676,32 +43705,46 @@
 PLcom/android/server/wm/InsetsPolicy$BarWindow;->access$100(Lcom/android/server/wm/InsetsPolicy$BarWindow;Z)V
 HPLcom/android/server/wm/InsetsPolicy$BarWindow;->setVisible(Z)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;-><init>(Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener;Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener;)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->access$100(Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;ILandroid/util/SparseArray;Z)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->access$200(Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;ILandroid/util/SparseArray;Z)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->access$500(Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;)Landroid/view/InsetsAnimationControlImpl;
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->access$600(Lcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;)Landroid/view/InsetsAnimationControlImpl;
 HPLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->applySurfaceParams([Landroid/view/SyncRtSurfaceTransactionApplier$SurfaceParams;)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->controlAnimationUnchecked(ILandroid/util/SparseArray;Z)V
 HPLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->getState()Landroid/view/InsetsState;
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->lambda$controlAnimationUnchecked$0$InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks(I)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->notifyFinished(Landroid/view/InsetsAnimationControlRunner;Z)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->releaseSurfaceControlFromRt(Landroid/view/SurfaceControl;)V
 HPLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->scheduleApplyChangeInsets()V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->scheduleApplyChangeInsets(Landroid/view/InsetsAnimationControlRunner;)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->startAnimation(Landroid/view/InsetsAnimationControlImpl;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks;->startAnimation(Landroid/view/InsetsAnimationControlImpl;Landroid/view/WindowInsetsAnimationControlListener;ILandroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;I)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener;-><init>(Lcom/android/server/wm/InsetsPolicy;ZLjava/lang/Runnable;)V
+PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener;-><init>(Lcom/android/server/wm/InsetsPolicy;ZLjava/lang/Runnable;I)V
 PLcom/android/server/wm/InsetsPolicy$InsetsPolicyAnimationControlListener;->onAnimationFinish()V
 HSPLcom/android/server/wm/InsetsPolicy$TransientControlTarget;-><init>(Lcom/android/server/wm/InsetsPolicy;)V
 HSPLcom/android/server/wm/InsetsPolicy$TransientControlTarget;-><init>(Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy$1;)V
 PLcom/android/server/wm/InsetsPolicy$TransientControlTarget;->notifyInsetsControlChanged()V
 HSPLcom/android/server/wm/InsetsPolicy;-><init>(Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsPolicy;->abortTransient()V
 PLcom/android/server/wm/InsetsPolicy;->access$200(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/DisplayContent;
 PLcom/android/server/wm/InsetsPolicy;->access$300(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/DisplayContent;
 PLcom/android/server/wm/InsetsPolicy;->access$300(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/DisplayPolicy;
 PLcom/android/server/wm/InsetsPolicy;->access$400(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/DisplayPolicy;
+PLcom/android/server/wm/InsetsPolicy;->access$400(Lcom/android/server/wm/InsetsPolicy;)Z
+PLcom/android/server/wm/InsetsPolicy;->access$402(Lcom/android/server/wm/InsetsPolicy;Z)Z
+PLcom/android/server/wm/InsetsPolicy;->access$500(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/InsetsPolicy;->access$500(Lcom/android/server/wm/InsetsPolicy;)Z
+PLcom/android/server/wm/InsetsPolicy;->access$600(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/InsetsPolicy;->access$600(Lcom/android/server/wm/InsetsPolicy;)[F
 PLcom/android/server/wm/InsetsPolicy;->access$700(Lcom/android/server/wm/InsetsPolicy;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/InsetsPolicy;->access$700(Lcom/android/server/wm/InsetsPolicy;)[F
 PLcom/android/server/wm/InsetsPolicy;->access$800(Lcom/android/server/wm/InsetsPolicy;)[F
 HSPLcom/android/server/wm/InsetsPolicy;->areSystemBarsForciblyVisible()Z
 HPLcom/android/server/wm/InsetsPolicy;->checkAbortTransient(Lcom/android/server/wm/WindowState;Landroid/view/InsetsState;)V
 PLcom/android/server/wm/InsetsPolicy;->controlAnimationUnchecked(ILandroid/util/SparseArray;ZLjava/lang/Runnable;)V
-PLcom/android/server/wm/InsetsPolicy;->forceShowsNavigationBarTransiently()Z
-PLcom/android/server/wm/InsetsPolicy;->forceShowsStatusBarTransiently()Z
+HPLcom/android/server/wm/InsetsPolicy;->forceShowsNavigationBarTransiently()Z
+HPLcom/android/server/wm/InsetsPolicy;->forceShowsStatusBarTransiently()Z
 HPLcom/android/server/wm/InsetsPolicy;->forceShowsSystemBarsForWindowingMode()Z
 HSPLcom/android/server/wm/InsetsPolicy;->getFakeNavControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
 HSPLcom/android/server/wm/InsetsPolicy;->getFakeStatusControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
@@ -40720,8 +43763,10 @@
 PLcom/android/server/wm/InsetsPolicy;->showTransient(Landroid/util/IntArray;)V
 PLcom/android/server/wm/InsetsPolicy;->startAnimation(Landroid/util/IntArray;ZLjava/lang/Runnable;)V
 HPLcom/android/server/wm/InsetsPolicy;->startAnimation(ZLjava/lang/Runnable;)V
+PLcom/android/server/wm/InsetsPolicy;->startAnimation(ZLjava/lang/Runnable;Landroid/view/InsetsState;)V
 HSPLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;-><init>(Lcom/android/server/wm/InsetsSourceProvider;)V
+PLcom/android/server/wm/InsetsPolicy;->updateHideNavInputEventReceiver()V
+HPLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;-><init>(Lcom/android/server/wm/InsetsSourceProvider;)V
 PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;-><init>(Lcom/android/server/wm/InsetsSourceProvider;Lcom/android/server/wm/InsetsSourceProvider$1;)V
 PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->access$100(Lcom/android/server/wm/InsetsSourceProvider$ControlAdapter;)Landroid/view/SurfaceControl;
 PLcom/android/server/wm/InsetsSourceProvider$ControlAdapter;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
@@ -40737,6 +43782,8 @@
 PLcom/android/server/wm/InsetsSourceProvider;->access$400(Lcom/android/server/wm/InsetsSourceProvider;)Lcom/android/server/wm/InsetsStateController;
 PLcom/android/server/wm/InsetsSourceProvider;->access$500(Lcom/android/server/wm/InsetsSourceProvider;Z)V
 PLcom/android/server/wm/InsetsSourceProvider;->access$602(Lcom/android/server/wm/InsetsSourceProvider;Landroid/view/InsetsSourceControl;)Landroid/view/InsetsSourceControl;
+HPLcom/android/server/wm/InsetsSourceProvider;->createSimulatedSource(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowFrames;)Landroid/view/InsetsSource;
+PLcom/android/server/wm/InsetsSourceProvider;->finishSeamlessRotation(Z)V
 PLcom/android/server/wm/InsetsSourceProvider;->getControl(Lcom/android/server/wm/InsetsControlTarget;)Landroid/view/InsetsSourceControl;
 PLcom/android/server/wm/InsetsSourceProvider;->getControlTarget()Lcom/android/server/wm/InsetsControlTarget;
 PLcom/android/server/wm/InsetsSourceProvider;->getImeOverrideFrame()Landroid/graphics/Rect;
@@ -40751,22 +43798,28 @@
 HPLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V
 HPLcom/android/server/wm/InsetsSourceProvider;->setWindow(Lcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
 HPLcom/android/server/wm/InsetsSourceProvider;->setWindow(Lcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/wm/InsetsSourceProvider;->startSeamlessRotation()V
 PLcom/android/server/wm/InsetsSourceProvider;->updateControlForFakeTarget(Lcom/android/server/wm/InsetsControlTarget;)V
 HPLcom/android/server/wm/InsetsSourceProvider;->updateControlForTarget(Lcom/android/server/wm/InsetsControlTarget;Z)V
 HPLcom/android/server/wm/InsetsSourceProvider;->updateSourceFrame()V
 HPLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V
 HSPLcom/android/server/wm/InsetsStateController$1;-><init>(Lcom/android/server/wm/InsetsStateController;)V
 HSPLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/InsetsStateController;->addToControlMaps(Lcom/android/server/wm/InsetsControlTarget;IZ)V
+HPLcom/android/server/wm/InsetsStateController;->addToControlMaps(Lcom/android/server/wm/InsetsControlTarget;IZ)V
+HPLcom/android/server/wm/InsetsStateController;->computeSimulatedState(Landroid/view/InsetsState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowFrames;)V
 HSPLcom/android/server/wm/InsetsStateController;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
 HPLcom/android/server/wm/InsetsStateController;->getControlsForDispatch(Lcom/android/server/wm/InsetsControlTarget;)[Landroid/view/InsetsSourceControl;
 HSPLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;
 HSPLcom/android/server/wm/InsetsStateController;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsStateController;->getInsetsForDispatchInner(IIZZ)Landroid/view/InsetsState;
 HPLcom/android/server/wm/InsetsStateController;->getInsetsForType(I)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsStateController;->getInsetsForTypeAndWindowingMode(II)Landroid/view/InsetsState;
+HPLcom/android/server/wm/InsetsStateController;->getInsetsForTypeAndWindowingMode(IIZ)Landroid/view/InsetsState;
 PLcom/android/server/wm/InsetsStateController;->getInsetsForWindowMetrics(Landroid/view/WindowManager$LayoutParams;)Landroid/view/InsetsState;
 PLcom/android/server/wm/InsetsStateController;->getInsetsTypeForWindowType(I)I
 HSPLcom/android/server/wm/InsetsStateController;->getRawInsetsState()Landroid/view/InsetsState;
 HSPLcom/android/server/wm/InsetsStateController;->getSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
+HPLcom/android/server/wm/InsetsStateController;->isAboveIme(Lcom/android/server/wm/WindowContainer;)Z
 PLcom/android/server/wm/InsetsStateController;->isFakeTarget(ILcom/android/server/wm/InsetsControlTarget;)Z
 HPLcom/android/server/wm/InsetsStateController;->lambda$addToControlMaps$3(Lcom/android/server/wm/InsetsControlTarget;)Ljava/util/ArrayList;
 HPLcom/android/server/wm/InsetsStateController;->lambda$addToControlMaps$4(Lcom/android/server/wm/InsetsControlTarget;)Ljava/util/ArrayList;
@@ -40817,6 +43870,7 @@
 PLcom/android/server/wm/KeyguardController;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLcom/android/server/wm/KeyguardController;->dumpDisplayStates(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HSPLcom/android/server/wm/KeyguardController;->endActivityVisibilityUpdate()V
+PLcom/android/server/wm/KeyguardController;->failCallback(Lcom/android/internal/policy/IKeyguardDismissCallback;)V
 HSPLcom/android/server/wm/KeyguardController;->getDisplay(I)Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;
 PLcom/android/server/wm/KeyguardController;->handleDismissKeyguard()V
 HPLcom/android/server/wm/KeyguardController;->handleOccludedChanged(I)V
@@ -40895,9 +43949,11 @@
 PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;->onPackageRemoved(Ljava/lang/String;I)V
 HPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;-><init>(Lcom/android/server/wm/LaunchParamsPersister;)V
 HPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;-><init>(Lcom/android/server/wm/LaunchParamsPersister;Lcom/android/server/wm/LaunchParamsPersister$1;)V
+HPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->restore(Ljava/io/File;Lorg/xmlpull/v1/XmlPullParser;)V
 HPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityStackSupervisor;)V
 HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityStackSupervisor;Ljava/util/function/IntFunction;)V
+PLcom/android/server/wm/LaunchParamsPersister;->addComponentNameToLaunchParamAffinityMapIfNotNull(Landroid/content/ComponentName;Ljava/lang/String;)V
 PLcom/android/server/wm/LaunchParamsPersister;->getLaunchParamFolder(I)Ljava/io/File;
 HSPLcom/android/server/wm/LaunchParamsPersister;->getLaunchParams(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
 PLcom/android/server/wm/LaunchParamsPersister;->getParamFile(Ljava/io/File;Landroid/content/ComponentName;)Ljava/io/File;
@@ -40976,6 +44032,7 @@
 HSPLcom/android/server/wm/LockTaskController;->isTaskWhitelisted(Lcom/android/server/wm/Task;)Z
 PLcom/android/server/wm/LockTaskController;->lambda$removeLockedTask$0$LockTaskController(Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/LockTaskController;->lambda$setLockTaskMode$1$LockTaskController(Landroid/content/Intent;Lcom/android/server/wm/Task;I)V
+PLcom/android/server/wm/LockTaskController;->lambda$updateLockTaskFeatures$2$LockTaskController(I)V
 PLcom/android/server/wm/LockTaskController;->lockKeyguardIfNeeded()V
 HSPLcom/android/server/wm/LockTaskController;->lockTaskModeToString()Ljava/lang/String;
 PLcom/android/server/wm/LockTaskController;->performStartLockTask(Ljava/lang/String;II)V
@@ -41011,7 +44068,7 @@
 HSPLcom/android/server/wm/PersisterQueue;-><clinit>()V
 HSPLcom/android/server/wm/PersisterQueue;-><init>()V
 HSPLcom/android/server/wm/PersisterQueue;-><init>(JJ)V
-PLcom/android/server/wm/PersisterQueue;->access$100(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
+HPLcom/android/server/wm/PersisterQueue;->access$100(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
 HPLcom/android/server/wm/PersisterQueue;->access$200(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
 HPLcom/android/server/wm/PersisterQueue;->access$300(Lcom/android/server/wm/PersisterQueue;)V
 HPLcom/android/server/wm/PersisterQueue;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
@@ -41065,6 +44122,7 @@
 HSPLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(Z)V
 HSPLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(ZZ)V
 PLcom/android/server/wm/PinnedStackController;->notifyPrepareAnimation(Landroid/graphics/Rect;FLandroid/graphics/Rect;)V
+HPLcom/android/server/wm/PinnedStackController;->onActivityHidden(Landroid/content/ComponentName;)V
 HSPLcom/android/server/wm/PinnedStackController;->onConfigurationChanged()V
 HSPLcom/android/server/wm/PinnedStackController;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
 PLcom/android/server/wm/PinnedStackController;->onTaskStackBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
@@ -41277,7 +44335,7 @@
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->dumpDebug(Landroid/util/proto/ProtoOutputStream;)V
 HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getDurationHint()J
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getShowWallpaper()Z
+HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getShowWallpaper()Z
 HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getStatusBarTransitionsStartTime()J
 HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
 HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;ILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
@@ -41435,6 +44493,8 @@
 HSPLcom/android/server/wm/RootActivityContainer;->updateUIDsPresentOnDisplay()V
 PLcom/android/server/wm/RootActivityContainer;->updateUserStack(ILcom/android/server/wm/ActivityStack;)V
 HSPLcom/android/server/wm/RootWindowContainer$1;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer$1;->lambda$run$0(Ljava/lang/Object;Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/RootWindowContainer$1;->run()V
 HSPLcom/android/server/wm/RootWindowContainer$FindTaskResult;-><init>()V
 HSPLcom/android/server/wm/RootWindowContainer$FindTaskResult;->apply(Lcom/android/server/wm/Task;)Ljava/lang/Boolean;
 HSPLcom/android/server/wm/RootWindowContainer$FindTaskResult;->apply(Ljava/lang/Object;)Ljava/lang/Object;
@@ -41454,6 +44514,7 @@
 HPLcom/android/server/wm/RootWindowContainer$SleepTokenImpl;->toString()Ljava/lang/String;
 HSPLcom/android/server/wm/RootWindowContainer;-><clinit>()V
 HSPLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RootWindowContainer;->access$000(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/RootWindowContainer;->access$200(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/RootWindowContainer$SleepTokenImpl;)V
 HPLcom/android/server/wm/RootWindowContainer;->addStartingWindowsForVisibleActivities()V
 HSPLcom/android/server/wm/RootWindowContainer;->allPausedActivitiesComplete()Z
@@ -41463,10 +44524,12 @@
 HSPLcom/android/server/wm/RootWindowContainer;->anyTaskForId(II)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/RootWindowContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/RootWindowContainer;->applySleepTokens(Z)V
+HPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction()V
 HSPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction(Z)V
 HSPLcom/android/server/wm/RootWindowContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
 HSPLcom/android/server/wm/RootWindowContainer;->calculateDefaultMinimalSizeOfResizeableTasks()V
 HSPLcom/android/server/wm/RootWindowContainer;->canLaunchOnDisplay(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/RootWindowContainer;->canShowStrictModeViolation(I)Z
 HSPLcom/android/server/wm/RootWindowContainer;->canStartHomeOnDisplay(Landroid/content/pm/ActivityInfo;IZ)Z
 HSPLcom/android/server/wm/RootWindowContainer;->cancelInitializingActivities()V
 HSPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V
@@ -41476,6 +44539,7 @@
 HSPLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
 HSPLcom/android/server/wm/RootWindowContainer;->createSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
 PLcom/android/server/wm/RootWindowContainer;->deferUpdateBounds(I)V
+PLcom/android/server/wm/RootWindowContainer;->destroyActivity(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/RootWindowContainer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/wm/RootWindowContainer;->dumpActivities(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;)Z
 PLcom/android/server/wm/RootWindowContainer;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V
@@ -41503,6 +44567,7 @@
 HSPLcom/android/server/wm/RootWindowContainer;->getCurrentInputMethodWindow()Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/RootWindowContainer;->getDefaultDisplay()Lcom/android/server/wm/DisplayContent;
 PLcom/android/server/wm/RootWindowContainer;->getDefaultDisplayHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/RootWindowContainer;->getDefaultTaskDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
 HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
 HPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(Ljava/lang/String;)Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContentOrCreate(I)Lcom/android/server/wm/DisplayContent;
@@ -41515,6 +44580,7 @@
 PLcom/android/server/wm/RootWindowContainer;->getName()Ljava/lang/String;
 HPLcom/android/server/wm/RootWindowContainer;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
 PLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;IIIZZLandroid/util/ArraySet;)V
+PLcom/android/server/wm/RootWindowContainer;->getRunningTasks(ILjava/util/List;ZIZZLandroid/util/ArraySet;)V
 HPLcom/android/server/wm/RootWindowContainer;->getStack(I)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/RootWindowContainer;->getStack(II)Lcom/android/server/wm/ActivityStack;
 HPLcom/android/server/wm/RootWindowContainer;->getStackInfo(I)Landroid/app/ActivityManager$StackInfo;
@@ -41527,7 +44593,7 @@
 HSPLcom/android/server/wm/RootWindowContainer;->getValidLaunchStackOnDisplay(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
 HSPLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
 HSPLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/RootWindowContainer;->handleAppCrash(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;)V
+HPLcom/android/server/wm/RootWindowContainer;->handleAppCrash(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;)V
 HPLcom/android/server/wm/RootWindowContainer;->handleAppCrash(Lcom/android/server/wm/WindowProcessController;)V
 HSPLcom/android/server/wm/RootWindowContainer;->handleAppDied(Lcom/android/server/wm/WindowProcessController;)Z
 HSPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
@@ -41550,6 +44616,7 @@
 PLcom/android/server/wm/RootWindowContainer;->lambda$addStartingWindowsForVisibleActivities$10(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/RootWindowContainer;->lambda$addStartingWindowsForVisibleActivities$11(Lcom/android/server/wm/ActivityRecord;)V
 PLcom/android/server/wm/RootWindowContainer;->lambda$bRRfWu3QSW54eS51jCvFD02TPt8(Lcom/android/server/wm/ActivityRecord;IZLandroid/content/Intent;Landroid/content/ComponentName;)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$canShowStrictModeViolation$6(ILcom/android/server/wm/WindowState;)Z
 PLcom/android/server/wm/RootWindowContainer;->lambda$closeSystemDialogs$11(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/RootWindowContainer;->lambda$closeSystemDialogs$12(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/RootWindowContainer;->lambda$dumpDebug$10(Landroid/util/proto/ProtoOutputStream;ILcom/android/server/wm/WindowState;)V
@@ -41578,7 +44645,9 @@
 HSPLcom/android/server/wm/RootWindowContainer;->onDisplayChanged(I)V
 HPLcom/android/server/wm/RootWindowContainer;->onDisplayRemoved(I)V
 HSPLcom/android/server/wm/RootWindowContainer;->onSettingsRetrieved()V
+HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement()V
 HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement(Z)V
+HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacementNoTrace()V
 HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacementNoTrace(Z)V
 HSPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;Z)V
@@ -41602,6 +44671,7 @@
 HSPLcom/android/server/wm/RootWindowContainer;->resumeFocusedStacksTopActivities(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
 HPLcom/android/server/wm/RootWindowContainer;->resumeHomeActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z
 HSPLcom/android/server/wm/RootWindowContainer;->scheduleAnimation()V
+HPLcom/android/server/wm/RootWindowContainer;->scheduleDestroyAllActivities(Ljava/lang/String;)V
 HSPLcom/android/server/wm/RootWindowContainer;->sendPowerHintForLaunchEndIfNeeded()V
 HSPLcom/android/server/wm/RootWindowContainer;->sendPowerHintForLaunchStartIfNeeded(ZLcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/RootWindowContainer;->setDisplayOverrideConfigurationIfNeeded(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
@@ -41633,6 +44703,7 @@
 HPLcom/android/server/wm/RunningTasks;->createRunningTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$RunningTaskInfo;
 HPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILcom/android/server/wm/RootActivityContainer;IZZLandroid/util/ArraySet;)V
 HPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILcom/android/server/wm/RootWindowContainer;IZZLandroid/util/ArraySet;)V
+HPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;ZLcom/android/server/wm/RootWindowContainer;IZZLandroid/util/ArraySet;)V
 HPLcom/android/server/wm/RunningTasks;->lambda$hR_Ryk91b0B2BdJN9eCfQfPwC3g(Lcom/android/server/wm/RunningTasks;Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/RunningTasks;->lambda$static$0(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;)I
 HPLcom/android/server/wm/RunningTasks;->processTask(Lcom/android/server/wm/Task;)V
@@ -41650,7 +44721,7 @@
 HSPLcom/android/server/wm/SafeActivityOptions;->setCallingPidUidForRemoteAnimationAdapter(Landroid/app/ActivityOptions;II)V
 PLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController$1;-><init>(Lcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController;JLandroid/animation/ArgbEvaluator;II[FI)V
 HPLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController$1;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
-PLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController$1;->getDuration()J
+HPLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController$1;->getDuration()J
 HPLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController;-><init>(Lcom/android/server/wm/ScreenRotationAnimation;)V
 HPLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController;->cancel()V
 HPLcom/android/server/wm/ScreenRotationAnimation$SurfaceRotationAnimationController;->createWindowAnimationSpec(Landroid/view/animation/Animation;)Lcom/android/server/wm/WindowAnimationSpec;
@@ -41712,6 +44783,7 @@
 HSPLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V
 HPLcom/android/server/wm/Session;->actionOnWallpaper(Landroid/os/IBinder;Ljava/util/function/BiConsumer;)V
 HSPLcom/android/server/wm/Session;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
+HPLcom/android/server/wm/Session;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)I
 HPLcom/android/server/wm/Session;->binderDied()V
 PLcom/android/server/wm/Session;->cancelAlertWindowNotification()V
 PLcom/android/server/wm/Session;->dragRecipientEntered(Landroid/view/IWindow;)V
@@ -41726,8 +44798,11 @@
 HPLcom/android/server/wm/Session;->hasAlertWindowSurfaces(Lcom/android/server/wm/DisplayContent;)Z
 HPLcom/android/server/wm/Session;->insetsModified(Landroid/view/IWindow;Landroid/view/InsetsState;)V
 HPLcom/android/server/wm/Session;->killSessionLocked()V
+PLcom/android/server/wm/Session;->lambda$setShouldZoomOutWallpaper$2(ZLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/Session;->lambda$setWallpaperPosition$0(FFFFLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;->lambda$setWallpaperZoomOut$1(FLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/Session;->lambda$wallpaperOffsetsComplete$1(Landroid/os/IBinder;Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/Session;->lambda$wallpaperOffsetsComplete$3(Landroid/os/IBinder;Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/Session;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
@@ -41738,6 +44813,7 @@
 HSPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
 HPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;)I
 HSPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;Landroid/view/SurfaceControl;)I
+HPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;Landroid/graphics/Point;Landroid/view/SurfaceControl;)I
 HPLcom/android/server/wm/Session;->remove(Landroid/view/IWindow;)V
 PLcom/android/server/wm/Session;->reparentDisplayContent(Landroid/view/IWindow;Landroid/view/SurfaceControl;I)V
 PLcom/android/server/wm/Session;->reportDropResult(Landroid/view/IWindow;Z)V
@@ -41746,11 +44822,13 @@
 HPLcom/android/server/wm/Session;->setHasOverlayUi(Z)V
 PLcom/android/server/wm/Session;->setInTouchMode(Z)V
 HPLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+PLcom/android/server/wm/Session;->setShouldZoomOutWallpaper(Landroid/os/IBinder;Z)V
 HPLcom/android/server/wm/Session;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
 HPLcom/android/server/wm/Session;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
+HPLcom/android/server/wm/Session;->setWallpaperZoomOut(Landroid/os/IBinder;F)V
 PLcom/android/server/wm/Session;->toString()Ljava/lang/String;
 HPLcom/android/server/wm/Session;->updateDisplayContentLocation(Landroid/view/IWindow;III)V
-PLcom/android/server/wm/Session;->updateInputChannel(Landroid/os/IBinder;ILandroid/view/SurfaceControl;I)V
+HPLcom/android/server/wm/Session;->updateInputChannel(Landroid/os/IBinder;ILandroid/view/SurfaceControl;I)V
 HPLcom/android/server/wm/Session;->updatePointerIcon(Landroid/view/IWindow;)V
 HPLcom/android/server/wm/Session;->updateTapExcludeRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
 HPLcom/android/server/wm/Session;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
@@ -41760,6 +44838,7 @@
 PLcom/android/server/wm/ShellRoot;->clear()V
 PLcom/android/server/wm/ShellRoot;->getSurfaceControl()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/ShellRoot;->lambda$new$0$ShellRoot(I)V
+PLcom/android/server/wm/ShellRoot;->startAnimation(Landroid/view/animation/Animation;)V
 HPLcom/android/server/wm/SimpleSurfaceAnimatable$Builder;-><init>()V
 PLcom/android/server/wm/SimpleSurfaceAnimatable$Builder;->access$000(Lcom/android/server/wm/SimpleSurfaceAnimatable$Builder;)I
 PLcom/android/server/wm/SimpleSurfaceAnimatable$Builder;->access$100(Lcom/android/server/wm/SimpleSurfaceAnimatable$Builder;)I
@@ -41813,6 +44892,10 @@
 HSPLcom/android/server/wm/StatusBarController;->getAppTransitionListener()Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
 HPLcom/android/server/wm/StatusBarController;->setTopAppHidesStatusBar(Z)V
 HPLcom/android/server/wm/StatusBarController;->skipAnimation()Z
+PLcom/android/server/wm/StrictModeFlash;-><init>(Ljava/util/function/Supplier;Lcom/android/server/wm/DisplayContent;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/StrictModeFlash;->drawIfNeeded()V
+PLcom/android/server/wm/StrictModeFlash;->positionSurface(IILandroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/StrictModeFlash;->setVisibility(ZLandroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/SurfaceAnimationRunner$1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
 HPLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HPLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationStart(Landroid/animation/Animator;)V
@@ -41857,11 +44940,13 @@
 HSPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
 HPLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIZ)Landroid/view/SurfaceControl;
 HPLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Lcom/android/server/wm/SurfaceAnimator$Animatable;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIIIIZ)Landroid/view/SurfaceControl;
+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;
 HPLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Lcom/android/server/wm/SurfaceAnimator$Animatable;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIIIZ)Landroid/view/SurfaceControl;
 PLcom/android/server/wm/SurfaceAnimator;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/wm/SurfaceAnimator;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 PLcom/android/server/wm/SurfaceAnimator;->endDelayingAnimationStart()V
 HPLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/SurfaceAnimator;->getAnimationType()I
 HSPLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
 HSPLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Ljava/lang/Runnable;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
 HSPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
@@ -41916,6 +45001,7 @@
 HSPLcom/android/server/wm/Task$TaskActivitiesReport;->reset()V
 HSPLcom/android/server/wm/Task$TaskFactory;-><init>()V
 HSPLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/Task;
 PLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZIILcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
 PLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;Ljava/lang/String;IZZZIILcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
@@ -41932,12 +45018,14 @@
 HSPLcom/android/server/wm/Task;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/Task;->alignToAdjustedBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
 HSPLcom/android/server/wm/Task;->asTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->asTile()Lcom/android/server/wm/TaskTile;
 HPLcom/android/server/wm/Task;->autoRemoveFromRecents()Z
 HSPLcom/android/server/wm/Task;->calculateInsetFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayInfo;)V
 HSPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
 PLcom/android/server/wm/Task;->canBeLaunchedOnDisplay(I)Z
 HPLcom/android/server/wm/Task;->canCreateRemoteAnimationTarget()Z
 PLcom/android/server/wm/Task;->canResizeToBounds(Landroid/graphics/Rect;)Z
+HPLcom/android/server/wm/Task;->canSpecifyOrientation()Z
 HPLcom/android/server/wm/Task;->cleanUpActivityReferences(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/Task;->cleanUpResourcesForDestroy()V
 HPLcom/android/server/wm/Task;->cleanUpResourcesForDestroy(Lcom/android/server/wm/ConfigurationContainer;)V
@@ -41945,12 +45033,14 @@
 HSPLcom/android/server/wm/Task;->clearRootProcess()V
 HPLcom/android/server/wm/Task;->closeRecentsChain()V
 HSPLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/view/DisplayInfo;)V
 HSPLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/view/DisplayInfo;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V
 HSPLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V
 HSPLcom/android/server/wm/Task;->computeFullscreenBounds(Landroid/graphics/Rect;Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;I)V
 HSPLcom/android/server/wm/Task;->computeMinUserPosition(II)I
 HSPLcom/android/server/wm/Task;->computeScreenLayoutOverride(III)I
 HSPLcom/android/server/wm/Task;->create(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->create(Lcom/android/server/wm/ActivityTaskManagerService;IILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
 HPLcom/android/server/wm/Task;->createRemoteAnimationTarget(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;)Landroid/view/RemoteAnimationTarget;
 HSPLcom/android/server/wm/Task;->cropWindowsToStackBounds()Z
@@ -41980,16 +45070,21 @@
 HPLcom/android/server/wm/Task;->getDescendantTaskCount()I
 HSPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/Task;->getDimmer()Lcom/android/server/wm/Dimmer;
+HPLcom/android/server/wm/Task;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
+HPLcom/android/server/wm/Task;->getDisplayArea()Lcom/android/server/wm/TaskDisplayArea;
 HSPLcom/android/server/wm/Task;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/Task;->getDisplayId()I
 HSPLcom/android/server/wm/Task;->getDisplayedBounds()Landroid/graphics/Rect;
 PLcom/android/server/wm/Task;->getDragResizeMode()I
+PLcom/android/server/wm/Task;->getHasBeenVisible()Z
 HPLcom/android/server/wm/Task;->getInactiveDuration()J
 HSPLcom/android/server/wm/Task;->getLaunchBounds()Landroid/graphics/Rect;
 PLcom/android/server/wm/Task;->getMainWindowSizeChangeTransaction()Landroid/view/SurfaceControl$Transaction;
 HSPLcom/android/server/wm/Task;->getName()Ljava/lang/String;
 HSPLcom/android/server/wm/Task;->getNumRunningActivities(Lcom/android/server/wm/Task$TaskActivitiesReport;)V
+HPLcom/android/server/wm/Task;->getOrientation(I)I
 HSPLcom/android/server/wm/Task;->getOverrideDisplayedBounds()Landroid/graphics/Rect;
+HPLcom/android/server/wm/Task;->getProtoFieldId()J
 HSPLcom/android/server/wm/Task;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
 HSPLcom/android/server/wm/Task;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/Task;->getRootActivity()Lcom/android/server/wm/ActivityRecord;
@@ -41997,7 +45092,7 @@
 HSPLcom/android/server/wm/Task;->getRootActivity(ZZ)Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/Task;->getRootTask()Lcom/android/server/wm/Task;
 HSPLcom/android/server/wm/Task;->getRootTaskId()I
-PLcom/android/server/wm/Task;->getShadowRadius(Z)F
+HPLcom/android/server/wm/Task;->getShadowRadius(Z)F
 HPLcom/android/server/wm/Task;->getSmallestScreenWidthDpForDockedBounds(Landroid/graphics/Rect;)I
 PLcom/android/server/wm/Task;->getSnapshot(ZZ)Landroid/app/ActivityManager$TaskSnapshot;
 HSPLcom/android/server/wm/Task;->getStack()Lcom/android/server/wm/ActivityStack;
@@ -42013,13 +45108,16 @@
 HSPLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;
 HPLcom/android/server/wm/Task;->getTopVisibleAppMainWindow()Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/Task;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->invalidateAppBoundsConfig(Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/Task;->isClearingToReuseTask()Z
 HSPLcom/android/server/wm/Task;->isControlledByTaskOrganizer()Z
 HPLcom/android/server/wm/Task;->isDragResizing()Z
 HSPLcom/android/server/wm/Task;->isFloating()Z
 PLcom/android/server/wm/Task;->isFocused()Z
+PLcom/android/server/wm/Task;->isForceHidden()Z
 HSPLcom/android/server/wm/Task;->isLeafTask()Z
 HPLcom/android/server/wm/Task;->isOpaqueActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/Task;->isOrganized()Z
 HSPLcom/android/server/wm/Task;->isResizeable()Z
 HSPLcom/android/server/wm/Task;->isResizeable(Z)Z
 HSPLcom/android/server/wm/Task;->isRootTask()Z
@@ -42067,6 +45165,7 @@
 HSPLcom/android/server/wm/Task;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
 PLcom/android/server/wm/Task;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
 HSPLcom/android/server/wm/Task;->onSurfaceShown(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Task;->onTaskOrganizerChanged()V
 HSPLcom/android/server/wm/Task;->onWindowFocusChanged(Z)V
 HPLcom/android/server/wm/Task;->onlyHasTaskOverlayActivities(Z)Z
 HPLcom/android/server/wm/Task;->performClearTaskAtIndexLocked(Ljava/lang/String;)V
@@ -42092,6 +45191,7 @@
 PLcom/android/server/wm/Task;->replaceWindowsOnTaskMove(II)Z
 PLcom/android/server/wm/Task;->resize(Landroid/graphics/Rect;IZZ)Z
 PLcom/android/server/wm/Task;->resize(ZZ)V
+PLcom/android/server/wm/Task;->resolveOrganizedOverrideConfiguration(Landroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/Task;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
 HSPLcom/android/server/wm/Task;->resolveTileOverrideConfiguration(Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/Task;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/Task;
@@ -42103,19 +45203,25 @@
 HSPLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded(Lcom/android/server/wm/DisplayContent;)V
 HPLcom/android/server/wm/Task;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/wm/Task;->sendTaskAppeared()V
+PLcom/android/server/wm/Task;->sendTaskVanished()V
+PLcom/android/server/wm/Task;->setActivityWindowingMode(I)V
 HSPLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
 PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;Z)I
 PLcom/android/server/wm/Task;->setCanAffectSystemUiFlags(Z)V
 PLcom/android/server/wm/Task;->setDragResizing(ZI)V
+PLcom/android/server/wm/Task;->setForceHidden(IZ)Z
 HSPLcom/android/server/wm/Task;->setForceShowForAllUsers(Z)V
+PLcom/android/server/wm/Task;->setHasBeenVisible(Z)V
 HSPLcom/android/server/wm/Task;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
 HSPLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
 HSPLcom/android/server/wm/Task;->setLockTaskAuth()V
 HSPLcom/android/server/wm/Task;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->setMainWindowSizeChangeTransaction(Landroid/view/SurfaceControl$Transaction;)V
 HSPLcom/android/server/wm/Task;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V
 PLcom/android/server/wm/Task;->setNextAffiliate(Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/Task;->setOverrideDisplayedBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->setPictureInPictureParams(Landroid/app/PictureInPictureParams;)V
 PLcom/android/server/wm/Task;->setPrevAffiliate(Lcom/android/server/wm/Task;)V
 HSPLcom/android/server/wm/Task;->setResumedActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
 HSPLcom/android/server/wm/Task;->setRootProcess(Lcom/android/server/wm/WindowProcessController;)V
@@ -42125,6 +45231,7 @@
 PLcom/android/server/wm/Task;->setTaskDockedResizing(Z)V
 HSPLcom/android/server/wm/Task;->setTaskFactory(Lcom/android/server/wm/Task$TaskFactory;)V
 HSPLcom/android/server/wm/Task;->setTaskOrganizer(Landroid/view/ITaskOrganizer;)V
+PLcom/android/server/wm/Task;->setTaskOrganizer(Landroid/window/ITaskOrganizer;)Z
 PLcom/android/server/wm/Task;->setWindowingMode(I)V
 HPLcom/android/server/wm/Task;->shouldDeferRemoval()Z
 HSPLcom/android/server/wm/Task;->shouldStartChangeTransition(II)Z
@@ -42133,6 +45240,7 @@
 HPLcom/android/server/wm/Task;->stopDimming()V
 HSPLcom/android/server/wm/Task;->supportsSplitScreenWindowingMode()Z
 HSPLcom/android/server/wm/Task;->supportsSplitScreenWindowingModeInner()Z
+PLcom/android/server/wm/Task;->taskAppearedReady()Z
 PLcom/android/server/wm/Task;->taskOrganizerDied()V
 HPLcom/android/server/wm/Task;->toString()Ljava/lang/String;
 HSPLcom/android/server/wm/Task;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
@@ -42145,6 +45253,8 @@
 HSPLcom/android/server/wm/Task;->updateSurfacePosition()V
 HSPLcom/android/server/wm/Task;->updateTaskDescription()V
 HSPLcom/android/server/wm/Task;->updateTaskMovement(Z)V
+HPLcom/android/server/wm/Task;->updateTaskOrganizerState(Z)V
+HPLcom/android/server/wm/Task;->updateTaskOrganizerState(Z)Z
 HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;-><init>(Lcom/android/server/wm/TaskChangeNotificationController;Landroid/os/Looper;)V
 HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/server/wm/TaskChangeNotificationController;-><init>(Ljava/lang/Object;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Handler;)V
@@ -42196,6 +45306,7 @@
 HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$25(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$3(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HSPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$5(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$6(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 HPLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$7(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
 PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$8(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
@@ -42204,6 +45315,7 @@
 PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityForcedResizable(IILjava/lang/String;)V
 PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityPinned(Lcom/android/server/wm/ActivityRecord;)V
 HPLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityRequestedOrientationChanged(II)V
+HPLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityRestartAttempt(Landroid/app/ActivityManager$RunningTaskInfo;ZZ)V
 PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityUnpinned()V
 PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedActivityRestartAttempt(Z)V
 PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedStackAnimationEnded()V
@@ -42225,6 +45337,163 @@
 HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V
 HSPLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
 HPLcom/android/server/wm/TaskChangeNotificationController;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/TaskContainers;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/TaskContainers;->addChild(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/TaskContainers;->addStack(Lcom/android/server/wm/ActivityStack;I)V
+HPLcom/android/server/wm/TaskContainers;->addStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+HPLcom/android/server/wm/TaskContainers;->allResumedActivitiesComplete()Z
+HPLcom/android/server/wm/TaskContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/TaskContainers;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/TaskContainers;->createStack(IIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->createStackUnchecked(IIIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->findPositionForStack(ILcom/android/server/wm/ActivityStack;Z)I
+HPLcom/android/server/wm/TaskContainers;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/RootWindowContainer$FindTaskResult;)V
+HPLcom/android/server/wm/TaskContainers;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/TaskContainers;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/TaskContainers;->getFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getHomeActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskContainers;->getHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskContainers;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
+PLcom/android/server/wm/TaskContainers;->getLastFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getNextStackId()I
+PLcom/android/server/wm/TaskContainers;->getOrCreateRootHomeTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getOrCreateStack(IIZLandroid/content/Intent;Lcom/android/server/wm/Task;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;IZ)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->getOrientation(I)I
+HPLcom/android/server/wm/TaskContainers;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskContainers;->getRootHomeTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getRootPinnedTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getRootSplitScreenPrimaryTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getSplitScreenDividerAnchor()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/TaskContainers;->getStack(I)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->getStack(II)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->getStackAt(I)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->getStackCount()I
+PLcom/android/server/wm/TaskContainers;->getTopStack()Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskContainers;->getTopStackInWindowingMode(I)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskContainers;->getVisibleTasks()Ljava/util/ArrayList;
+PLcom/android/server/wm/TaskContainers;->isHomeActivityForUser(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/TaskContainers;->isSplitScreenModeActivated()Z
+HPLcom/android/server/wm/TaskContainers;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/TaskContainers;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/TaskContainers;->isWindowingModeSupported(IZZZZI)Z
+PLcom/android/server/wm/TaskContainers;->lambda$_ESmy8lGTnG7nYvjr73ww_q-Aio(Lcom/android/server/wm/ActivityRecord;I)Z
+HPLcom/android/server/wm/TaskContainers;->lambda$getVisibleTasks$0(Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskContainers;->lambda$onParentChanged$1$TaskContainers()V
+PLcom/android/server/wm/TaskContainers;->moveHomeActivityToTop(Ljava/lang/String;)V
+PLcom/android/server/wm/TaskContainers;->moveHomeStackToFront(Ljava/lang/String;)V
+HPLcom/android/server/wm/TaskContainers;->moveStackBehindBottomMostVisibleStack(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->moveStackBehindStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/TaskContainers;->onStackRemoved(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->onStackWindowingModeChanged(Lcom/android/server/wm/ActivityStack;)V
+HPLcom/android/server/wm/TaskContainers;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskContainers;->positionChildAt(ILcom/android/server/wm/ActivityStack;Z)V
+HPLcom/android/server/wm/TaskContainers;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/TaskContainers;->positionStackAt(ILcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/TaskContainers;->positionStackAt(Lcom/android/server/wm/ActivityStack;I)V
+HPLcom/android/server/wm/TaskContainers;->positionStackAt(Lcom/android/server/wm/ActivityStack;IZLjava/lang/String;)V
+PLcom/android/server/wm/TaskContainers;->positionStackAtBottom(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->positionStackAtBottom(Lcom/android/server/wm/ActivityStack;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskContainers;->positionStackAtTop(Lcom/android/server/wm/ActivityStack;ZLjava/lang/String;)V
+PLcom/android/server/wm/TaskContainers;->removeChild(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/TaskContainers;->removeExistingAppTokensIfPossible()V
+PLcom/android/server/wm/TaskContainers;->removeStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskContainers;->resolveWindowingMode(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;I)I
+HPLcom/android/server/wm/TaskContainers;->setExitingTokensHasVisible(Z)V
+HPLcom/android/server/wm/TaskContainers;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskContainers;->updateLaunchRootTask(I)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskContainers;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;I)I
+PLcom/android/server/wm/TaskDisplayArea;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/TaskDisplayArea;->addChild(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/TaskDisplayArea;->addStack(Lcom/android/server/wm/ActivityStack;I)V
+HPLcom/android/server/wm/TaskDisplayArea;->addStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+HPLcom/android/server/wm/TaskDisplayArea;->allResumedActivitiesComplete()Z
+HPLcom/android/server/wm/TaskDisplayArea;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/TaskDisplayArea;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/TaskDisplayArea;->canCreateRemoteAnimationTarget()Z
+PLcom/android/server/wm/TaskDisplayArea;->createStack(IIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->createStackUnchecked(IIIZLandroid/content/pm/ActivityInfo;Landroid/content/Intent;Z)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
+HPLcom/android/server/wm/TaskDisplayArea;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+HPLcom/android/server/wm/TaskDisplayArea;->findPositionForStack(ILcom/android/server/wm/ActivityStack;Z)I
+HPLcom/android/server/wm/TaskDisplayArea;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/RootWindowContainer$FindTaskResult;)V
+HPLcom/android/server/wm/TaskDisplayArea;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/TaskDisplayArea;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/TaskDisplayArea;->getDisplayId()I
+HPLcom/android/server/wm/TaskDisplayArea;->getFocusedActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskDisplayArea;->getFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getHomeActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskDisplayArea;->getHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskDisplayArea;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
+PLcom/android/server/wm/TaskDisplayArea;->getLastFocusedStack()Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getNextStackId()I
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateRootHomeTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateStack(IIZLandroid/content/Intent;Lcom/android/server/wm/Task;)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getOrCreateStack(IIZLandroid/content/Intent;Lcom/android/server/wm/Task;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;IZ)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getOrientation(I)I
+HPLcom/android/server/wm/TaskDisplayArea;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskDisplayArea;->getRootHomeTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getRootPinnedTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getRootSplitScreenPrimaryTask()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getSplitScreenDividerAnchor()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/TaskDisplayArea;->getStack(I)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getStack(II)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getStackAbove(Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getStackAt(I)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getStackCount()I
+HPLcom/android/server/wm/TaskDisplayArea;->getTopStack()Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/TaskDisplayArea;->getTopStackInWindowingMode(I)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/TaskDisplayArea;->getVisibleTasks()Ljava/util/ArrayList;
+PLcom/android/server/wm/TaskDisplayArea;->hasPinnedTask()Z
+PLcom/android/server/wm/TaskDisplayArea;->isHomeActivityForUser(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/TaskDisplayArea;->isRemoved()Z
+HPLcom/android/server/wm/TaskDisplayArea;->isSplitScreenModeActivated()Z
+HPLcom/android/server/wm/TaskDisplayArea;->isStackVisible(I)Z
+HPLcom/android/server/wm/TaskDisplayArea;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/TaskDisplayArea;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/TaskDisplayArea;->isWindowingModeSupported(IZZZZI)Z
+PLcom/android/server/wm/TaskDisplayArea;->lambda$XcH01_sSElIBkfdzcfbGZuAMtmk(Lcom/android/server/wm/ActivityRecord;I)Z
+HPLcom/android/server/wm/TaskDisplayArea;->lambda$getVisibleTasks$0(Ljava/util/ArrayList;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskDisplayArea;->lambda$onParentChanged$1$TaskDisplayArea()V
+PLcom/android/server/wm/TaskDisplayArea;->moveHomeActivityToTop(Ljava/lang/String;)V
+PLcom/android/server/wm/TaskDisplayArea;->moveHomeStackToFront(Ljava/lang/String;)V
+HPLcom/android/server/wm/TaskDisplayArea;->moveStackBehindBottomMostVisibleStack(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->moveStackBehindStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/TaskDisplayArea;->onStackOrderChanged(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->onStackRemoved(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->onStackWindowingModeChanged(Lcom/android/server/wm/ActivityStack;)V
+HPLcom/android/server/wm/TaskDisplayArea;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/TaskDisplayArea;->positionChildAt(ILcom/android/server/wm/ActivityStack;Z)V
+HPLcom/android/server/wm/TaskDisplayArea;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+HPLcom/android/server/wm/TaskDisplayArea;->positionStackAt(ILcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/TaskDisplayArea;->positionStackAt(Lcom/android/server/wm/ActivityStack;I)V
+HPLcom/android/server/wm/TaskDisplayArea;->positionStackAt(Lcom/android/server/wm/ActivityStack;IZLjava/lang/String;)V
+PLcom/android/server/wm/TaskDisplayArea;->positionStackAtBottom(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->positionStackAtBottom(Lcom/android/server/wm/ActivityStack;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskDisplayArea;->positionStackAtTop(Lcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/TaskDisplayArea;->positionStackAtTop(Lcom/android/server/wm/ActivityStack;ZLjava/lang/String;)V
+PLcom/android/server/wm/TaskDisplayArea;->prepareFreezingTaskBounds()V
+PLcom/android/server/wm/TaskDisplayArea;->registerStackOrderChangedListener(Lcom/android/server/wm/TaskDisplayArea$OnStackOrderChangedListener;)V
+PLcom/android/server/wm/TaskDisplayArea;->removeChild(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+HPLcom/android/server/wm/TaskDisplayArea;->removeExistingAppTokensIfPossible()V
+PLcom/android/server/wm/TaskDisplayArea;->removeStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/TaskDisplayArea;->removeStacksInWindowingModes([I)V
+PLcom/android/server/wm/TaskDisplayArea;->resolveWindowingMode(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;I)I
+HPLcom/android/server/wm/TaskDisplayArea;->setExitingTokensHasVisible(Z)V
+PLcom/android/server/wm/TaskDisplayArea;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/TaskDisplayArea;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskDisplayArea;->unregisterStackOrderChangedListener(Lcom/android/server/wm/TaskDisplayArea$OnStackOrderChangedListener;)V
+PLcom/android/server/wm/TaskDisplayArea;->updateLaunchRootTask(I)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/TaskDisplayArea;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;I)I
 HSPLcom/android/server/wm/TaskLaunchParamsModifier;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;)V
 HSPLcom/android/server/wm/TaskLaunchParamsModifier;->calculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
 HSPLcom/android/server/wm/TaskLaunchParamsModifier;->canApplyFreeformWindowPolicy(Lcom/android/server/wm/DisplayContent;I)Z
@@ -42234,27 +45503,67 @@
 HSPLcom/android/server/wm/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
 HSPLcom/android/server/wm/TaskLaunchParamsModifier;->outputLog()V
 PLcom/android/server/wm/TaskOrganizerController$DeathRecipient;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/view/ITaskOrganizer;I)V
+PLcom/android/server/wm/TaskOrganizerController$DeathRecipient;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/TaskOrganizerController$DeathRecipient;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;I)V
 HPLcom/android/server/wm/TaskOrganizerController$DeathRecipient;->binderDied()V
-PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/view/ITaskOrganizer;ILcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;-><init>(Lcom/android/server/wm/TaskOrganizerController;Lcom/android/server/wm/WindowManagerService;Landroid/window/ITaskOrganizer;Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->getBinder()Landroid/os/IBinder;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->lambda$onTaskInfoChanged$2$TaskOrganizerController$TaskOrganizerCallbacks(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$RunningTaskInfo;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;->onTaskInfoChanged(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$RunningTaskInfo;)V
+HPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/view/ITaskOrganizer;ILcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;I)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;-><init>(Lcom/android/server/wm/TaskOrganizerController;Landroid/window/ITaskOrganizer;ILcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->access$300(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Landroid/window/ITaskOrganizer;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->access$500(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerCallbacks;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->access$500(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)Ljava/util/ArrayList;
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->access$600(Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;)I
 PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->addTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->dispose()V
 PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->releaseTasks()V
 HPLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->removeTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;->unlinkDeath()V
+HSPLcom/android/server/wm/TaskOrganizerController;-><clinit>()V
 HSPLcom/android/server/wm/TaskOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
 HSPLcom/android/server/wm/TaskOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowManagerGlobalLock;)V
 PLcom/android/server/wm/TaskOrganizerController;->access$000(Lcom/android/server/wm/TaskOrganizerController;)Lcom/android/server/wm/WindowManagerGlobalLock;
+PLcom/android/server/wm/TaskOrganizerController;->access$100(Lcom/android/server/wm/TaskOrganizerController;)Ljava/util/HashMap;
+PLcom/android/server/wm/TaskOrganizerController;->access$200(Lcom/android/server/wm/TaskOrganizerController;)Landroid/util/SparseArray;
+PLcom/android/server/wm/TaskOrganizerController;->access$200(Lcom/android/server/wm/TaskOrganizerController;)Ljava/util/function/Consumer;
+PLcom/android/server/wm/TaskOrganizerController;->access$300(Lcom/android/server/wm/TaskOrganizerController;)Lcom/android/server/wm/ActivityTaskManagerService;
+PLcom/android/server/wm/TaskOrganizerController;->access$400(Lcom/android/server/wm/TaskOrganizerController;)Landroid/util/SparseArray;
 HPLcom/android/server/wm/TaskOrganizerController;->applyContainerTransaction(Landroid/view/WindowContainerTransaction;)V
 HPLcom/android/server/wm/TaskOrganizerController;->applyContainerTransaction(Landroid/view/WindowContainerTransaction;Landroid/view/ITaskOrganizer;)I
+HPLcom/android/server/wm/TaskOrganizerController;->applyContainerTransaction(Landroid/window/WindowContainerTransaction;Landroid/window/ITaskOrganizer;)I
 PLcom/android/server/wm/TaskOrganizerController;->applyWindowContainerChange(Lcom/android/server/wm/WindowContainer;Landroid/view/WindowContainerTransaction$Change;)I
+HPLcom/android/server/wm/TaskOrganizerController;->applyWindowContainerChange(Lcom/android/server/wm/WindowContainer;Landroid/window/WindowContainerTransaction$Change;)I
 HPLcom/android/server/wm/TaskOrganizerController;->createRootTask(II)Landroid/app/ActivityManager$RunningTaskInfo;
 HSPLcom/android/server/wm/TaskOrganizerController;->dispatchPendingTaskInfoChanges()V
 HPLcom/android/server/wm/TaskOrganizerController;->dispatchTaskInfoChanged(Lcom/android/server/wm/Task;Z)V
+HPLcom/android/server/wm/TaskOrganizerController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HPLcom/android/server/wm/TaskOrganizerController;->enforceStackPermission(Ljava/lang/String;)V
+PLcom/android/server/wm/TaskOrganizerController;->getChildTasks(Landroid/view/IWindowContainer;[I)Ljava/util/List;
+PLcom/android/server/wm/TaskOrganizerController;->getChildTasks(Landroid/window/IWindowContainer;[I)Ljava/util/List;
 HPLcom/android/server/wm/TaskOrganizerController;->getImeTarget(I)Landroid/view/IWindowContainer;
+HPLcom/android/server/wm/TaskOrganizerController;->getImeTarget(I)Landroid/window/IWindowContainer;
+PLcom/android/server/wm/TaskOrganizerController;->getRootTasks(I[I)Ljava/util/List;
 HSPLcom/android/server/wm/TaskOrganizerController;->getTaskOrganizer(I)Landroid/view/ITaskOrganizer;
+HPLcom/android/server/wm/TaskOrganizerController;->getTaskOrganizer(I)Landroid/window/ITaskOrganizer;
+PLcom/android/server/wm/TaskOrganizerController;->handleInterceptBackPressedOnTaskRoot(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/TaskOrganizerController;->lambda$registerTaskOrganizer$0(ILcom/android/server/wm/Task;)V
 PLcom/android/server/wm/TaskOrganizerController;->onTaskAppeared(Landroid/view/ITaskOrganizer;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController;->onTaskAppeared(Landroid/window/ITaskOrganizer;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskOrganizerController;->onTaskVanished(Landroid/window/ITaskOrganizer;Lcom/android/server/wm/Task;)V
 HPLcom/android/server/wm/TaskOrganizerController;->registerTaskOrganizer(Landroid/view/ITaskOrganizer;I)V
+HPLcom/android/server/wm/TaskOrganizerController;->registerTaskOrganizer(Landroid/window/ITaskOrganizer;I)V
 PLcom/android/server/wm/TaskOrganizerController;->resizePinnedStackIfNeeded(Lcom/android/server/wm/ConfigurationContainer;IILandroid/content/res/Configuration;)V
 PLcom/android/server/wm/TaskOrganizerController;->sanitizeAndApplyChange(Lcom/android/server/wm/WindowContainer;Landroid/view/WindowContainerTransaction$Change;)I
+HPLcom/android/server/wm/TaskOrganizerController;->sanitizeAndApplyChange(Lcom/android/server/wm/WindowContainer;Landroid/window/WindowContainerTransaction$Change;)I
+PLcom/android/server/wm/TaskOrganizerController;->sanitizeAndApplyHierarchyOp(Lcom/android/server/wm/WindowContainer;Landroid/view/WindowContainerTransaction$HierarchyOp;)I
+PLcom/android/server/wm/TaskOrganizerController;->sanitizeAndApplyHierarchyOp(Lcom/android/server/wm/WindowContainer;Landroid/window/WindowContainerTransaction$HierarchyOp;)I
+PLcom/android/server/wm/TaskOrganizerController;->setLaunchRoot(ILandroid/view/IWindowContainer;)V
+PLcom/android/server/wm/TaskOrganizerController;->setLaunchRoot(ILandroid/window/IWindowContainer;)V
+PLcom/android/server/wm/TaskOrganizerController;->unregisterTaskOrganizer(Landroid/window/ITaskOrganizer;)V
 PLcom/android/server/wm/TaskPersister$1;-><init>(Lcom/android/server/wm/TaskPersister;)V
 PLcom/android/server/wm/TaskPersister$1;->compare(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;)I
 PLcom/android/server/wm/TaskPersister$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
@@ -42382,7 +45691,10 @@
 HSPLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;)V
 HSPLcom/android/server/wm/TaskSnapshotPersister;->access$100(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/lang/Object;
 HPLcom/android/server/wm/TaskSnapshotPersister;->access$1000(Lcom/android/server/wm/TaskSnapshotPersister;)F
+PLcom/android/server/wm/TaskSnapshotPersister;->access$1000(Lcom/android/server/wm/TaskSnapshotPersister;)Z
+PLcom/android/server/wm/TaskSnapshotPersister;->access$1100(Lcom/android/server/wm/TaskSnapshotPersister;)F
 PLcom/android/server/wm/TaskSnapshotPersister;->access$1100(Lcom/android/server/wm/TaskSnapshotPersister;)Landroid/util/ArraySet;
+PLcom/android/server/wm/TaskSnapshotPersister;->access$1200(Lcom/android/server/wm/TaskSnapshotPersister;)Landroid/util/ArraySet;
 HSPLcom/android/server/wm/TaskSnapshotPersister;->access$200(Lcom/android/server/wm/TaskSnapshotPersister;)Z
 HSPLcom/android/server/wm/TaskSnapshotPersister;->access$300(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/util/ArrayDeque;
 HSPLcom/android/server/wm/TaskSnapshotPersister;->access$402(Lcom/android/server/wm/TaskSnapshotPersister;Z)Z
@@ -42441,10 +45753,14 @@
 HPLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
 HSPLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V
 HPLcom/android/server/wm/TaskTile;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;II)V
+PLcom/android/server/wm/TaskTile;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/TaskTile;->asTile()Lcom/android/server/wm/TaskTile;
 PLcom/android/server/wm/TaskTile;->createEmptyActivityInfo()Landroid/content/pm/ActivityInfo;
 PLcom/android/server/wm/TaskTile;->deferScheduleMultiWindowModeChanged()Z
 PLcom/android/server/wm/TaskTile;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V
 HPLcom/android/server/wm/TaskTile;->fillTaskInfo(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskTile;->forAllTileActivities(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/TaskTile;->forToken(Landroid/os/IBinder;)Lcom/android/server/wm/TaskTile;
 HPLcom/android/server/wm/TaskTile;->getActivityType()I
 HPLcom/android/server/wm/TaskTile;->getBounds()Landroid/graphics/Rect;
 HPLcom/android/server/wm/TaskTile;->getBounds(Landroid/graphics/Rect;)V
@@ -42458,12 +45774,14 @@
 HPLcom/android/server/wm/TaskTile;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
 HPLcom/android/server/wm/TaskTile;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
 HPLcom/android/server/wm/TaskTile;->removeAllChildren()V
+PLcom/android/server/wm/TaskTile;->removeChild(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/TaskTile;->removeImmediately()V
 HPLcom/android/server/wm/TaskTile;->resolveTileOverrideConfiguration(Landroid/content/res/Configuration;)V
 HPLcom/android/server/wm/TaskTile;->setBounds(Landroid/graphics/Rect;)I
 HPLcom/android/server/wm/TaskTile;->supportsSplitScreenWindowingMode()Z
 PLcom/android/server/wm/TaskTile;->taskOrganizerDied()V
 PLcom/android/server/wm/TaskTile;->toString()Ljava/lang/String;
+HPLcom/android/server/wm/TaskTile;->updateResolvedConfig(Landroid/content/res/Configuration;)V
 HPLcom/android/server/wm/TaskTile;->updateSurfacePosition()V
 HSPLcom/android/server/wm/UnknownAppVisibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
@@ -42513,6 +45831,7 @@
 HPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;)V
 HSPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
 HSPLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
+HPLcom/android/server/wm/WallpaperController;->computeLastWallpaperZoomOut()V
 HSPLcom/android/server/wm/WallpaperController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
 HSPLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V
 HSPLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
@@ -42525,25 +45844,31 @@
 HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
 HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/WallpaperController;->lambda$new$0$WallpaperController(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WallpaperController;->lambda$new$1$WallpaperController(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/WallpaperController;->lambda$updateWallpaperWindowsTarget$1(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->lambda$updateWallpaperWindowsTarget$2(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
 PLcom/android/server/wm/WallpaperController;->processWallpaperDrawPendingTimeout()Z
 PLcom/android/server/wm/WallpaperController;->removeWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
 PLcom/android/server/wm/WallpaperController;->sendWindowWallpaperCommand(Lcom/android/server/wm/WindowState;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
+PLcom/android/server/wm/WallpaperController;->setShouldZoomOutWallpaper(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/WallpaperController;->setWallpaperZoomOut(Lcom/android/server/wm/WindowState;F)V
 HPLcom/android/server/wm/WallpaperController;->setWindowWallpaperPosition(Lcom/android/server/wm/WindowState;FFFF)V
 HPLcom/android/server/wm/WallpaperController;->startWallpaperAnimation(Landroid/view/animation/Animation;)V
 HSPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;IIZ)Z
+HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;Z)Z
 HPLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V
 HSPLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(Z)V
 PLcom/android/server/wm/WallpaperController;->updateWallpaperVisibility()V
 HSPLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
 HPLcom/android/server/wm/WallpaperController;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
 HPLcom/android/server/wm/WallpaperController;->wallpaperTransitionReady()Z
+HPLcom/android/server/wm/WallpaperController;->zoomOutToScale(F)F
 HSPLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
 HSPLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/WallpaperVisibilityListeners;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
 PLcom/android/server/wm/WallpaperVisibilityListeners;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
 HSPLcom/android/server/wm/WallpaperWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZLcom/android/server/wm/DisplayContent;Z)V
-PLcom/android/server/wm/WallpaperWindowToken;->adjustWindowParams(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+HPLcom/android/server/wm/WallpaperWindowToken;->adjustWindowParams(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
 HPLcom/android/server/wm/WallpaperWindowToken;->forAllWallpaperWindows(Ljava/util/function/Consumer;)V
 HPLcom/android/server/wm/WallpaperWindowToken;->hasVisibleNotDrawnWallpaper()Z
 HSPLcom/android/server/wm/WallpaperWindowToken;->hideWallpaperToken(ZLjava/lang/String;)V
@@ -42552,6 +45877,7 @@
 HPLcom/android/server/wm/WallpaperWindowToken;->startAnimation(Landroid/view/animation/Animation;)V
 HSPLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
 HPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(IIZ)V
+HPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(Z)V
 HPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperVisibility(Z)V
 HSPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
 HPLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>()V
@@ -42598,6 +45924,8 @@
 HSPLcom/android/server/wm/WindowContainer$RemoteToken;-><init>(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/WindowContainer$RemoteToken;->fromBinder(Landroid/os/IBinder;)Lcom/android/server/wm/WindowContainer$RemoteToken;
 PLcom/android/server/wm/WindowContainer$RemoteToken;->getContainer()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer$RemoteToken;->getLeash()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer$RemoteToken;->toWindowContainerToken()Landroid/window/WindowContainerToken;
 HSPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
 HSPLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
 HSPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
@@ -42620,6 +45948,7 @@
 HSPLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
 HSPLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
 PLcom/android/server/wm/WindowContainer;->createRemoteAnimationTarget(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;)Landroid/view/RemoteAnimationTarget;
+HPLcom/android/server/wm/WindowContainer;->createSurfaceControl(Z)V
 HSPLcom/android/server/wm/WindowContainer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
 HSPLcom/android/server/wm/WindowContainer;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V
 HSPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;)V
@@ -42657,6 +45986,7 @@
 HSPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
 HSPLcom/android/server/wm/WindowContainer;->getChildCount()I
 HSPLcom/android/server/wm/WindowContainer;->getDimmer()Lcom/android/server/wm/Dimmer;
+HPLcom/android/server/wm/WindowContainer;->getDisplayArea()Lcom/android/server/wm/DisplayArea;
 HSPLcom/android/server/wm/WindowContainer;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
 HSPLcom/android/server/wm/WindowContainer;->getDisplayedBounds()Landroid/graphics/Rect;
 HSPLcom/android/server/wm/WindowContainer;->getLastOrientationSource()Lcom/android/server/wm/WindowContainer;
@@ -42669,6 +45999,7 @@
 HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
 HPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex()I
 HPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/WindowContainer;->getProtoFieldId()J
 HSPLcom/android/server/wm/WindowContainer;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
 PLcom/android/server/wm/WindowContainer;->getRemoteToken()Lcom/android/server/wm/WindowContainer$RemoteToken;
 HSPLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation()I
@@ -42691,10 +46022,13 @@
 HSPLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z
 HSPLcom/android/server/wm/WindowContainer;->isAnimating()Z
 HSPLcom/android/server/wm/WindowContainer;->isAnimating(I)Z
+HPLcom/android/server/wm/WindowContainer;->isAnimating(II)Z
+PLcom/android/server/wm/WindowContainer;->isAnimatingExcluding(II)Z
 HSPLcom/android/server/wm/WindowContainer;->isAppTransitioning()Z
 HPLcom/android/server/wm/WindowContainer;->isDescendantOf(Lcom/android/server/wm/WindowContainer;)Z
 HSPLcom/android/server/wm/WindowContainer;->isFocusable()Z
 HSPLcom/android/server/wm/WindowContainer;->isOnTop()Z
+HPLcom/android/server/wm/WindowContainer;->isOrganized()Z
 HSPLcom/android/server/wm/WindowContainer;->isVisible()Z
 HSPLcom/android/server/wm/WindowContainer;->isWaitingForTransitionStart()Z
 HPLcom/android/server/wm/WindowContainer;->lambda$getActivityAbove$1(Lcom/android/server/wm/ActivityRecord;)Z
@@ -42751,6 +46085,7 @@
 HPLcom/android/server/wm/WindowContainer;->resetDragResizingChangeReported()V
 HSPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
 HSPLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
+PLcom/android/server/wm/WindowContainer;->setFocusable(Z)Z
 HSPLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
 HSPLcom/android/server/wm/WindowContainer;->setOrientation(I)V
 HSPLcom/android/server/wm/WindowContainer;->setOrientation(ILandroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)V
@@ -42763,9 +46098,10 @@
 PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZI)V
 HPLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZILcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
 HPLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;ZLjava/lang/Runnable;)V
-PLcom/android/server/wm/WindowContainer;->switchUser(I)V
+HPLcom/android/server/wm/WindowContainer;->switchUser(I)V
 PLcom/android/server/wm/WindowContainer;->transferAnimation(Lcom/android/server/wm/WindowContainer;)V
 HSPLcom/android/server/wm/WindowContainer;->updateSurfacePosition()V
+HPLcom/android/server/wm/WindowContainer;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/WindowContainer;->waitForAllWindowsDrawn()V
 PLcom/android/server/wm/WindowContainerThumbnail;-><init>(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;Landroid/graphics/GraphicBuffer;ZLandroid/view/Surface;Lcom/android/server/wm/SurfaceAnimator;)V
 PLcom/android/server/wm/WindowContainerThumbnail;-><init>(Ljava/util/function/Supplier;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;Landroid/graphics/GraphicBuffer;)V
@@ -42870,6 +46206,7 @@
 PLcom/android/server/wm/WindowManagerService$LocalService;->getMagnificationRegion(ILandroid/graphics/Region;)V
 HPLcom/android/server/wm/WindowManagerService$LocalService;->getTopFocusedDisplayId()I
 PLcom/android/server/wm/WindowManagerService$LocalService;->getTopFocusedDisplayUiContext()Landroid/content/Context;
+HPLcom/android/server/wm/WindowManagerService$LocalService;->getWindowName(Landroid/os/IBinder;)Ljava/lang/String;
 HPLcom/android/server/wm/WindowManagerService$LocalService;->getWindowOwnerUserId(Landroid/os/IBinder;)I
 HPLcom/android/server/wm/WindowManagerService$LocalService;->hideIme(I)V
 HPLcom/android/server/wm/WindowManagerService$LocalService;->hideIme(Landroid/os/IBinder;)V
@@ -42924,6 +46261,7 @@
 PLcom/android/server/wm/WindowManagerService;->access$1002(Lcom/android/server/wm/WindowManagerService;F)F
 HSPLcom/android/server/wm/WindowManagerService;->access$1100(Lcom/android/server/wm/WindowManagerService;)V
 PLcom/android/server/wm/WindowManagerService;->access$1300(Lcom/android/server/wm/WindowManagerService;)Z
+PLcom/android/server/wm/WindowManagerService;->access$1300(Lcom/android/server/wm/WindowManagerService;II)V
 HPLcom/android/server/wm/WindowManagerService;->access$1400(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/RecentsAnimationController;
 PLcom/android/server/wm/WindowManagerService;->access$1400(Lcom/android/server/wm/WindowManagerService;)Z
 HPLcom/android/server/wm/WindowManagerService;->access$1500(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/RecentsAnimationController;
@@ -42947,6 +46285,7 @@
 PLcom/android/server/wm/WindowManagerService;->access$902(Lcom/android/server/wm/WindowManagerService;F)F
 PLcom/android/server/wm/WindowManagerService;->addShellRoot(ILandroid/view/IWindow;I)Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
+HPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)I
 HSPLcom/android/server/wm/WindowManagerService;->addWindowContextToken(Landroid/os/IBinder;IILjava/lang/String;)I
 HSPLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;II)V
 HPLcom/android/server/wm/WindowManagerService;->addWindowTokenWithOptions(Landroid/os/IBinder;IILandroid/os/Bundle;Ljava/lang/String;)I
@@ -42972,7 +46311,7 @@
 HSPLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
 HSPLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
 HSPLcom/android/server/wm/WindowManagerService;->createWatermark()V
-PLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;I)Z
+HPLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;I)Z
 HSPLcom/android/server/wm/WindowManagerService;->destroyPreservedSurfaceLocked()V
 HSPLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
 HSPLcom/android/server/wm/WindowManagerService;->dipToPixel(ILandroid/util/DisplayMetrics;)I
@@ -43021,8 +46360,10 @@
 HPLcom/android/server/wm/WindowManagerService;->getInitialDisplayDensity(I)I
 PLcom/android/server/wm/WindowManagerService;->getInitialDisplaySize(ILandroid/graphics/Point;)V
 HSPLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback;
+HPLcom/android/server/wm/WindowManagerService;->getInsetsSourceControls(Lcom/android/server/wm/WindowState;[Landroid/view/InsetsSourceControl;)V
 HSPLcom/android/server/wm/WindowManagerService;->getLidState()I
 PLcom/android/server/wm/WindowManagerService;->getNavBarPosition(I)I
+PLcom/android/server/wm/WindowManagerService;->getPreferredOptionsPanelGravity(I)I
 HSPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
 HSPLcom/android/server/wm/WindowManagerService;->getStableInsets(ILandroid/graphics/Rect;)V
 HSPLcom/android/server/wm/WindowManagerService;->getStableInsetsLocked(ILandroid/graphics/Rect;)V
@@ -43061,12 +46402,15 @@
 PLcom/android/server/wm/WindowManagerService;->isValidPictureInPictureAspectRatio(Lcom/android/server/wm/DisplayContent;F)Z
 PLcom/android/server/wm/WindowManagerService;->isWindowTraceEnabled()Z
 HPLcom/android/server/wm/WindowManagerService;->lambda$checkDrawnWindowsLocked$7$WindowManagerService(Lcom/android/server/wm/WindowContainer;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$dumpWindowsNoHeaderLocked$9$WindowManagerService(Ljava/io/PrintWriter;Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/WindowManagerService;->lambda$dumpWindowsNoHeaderLocked$9(Ljava/io/PrintWriter;Lcom/android/server/wm/DisplayContent;)V
 HSPLcom/android/server/wm/WindowManagerService;->lambda$main$1(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
 PLcom/android/server/wm/WindowManagerService;->lambda$new$0$WindowManagerService()V
 PLcom/android/server/wm/WindowManagerService;->lambda$onOverlayChanged$12(Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/WindowManagerService;->lambda$requestAssistScreenshot$3(Landroid/app/IAssistDataReceiver;Landroid/graphics/Bitmap;)V
 PLcom/android/server/wm/WindowManagerService;->lambda$setCurrentUser$2(ILcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$syncInputTransactions$14(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$syncInputTransactions$14(Lcom/android/server/wm/DisplayContent;)V
 HPLcom/android/server/wm/WindowManagerService;->lambda$updateNonSystemOverlayWindowsVisibilityIfNeeded$13(ZLcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/WindowManagerService;->lockNow(Landroid/os/Bundle;)V
 HSPLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/WindowManagerService;
@@ -43075,6 +46419,7 @@
 HSPLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/WindowManagerService;->modifyDisplayWindowInsets(ILandroid/view/InsetsState;)V
 HPLcom/android/server/wm/WindowManagerService;->monitor()V
+PLcom/android/server/wm/WindowManagerService;->moveDisplayToTop(I)V
 HSPLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
 PLcom/android/server/wm/WindowManagerService;->notifyHardKeyboardStatusChange()V
 PLcom/android/server/wm/WindowManagerService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
@@ -43117,6 +46462,7 @@
 HSPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
 HPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;)I
 HSPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/graphics/Point;Landroid/view/SurfaceControl;)I
+HPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;Landroid/graphics/Point;Landroid/view/SurfaceControl;)I
 HPLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
 HPLcom/android/server/wm/WindowManagerService;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
 HPLcom/android/server/wm/WindowManagerService;->removeWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
@@ -43143,6 +46489,7 @@
 HPLcom/android/server/wm/WindowManagerService;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
 PLcom/android/server/wm/WindowManagerService;->setDockedStackResizing(Z)V
 HSPLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
+PLcom/android/server/wm/WindowManagerService;->setForcedDisplayDensityForUser(III)V
 PLcom/android/server/wm/WindowManagerService;->setForwardedInsets(ILandroid/graphics/Insets;)V
 HSPLcom/android/server/wm/WindowManagerService;->setGlobalShadowSettings()V
 HSPLcom/android/server/wm/WindowManagerService;->setHoldScreenLocked(Lcom/android/server/wm/Session;)V
@@ -43165,11 +46512,14 @@
 PLcom/android/server/wm/WindowManagerService;->shouldShowSystemDecors(I)Z
 HSPLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
 PLcom/android/server/wm/WindowManagerService;->showRecentApps()V
+PLcom/android/server/wm/WindowManagerService;->showStrictModeViolation(II)V
+PLcom/android/server/wm/WindowManagerService;->showStrictModeViolation(Z)V
 PLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(II)V
 HSPLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(IILcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/WindowManagerService;->startFreezingScreen(II)V
 HSPLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
 PLcom/android/server/wm/WindowManagerService;->stopFreezingScreen()V
+PLcom/android/server/wm/WindowManagerService;->syncInputTransactions()V
 HSPLcom/android/server/wm/WindowManagerService;->systemReady()V
 PLcom/android/server/wm/WindowManagerService;->thawDisplayRotation(I)V
 PLcom/android/server/wm/WindowManagerService;->thawRotation()V
@@ -43184,13 +46534,14 @@
 HSPLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
 PLcom/android/server/wm/WindowManagerService;->updateHiddenWhileSuspendedState(Landroid/util/ArraySet;Z)V
 HPLcom/android/server/wm/WindowManagerService;->updateInputChannel(Landroid/os/IBinder;IIILandroid/view/SurfaceControl;Ljava/lang/String;Landroid/view/InputApplicationHandle;I)V
-PLcom/android/server/wm/WindowManagerService;->updateInputChannel(Landroid/os/IBinder;ILandroid/view/SurfaceControl;I)V
+HPLcom/android/server/wm/WindowManagerService;->updateInputChannel(Landroid/os/IBinder;ILandroid/view/SurfaceControl;I)V
 HSPLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
 HPLcom/android/server/wm/WindowManagerService;->updatePointerIcon(Landroid/view/IWindow;)V
 HSPLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
 HSPLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
 HPLcom/android/server/wm/WindowManagerService;->updateTapExcludeRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
 HSPLcom/android/server/wm/WindowManagerService;->useBLAST()Z
+PLcom/android/server/wm/WindowManagerService;->waitForAnimationsToComplete()V
 HPLcom/android/server/wm/WindowManagerService;->watchRotation(Landroid/view/IRotationWatcher;I)I
 HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
@@ -43199,8 +46550,10 @@
 PLcom/android/server/wm/WindowManagerShellCommand;->lambda$runDumpVisibleWindowViews$0(Ljava/util/ArrayList;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/WindowManagerShellCommand;->onCommand(Ljava/lang/String;)I
 PLcom/android/server/wm/WindowManagerShellCommand;->printInitialDisplayDensity(Ljava/io/PrintWriter;I)V
+PLcom/android/server/wm/WindowManagerShellCommand;->printInitialDisplaySize(Ljava/io/PrintWriter;I)V
 PLcom/android/server/wm/WindowManagerShellCommand;->runDismissKeyguard(Ljava/io/PrintWriter;)I
 PLcom/android/server/wm/WindowManagerShellCommand;->runDisplayDensity(Ljava/io/PrintWriter;)I
+PLcom/android/server/wm/WindowManagerShellCommand;->runDisplaySize(Ljava/io/PrintWriter;)I
 PLcom/android/server/wm/WindowManagerShellCommand;->runDumpVisibleWindowViews(Ljava/io/PrintWriter;)I
 HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V
 HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V
@@ -43208,6 +46561,14 @@
 HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
 PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setBoundsAnimationRunning(Z)V
 HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->updatePriorityLocked()V
+HSPLcom/android/server/wm/WindowOrganizerController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HPLcom/android/server/wm/WindowOrganizerController;->applySyncTransaction(Landroid/window/WindowContainerTransaction;Landroid/window/IWindowContainerTransactionCallback;)I
+PLcom/android/server/wm/WindowOrganizerController;->applyTransaction(Landroid/window/WindowContainerTransaction;)V
+PLcom/android/server/wm/WindowOrganizerController;->applyWindowContainerChange(Lcom/android/server/wm/WindowContainer;Landroid/window/WindowContainerTransaction$Change;)I
+PLcom/android/server/wm/WindowOrganizerController;->enforceStackPermission(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowOrganizerController;->getTaskOrganizerController()Landroid/window/ITaskOrganizerController;
+PLcom/android/server/wm/WindowOrganizerController;->resizePinnedStackIfNeeded(Lcom/android/server/wm/ConfigurationContainer;IILandroid/content/res/Configuration;)V
+HPLcom/android/server/wm/WindowOrganizerController;->sanitizeAndApplyChange(Lcom/android/server/wm/WindowContainer;Landroid/window/WindowContainerTransaction$Change;)I
 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
 HSPLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
 HSPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V
@@ -43250,6 +46611,7 @@
 PLcom/android/server/wm/WindowProcessController;->hasOverlayUi()Z
 PLcom/android/server/wm/WindowProcessController;->hasPendingUiClean()Z
 HSPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
+PLcom/android/server/wm/WindowProcessController;->hasResumedActivity()Z
 HPLcom/android/server/wm/WindowProcessController;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z
 HSPLcom/android/server/wm/WindowProcessController;->hasThread()Z
 PLcom/android/server/wm/WindowProcessController;->hasTopUi()Z
@@ -43353,6 +46715,8 @@
 HSPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
 HSPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
 PLcom/android/server/wm/WindowState$WindowId;->isFocused()Z
+PLcom/android/server/wm/WindowState$WindowId;->registerFocusObserver(Landroid/view/IWindowFocusObserver;)V
+PLcom/android/server/wm/WindowState$WindowId;->unregisterFocusObserver(Landroid/view/IWindowFocusObserver;)V
 HSPLcom/android/server/wm/WindowState;-><clinit>()V
 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;IILandroid/view/WindowManager$LayoutParams;IIZ)V
 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;IILandroid/view/WindowManager$LayoutParams;IIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V
@@ -43411,6 +46775,7 @@
 HSPLcom/android/server/wm/WindowState;->getBaseType()I
 HSPLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;
 HPLcom/android/server/wm/WindowState;->getClientInsetsState()Landroid/view/InsetsState;
+PLcom/android/server/wm/WindowState;->getClientViewRootSurface()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/WindowState;->getCompatFrame(Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/WindowState;->getCompatFrameSize(Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
@@ -43473,7 +46838,7 @@
 HPLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V
 HPLcom/android/server/wm/WindowState;->getVisibleBounds(Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/WindowState;->getVisibleFrameLw()Landroid/graphics/Rect;
-PLcom/android/server/wm/WindowState;->getWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getWindow()Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
 HSPLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames;
 HPLcom/android/server/wm/WindowState;->getWindowInfo()Landroid/view/WindowInfo;
@@ -43497,9 +46862,11 @@
 HSPLcom/android/server/wm/WindowState;->initAppOpsState()V
 HSPLcom/android/server/wm/WindowState;->initExclusionRestrictions()V
 HPLcom/android/server/wm/WindowState;->isAnimating(I)Z
+HPLcom/android/server/wm/WindowState;->isAnimating(II)Z
 HSPLcom/android/server/wm/WindowState;->isAnimatingLw()Z
 PLcom/android/server/wm/WindowState;->isAnimatingToRecents()Z
 HSPLcom/android/server/wm/WindowState;->isChildWindow()Z
+HPLcom/android/server/wm/WindowState;->isClientLocal()Z
 PLcom/android/server/wm/WindowState;->isClosing()Z
 HSPLcom/android/server/wm/WindowState;->isDimming()Z
 HSPLcom/android/server/wm/WindowState;->isDisplayedLw()Z
@@ -43509,6 +46876,7 @@
 PLcom/android/server/wm/WindowState;->isDragResizingChangeReported()Z
 HSPLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
 HSPLcom/android/server/wm/WindowState;->isDrawnLw()Z
+HPLcom/android/server/wm/WindowState;->isDreamWindow()Z
 HSPLcom/android/server/wm/WindowState;->isFocused()Z
 HSPLcom/android/server/wm/WindowState;->isFullyTransparent()Z
 HSPLcom/android/server/wm/WindowState;->isGoneForLayoutLw()Z
@@ -43576,6 +46944,7 @@
 HSPLcom/android/server/wm/WindowState;->prelayout()V
 HSPLcom/android/server/wm/WindowState;->prepareSurfaces()V
 HSPLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
+PLcom/android/server/wm/WindowState;->registerFocusObserver(Landroid/view/IWindowFocusObserver;)V
 HSPLcom/android/server/wm/WindowState;->registeredForDisplayConfigChanges()Z
 HSPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(II)I
 PLcom/android/server/wm/WindowState;->removeEmbeddedDisplayContent(Lcom/android/server/wm/DisplayContent;)Z
@@ -43612,6 +46981,7 @@
 HSPLcom/android/server/wm/WindowState;->setReportResizeHints()Z
 HSPLcom/android/server/wm/WindowState;->setRequestedSize(II)V
 PLcom/android/server/wm/WindowState;->setShowToOwnerOnlyLocked(Z)V
+PLcom/android/server/wm/WindowState;->setSimulatedWindowFrames(Lcom/android/server/wm/WindowFrames;)V
 HPLcom/android/server/wm/WindowState;->setSystemGestureExclusion(Ljava/util/List;)Z
 HSPLcom/android/server/wm/WindowState;->setTouchableRegionCropIfNeeded(Landroid/view/InputWindowHandle;)V
 PLcom/android/server/wm/WindowState;->setWaitingForDrawnIfResizingChanged()V
@@ -43634,13 +47004,14 @@
 HPLcom/android/server/wm/WindowState;->subtractInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/WindowState;->subtractTouchExcludeRegionIfNeeded(Landroid/graphics/Region;)V
 HPLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
-PLcom/android/server/wm/WindowState;->switchUser(I)V
+HPLcom/android/server/wm/WindowState;->switchUser(I)V
 HSPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
 HSPLcom/android/server/wm/WindowState;->transformClipRectFromScreenToSurfaceSpace(Landroid/graphics/Rect;)V
 HSPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
 HSPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V
 HPLcom/android/server/wm/WindowState;->translateToWindowX(F)F
 HPLcom/android/server/wm/WindowState;->translateToWindowY(F)F
+PLcom/android/server/wm/WindowState;->unregisterFocusObserver(Landroid/view/IWindowFocusObserver;)V
 HPLcom/android/server/wm/WindowState;->updateAppOpsState()V
 HSPLcom/android/server/wm/WindowState;->updateFrameRateSelectionPriorityIfNeeded()V
 HSPLcom/android/server/wm/WindowState;->updateLastFrames()V
@@ -43674,6 +47045,7 @@
 HPLcom/android/server/wm/WindowStateAnimator;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
 HSPLcom/android/server/wm/WindowStateAnimator;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked(Landroid/view/SurfaceControl$Transaction;)Z
+PLcom/android/server/wm/WindowStateAnimator;->getClientViewRootSurface()Landroid/view/SurfaceControl;
 HPLcom/android/server/wm/WindowStateAnimator;->getDeferTransactionBarrier()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
 HSPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
@@ -43692,6 +47064,8 @@
 HSPLcom/android/server/wm/WindowStateAnimator;->setSurfaceBoundariesLocked(Z)V
 PLcom/android/server/wm/WindowStateAnimator;->setTransparentRegionHintLocked(Landroid/graphics/Region;)V
 HSPLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(II)Z
+HPLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(IIF)Z
+HPLcom/android/server/wm/WindowStateAnimator;->setWallpaperPositionAndScale(IIFZ)V
 HSPLcom/android/server/wm/WindowStateAnimator;->showSurfaceRobustlyLocked()Z
 HPLcom/android/server/wm/WindowStateAnimator;->toString()Ljava/lang/String;
 HPLcom/android/server/wm/WindowStateAnimator;->tryChangeFormatInPlaceLocked()Z
@@ -43704,6 +47078,7 @@
 HSPLcom/android/server/wm/WindowSurfaceController;->dumpDebug(Landroid/util/proto/ProtoOutputStream;J)V
 PLcom/android/server/wm/WindowSurfaceController;->forceScaleableInTransaction(Z)V
 HSPLcom/android/server/wm/WindowSurfaceController;->getBLASTSurfaceControl(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowSurfaceController;->getClientViewRootSurface()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/WindowSurfaceController;->getDeferTransactionBarrier()Landroid/view/SurfaceControl;
 HSPLcom/android/server/wm/WindowSurfaceController;->getHeight()I
 HSPLcom/android/server/wm/WindowSurfaceController;->getShown()Z
@@ -43740,28 +47115,38 @@
 HSPLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z
 HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement()V
 HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
+PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementIfScheduled()V
 HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
 HSPLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
+PLcom/android/server/wm/WindowToken$FixedRotationTransformState;-><init>(Lcom/android/server/wm/WindowToken;Landroid/view/DisplayInfo;Lcom/android/server/wm/DisplayFrames;Landroid/view/InsetsState;Landroid/content/res/Configuration;I)V
+PLcom/android/server/wm/WindowToken$FixedRotationTransformState;->resetTransform()V
+PLcom/android/server/wm/WindowToken$FixedRotationTransformState;->transform(Lcom/android/server/wm/WindowContainer;)V
 HSPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;Z)V
 HSPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZ)V
 HPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZZ)V
 HSPLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
 HPLcom/android/server/wm/WindowToken;->adjustWindowParams(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+PLcom/android/server/wm/WindowToken;->applyFixedRotationTransform(Landroid/view/DisplayInfo;Lcom/android/server/wm/DisplayFrames;Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/WindowToken;->applyFixedRotationTransform(Lcom/android/server/wm/WindowToken;)V
 HSPLcom/android/server/wm/WindowToken;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
 HSPLcom/android/server/wm/WindowToken;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
 HPLcom/android/server/wm/WindowToken;->canLayerAboveSystemBars()Z
+PLcom/android/server/wm/WindowToken;->clearFixedRotationTransform(Ljava/lang/Runnable;)V
+HPLcom/android/server/wm/WindowToken;->createSurfaceControl(Z)V
 HPLcom/android/server/wm/WindowToken;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
 HSPLcom/android/server/wm/WindowToken;->dumpDebug(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayBounds()Landroid/graphics/Rect;
-PLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayFrames()Lcom/android/server/wm/DisplayFrames;
-PLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/WindowToken;->finishFixedRotationTransform()V
+HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayBounds()Landroid/graphics/Rect;
+HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayFrames()Lcom/android/server/wm/DisplayFrames;
+HPLcom/android/server/wm/WindowToken;->getFixedRotationTransformDisplayInfo()Landroid/view/DisplayInfo;
 PLcom/android/server/wm/WindowToken;->getFixedRotationTransformInsetsState()Landroid/view/InsetsState;
 HSPLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
+HPLcom/android/server/wm/WindowToken;->getProtoFieldId()J
 HSPLcom/android/server/wm/WindowToken;->getReplacingWindow()Lcom/android/server/wm/WindowState;
 HPLcom/android/server/wm/WindowToken;->getWindowLayerFromType()I
 PLcom/android/server/wm/WindowToken;->hasFixedRotationTransform()Z
 HPLcom/android/server/wm/WindowToken;->isEmpty()Z
+PLcom/android/server/wm/WindowToken;->isFinishingFixedRotationTransform()Z
 PLcom/android/server/wm/WindowToken;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
 HSPLcom/android/server/wm/WindowToken;->isFixedRotationTransforming()Z
 HPLcom/android/server/wm/WindowToken;->lambda$new$0$WindowToken(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
@@ -43776,6 +47161,7 @@
 HPLcom/android/server/wm/WindowToken;->setExiting()V
 HSPLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
 HSPLcom/android/server/wm/WindowToken;->updateSurfacePosition()V
+HPLcom/android/server/wm/WindowToken;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
 HPLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z
 HSPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;I)V
 HSPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V
@@ -43816,6 +47202,7 @@
 HPLcom/android/server/wm/utils/RotationAnimationUtils;->getAvgBorderLuma(Landroid/graphics/GraphicBuffer;Landroid/graphics/ColorSpace;)F
 HPLcom/android/server/wm/utils/RotationAnimationUtils;->getLumaOfSurfaceControl(Landroid/view/Display;Landroid/view/SurfaceControl;)F
 HPLcom/android/server/wm/utils/RotationAnimationUtils;->getMedianBorderLuma(Landroid/graphics/GraphicBuffer;Landroid/graphics/ColorSpace;)F
+HPLcom/android/server/wm/utils/RotationAnimationUtils;->getPixelLuminance(Ljava/nio/ByteBuffer;IIII)F
 HSPLcom/android/server/wm/utils/RotationCache;-><init>(Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;)V
 HSPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
 HSPLcom/android/server/wm/utils/WmDisplayCutout;-><clinit>()V
@@ -43875,6 +47262,7 @@
 HSPLcom/google/android/startop/iorap/EventSequenceValidator;-><init>()V
 HPLcom/google/android/startop/iorap/EventSequenceValidator;->decAccIntentStartedEvents()V
 HPLcom/google/android/startop/iorap/EventSequenceValidator;->incAccIntentStartedEvents()V
+HPLcom/google/android/startop/iorap/EventSequenceValidator;->logWarningWithStackTrace(Ljava/lang/String;)V
 HSPLcom/google/android/startop/iorap/EventSequenceValidator;->onActivityLaunchCancelled([B)V
 HPLcom/google/android/startop/iorap/EventSequenceValidator;->onActivityLaunchFinished([BJ)V
 HSPLcom/google/android/startop/iorap/EventSequenceValidator;->onActivityLaunched([BI)V
@@ -43907,7 +47295,7 @@
 HSPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onIntentStarted(Landroid/content/Intent;J)V
 PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onReportFullyDrawn([BJ)V
 HSPLcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Landroid/os/Looper;)V
-PLcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Landroid/content/Context;)V
 PLcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;->bindProxy(Lcom/google/android/startop/iorap/IorapForwardingService$IorapdJobServiceProxy;)V
 PLcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;->lambda$onStartJob$0(Lcom/google/android/startop/iorap/RequestId;Landroid/app/job/JobParameters;Lcom/google/android/startop/iorap/IIorap;)V
@@ -43926,7 +47314,7 @@
 PLcom/google/android/startop/iorap/IorapForwardingService$RemoteTaskListener;->onProgress(Lcom/google/android/startop/iorap/RequestId;Lcom/google/android/startop/iorap/TaskResult;)V
 HSPLcom/google/android/startop/iorap/IorapForwardingService;-><clinit>()V
 HSPLcom/google/android/startop/iorap/IorapForwardingService;-><init>(Landroid/content/Context;)V
-PLcom/google/android/startop/iorap/IorapForwardingService;->access$000(Lcom/google/android/startop/iorap/IorapForwardingService;I)Z
+HSPLcom/google/android/startop/iorap/IorapForwardingService;->access$000(Lcom/google/android/startop/iorap/IorapForwardingService;I)Z
 PLcom/google/android/startop/iorap/IorapForwardingService;->access$100(Lcom/google/android/startop/iorap/IorapForwardingService;)Lcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;
 HSPLcom/google/android/startop/iorap/IorapForwardingService;->access$300(Lcom/google/android/startop/iorap/IorapForwardingService;)Lcom/google/android/startop/iorap/IIorap;
 HSPLcom/google/android/startop/iorap/IorapForwardingService;->access$400(Lcom/google/android/startop/iorap/IIorap;Lcom/google/android/startop/iorap/IorapForwardingService$RemoteRunnable;)Z
@@ -44121,6 +47509,7 @@
 Landroid/hidl/manager/V1_2/IClientCallback;
 Landroid/hidl/manager/V1_2/IServiceManager$Proxy;
 Landroid/hidl/manager/V1_2/IServiceManager;
+Landroid/media/ICaptureStateListener;
 Landroid/net/-$$Lambda$IpMemoryStore$LPW97BoNSL4rh_RVPiAHfCbmGHU;
 Landroid/net/-$$Lambda$IpMemoryStore$pFctTFAvh_Nxb_aTb0gjNsixGeM;
 Landroid/net/-$$Lambda$IpMemoryStoreClient$284VFgqq7BBkkwVNFLIrF3c59Es;
@@ -44164,6 +47553,8 @@
 Landroid/net/INetworkStackConnector$Stub;
 Landroid/net/INetworkStackConnector;
 Landroid/net/ITetheringConnector;
+Landroid/net/InformationElementParcelable$1;
+Landroid/net/InformationElementParcelable;
 Landroid/net/InterfaceConfigurationParcel$1;
 Landroid/net/InterfaceConfigurationParcel;
 Landroid/net/IpMemoryStore$1;
@@ -44174,6 +47565,7 @@
 Landroid/net/MarkMaskParcel;
 Landroid/net/NattKeepalivePacketDataParcelable$1;
 Landroid/net/NattKeepalivePacketDataParcelable;
+Landroid/net/NetworkFactory;
 Landroid/net/NetworkMonitorManager;
 Landroid/net/NetworkStackClient$1;
 Landroid/net/NetworkStackClient$Dependencies;
@@ -44188,6 +47580,8 @@
 Landroid/net/ResolverParamsParcel$1;
 Landroid/net/ResolverParamsParcel;
 Landroid/net/RouteInfoParcel;
+Landroid/net/ScanResultInfoParcelable$1;
+Landroid/net/ScanResultInfoParcelable;
 Landroid/net/TcpKeepalivePacketData;
 Landroid/net/TcpKeepalivePacketDataParcelable;
 Landroid/net/TetherConfigParcel;
@@ -44231,6 +47625,7 @@
 Landroid/net/netlink/NetlinkMessage;
 Landroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;
 Landroid/net/shared/-$$Lambda$SYWvjOUPlAZ_O2Z6yfFU9np1858;
+Landroid/net/shared/-$$Lambda$qVdKXOBVced7rdGB-dMQlkPbLW4;
 Landroid/net/shared/InitialConfiguration;
 Landroid/net/shared/IpConfigurationParcelableUtil;
 Landroid/net/shared/LinkPropertiesParcelableUtil;
@@ -44381,15 +47776,22 @@
 Lcom/android/server/-$$Lambda$PackageWatchdog$07YAng9lcuyRJuBYy9Jk3p2pWVY;
 Lcom/android/server/-$$Lambda$PackageWatchdog$9whbrgN2UsbVDUUSdkrctYqoh5M;
 Lcom/android/server/-$$Lambda$PackageWatchdog$CQuOnXthwwBaxcS5WoAlJJAz8Tk;
+Lcom/android/server/-$$Lambda$PackageWatchdog$GB6yAhRLhCGS-ufDzSN8j7GHmGo;
 Lcom/android/server/-$$Lambda$PackageWatchdog$Q0WI2EJpRFO1jF_7_YDaj1eGHas;
 Lcom/android/server/-$$Lambda$PackageWatchdog$VAW1s9zLN90OWS2gosDw9xdVjr8;
+Lcom/android/server/-$$Lambda$PackageWatchdog$Ya4lYGbdDy3Dda20wvc2AHBqIMM;
+Lcom/android/server/-$$Lambda$PackageWatchdog$c6DeFAaAsEUAlPf0Sv5YyUydmCk;
 Lcom/android/server/-$$Lambda$PackageWatchdog$hFdPWF73rahpzi1hJ-d9hNfUNrY;
 Lcom/android/server/-$$Lambda$PackageWatchdog$ib8X74W4PjX4xo1uv-QgOpcuf4o;
+Lcom/android/server/-$$Lambda$PackageWatchdog$jINplDIdLxNaZiKt8dCCJn1Cx6c;
+Lcom/android/server/-$$Lambda$PackageWatchdog$l0t57Hik0VChZk77GfFE4tnfo0g;
 Lcom/android/server/-$$Lambda$PackageWatchdog$nOS9OaZO4hPsSe0I8skPT1UgQoo;
 Lcom/android/server/-$$Lambda$PackageWatchdog$oAoA92I4TtJeqztFu3XBOLEs7gE;
 Lcom/android/server/-$$Lambda$PackageWatchdog$pCeN8Lr1-8Uwvg-VmBTEDs1Ak0w;
+Lcom/android/server/-$$Lambda$PackageWatchdog$t3rKD-cTKjWjowHB0sDvYPa95Fc;
 Lcom/android/server/-$$Lambda$PackageWatchdog$uFI2R7Ip9Bh1wQPJqJ5H5A0soVU;
 Lcom/android/server/-$$Lambda$PackageWatchdog$vRKcIrucEj03dz6ypRVINZtns1s;
+Lcom/android/server/-$$Lambda$PackageWatchdog$wEbB54PjC3ae7wMN2BshwaF0OhE;
 Lcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;
 Lcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;
 Lcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;
@@ -44657,6 +48059,7 @@
 Lcom/android/server/LooperStatsService$LooperShellCommand;
 Lcom/android/server/LooperStatsService$SettingsObserver;
 Lcom/android/server/LooperStatsService;
+Lcom/android/server/MemoryPressureUtil;
 Lcom/android/server/MmsServiceBroker$1;
 Lcom/android/server/MmsServiceBroker$2;
 Lcom/android/server/MmsServiceBroker$3;
@@ -44813,6 +48216,7 @@
 Lcom/android/server/TelephonyRegistry$1;
 Lcom/android/server/TelephonyRegistry$2;
 Lcom/android/server/TelephonyRegistry$3;
+Lcom/android/server/TelephonyRegistry$ConfigurationProvider;
 Lcom/android/server/TelephonyRegistry$Record;
 Lcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;
 Lcom/android/server/TelephonyRegistry;
@@ -44838,6 +48242,7 @@
 Lcom/android/server/UiThread;
 Lcom/android/server/UpdateLockService$LockWatcher;
 Lcom/android/server/UpdateLockService;
+Lcom/android/server/UserspaceRebootLogger;
 Lcom/android/server/VibratorService$1;
 Lcom/android/server/VibratorService$2;
 Lcom/android/server/VibratorService$3;
@@ -45045,13 +48450,22 @@
 Lcom/android/server/accounts/TokenCache$TokenLruCache;
 Lcom/android/server/accounts/TokenCache$Value;
 Lcom/android/server/accounts/TokenCache;
+Lcom/android/server/adb/-$$Lambda$AdbService$AdbManagerInternalImpl$eYI_FNtHA7A5dnyLFnC4mhwBDEo;
+Lcom/android/server/adb/-$$Lambda$AdbService$AdbSettingsObserver$RoyT5Mqx9S17cRYS-VTdgg8I7zc;
+Lcom/android/server/adb/-$$Lambda$AdbService$AdbSettingsObserver$j80q7vJz3QArWlwXdP3SN7zmf1A;
+Lcom/android/server/adb/-$$Lambda$snZvZtOkSiN_ZXrW9Ua-AMDz9HU;
+Lcom/android/server/adb/AdbDebuggingManager$AdbConnectionInfo;
+Lcom/android/server/adb/AdbDebuggingManager$AdbConnectionPortListener;
 Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$1;
+Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$2;
 Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;
 Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
 Lcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;
 Lcom/android/server/adb/AdbDebuggingManager$PairingThread;
+Lcom/android/server/adb/AdbDebuggingManager$PortListenerImpl;
 Lcom/android/server/adb/AdbDebuggingManager;
 Lcom/android/server/adb/AdbService$1;
+Lcom/android/server/adb/AdbService$AdbConnectionPortListener;
 Lcom/android/server/adb/AdbService$AdbHandler;
 Lcom/android/server/adb/AdbService$AdbManagerInternalImpl;
 Lcom/android/server/adb/AdbService$AdbSettingsObserver;
@@ -45121,6 +48535,7 @@
 Lcom/android/server/am/-$$Lambda$PersistentConnection$xTW-hnA2hSnEFuF87mUe85RYnfE;
 Lcom/android/server/am/-$$Lambda$ProcessList$-WIJmGtIk6c8jVr9HT6EdC2Qnzg;
 Lcom/android/server/am/-$$Lambda$ProcessList$hjUwwFAIhoht4KRKnKeUve_Kcto;
+Lcom/android/server/am/-$$Lambda$ProcessList$jjoaAPSQT_weAnGqu0R0SCcvKqw;
 Lcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;
 Lcom/android/server/am/-$$Lambda$ProcessRecord$1qn6-pj5yWgiSnKANZpVz3gwd30;
 Lcom/android/server/am/-$$Lambda$ProcessRecord$2DImTokd0AWNTECl3WgBxJkOOqs;
@@ -45158,6 +48573,9 @@
 Lcom/android/server/am/ActiveServices$3;
 Lcom/android/server/am/ActiveServices$4;
 Lcom/android/server/am/ActiveServices$ActiveForegroundApp;
+Lcom/android/server/am/ActiveServices$AppOpCallback$1;
+Lcom/android/server/am/ActiveServices$AppOpCallback$2;
+Lcom/android/server/am/ActiveServices$AppOpCallback;
 Lcom/android/server/am/ActiveServices$ForcedStandbyListener;
 Lcom/android/server/am/ActiveServices$ServiceDumper;
 Lcom/android/server/am/ActiveServices$ServiceLookupResult;
@@ -45232,6 +48650,7 @@
 Lcom/android/server/am/ActivityManagerShellCommand$2;
 Lcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;
 Lcom/android/server/am/ActivityManagerShellCommand;
+Lcom/android/server/am/AnrHelper;
 Lcom/android/server/am/AppBindRecord;
 Lcom/android/server/am/AppCompactor$1;
 Lcom/android/server/am/AppCompactor$2;
@@ -45250,6 +48669,7 @@
 Lcom/android/server/am/AppExitInfoTracker$2;
 Lcom/android/server/am/AppExitInfoTracker$AppExitInfoContainer;
 Lcom/android/server/am/AppExitInfoTracker$AppExitInfoExternalSource;
+Lcom/android/server/am/AppExitInfoTracker$AppTraceRetriever;
 Lcom/android/server/am/AppExitInfoTracker$IsolatedUidRecords;
 Lcom/android/server/am/AppExitInfoTracker$KillHandler;
 Lcom/android/server/am/AppExitInfoTracker$LmkdKillListener;
@@ -45382,6 +48802,7 @@
 Lcom/android/server/am/UserController;
 Lcom/android/server/am/UserState$KeyEvictedCallback;
 Lcom/android/server/am/UserState;
+Lcom/android/server/am/UserSwitchingDialog$1;
 Lcom/android/server/am/UserSwitchingDialog;
 Lcom/android/server/appbinding/-$$Lambda$AppBindingService$C9KbqX5cmsR3luJhFKt2Gpj0uLc;
 Lcom/android/server/appbinding/-$$Lambda$AppBindingService$D_3boeCn8eAANOp2ZDk6OC2rNaI;
@@ -45426,9 +48847,11 @@
 Lcom/android/server/appop/AppOpsService$4;
 Lcom/android/server/appop/AppOpsService$5;
 Lcom/android/server/appop/AppOpsService$6;
+Lcom/android/server/appop/AppOpsService$8;
 Lcom/android/server/appop/AppOpsService$9;
 Lcom/android/server/appop/AppOpsService$ActiveCallback;
 Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;
+Lcom/android/server/appop/AppOpsService$AttributedOp;
 Lcom/android/server/appop/AppOpsService$ChangeRec;
 Lcom/android/server/appop/AppOpsService$ClientRestrictionState;
 Lcom/android/server/appop/AppOpsService$ClientState;
@@ -45460,7 +48883,14 @@
 Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vSY20eQq5y5FXrxhhqOTcEmezTs;
 Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vWB3PdxOOvPr7p0_NmoqXeH8Ros;
 Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$AppPredictionSessionInfo$LQ7iu1YPVHeNHnTTNfaw5e_68Z4;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$RCK9J9m8biTqRx8y1gTxgGKmKzQ;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$btX3WTDbAjwJIcfzJSydbcpQWp4;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$hIxY55-713pKM-HDkA5K_YGqSFg;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$oqptY32VI0KEa_puMq0WysdjStM;
 Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$ot809pjFOVEJ6shAJalMZ9_QhCo;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$tttnO1OB1EjDA90qcrp178GjlPs;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$v7zo2hsRu873qxjO1iB_LLOf0s8;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$wBPAAKx3x_D9Gk2CZ1ESaD9wpZY;
 Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$9DCowUTEF8fYuBlWGxOmP5hTAWA;
 Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$Ikwq62LQ8mos7hCBmykUhqvUq2Y;
 Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$UaZoW5Y9AD8L3ktnyw-25jtnxhA;
@@ -45520,8 +48950,10 @@
 Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$Kq15BolmuFXaWWabjDNQiScRxjo;
 Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$Nads7_S1eD53QDofbK9CuYO9Fok;
 Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$OBWGV1RNEso-eo8dzWjaFhEjC0A;
+Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$X6RLjT4CIM4r8i0wBWo1TE_1qak;
 Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$YxgcWZ4jspoxzltUgvW9l8k40io;
 Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$_CdHBhvBDErZWSm39GafCXJiOqQ;
+Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$rVjCbPoeHeOpk1Tf1e7TcZZH4rw;
 Lcom/android/server/audio/-$$Lambda$AudioService$eq0KnrBbF7KWNGmAJRjyeCTIdzQ;
 Lcom/android/server/audio/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;
 Lcom/android/server/audio/AudioDeviceBroker$1;
@@ -45618,6 +49050,7 @@
 Lcom/android/server/autofill/-$$Lambda$Helper$laLKWmsGqkFIaRXW5rR6_s66Vsw;
 Lcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;
 Lcom/android/server/autofill/-$$Lambda$Q-iZrXrDBZAnj-gnbNOhH00i8uU;
+Lcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$-Icm1WEZLv2n19GTOHkDYaCS_Oc;
 Lcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$06SvcwAr_tZDEPuK1BK6VWFA4mE;
 Lcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$W6vVk8kBkoWieb1Jw-BucQNBDsM;
 Lcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$W9MFEqI1G5VhYWyyGXoQi5u38XU;
@@ -45632,9 +49065,11 @@
 Lcom/android/server/autofill/-$$Lambda$RemoteFillService$adrL6UDQX3d0e-QQL11h9TWJcM4;
 Lcom/android/server/autofill/-$$Lambda$RemoteFillService$lQ9Txb0D49A09bfomYmOPhXTXRE;
 Lcom/android/server/autofill/-$$Lambda$RemoteInlineSuggestionRenderService$qkXs53uHunrqzogLSpFo1NOYNnw;
+Lcom/android/server/autofill/-$$Lambda$Session$0GS6sttVUDBqEERyy9UZSJ7uee4;
 Lcom/android/server/autofill/-$$Lambda$Session$Fs9zdJwELk-9rAM3RiY6AyBKswI;
 Lcom/android/server/autofill/-$$Lambda$Session$NtvZwhlT1c4eLjg2qI6EER2oCtY;
 Lcom/android/server/autofill/-$$Lambda$Session$cYu1t6lYVopApYW-vct82-7slZk;
+Lcom/android/server/autofill/-$$Lambda$Session$c_2SPX0muCe0vkZycSqBzBG3j9I;
 Lcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;
 Lcom/android/server/autofill/-$$Lambda$Session$v6ZVyksJuHdWgJ1F8aoa_1LJWPo;
 Lcom/android/server/autofill/-$$Lambda$Session$vkywy7qU2iLN6RFRCSM48kEqmbQ;
@@ -45642,6 +49077,7 @@
 Lcom/android/server/autofill/-$$Lambda$Z6K-VL097A8ARGd4URY-lOvvM48;
 Lcom/android/server/autofill/-$$Lambda$knR7oLyPSG_CoFAxBA_nqSw3JBo;
 Lcom/android/server/autofill/-$$Lambda$sdnPz1IsKKVKSEXwI7z4h2-SxiM;
+Lcom/android/server/autofill/-$$Lambda$wyZXeMneEp2gtSDLwv1U30wtJnU;
 Lcom/android/server/autofill/AutofillManagerService$1;
 Lcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;
 Lcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;
@@ -45662,7 +49098,9 @@
 Lcom/android/server/autofill/Helper;
 Lcom/android/server/autofill/InlineSuggestionFactory$InlineSuggestionUiCallback;
 Lcom/android/server/autofill/InlineSuggestionFactory;
+Lcom/android/server/autofill/InlineSuggestionSession$1;
 Lcom/android/server/autofill/InlineSuggestionSession$ImeResponse;
+Lcom/android/server/autofill/InlineSuggestionSession$ImeStatusListener;
 Lcom/android/server/autofill/InlineSuggestionSession$InlineSuggestionsRequestCallbackImpl;
 Lcom/android/server/autofill/InlineSuggestionSession;
 Lcom/android/server/autofill/RemoteAugmentedAutofillService$1$1;
@@ -46116,6 +49554,7 @@
 Lcom/android/server/connectivity/Vpn$VpnRunner;
 Lcom/android/server/connectivity/Vpn;
 Lcom/android/server/content/-$$Lambda$ContentService$5-BNVxd6JTWU9ogp3u-0kfiqgbI;
+Lcom/android/server/content/-$$Lambda$ContentService$ObserverCollector$U_N0n8bSqn83QF2baB67wvMEADg;
 Lcom/android/server/content/-$$Lambda$SyncManager$4nklbtZn-JuPLOkU32f34xZoiug;
 Lcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;
 Lcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;
@@ -46136,6 +49575,8 @@
 Lcom/android/server/content/ContentService$2;
 Lcom/android/server/content/ContentService$Lifecycle;
 Lcom/android/server/content/ContentService$ObserverCall;
+Lcom/android/server/content/ContentService$ObserverCollector$Key;
+Lcom/android/server/content/ContentService$ObserverCollector;
 Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;
 Lcom/android/server/content/ContentService$ObserverNode;
 Lcom/android/server/content/ContentService;
@@ -46238,6 +49679,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$08tAXus2zREPLhPWSJJMbXKP4Sg;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$09_I4G_12aZDp0ahZnGtJryBYCg;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0H5SdBGIQE77NlJ8chd0JlrtVZM;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0NGjMa7hJHujISQOD_pH8kTq6JI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0YdFTQIxrgxkEfzJdhGZzP5z4eM;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0nS7EqUlxcoON_ZF5WsIciiV6f4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$0xOTapp1kSvojAdqJGdavUtvjqU;
@@ -46278,6 +49720,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6K_0ypBXU-MxW25hBfVb_pa476Y;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6PIUX0yt4TWM8XrZkDVo37n3skQ;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6SGKr9VhDL9p5RwsHqFj4UpVZTQ;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6VeZWEdN1dyRdHEAUxfQP-WansI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6bRYy5LYRT2cwzrjgkdZcHBZJb0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6bgFhX4b-xoNuxSdFAd4tk1EzFE;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$6fSx-VvbGrQUHs8uDCponbuYWlE;
@@ -46299,6 +49742,8 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$95bSRHpBf3i80qNV0pKAIklBD4s;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9BBesRjvUOb0HylcboB6iBXa9rA;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9H-OtiTr0pLXuE1px0lLrHWW2gg;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9NBgirlJS7nxqqsuv_1YJ8Y7m98;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9OlQvLYrhLnDEwdIfQUNbK4G5Kk;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9R-Cd8_5zpYXgcD0dtPoPmXylac;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9SJKQAytAssuizf9V09cQ9qSuUM;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$9VVtUb5jLgJSmFOsWJ9ANvL9Ep4;
@@ -46354,6 +49799,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$HiDFwQ00KZn2k7XjSY2W4AemAmo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$HnqfAGN_ZnO8rF2FVNW7FoAEMl4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$HoakbJWSKTWNgXqp-KqZUDQ2v3M;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$I2JVUrPjGJeIH9M5tFkFtORoZA0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IEMjUYhA0mP8sRicHJTUcSHklKI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IFjmfnHIk0cwZ4cu_jTHWTsMxfc;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$IH37q4aCcb7fKvN7WNz4-JFtN1M;
@@ -46375,6 +49821,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Jn1h0KwAOFO-2SLpickAr7b6UEI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$JtphNR0tnaOuEEn0ikwSL9fXD1M;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KGyh0GB6sRV8-ctFL89vVYZYwcg;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KHK1qaoqPOWDaYAcyuftrRCJUsU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KOycIT0DtH49A4P5XWP73pI0dj4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KVBXyPBBtnY04KgNMY8kTUc8TDM;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$KnolhWMYD7G9f7e3KfTxyhi7Xjg;
@@ -46386,6 +49833,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L0UrX9eXuPfnxY8pUss60yr6d3E;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L1BjBKCM4PsL1cN_5wbAOuBRIk8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L3XzC2X57y8_uXrsW81Qk8KXQTA;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$L726YSg1ctOhu8vS40p7mI29Hqw;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$LgaheO5I5mZ7xT2AeYYlkZKwrzU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$LoHksgFKu14_Ln6PoeosRoDbwSw;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$LocalService$YxQa4ZcUPWKs76meOLw1c_tn1OU;
@@ -46403,9 +49851,11 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$NQ8HQ2OEvYVwQcxv3HSGyE4pJg0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$NV9-XJEdh3iVV_1FcyzVTLRWMMs;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$NZ0oxk-Ik8VTdLKIQsEmJ4u8ge4;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Nequbj6EwVoW8y_wmTthpD1fwY4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$NktehNa2clM_QJShWPmssIgRpKs;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Nu-f7ZVLk0_egJ3zAQpMMR_T5ZE;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$O7VBr2X2LTCZ2rClZ_UwgB-Qoa0;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$O9Moi8sORA4geplcz5N36k_Djo8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$OL2XWo5c7ghltPdi2SyRK5POm-4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$OPWRB8NOzJI5iy7fnh0GBb93YAc;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Ohf5PJQmXjsarWisPAuPB8WECX8;
@@ -46426,8 +49876,10 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QQFWZYAphnYjdI68Fks2LdFuAgo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QSJKFWOoJ7s5g0HLgGWDuDCNelU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QSZZ_1yoXc0KadPc27uY1ijTXpM;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QeuN0QspI6zzXRv-ZEqptxjR6bc;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QifCEJbi3gYuH5MUDWZlPxWqsmQ;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$QrMlHNz0PC-Ctzh_dDzUj8g5xm0;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Qs_HIEUKv-t71wixXSU0Of8RNKE;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$R7jNGUHgN9uG5tT_PuItt7Vn00g;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$RGykSdYLlh5fe-bGtM_nZQjy8tA;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$RMYLQ6bxpyj9L88wy3v1nWqZ7Wg;
@@ -46438,6 +49890,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Rk6dbmkjZ2gQ7A2Eazn5ASwC3RU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Rt85y5wEY0DRLvRJ6XnzxsSF1eo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SSPIfQ_rRI3lQvEj0ACrAZaUe6g;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SsK3Zag7hhWHXlzNClBcOqbFDYM;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$SxNw2QtLreqUCvuB24woR-GjuMA;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T-DYGQoYs3p1_NgKsVcKRX8fTnA;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$T4eSwgayOKOYwmmjCYnPFwO28Pw;
@@ -46452,6 +49905,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$U68n4iP9YZvCi9l_w8clW0ezl0E;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UGjCdSf2Rxgyqxv7KJhmrE1D48Y;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UPnhCNO69TKnF1hSXENMzK_2NSQ;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZjRYMPztw5R7HEv0d62H2OifHg;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UZoVWdpJJZwABGNhZWHbxPIvMO4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Uaym30iZN9avnSffrQNzTzTWJi0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$UzTmuq0qez09i7JAoEws-OmWvyE;
@@ -46459,9 +49913,11 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VDIwg4X1iKAqFvQldV7uz3FQETk;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VTc8gcVJfS7i5Anv1t_8pKML5is;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vg0S0XWRLxc15dP0DNjWoFnOlo4;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VnVMpzZ38K9VY5q76LFE7Pg8Ojk;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$VqrEAorQ36H01_gtzS6luteYBs0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Vsgrnsu-JDIF867spjVbBkS6FtU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$W--TL5Jqd40HLcEvbX-xfRTBXg4;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$W0PqT_DujOnRfFtIRJT9BUc0AKo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$WClCPAIaYC1HcqeEWjZ5mwt9QEY;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$WPoBmlz33wJKdfRNgazaVqch_RI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$WYP5q_IBba00XZnGp257U-5v_qM;
@@ -46485,6 +49941,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Y60DjdFMzpV5YEEtub3axIwYGT4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YA4XK8CPWPIZ24OqYJwgVT_5HYs;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YTkdlwrc6XAKuTn0p2mVi0oHrSM;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YUdRHstauCgFOjok0Bqvn4hAUiY;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$YZpznfYXsjCyvuZp0nh2o3O_kN8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$Yha2g5948Y6-99_Zk6qnSQ08xaY;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ZC4liKjHgFsuW2zQLFrbUmbNAao;
@@ -46536,6 +49993,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e2DzcGWRwnNdKo6blzNAob0HsSw;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e3xcbpVR082uQMOIH1sFm-7ww_k;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$e7c2huGjk3obVFka43jMbcJT0E8;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$eD2HDpBc-OGp1j6mPQwOljJf8zo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$eJdCqp-IyLrDmjK1uT6yZqiejxI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$eKrWywCP77ljwUZh-R1c8aoFHh4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$eQ0RBaHhkOLVzMM_lnr1-BGJMV0;
@@ -46579,6 +50037,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$j6r61e-hJc3TCg_zV4jTt3IZnPk;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jDU7UhnyXuItN3e_DVSz6WUa7Qc;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jO5ZWgZJNUQUnt-nqcwlfMcJ0pM;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jZJHZdHi2d2IGPmtF3qkyCAED30;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ja_JdZk-BJUe5rbQuU_LxLblBfM;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jgsUvRSr_6U0Lrv4PXbJtZQe_Mk;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$jk1zqsysE8fKSHngP11NBHDLVk8;
@@ -46596,6 +50055,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$lxepyUaTh9HejBaF0nHpaiCx0_s;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m2h-vVM6u7Yweb_QNLSUAbWduj8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m4rOeIPRBmiAyZePUlogYBlUqWg;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$m7rLjOikh2mbiVKjWDn3GBpideo;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mBXxcFZAZnjzw9sY7LWPSdbiolE;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mB_dS0XKwfvdYuBifZkqJr3ZvWI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mBqOqsTnwflzQ2R1u3HUeMrbjVI;
@@ -46605,6 +50065,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mea0_-KQRdVOaJakQTwD6APi0GY;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mkMQ9WtInWWL27eiU6IDs8Sol8Q;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mkvkdiyEMl05tI1rw6O3HygvaRY;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mwB_cr6tzwviD1v06WbkopRquaI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$mxnMynV7fO8Pt3nYwwCODWeOMC8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nBM3fQ_95BD262BpQ3v_i1LTo9o;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nDo4MxovM0DSBzOVm-GzbztXFFU;
@@ -46615,6 +50076,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$nkWVy9u7AzQNpu2s-LcA_ChoL_0;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ntEsc6u7AnPDmT8-eKrNAgcP9-E;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$o8yCHGIwCRCQbFYZ0lEmBtEJxg0;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oLfRfy_OZS9YkdF7nu-kG1zUnKQ;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$oPL_fgeCfV3bjhOoeIBcgcoNzI4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$o_H-PxZs9hbF8cnz9neG6sE06E8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$p6M2CJuZlA3Rm0CLLTJMm5qd9vU;
@@ -46668,6 +50130,7 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ua0yrS5kFedpcAO57O20Vkmp_iU;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ubKPRWVtvdZzQDW6CDEvggHJXRc;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ufUhKIuf-ai14oI_NezHS9qCjh0;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$uscGE01UNkxETEanV-Gb-ZwPjKI;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$v6Sf5hcqS7XBF5mvbFG4GLS_Hq8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vFs74BeiHI_1TW0yjvIUNhocv4w;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$vR-RWtti8ewEGuhsA0IoU86GAmo;
@@ -46691,9 +50154,11 @@
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$y1mmEY6CDw01OUVh1NYq1BVWf2A;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$y4TmIIzrIWhefGZSS0RoexHhlYw;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$yABzfxLSJsRtIg68zL1wRRuzKQI;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$yHGh9AMijS2x8s0uNSRzcgzf08I;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ySno4DrGDq1KjAoj9-Oin64pfm8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$y_mls_R0U3Fi6kpHWXcMJhKYGP8;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$ylqQ-0_BWKf5SNKi5IEZksGSyuU;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$yrfRAc2bMLk5BchlTNeyoNX-iCs;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$z9w-PqXATVne7zR3PADeRtW0jf4;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$zErhxcsyTkaK2GsPBoPqruFzweQ;
 Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$zHzqmkS8JoeSuppylsWsNuHcVLk;
@@ -46801,6 +50266,7 @@
 Lcom/android/server/display/DisplayDevice;
 Lcom/android/server/display/DisplayDeviceConfig;
 Lcom/android/server/display/DisplayDeviceInfo;
+Lcom/android/server/display/DisplayInfoProxy;
 Lcom/android/server/display/DisplayManagerService$1;
 Lcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;
 Lcom/android/server/display/DisplayManagerService$BinderService;
@@ -46926,6 +50392,11 @@
 Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$DisplayWhiteBalanceSettingsHandler;
 Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;
 Lcom/android/server/display/whitebalance/DisplayWhiteBalanceThrottler;
+Lcom/android/server/dreams/-$$Lambda$DreamController$DreamRecord$RZAkATuUi2Nb2UNKTKrQg_Oz3Cw;
+Lcom/android/server/dreams/-$$Lambda$DreamController$DreamRecord$a6xKVQPRvHllqmi3b3aluvuTMEM;
+Lcom/android/server/dreams/-$$Lambda$DreamController$DreamRecord$dxWbx4rgpHpZ1Hx0p_kP0KmKxQk;
+Lcom/android/server/dreams/-$$Lambda$DreamController$MzWLPaVogrekgPcs4ryibDvi1xA;
+Lcom/android/server/dreams/-$$Lambda$DreamController$NsbIx0iECm45E_fdqE55LTS32LQ;
 Lcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;
 Lcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;
 Lcom/android/server/dreams/DreamController$1;
@@ -47110,6 +50581,7 @@
 Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;
 Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;
 Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;
+Lcom/android/server/inputmethod/InputMethodManagerService$UserSwitchHandlerTask;
 Lcom/android/server/inputmethod/InputMethodManagerService;
 Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$1;
 Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
@@ -47281,6 +50753,7 @@
 Lcom/android/server/location/-$$Lambda$SettingsHelper$DVmNGa9ypltgL35WVwJuSTIxRS8;
 Lcom/android/server/location/-$$Lambda$SettingsHelper$Ez8giHaZAPYwS7zICeUtrlXPpBo;
 Lcom/android/server/location/-$$Lambda$_14QHG018Z6p13d3hzJuGTWnNeo;
+Lcom/android/server/location/-$$Lambda$emxC4DBjBtjrPCOadFmmcL-kgiw;
 Lcom/android/server/location/-$$Lambda$hUPZkLaip7KhcHlSjfSfX2fzk_I;
 Lcom/android/server/location/AbstractLocationProvider$1;
 Lcom/android/server/location/AbstractLocationProvider$InternalState;
@@ -47455,7 +50928,19 @@
 Lcom/android/server/location/gnss/-$$Lambda$WsssLeTVg_jaQ16K-SvqbRc0TV8;
 Lcom/android/server/location/gnss/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;
 Lcom/android/server/location/gnss/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;
+Lcom/android/server/location/gnss/GnssAntennaInfoProvider;
+Lcom/android/server/location/gnss/GnssBatchingProvider;
+Lcom/android/server/location/gnss/GnssConfiguration;
+Lcom/android/server/location/gnss/GnssGeofenceProvider;
+Lcom/android/server/location/gnss/GnssLocationProvider;
 Lcom/android/server/location/gnss/GnssManagerService;
+Lcom/android/server/location/gnss/GnssMeasurementCorrectionsProvider;
+Lcom/android/server/location/gnss/GnssMeasurementsProvider;
+Lcom/android/server/location/gnss/GnssNavigationMessageProvider;
+Lcom/android/server/location/gnss/GnssNetworkConnectivityHandler;
+Lcom/android/server/location/gnss/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;
+Lcom/android/server/location/gnss/GnssVisibilityControl;
+Lcom/android/server/location/gnss/NtpTimeHelper$InjectNtpTimeCallback;
 Lcom/android/server/locksettings/-$$Lambda$LockSettingsService$25VQEBWGuGqdc4Xjn9m8HXt9ZTI;
 Lcom/android/server/locksettings/-$$Lambda$LockSettingsService$3iCV7W6YQrxOv5dDGr5Cx3toXr0;
 Lcom/android/server/locksettings/-$$Lambda$LockSettingsService$6ZJNEvi0AXsP3F_UD8F01RaIg3M;
@@ -47487,6 +50972,7 @@
 Lcom/android/server/locksettings/LockSettingsStorage$PersistentData;
 Lcom/android/server/locksettings/LockSettingsStorage;
 Lcom/android/server/locksettings/LockSettingsStrongAuth$1;
+Lcom/android/server/locksettings/LockSettingsStrongAuth$NonStrongBiometricIdleTimeoutAlarmListener;
 Lcom/android/server/locksettings/LockSettingsStrongAuth$StrongAuthTimeoutAlarmListener;
 Lcom/android/server/locksettings/LockSettingsStrongAuth;
 Lcom/android/server/locksettings/ManagedProfilePasswordCache;
@@ -47553,7 +51039,9 @@
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$SDO87Krd1n1doHne7Euurb1tZWQ;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UWIms6pHB4Lwnsbfj-b_9WI7INk;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UserHandler$9sVKwFHJaVOpWt-fwbOrQeBJC6Y;
+Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UserHandler$pBXDXzrCaoR3Vqp98BYwg2JCXx8;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UserHandler$pb5SX6gBlgZXLZp0t4uVjgjp3EE;
+Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$UyhtmNkwYd0IQ4t6m6ItWaQAFKI;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$X4W6vrpULp0aMfJC9PBBz3m1MyM;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$XJkTc5hm1mMtQKQ92wWBqMIUe2M;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$aadBHil74jOePCRh7oROReTvBKI;
@@ -47563,6 +51051,8 @@
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$xwrgJ0QIcy6O_xCDFBt_XQNI5DY;
 Lcom/android/server/media/-$$Lambda$MediaRouter2ServiceImpl$yPZ2ZN9TKRG_PR_HKi8QWy7YTV0;
 Lcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;
+Lcom/android/server/media/-$$Lambda$SystemMediaRoute2Provider$1$ebcdsGsKcvePyBmWcsYxnmypK0U;
+Lcom/android/server/media/-$$Lambda$SystemMediaRoute2Provider$AB-PWlKU2NOApQQQov7CqgW5RnQ;
 Lcom/android/server/media/-$$Lambda$SystemMediaRoute2Provider$aOlVIsBkXTnw1voyl2-9vhrVhMY;
 Lcom/android/server/media/AudioPlayerStateMonitor$1;
 Lcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;
@@ -47673,9 +51163,11 @@
 Lcom/android/server/net/-$$Lambda$IpConfigStore$rFY3yG3j6RGRgrQey7yYfi0Yze0;
 Lcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;
 Lcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$lv2qqWetKVoJzbe7z3LT5idTu54;
+Lcom/android/server/net/-$$Lambda$NetworkStatsService$-IJG-2djYyEsmGNuCKyh0LuHG28;
 Lcom/android/server/net/-$$Lambda$NetworkStatsService$InNd0bxX6ObmdmLP-_WGePLtUfE;
 Lcom/android/server/net/-$$Lambda$NetworkStatsService$KVH4Y9nH53_gEfrhunDFp_O6ExY;
 Lcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$5TwpV7cRVx_8Ch3sTJ1XxcGYaFo;
+Lcom/android/server/net/-$$Lambda$NetworkStatsService$NetworkStatsManagerInternalImpl$MWLBRMSsUTWVuMm3yJqH7bc-ZoI;
 Lcom/android/server/net/-$$Lambda$NetworkStatsService$rLCnfQluyJtbXZ2vSn6SQAdNPMc;
 Lcom/android/server/net/-$$Lambda$NetworkStatsService$xfTbcb80CcmFJlvul1xYQmewxlg;
 Lcom/android/server/net/DelayedDiskWrite$1;
@@ -47761,6 +51253,7 @@
 Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
 Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
 Lcom/android/server/net/watchlist/WatchlistSettings;
+Lcom/android/server/notification/-$$Lambda$NotificationHistoryDatabase$DOpPLk6FC4M8AMJ1FHTPtwlmVmQ;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$1$xhbVsydQBNNW5m21WjLTPrHQojA;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$10$BRIIoO5T43uig1Sv3P_yA2lc3LA;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$11$JotEN8cxCghuwRUNQKNwudTtDmM;
@@ -47772,7 +51265,9 @@
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$15$wXaTmmz_lG6grUqU8upk0686eXA;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$16$zTgrLv-fwhUBKBfo6G4cZaGAhWs;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$1IFJYiXNBcQVsabIke0xY_TgCZI;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$BDavS_Sg4m_dKO3ZgtuCsFeqqms;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$CancelNotificationRunnable$1i8BOFS2Ap_BvazcwqssFxW6U1U;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NFdAeB-4Fj_ZP4GXkIVrEH_Cxj8;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$-frFvBh01OajP_vj8nGNvXvmX1Y;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$2uJN0X0VDgKmWRoJqYsux0bhlYo;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$3ktx5hfF9rabi25qaQLZ-YvqPO4;
@@ -47790,12 +51285,17 @@
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Srt8NNqA1xJUAp_7nDU6CBZJm_0;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Uven29tL9-XX5tMiwAHBwNumQKc;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$OZL_lzotNQk7U4Yu1gYgeIoj6do;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$PostNotificationRunnable$9JuPmiaA-c5lGdegev6EaTigwWc;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$msGTh8UV2euOI6xhjY-rx_tZTLM;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$oBqbud98Vzd9hmZYK-pWIY4cBpI;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$pydsjOZodJQYqLnk-bBKjwKfMTw;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$qSGWKI1fXQ1cTJ2fD072f_33txY;
 Lcom/android/server/notification/-$$Lambda$NotificationManagerService$qbzDjihCkTumQH-EnAW4i5wobvM;
 Lcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;
 Lcom/android/server/notification/-$$Lambda$SnoozeHelper$333G5Hgba3G7RU9lYp0HmgKJBvA;
+Lcom/android/server/notification/-$$Lambda$SnoozeHelper$C_0X0DORXKfskVjWiTfpnyCI82U;
+Lcom/android/server/notification/-$$Lambda$SnoozeHelper$j9CMOic9PGs_JNf8sQeWp_WInBo;
 Lcom/android/server/notification/-$$Lambda$SnoozeHelper$uY_yjjODxoDQVadkBTGNFqh7pco;
 Lcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;
 Lcom/android/server/notification/AlertRateLimiter;
@@ -47831,15 +51331,24 @@
 Lcom/android/server/notification/ManagedServices;
 Lcom/android/server/notification/NotificationAdjustmentExtractor;
 Lcom/android/server/notification/NotificationChannelExtractor;
+Lcom/android/server/notification/NotificationChannelLogger$NotificationChannelEvent;
+Lcom/android/server/notification/NotificationChannelLogger;
+Lcom/android/server/notification/NotificationChannelLoggerImpl;
 Lcom/android/server/notification/NotificationComparator$1;
 Lcom/android/server/notification/NotificationComparator;
 Lcom/android/server/notification/NotificationDelegate;
+Lcom/android/server/notification/NotificationHistoryDatabase$1;
 Lcom/android/server/notification/NotificationHistoryDatabase$FileAttrProvider;
 Lcom/android/server/notification/NotificationHistoryDatabase$NotificationHistoryFileAttrProvider;
+Lcom/android/server/notification/NotificationHistoryDatabase$RemoveConversationRunnable;
+Lcom/android/server/notification/NotificationHistoryDatabase$WriteBufferRunnable;
 Lcom/android/server/notification/NotificationHistoryDatabase;
 Lcom/android/server/notification/NotificationHistoryDatabaseFactory;
+Lcom/android/server/notification/NotificationHistoryFilter$Builder;
+Lcom/android/server/notification/NotificationHistoryFilter;
 Lcom/android/server/notification/NotificationHistoryManager$SettingsObserver;
 Lcom/android/server/notification/NotificationHistoryManager;
+Lcom/android/server/notification/NotificationHistoryProtoHelper;
 Lcom/android/server/notification/NotificationIntrusivenessExtractor$1;
 Lcom/android/server/notification/NotificationIntrusivenessExtractor;
 Lcom/android/server/notification/NotificationManagerInternal;
@@ -47891,6 +51400,7 @@
 Lcom/android/server/notification/NotificationRecord$Light;
 Lcom/android/server/notification/NotificationRecord;
 Lcom/android/server/notification/NotificationRecordLogger$NotificationCancelledEvent;
+Lcom/android/server/notification/NotificationRecordLogger$NotificationEvent;
 Lcom/android/server/notification/NotificationRecordLogger$NotificationRecordPair;
 Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvent;
 Lcom/android/server/notification/NotificationRecordLogger$NotificationReportedEvents;
@@ -47920,6 +51430,7 @@
 Lcom/android/server/notification/RateEstimator;
 Lcom/android/server/notification/ScheduleConditionProvider$1;
 Lcom/android/server/notification/ScheduleConditionProvider;
+Lcom/android/server/notification/ShortcutHelper$ShortcutListener;
 Lcom/android/server/notification/SnoozeHelper$1;
 Lcom/android/server/notification/SnoozeHelper$Callback;
 Lcom/android/server/notification/SnoozeHelper$Inserter;
@@ -48023,17 +51534,25 @@
 Lcom/android/server/people/PeopleService;
 Lcom/android/server/people/PeopleServiceInternal;
 Lcom/android/server/people/SessionInfo;
+Lcom/android/server/people/data/-$$Lambda$DataMaintenanceService$pZUzfdXzCXsv1D-xTvqArhV-TxI;
 Lcom/android/server/people/data/-$$Lambda$DataManager$CallLogContentObserver$F795P2fXEZGvzLUih_SIpFcsyic;
 Lcom/android/server/people/data/-$$Lambda$DataManager$ContactsContentObserver$wv19gIIQIhM79fILSTcdGXPmrF0;
 Lcom/android/server/people/data/-$$Lambda$DataManager$MmsSmsContentObserver$UfeTRftTDIcNo1iUJLeOD5s_XmM;
+Lcom/android/server/people/data/-$$Lambda$DataManager$ShortcutServiceCallback$8w0TVgeTeC6l6Xt-U6TR1dPrdZ8;
+Lcom/android/server/people/data/-$$Lambda$DataManager$ShortcutServiceCallback$VlSKlwPMxQPMmAu4nKkqwOu9-pY;
 Lcom/android/server/people/data/-$$Lambda$DataManager$ShortcutServiceListener$emB0GKXSexwJTzSWLUKYnAGbCCg;
+Lcom/android/server/people/data/-$$Lambda$DataManager$ShutdownBroadcastReceiver$n_Xz0m6xk7HVlBPvkKsX5WPC4AE;
 Lcom/android/server/people/data/-$$Lambda$DataManager$UsageStatsQueryRunnable$XYAxcpC9us0TDcNCO-NIcs5ajqQ;
+Lcom/android/server/people/data/-$$Lambda$UserData$TPSEt8UEq8YfkquaYQxcUwkYOog;
+Lcom/android/server/people/data/-$$Lambda$UserData$ZvGOO47u-RNbT2ZvsBaz0srnAjw;
 Lcom/android/server/people/data/-$$Lambda$bkfsFF2Vc2A9q-5JeJQbUu98BkQ;
+Lcom/android/server/people/data/-$$Lambda$k1LMnpJLlrYtcSsQvSbPW-daMgg;
 Lcom/android/server/people/data/CallLogQueryHelper;
 Lcom/android/server/people/data/ContactsQueryHelper;
 Lcom/android/server/people/data/ConversationInfo$Builder;
 Lcom/android/server/people/data/ConversationInfo;
 Lcom/android/server/people/data/ConversationStore;
+Lcom/android/server/people/data/DataMaintenanceService;
 Lcom/android/server/people/data/DataManager$1;
 Lcom/android/server/people/data/DataManager$CallLogContentObserver;
 Lcom/android/server/people/data/DataManager$ContactsContentObserver$ConversationSelector;
@@ -48042,6 +51561,8 @@
 Lcom/android/server/people/data/DataManager$MmsSmsContentObserver;
 Lcom/android/server/people/data/DataManager$NotificationListener;
 Lcom/android/server/people/data/DataManager$PerUserBroadcastReceiver;
+Lcom/android/server/people/data/DataManager$PerUserPackageMonitor;
+Lcom/android/server/people/data/DataManager$ShortcutServiceCallback;
 Lcom/android/server/people/data/DataManager$ShortcutServiceListener;
 Lcom/android/server/people/data/DataManager$ShutdownBroadcastReceiver;
 Lcom/android/server/people/data/DataManager$UsageStatsQueryRunnable;
@@ -48072,11 +51593,14 @@
 Lcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;
 Lcom/android/server/pm/-$$Lambda$CFSsMipQUq5_2T1_SDplRJCGzsQ;
 Lcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;
+Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$-BT6ToCKHdhfX2-IK4pp-hGipzw;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$4kTzFa_zjeGMtJVy5CluIOehAmM;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$D4Z_0MUKQxAr3kDglyup8aB9XLE;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$DxhjfM3U9U3V3tJbzSWj7AMLCBE;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$HVfTkMl1ZNC9cAfi1atsp3Dwnyg;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$bl8duoKAQm4-uSci6ZlA_aEdeg8;
+Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$i8pCn3vFy03m7u0vRgPEFDJBRZ8;
+Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$kHkdp7f4qbaDOgRXrN-WS0lCU9U;
 Lcom/android/server/pm/-$$Lambda$CrossProfileAppsServiceImpl$wMVevLD4FZ1cL73xmtbSkTJK9d8;
 Lcom/android/server/pm/-$$Lambda$DpkuTFpeWPmvN7iGgFrn8VkMVd4;
 Lcom/android/server/pm/-$$Lambda$EvXtX9FEb_c87yAlCmxSfLtExqQ;
@@ -48086,11 +51610,13 @@
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$R7XSXckXZJx-7zO-lFkgYY_-lWA;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$UOn4sUy4zBQuofxUbY8RBYhkNSE;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$eaYsiecM_Rq6dliDvliwVtj695o;
+Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$vQALErHqrru44QoPQ2p9uk789PM;
 Lcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;
 Lcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;
 Lcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;
 Lcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$PR6SMHDNFTsnoL92MFZskM-zN8k;
 Lcom/android/server/pm/-$$Lambda$OtaDexoptService$sAE9PLBjWsXDVkiiC_uzr0kwQ4k;
+Lcom/android/server/pm/-$$Lambda$OtaDexoptService$wNGdc46oIfkEYBuaHKdweqCmNM8;
 Lcom/android/server/pm/-$$Lambda$PLzRNNUpYHZlGNIn1ofLtN374Ow;
 Lcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;
 Lcom/android/server/pm/-$$Lambda$PackageInstallerSession$0MwsfMSD_PrEtElmOWjbhM7455A;
@@ -48114,65 +51640,96 @@
 Lcom/android/server/pm/-$$Lambda$PackageInstallerSession$yEAIQbVnbSznJVW9xPXv9WGuzI0;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$-SI_LHw6Eiq8VNiFLLjJdCbGgSQ;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$0Regyd5pBrcIdGN2_jpl21L-KWw;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$0b6YXnOBfvNwViM66M0oCcnPhGA;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$1i6Y2tMn7ZgU3qq2Qyiz0czgU-g;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$2LJuxrdU5DWIRpDkTbzKA8U7iIc;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$33tR-KoAu3JbEdrD_OjcuA5085g;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$3TlqkUBuVM7NyAg7uqJCni92WOU;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$3pjiTV1Bh76zms1xuUJ7L0B2FjE;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$4cqrQoT4gMgFm-tugMOyoExM1kI;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$4lr9R3-Rfzq-VEptx-WWeRaSpd4;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$8L7pRmGgOsUHi0VNMkDwO-flFqk;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$93yWNMP-e7A0Of4Ed1fIXs63utE;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$9nrhpVUScjAieIxS9iHE0hiaATk;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$BzRujGrz-3iO1VZDBUuSaqm63Go;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$CRZ0_YFfOGli8g7Aeqx4ygsbzzI;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$DWomXCDpiVbZPOk7h4gWI0gNMDM;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$DgA5eAhvjiH6kMq2WYU8B282b-M;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$E8wmDWkS1hMFlGgjBX_cxNdNPXc;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$ECakc05vOVsUm8ydpi2Z-HghH4w;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$I5XLVROcF2w_-cucMNuicHY0H0k;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$IVwrF8dMtv5eEne1inTBiECMfDo;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$J0eEFDuLDZBCGkS0UBLQaQGBMN8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$JQITabyRBc2Nst0hnvtDUIYPLkk;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$JqISwjRG4Nrwn7K19yITMU1WH5g;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$K2R-v7P-mvZZ2SUB2fHHIXl9Nl0;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$KUTG4a_t__F9-jF9uKK4m5M6ED0;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$Kv9_Hbk7M-eyDSHfPi1rrQzjiwc;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$MSgygX88nN74lIAMKJsoJwV24Uk;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$MT-9i21h4RNnCW49A_O4cxNuz38;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$Mtahsr42dH18eRuAJ0J6DzShLys;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$NOhDFtf63kwSrt001pe3Z5eI1EM;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$OchkDx-ijr5A5mGpkAil3XLu7Oo;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$PFgBCRniz8EdHVXcR_Rh-V6PzNk;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$PPALVjzIAqON2FdZv5soozZSLq8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$PackageManagerInternalImpl$JycGJrzHIngCbGMk68UBYZqLVhg;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$PmwkzQu9rsYKerIyizl5HqTMOeY;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$PvuTB7Ihf5rmN0ByWpLv31cRa7s;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$QEXaCTQ54nCy5aHUAa6mkt0WtpM;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$QIOg9odF8NpVJsmgYMdGQy_GpvY;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$R17iAlCA5_t5NZESLr7grPghNAY;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$RfqRmQ8KNtYywzf-EIm7VG5PHj8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$RoklvvEqbb0_WAziY4NuUNhrlUA;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$U47f17sf-Z0eef3W2xgzUB-ecR4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$UmQDc8UZK0k1X1BVBYAHhv6arhU;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$VINGOt0rwLOHiIrsYfMP2VPHvl0;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$VhwOGLTfcbsRPy0bHUi5hvqGFK8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$WLKCxynYP-nOLQg-OBNNc1w2Z18;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$WXhCf3v80czwXbh17kimYOFhAFs;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$WqnaImxAHe0cZI0VBes-1l9f79k;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$XBL5VfMu2aQcjyrc4spKskHsSJU;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$XrodqQtXF-63SFPD_WxRBB7sfa4;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$YHVD9fSfoszBkmlqzmswh1u_y_M;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$Ze0Xh0iBIll5jkJ4VcmUxBuZyI8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$_CMCXnVAsgXUrfmWq_KOQ0-d17c;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$_QIa0JiksaMBecXbVJ_nhUm9TCg;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$a2nBt_d-Fl3XWRyGmFFAkIwtoN8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$aRzP2fsa0-qTnX7YqSXYO-LAQxo;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$aXPYjiloRwQataUrx041SxBr5us;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$aptgkdXtM4g66mNvfWDFzI6FQyI;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$bqMDOmohGt4WlcPNXkrSJme7Kuw;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$cHQqBPj5vgOw-P7yhrKC9Ssq27g;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$ccz4PCOSG7fKRFBAMJv8GMQMI08;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$dxAUj27Y4Oe3hxwpfzBaLl3fLZw;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$eOXySdFQ-z888HMdYTDdDb8rYuQ;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$ey1rLNYtfJSvujRGt9gqdyMxIwI;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$f5l1_UOwACQPN6qixqBmzSJzDMw;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$fE8eCBaTSAgZj_6LiH49hRSUkhc;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$fQjXY6S0s38rWZ-Tv1PTQvrgJb4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$fY_nnjN_Ni8wawWS9ezZts0lmmY;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$fatmYTvGk9iEyP6L-_SkYfjFJig;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$hLkpaH_y40nbOItNYjiR8EOZUgM;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$hlGRKJu3cTGpEnG-hyOT3QbrXxY;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$i2wY1QKIZAfMEAymOPPs8KS2G5c;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$iG1AbXebGMN1Zo55kCJGOu78HXE;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$iqEX-hdziBwn1njNVhAdQHeXwus;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$iz2vlJQDwixv3BxhvrGhNONDT48;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$kHFR9hPPJshGwQIlj0mPFAZIZSI;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$kUm15OrlWJD9K-LIlM_rBtX-g4Q;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$kdqJJNrm44ZfCpYgQsRrZy7nM38;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$lFji3mhAT5bVVke68kDxQSlmEs4;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$lMzdBb_uDjCHbhFoPJTxlDi_7zo;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$mozSqBaYzz4jQjwZjKIapdRXflc;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$ms4g2QGGQv1AIanhd1siLhoElkI;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$nY7r1WodM3_tntZA-G8DR9Rw1f0;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$pVdeIe13BPz2j1-uK6W_NugHu2Q;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$pzzC0ChZnM8yUb83hUS8pcZYU3A;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$qNpeCKStShTSYrHT0cclQGx1igI;
@@ -48181,27 +51738,41 @@
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$rJEHTCbZuliP-AofB7kQxwDOX4I;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$rLdmTQLwnuPeDuWTeDB-0S1Ku4I;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$rcVfdsXa_dlub2enxT5rL0nTx7I;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$slf4ap74wBjxrA52mf3aW1YqmdM;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$txzHud8DxAfBnzA16Cf-Mpca3TA;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$uKFiJiR-QQI8RsVT7igWuZ6FwAA;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$vPmwW10Lr1Zc8YoNadc7v4xmIWo;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$vjkkm7bIol6YmxXHA9bVeSUYkB8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$vyKDCUt14soSFqmBBfd52n5w5qM;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$xKD6SB7pISjc29qfmXIq5O_3OJw;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$xZAAMOZCDrDe-FJUcRmxesa8h7c;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$xv5zSGDUCMQ_E6mH4qgdkiJ5XtA;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$xwqiJpXPI0dDAZ1z9noew-rHViA;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$yXdgY7SVZQWnWWIG0iO_OYKuh58;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$z8SNwemq3afWJgXWmkJMd3eb198;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$-TyALUo9to-tSa8TowQ8FvHNb6w;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$1RbkDa86pOg-5BavmgbPLLCoJCA;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$6Hiu23bVWNI_UB8JjRQOmllFVE8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$CznOu58qzp1xBXuz65vwZNf-2YQ;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$JqfeXEVVj9qyD-t5TtAWP5dUo_Q;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$Nz561xT8r_YIT6_Lm5bJ67n8gRs;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$RPtRdW9NvVYNz-tG18YC0n7VJp4;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$WqWSiwN-039OE_mRd8x6F_ORqRU;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$X1ShBJjcdw7NZGmmKd5HWXujgg8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ZEbcK7yQgHqG-8Z65v9KNo4jBgU;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$_LUs2lN_dtgmbhOTm2Ear0f91Qg;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$eMhMS_ozPxLQedSFcYUWkqe3DH4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$kGgIy61AI0hVhikc5IBRoH-OqgM;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$miSwAI7tlaWPbDunujMxV7oiAWA;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$pak5uFueWVDXpeD0raY40AD6lPY;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$qCP9hzvvo1JqZQ7mV-34TucIk2o;
+Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$sV6Dy76F46JIA9ovYV5QyhvLuQ4;
 Lcom/android/server/pm/-$$Lambda$PackageManagerShellCommand$-OZpz58K2HXVuHDuVYKnCu6oo4c;
 Lcom/android/server/pm/-$$Lambda$PackageManagerShellCommand$v3vXA2YvCwaE7J0QfR1IQ122iTI;
 Lcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;
 Lcom/android/server/pm/-$$Lambda$RIrciDUAm_lS8CbvRCW_P-ee_-4;
+Lcom/android/server/pm/-$$Lambda$S4BXTl5Ly3EHhXAReFCtlz2B8eo;
 Lcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;
 Lcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;
 Lcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;
@@ -48210,13 +51781,18 @@
 Lcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;
 Lcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;
 Lcom/android/server/pm/-$$Lambda$ShortcutPackage$ibOAVgfKWMZFYSeVV_hLNx6jogk;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$1aV3EGXTRhUmEZRUSi2Bvf-7vLg;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$2mjLrqafL_ZPftw5bIS-yyK7PxI;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$5odn6Gcj54kzvMMAMZDsQQdWFR8;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$BgapJrdquo1OPe4VggDVe-adDMo;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$C0yXUUdkpfa84Nq_Po6ovVJWCBk;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$EE8aJ-V-lThNgd-x9utgJTk3K50;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$H1HFyb1U9E1-y03suEsi37_w-t0;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$HrjNihAM4odnSGPLxsJbI33JkwE;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$K1vIRui5MsFaCf51e19YUNsWX6s;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$KOp4rgvJPqXwR4WftrrGcjb2qMQ;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$OwXAUkceFTQAGpPzTbihl14wvP4;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;
@@ -48228,10 +51804,14 @@
 Lcom/android/server/pm/-$$Lambda$ShortcutService$NdP-8QRYjvDVSScw7cBKt85dbWQ;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$Ot_p1CCuELDP1Emv4jTa8vvA09A;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$Rg7gKlp8SUutZh8_-nc6k078-WI;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$SjK_0i78sIpSTGJKpeLWOhhhsiA;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$SyYIn2KaeBI9Z7tMjhNFrCoPb80;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$TAtLoMHHFYLITi_4Sj-ZTHx6ELo;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$TVqBA9DN_h90eIcwrnmy7Mkl6jo;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$_1B1BDH9-mZvjKyf_4kfMdnC-Ck;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$czpyyFh3OpxQSZgJ1UuQLPlktn8;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$fCl_JbVpr187Fh4_6N-IxgnU68c;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$fqEqB5P0QHkQKJgSWuI8hNg-9pk;
@@ -48241,7 +51821,10 @@
 Lcom/android/server/pm/-$$Lambda$ShortcutService$lYluTnTRdTOcpwtJusvYEvlkMjQ;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$nr2YpVwPOGGO8CME0IHeIUIo4yk;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$oes_dY8CJz5MllJiOggarpV9YkA;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$qG817DggcAqxEWpGr6GLuNf4LhM;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$qZKocFWzizz4DG9R0afdFN-7cLQ;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$s11VOofRVMGkuwyyqnMY7eAyb5k;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$sroKL9nhBsFcNz88fW_woYg1gFA;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$t1am7miIbc4iP6CfSL0gFgEsO0Y;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$uvknhLDPo5JAtmXalM9P3rrx9e4;
 Lcom/android/server/pm/-$$Lambda$ShortcutService$vKI79Gf4pKq8ASWghBXV-NKhZwk;
@@ -48383,6 +51966,7 @@
 Lcom/android/server/pm/PackageKeySetData;
 Lcom/android/server/pm/PackageList;
 Lcom/android/server/pm/PackageManagerException;
+Lcom/android/server/pm/PackageManagerService$10;
 Lcom/android/server/pm/PackageManagerService$1;
 Lcom/android/server/pm/PackageManagerService$2;
 Lcom/android/server/pm/PackageManagerService$3;
@@ -48437,6 +52021,7 @@
 Lcom/android/server/pm/PackageManagerService$ScanResult;
 Lcom/android/server/pm/PackageManagerService$SystemDeleteException;
 Lcom/android/server/pm/PackageManagerService$SystemPartition;
+Lcom/android/server/pm/PackageManagerService$TestParams;
 Lcom/android/server/pm/PackageManagerService$VerificationInfo;
 Lcom/android/server/pm/PackageManagerService;
 Lcom/android/server/pm/PackageManagerServiceCompilerMapping;
@@ -48476,6 +52061,7 @@
 Lcom/android/server/pm/PreferredIntentResolver;
 Lcom/android/server/pm/ProcessLoggingHandler;
 Lcom/android/server/pm/ProtectedPackages;
+Lcom/android/server/pm/RestrictionsSet;
 Lcom/android/server/pm/SELinuxMMAC;
 Lcom/android/server/pm/SettingBase;
 Lcom/android/server/pm/Settings$1;
@@ -48566,16 +52152,22 @@
 Lcom/android/server/pm/dex/PackageDynamicCodeLoading$DynamicCodeFile;
 Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
 Lcom/android/server/pm/dex/PackageDynamicCodeLoading;
+Lcom/android/server/pm/dex/SystemServerDexLoadReporter;
 Lcom/android/server/pm/dex/ViewCompiler;
 Lcom/android/server/pm/parsing/-$$Lambda$MsCTQbj1nCkHPuW2VX512f_ZKpg;
+Lcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Svc6Ot6mP20gZxXqsV5RuSFu1Lk;
+Lcom/android/server/pm/parsing/-$$Lambda$PackageParser2$Z1LNA-uFIqWWTxexnRn70YNNhRw;
+Lcom/android/server/pm/parsing/-$$Lambda$PackageParser2$_jLfb1ehczUk0X2MUB2Q0T-RBTI;
 Lcom/android/server/pm/parsing/-$$Lambda$gLXiiRPkkfU6FsJxq4nR4nPlVSk;
 Lcom/android/server/pm/parsing/PackageCacher;
 Lcom/android/server/pm/parsing/PackageInfoUtils$CachedApplicationInfoGenerator;
 Lcom/android/server/pm/parsing/PackageInfoUtils;
+Lcom/android/server/pm/parsing/PackageParser2$1;
 Lcom/android/server/pm/parsing/PackageParser2$Callback;
 Lcom/android/server/pm/parsing/PackageParser2;
 Lcom/android/server/pm/parsing/library/AndroidHidlUpdater;
 Lcom/android/server/pm/parsing/library/AndroidTestBaseUpdater;
+Lcom/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdater;
 Lcom/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdater;
 Lcom/android/server/pm/parsing/library/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;
 Lcom/android/server/pm/parsing/library/PackageBackwardCompatibility;
@@ -48597,21 +52189,28 @@
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$1$QSCLyelVDMHZe8LrlYhYvfz5G2c;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$3_HObOA7SDQazRHAVI1qUUdGq_s;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$5wIJaBo3ATYcr96ofI23sjuUqoA;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$7UbsdDkY7eb6gD8CfMZMTcb6R5Y;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$8MsCUqeSxDj-MAni8qzyAjlwj_8;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$9BsOvIfsXOY41ZJQWdN0BGdfLqM;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$BEPoV9HmbUN2-ZgCcIqC6xfzvew;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$E0rM1FNIqzKUZzqphmkzeY3ZdTk;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JcWw5txStfnrnbvcFd2durv6YOo;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$MRwpP9TcX_fEwjj-3Vp2CFidMPk;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$PermissionManagerServiceInternalImpl$u0m9fxQ1DzsHML4E-xlMAgH2gIE;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$QU_UFF-9J77Mq118FLJUiLh4ARI;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$T4uCZ9__oEXYpzLBYEW1T_BN3SU;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$TCLcs8BgJvNr88B1R6pU9xRD-jw;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$XgJON0nYdrr1Swr3OJklQ7xA-pU;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$_Kakccz_-nomXOc_Nhv5q-uqA7I;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$aIXU2FAf-w3mXwfYTcpUh_uCEqE;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$aQWnOfCuKK-rSxzDPI_dUOtzv8I;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$eApyRxwI3JHTSVAxV9EbP43gFOo;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$g9Bo5gFpLYyPOsp3K8Aik5xseDI;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$igfYI7thImnYrDxs3qWtqs2SCRk;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$iwnRBDwjg4K5iRGbRU5_sVt0zaU;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$oG7YD8MVgcqcPbx_HXQ04PEUOXM;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$tAcOXvvLnf8YMDota79zZypUyds;
 Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$vxr3T148I1WcHTp-Fe7nK-xkT-E;
 Lcom/android/server/pm/permission/-$$Lambda$oynlBn0BbcU0KODvfUDDUHb5LKY;
 Lcom/android/server/pm/permission/BasePermission;
@@ -48622,6 +52221,7 @@
 Lcom/android/server/pm/permission/OneTimePermissionUserManager;
 Lcom/android/server/pm/permission/PermissionManagerService$1;
 Lcom/android/server/pm/permission/PermissionManagerService$2;
+Lcom/android/server/pm/permission/PermissionManagerService$Injector;
 Lcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;
 Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
 Lcom/android/server/pm/permission/PermissionManagerService;
@@ -48749,6 +52349,7 @@
 Lcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$dRsq86SXVH7z342fbs2U36cr67I;
 Lcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;
 Lcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;
+Lcom/android/server/power/-$$Lambda$mJs78oyYBMDErllGe4sx87OZns8;
 Lcom/android/server/power/AmbientDisplaySuppressionController;
 Lcom/android/server/power/AttentionDetector$1;
 Lcom/android/server/power/AttentionDetector$AttentionCallbackInternalImpl;
@@ -48770,6 +52371,7 @@
 Lcom/android/server/power/PowerManagerService$4;
 Lcom/android/server/power/PowerManagerService$BatteryReceiver;
 Lcom/android/server/power/PowerManagerService$BinderService;
+Lcom/android/server/power/PowerManagerService$Clock;
 Lcom/android/server/power/PowerManagerService$Constants;
 Lcom/android/server/power/PowerManagerService$DockReceiver;
 Lcom/android/server/power/PowerManagerService$DreamReceiver;
@@ -48779,6 +52381,7 @@
 Lcom/android/server/power/PowerManagerService$LocalService;
 Lcom/android/server/power/PowerManagerService$NativeWrapper;
 Lcom/android/server/power/PowerManagerService$PowerManagerHandler;
+Lcom/android/server/power/PowerManagerService$PowerManagerHandlerCallback;
 Lcom/android/server/power/PowerManagerService$ProfilePowerState;
 Lcom/android/server/power/PowerManagerService$SettingsObserver;
 Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl;
@@ -48874,6 +52477,7 @@
 Lcom/android/server/print/PrintShellCommand;
 Lcom/android/server/print/RemotePrintService$4;
 Lcom/android/server/print/RemotePrintService$6;
+Lcom/android/server/print/RemotePrintService$9;
 Lcom/android/server/print/RemotePrintService$PrintServiceCallbacks;
 Lcom/android/server/print/RemotePrintService$RemotePrintServiceClient;
 Lcom/android/server/print/RemotePrintService$RemoteServiceConneciton;
@@ -48958,6 +52562,7 @@
 Lcom/android/server/role/RoleUserState;
 Lcom/android/server/rollback/-$$Lambda$Rollback$EvT1BaUrjWsJaVTizSu77MCfRBs;
 Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$1$QPIiLceItKZOKeHshAhrcNkM3m8;
+Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$1$whIhaWpnqJBe6ocQeiVgI5ygyCA;
 Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$58BbNzpzWX_z-GzhKXpdGPwKcIU;
 Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;
 Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;
@@ -49079,27 +52684,40 @@
 Lcom/android/server/soundtrigger_middleware/-$$Lambda$SoundTriggerMiddlewareService$Lifecycle$-t8UndY0AHGyM6n9ce2y6qok3Ho;
 Lcom/android/server/soundtrigger_middleware/AudioSessionProviderImpl;
 Lcom/android/server/soundtrigger_middleware/ConversionUtil;
+Lcom/android/server/soundtrigger_middleware/Dumpable;
+Lcom/android/server/soundtrigger_middleware/ExternalCaptureStateTracker;
 Lcom/android/server/soundtrigger_middleware/HalException;
 Lcom/android/server/soundtrigger_middleware/HalFactory;
 Lcom/android/server/soundtrigger_middleware/Hw2CompatUtil;
 Lcom/android/server/soundtrigger_middleware/ISoundTriggerHw2$Callback;
 Lcom/android/server/soundtrigger_middleware/ISoundTriggerHw2;
+Lcom/android/server/soundtrigger_middleware/ISoundTriggerMiddlewareInternal;
 Lcom/android/server/soundtrigger_middleware/InternalServerError;
+Lcom/android/server/soundtrigger_middleware/ObjectPrinter;
 Lcom/android/server/soundtrigger_middleware/RecoverableException;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$1;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$NotSupported;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat$SoundTriggerCallback;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Compat;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer$CallbackEnforcer;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider$AudioSession;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl$AudioSessionProvider;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareImpl;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$CallbackLogging;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$Event;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging$ModuleLogging;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$1;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$Lifecycle;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$ModelState$Activity;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$ModelState;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService$ModuleService;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareService;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModelState$Activity;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModelState;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation$ModuleService;
+Lcom/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerModule$1;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerModule$ModelState;
 Lcom/android/server/soundtrigger_middleware/SoundTriggerModule$Session$Model;
@@ -49377,6 +52995,7 @@
 Lcom/android/server/tv/TvInputManagerService;
 Lcom/android/server/tv/TvRemoteService;
 Lcom/android/server/tv/UinputBridge;
+Lcom/android/server/tv/tunerresourcemanager/TunerResourceManagerService;
 Lcom/android/server/twilight/-$$Lambda$QlMS1hfADW-S9aqM_RavcEKO3N0;
 Lcom/android/server/twilight/-$$Lambda$TwilightService$stdw4-ZXNiEaXmDt9g9s8D1zEQU;
 Lcom/android/server/twilight/TwilightListener;
@@ -49410,6 +53029,8 @@
 Lcom/android/server/usage/-$$Lambda$StorageStatsService$2sUmj2KWW5zDR1eh9U7bRfiEbbQ;
 Lcom/android/server/usage/-$$Lambda$StorageStatsService$bqtERyu3o5aAlc4KluAfnmSEFLI;
 Lcom/android/server/usage/-$$Lambda$StorageStatsService$iSsicGWO2pdH7m9nkPc_jeZZgzE;
+Lcom/android/server/usage/-$$Lambda$StorageStatsService$tgQ1n6Nzx2HUgCixFqiqtHCcsAo;
+Lcom/android/server/usage/-$$Lambda$StorageStatsService$wNCqEjBUk3qs1tuYbJHOuDgJ8rk;
 Lcom/android/server/usage/-$$Lambda$UsageStatsIdleService$RaU7JQt6BjPuOZETPRSrIe-Hdos;
 Lcom/android/server/usage/-$$Lambda$UserUsageStatsService$wWX7s9XZT5O4B7JcG_IB_VcPI9s;
 Lcom/android/server/usage/AppTimeLimitController$1;
@@ -49652,6 +53273,9 @@
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$QhODF3v-swnwSYvDbeEhU85gOBw;
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Y6NUt3jeHQDhNJsATtXxO4MiWJ0;
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Yk86TTURTI5B9DzxOzMQGDq7aQU;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$d7gUC6mQx1Xv_Bvlwss1NEF5PwU;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$pf_7EcVpbLQlQnQ4nGnqzkGUhqg;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$zdJsFydiwYuUG4WFwlznTvMvYfw;
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$ZY5r01reAnoB4Dl2bo4au8KMz3Y;
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;
 Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$pVmree9DyIpBSg0s3RDK3MDesvs;
@@ -49735,6 +53359,7 @@
 Lcom/android/server/wm/-$$Lambda$ActivityStack$4eA3orAXlhwXqOJQ8sydb6lzW_4;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$5VekJIJoJIh5JMUz2PkEx2YRfmo;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$5zgAl3IFHP6i4hvY3Hby3Fg4HQM;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$8rl8kos6nVh_HCoMLzbQatFXfQM;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$9LPSm49BYrWURHV0f_s9bnJYnVk;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$AQt7n1uNhFzkQj_jKv_v8YLYK-E;
@@ -49745,6 +53370,8 @@
 Lcom/android/server/wm/-$$Lambda$ActivityStack$FkaZkaRIeozTqSdHkmYZNbNtF1I;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$FmEEyG-_GV_nB2HunZ086MlsGbw;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$GDPUuzTvyfp2z6wYxqAF0vhMJK8;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$Htv3ORQSvt64DuTSOQvqY0tbSys;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$JmaqDIfLgBPvNqAjeRohpVhqtMw;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$LjKdRo1XcwS4pEMN4TDnJTwl_Xs;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$MbOt7bGpxw9wmjZ8kOCkYcDCqMQ;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$McNymlK649VA6OMbsDYgFAkVJo8;
@@ -49755,7 +53382,9 @@
 Lcom/android/server/wm/-$$Lambda$ActivityStack$U5MWhpArTVT_b8W6GtTa1Ao8HFs;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$VIuWlCdKwIo4qqRlevMLniedZ7o;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$W1rlXKcoaLb8UYskrF3gqMvOkRU;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$X9vss1g3clUg_jG-lx3LQEpL5fM;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$YAQEcQUrLqR06xiJJApMvOPIxhg;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$YtJbVURmslxye4JS4EFo6X31Vv0;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$YwFMIPNkUBnV2uIqB9sZ47M__Og;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$ZeqjtPeTSrJ3k2l6y2bUmw5uqo0;
@@ -49763,13 +53392,16 @@
 Lcom/android/server/wm/-$$Lambda$ActivityStack$ccf0sRiFvFeqRiJQ6iXIEF1eN1Q;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$dhfbladKtxXwwdCS2dFdAfUfBN4;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$n-w1s4z47M3zxF8atJ8fDCrw2CA;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$nvWNVaQ4kkXHI7BamR6vzb4wwJU;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$vLTEw6nwtjcZ-ZyMktx8L5MR_TA;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$xHrv17CG5tAkxdutHyfCFt4-Iec;
 Lcom/android/server/wm/-$$Lambda$ActivityStack$xrtErRAEnS21CI3h4SKc_WzJFDA;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$yjID4CziB85rCK56sUtW6Ulw2eI;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$0u1RcpeZ6m0BHDGGv8EXroS3KyE;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$BFgD0ahFSDg4CqQNytqWrPRgFII;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$GTQdt2-hJbSgeh3nbBxR-rvVTqw;
+Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$MoveTaskToFullscreenHelper$cwI8_ohyLNH4EeQGc44e1nA8e9M;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$MoveTaskToFullscreenHelper$n0VOwWNM3mud17SnHip7XMiWlWE;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PKLpVoHaca7ZAS9IjUCkoGIBtDw;
 Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$iNb1-M_lYtbDycAXODgbDkmI9ww;
@@ -49785,12 +53417,16 @@
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$LocalService$xIfx_hFO4SXy-Nq34zoEHe3S9eU;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$U6g1UdnOPnEF9wX1OTm9nKVXY5k;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$hgT7_BsCohDVg6qQfaw5Xpx0-yQ;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$js0zprxhKzo_Mx9ozR8logP_1-c;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$l_aPxHBjKyHZWF7sw_vGD5ZvoR4;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$nuSrfdXdOXcutw3SV8Ualpreu30;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$w70cT1_hTWQQAYctmXaA0BeZuBc;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$x3j1aVkumtfulORwKd6dHysJyE0;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yEgPBZves-gjR6r_sca6FAEYeiA;
 Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;
 Lcom/android/server/wm/-$$Lambda$AlertWindowNotification$ZuqSYML-X-nkNVTba_yeIT9hJ1s;
 Lcom/android/server/wm/-$$Lambda$AlertWindowNotification$iVtcJMb6VtqtAgEtGUDCkGay0tM;
@@ -49852,9 +53488,11 @@
 Lcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$5H3Kr211kTMg-C28tapuQGzkwN8;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$rQnI0Y8R9ptQ09cGHwbCHDiG2FY;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$Ufn2ZjVS0i1L8aeQ8GZMJNJfmcY;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$UpcoNmXQIJX_lHKnFIxs4t_Pu24;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$_XfE1uZ9VUv6i0SxWUvqu69FNb4;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$cDcvMzGxc6XW13Q8FrU5X4DagqE;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$cUrRhr9F2jovlTUmfY9boAvOD98;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$dcSGCWAJtdQoc69foFpUzYoTn2I;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$eJsj3GR1HdCnOJrZ8_oaLP52jg0;
 Lcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;
@@ -49915,6 +53553,7 @@
 Lcom/android/server/wm/-$$Lambda$IamNNBZp056cXLajnE4zHKSqj-c;
 Lcom/android/server/wm/-$$Lambda$ImeInsetsSourceProvider$1aCwANZDoNIzXR0mfeN2iV_k2Yo;
 Lcom/android/server/wm/-$$Lambda$InputMonitor$ew_vdS116C6DH9LxWaTuVXJYZPE;
+Lcom/android/server/wm/-$$Lambda$InsetsPolicy$InsetsPolicyAnimationControlListener$InsetsPolicyAnimationControlCallbacks$g4iZp8JC81kbnUW8925AyPjUE34;
 Lcom/android/server/wm/-$$Lambda$InsetsPolicy$LCR2QgJZxbNat6Qb0Be-JDpy3i0;
 Lcom/android/server/wm/-$$Lambda$InsetsPolicy$rhM012fDRQZs2vWOctMZZ_uSXvc;
 Lcom/android/server/wm/-$$Lambda$InsetsStateController$-1iOXDf-1s3wDHcMIHBKNk6MS3I;
@@ -49970,6 +53609,7 @@
 Lcom/android/server/wm/-$$Lambda$RootActivityContainer$eTBwQBLMAzyK1I2vbgH_wbrf5n0;
 Lcom/android/server/wm/-$$Lambda$RootActivityContainer$m1XaUaXYDseEoG-rccxbUydXgO8;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$-XbbIpkF4p2mF3v0qeXeat-_w3E;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$07q9Iva7qby1Cfkq4KztBB6CisE;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$0ZupnQyxl7yZKgMmf2zwvykG50s;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$1$HOnR_rhPvM6ZPX8yI-4GFhkGqUs;
@@ -49996,6 +53636,7 @@
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$smSIq2r4GMdbTUsLaRS4KHth6DY;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$utugHDPHgMp2b3JwigOH_-Y0P1Q;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$wLVWfnI4-Qh591YFnQQbgqi690s;
 Lcom/android/server/wm/-$$Lambda$RootWindowContainer$y9wG_endhUBCwGznyjN4RSIYTyg;
 Lcom/android/server/wm/-$$Lambda$RunningTasks$MPCBAZpSXKx53M7vrqtvLfftJOc;
 Lcom/android/server/wm/-$$Lambda$RunningTasks$hR_Ryk91b0B2BdJN9eCfQfPwC3g;
@@ -50004,6 +53645,7 @@
 Lcom/android/server/wm/-$$Lambda$Session$3q7E1KtcKfO8_a7pOH0nnVURP8w;
 Lcom/android/server/wm/-$$Lambda$Session$6cG7louvKZjAfcc7DtiA7aAzr7U;
 Lcom/android/server/wm/-$$Lambda$Session$zgdcs0nAb8hCdS-6ugnFMadbhU8;
+Lcom/android/server/wm/-$$Lambda$ShellRoot$ZIRxB0zj35u-emFBSiaW8a8zUus;
 Lcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;
 Lcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;
 Lcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;
@@ -50272,6 +53914,7 @@
 Lcom/android/server/wm/DisplayArea$Tokens;
 Lcom/android/server/wm/DisplayArea$Type;
 Lcom/android/server/wm/DisplayArea;
+Lcom/android/server/wm/DisplayAreaOrganizerController;
 Lcom/android/server/wm/DisplayAreaPolicy$1;
 Lcom/android/server/wm/DisplayAreaPolicy$Default$Provider;
 Lcom/android/server/wm/DisplayAreaPolicy$Default;
@@ -50470,6 +54113,9 @@
 Lcom/android/server/wm/TaskChangeNotificationController$MainHandler;
 Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
 Lcom/android/server/wm/TaskChangeNotificationController;
+Lcom/android/server/wm/TaskContainers;
+Lcom/android/server/wm/TaskDisplayArea$OnStackOrderChangedListener;
+Lcom/android/server/wm/TaskDisplayArea;
 Lcom/android/server/wm/TaskLaunchParamsModifier;
 Lcom/android/server/wm/TaskOrganizerController$DeathRecipient;
 Lcom/android/server/wm/TaskOrganizerController$TaskOrganizerState;
@@ -50484,6 +54130,7 @@
 Lcom/android/server/wm/TaskSnapshotCache$CacheEntry;
 Lcom/android/server/wm/TaskSnapshotCache;
 Lcom/android/server/wm/TaskSnapshotController;
+Lcom/android/server/wm/TaskSnapshotLoader$PreRLegacySnapshotConfig;
 Lcom/android/server/wm/TaskSnapshotLoader;
 Lcom/android/server/wm/TaskSnapshotPersister$1;
 Lcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;
@@ -50553,6 +54200,7 @@
 Lcom/android/server/wm/WindowManagerService;
 Lcom/android/server/wm/WindowManagerShellCommand;
 Lcom/android/server/wm/WindowManagerThreadPriorityBooster;
+Lcom/android/server/wm/WindowOrganizerController;
 Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;
 Lcom/android/server/wm/WindowProcessController;
 Lcom/android/server/wm/WindowProcessControllerMap;
@@ -50596,6 +54244,7 @@
 Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$bprgjb2FWBxwWDJr-Q4ViVP0aJc;
 Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$elqG7IabJdUOCjFWiPV8vgrXnVI;
 Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$qed0q0aplGsIh0O7dSm6JWk8wZI;
+Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$IorapdJobService$42YZ24cX_s4lPtOYWBr7EBOoX_A;
 Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$IorapdJobService$LUEcmjVFTNORsDoHk5dk5OHflTU;
 Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$miQO-RJhHA7C1W4BujwCS9blXFc;
 Lcom/google/android/startop/iorap/AppIntentEvent;
diff --git a/services/autofill/java/com/android/server/autofill/AutofillInlineSuggestionsRequestSession.java b/services/autofill/java/com/android/server/autofill/AutofillInlineSuggestionsRequestSession.java
index ea4aaa4..ce11c76 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillInlineSuggestionsRequestSession.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillInlineSuggestionsRequestSession.java
@@ -18,6 +18,7 @@
 
 import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
 import static com.android.server.autofill.Helper.sDebug;
+import static com.android.server.autofill.Helper.sVerbose;
 
 import android.annotation.BinderThread;
 import android.annotation.NonNull;
@@ -53,7 +54,16 @@
 final class AutofillInlineSuggestionsRequestSession {
 
     private static final String TAG = AutofillInlineSuggestionsRequestSession.class.getSimpleName();
-    private static final int INLINE_REQUEST_TIMEOUT_MS = 200;
+
+    // This timeout controls how long Autofill should wait for the IME to respond either
+    // unsupported or an {@link InlineSuggestionsRequest}. The timeout is needed to take into
+    // account the latency between the two events after a field is focused, 1) an Autofill
+    // request is triggered on framework; 2) the InputMethodService#onStartInput() event is
+    // triggered on the IME side. When 1) happens, Autofill may call the IME to return an {@link
+    // InlineSuggestionsRequest}, but the IME will only return it after 2) happens (or return
+    // immediately if the IME doesn't support inline suggestions). Also there is IPC latency
+    // between the framework and the IME but that should be small compare to that.
+    private static final int CREATE_INLINE_SUGGESTIONS_REQUEST_TIMEOUT_MS = 1000;
 
     @NonNull
     private final InputMethodManagerInternal mInputMethodManagerInternal;
@@ -177,10 +187,10 @@
      */
     @GuardedBy("mLock")
     void onCreateInlineSuggestionsRequestLocked() {
-        if (sDebug) Log.d(TAG, "onCreateInlineSuggestionsRequestLocked called: " + mAutofillId);
         if (mDestroyed) {
             return;
         }
+        if (sDebug) Log.d(TAG, "onCreateInlineSuggestionsRequestLocked called: " + mAutofillId);
         mInputMethodManagerInternal.onCreateInlineSuggestionsRequest(mUserId,
                 new InlineSuggestionsRequestInfo(mComponentName, mAutofillId, mUiExtras),
                 new InlineSuggestionsRequestCallbackImpl(this));
@@ -188,7 +198,7 @@
             Log.w(TAG, "Timed out waiting for IME callback InlineSuggestionsRequest.");
             handleOnReceiveImeRequest(null, null);
         };
-        mHandler.postDelayed(mTimeoutCallback, INLINE_REQUEST_TIMEOUT_MS);
+        mHandler.postDelayed(mTimeoutCallback, CREATE_INLINE_SUGGESTIONS_REQUEST_TIMEOUT_MS);
     }
 
     /**
@@ -196,7 +206,7 @@
      */
     @GuardedBy("mLock")
     private void maybeUpdateResponseToImeLocked() {
-        if (sDebug) Log.d(TAG, "maybeUpdateResponseToImeLocked called");
+        if (sVerbose) Log.v(TAG, "maybeUpdateResponseToImeLocked called");
         if (mDestroyed || mResponseCallback == null) {
             return;
         }
@@ -206,7 +216,7 @@
             // Although the inline suggestions should disappear when IME hides which removes them
             // from the view hierarchy, but we still send an empty response to be extra safe.
 
-            if (sDebug) Log.d(TAG, "Send empty inline response");
+            if (sVerbose) Log.v(TAG, "Send empty inline response");
             updateResponseToImeUncheckLocked(new InlineSuggestionsResponse(Collections.EMPTY_LIST));
             mPreviousResponseIsNotEmpty = false;
         } else if (mImeInputViewStarted && mInlineSuggestionsResponse != null && match(mAutofillId,
@@ -217,10 +227,6 @@
                 // No-op if both the previous response and current response are empty.
                 return;
             }
-            if (sDebug) {
-                Log.d(TAG, "Send inline response: "
-                        + mInlineSuggestionsResponse.getInlineSuggestions().size());
-            }
             updateResponseToImeUncheckLocked(mInlineSuggestionsResponse);
             mPreviousResponseIsNotEmpty = !isEmptyResponse;
         }
@@ -234,6 +240,7 @@
         if (mDestroyed) {
             return;
         }
+        if (sDebug) Log.d(TAG, "Send inline response: " + response.getInlineSuggestions().size());
         try {
             mResponseCallback.onInlineSuggestionsResponse(mAutofillId, response);
         } catch (RemoteException e) {
@@ -255,7 +262,7 @@
             mImeRequestReceived = true;
 
             if (mTimeoutCallback != null) {
-                if (sDebug) Log.d(TAG, "removing timeout callback");
+                if (sVerbose) Log.v(TAG, "removing timeout callback");
                 mHandler.removeCallbacks(mTimeoutCallback);
                 mTimeoutCallback = null;
             }
@@ -350,7 +357,7 @@
 
         @Override
         public void onInputMethodStartInput(AutofillId imeFieldId) throws RemoteException {
-            if (sDebug) Log.d(TAG, "onInputMethodStartInput() received on " + imeFieldId);
+            if (sVerbose) Log.v(TAG, "onInputMethodStartInput() received on " + imeFieldId);
             final AutofillInlineSuggestionsRequestSession session = mSession.get();
             if (session != null) {
                 session.mHandler.sendMessage(obtainMessage(
@@ -361,15 +368,15 @@
 
         @Override
         public void onInputMethodShowInputRequested(boolean requestResult) throws RemoteException {
-            if (sDebug) {
-                Log.d(TAG, "onInputMethodShowInputRequested() received: " + requestResult);
+            if (sVerbose) {
+                Log.v(TAG, "onInputMethodShowInputRequested() received: " + requestResult);
             }
         }
 
         @BinderThread
         @Override
         public void onInputMethodStartInputView() {
-            if (sDebug) Log.d(TAG, "onInputMethodStartInputView() received");
+            if (sVerbose) Log.v(TAG, "onInputMethodStartInputView() received");
             final AutofillInlineSuggestionsRequestSession session = mSession.get();
             if (session != null) {
                 session.mHandler.sendMessage(obtainMessage(
@@ -381,7 +388,7 @@
         @BinderThread
         @Override
         public void onInputMethodFinishInputView() {
-            if (sDebug) Log.d(TAG, "onInputMethodFinishInputView() received");
+            if (sVerbose) Log.v(TAG, "onInputMethodFinishInputView() received");
             final AutofillInlineSuggestionsRequestSession session = mSession.get();
             if (session != null) {
                 session.mHandler.sendMessage(obtainMessage(
@@ -392,7 +399,7 @@
 
         @Override
         public void onInputMethodFinishInput() throws RemoteException {
-            if (sDebug) Log.d(TAG, "onInputMethodFinishInput() received");
+            if (sVerbose) Log.v(TAG, "onInputMethodFinishInput() received");
             final AutofillInlineSuggestionsRequestSession session = mSession.get();
             if (session != null) {
                 session.mHandler.sendMessage(obtainMessage(
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index d1805d9..1bc026c 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -815,26 +815,27 @@
         }
     }
 
-    void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId) {
+    void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId,
+            @Nullable Bundle clientState) {
         synchronized (mLock) {
             if (mAugmentedAutofillEventHistory == null
                     || mAugmentedAutofillEventHistory.getSessionId() != sessionId) {
                 return;
             }
             mAugmentedAutofillEventHistory.addEvent(
-                    new Event(Event.TYPE_DATASET_SELECTED, suggestionId, null, null, null,
+                    new Event(Event.TYPE_DATASET_SELECTED, suggestionId, clientState, null, null,
                             null, null, null, null, null, null));
         }
     }
 
-    void logAugmentedAutofillShown(int sessionId) {
+    void logAugmentedAutofillShown(int sessionId, @Nullable Bundle clientState) {
         synchronized (mLock) {
             if (mAugmentedAutofillEventHistory == null
                     || mAugmentedAutofillEventHistory.getSessionId() != sessionId) {
                 return;
             }
             mAugmentedAutofillEventHistory.addEvent(
-                    new Event(Event.TYPE_DATASETS_SHOWN, null, null, null, null, null,
+                    new Event(Event.TYPE_DATASETS_SHOWN, null, clientState, null, null, null,
                             null, null, null, null, null));
 
         }
@@ -1185,15 +1186,16 @@
                         }
 
                         @Override
-                        public void logAugmentedAutofillShown(int sessionId) {
-                            AutofillManagerServiceImpl.this.logAugmentedAutofillShown(sessionId);
+                        public void logAugmentedAutofillShown(int sessionId, Bundle clientState) {
+                            AutofillManagerServiceImpl.this.logAugmentedAutofillShown(sessionId,
+                                    clientState);
                         }
 
                         @Override
                         public void logAugmentedAutofillSelected(int sessionId,
-                                String suggestionId) {
+                                String suggestionId, Bundle clientState) {
                             AutofillManagerServiceImpl.this.logAugmentedAutofillSelected(sessionId,
-                                    suggestionId);
+                                    suggestionId, clientState);
                         }
 
                         @Override
diff --git a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
index b6bc7c5..6cec8d8 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
@@ -168,12 +168,12 @@
                             focusedId, focusedValue, requestTime, inlineSuggestionsRequest,
                             new IFillCallback.Stub() {
                                 @Override
-                                public void onSuccess(
-                                        @Nullable List<Dataset> inlineSuggestionsData) {
+                                public void onSuccess(@Nullable List<Dataset> inlineSuggestionsData,
+                                        @Nullable Bundle clientState) {
                                     mCallbacks.resetLastResponse();
                                     maybeRequestShowInlineSuggestions(sessionId,
                                             inlineSuggestionsRequest, inlineSuggestionsData,
-                                            focusedId, inlineSuggestionsCallback,
+                                            clientState, focusedId, inlineSuggestionsCallback,
                                             client, onErrorCallback, remoteRenderService);
                                     requestAutofill.complete(null);
                                 }
@@ -238,7 +238,8 @@
 
     private void maybeRequestShowInlineSuggestions(int sessionId,
             @Nullable InlineSuggestionsRequest request,
-            @Nullable List<Dataset> inlineSuggestionsData, @NonNull AutofillId focusedId,
+            @Nullable List<Dataset> inlineSuggestionsData, @Nullable Bundle clientState,
+            @NonNull AutofillId focusedId,
             @Nullable Function<InlineSuggestionsResponse, Boolean> inlineSuggestionsCallback,
             @NonNull IAutoFillManagerClient client, @NonNull Runnable onErrorCallback,
             @Nullable RemoteInlineSuggestionRenderService remoteRenderService) {
@@ -256,7 +257,7 @@
                             @Override
                             public void autofill(Dataset dataset) {
                                 mCallbacks.logAugmentedAutofillSelected(sessionId,
-                                        dataset.getId());
+                                        dataset.getId(), clientState);
                                 try {
                                     final ArrayList<AutofillId> fieldIds = dataset.getFieldIds();
                                     final int size = fieldIds.size();
@@ -287,7 +288,7 @@
             return;
         }
         if (inlineSuggestionsCallback.apply(inlineSuggestionsResponse)) {
-            mCallbacks.logAugmentedAutofillShown(sessionId);
+            mCallbacks.logAugmentedAutofillShown(sessionId, clientState);
         }
     }
 
@@ -310,8 +311,9 @@
 
         void setLastResponse(int sessionId);
 
-        void logAugmentedAutofillShown(int sessionId);
+        void logAugmentedAutofillShown(int sessionId, @Nullable Bundle clientState);
 
-        void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId);
+        void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId,
+                @Nullable Bundle clientState);
     }
 }
diff --git a/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java b/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
index 347174c..255adcd 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
@@ -97,9 +97,7 @@
      * Gets the inline suggestions renderer info as a {@link Bundle}.
      */
     public void getInlineSuggestionsRendererInfo(@NonNull RemoteCallback callback) {
-        scheduleAsyncRequest((s) -> s.getInlineSuggestionsRendererInfo(new RemoteCallback(
-                (bundle) -> callback.sendResult(bundle)
-        )));
+        scheduleAsyncRequest((s) -> s.getInlineSuggestionsRendererInfo(callback));
     }
 
     @Nullable
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index 3d68618..9d1ad42 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -2653,6 +2653,11 @@
         } else if (viewState.id.equals(this.mCurrentViewId)
                 && (viewState.getState() & ViewState.STATE_INLINE_SHOWN) != 0) {
             requestShowInlineSuggestionsLocked(viewState.getResponse(), filterText);
+        } else if (viewState.id.equals(this.mCurrentViewId)
+                && (viewState.getState() & ViewState.STATE_TRIGGERED_AUGMENTED_AUTOFILL) != 0) {
+            if (!TextUtils.isEmpty(filterText)) {
+                mInlineSessionController.hideInlineSuggestionsUiLocked(mCurrentViewId);
+            }
         }
 
         viewState.setState(ViewState.STATE_CHANGED);
diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
index 69154b4..992e984 100644
--- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
@@ -3120,6 +3120,8 @@
      * to the backup agent during restore.
      */
     public void excludeKeysFromRestore(String packageName, List<String> keys) {
+        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
+                "excludeKeysFromRestore");
         mBackupPreferences.addExcludedKeys(packageName, keys);
     }
 
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index fe33fae9..ce65110 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -1741,8 +1741,9 @@
 
         final long nowElapsed = mInjector.getElapsedRealtime();
         final long nominalTrigger = convertToElapsed(triggerAtTime, type);
-        // Try to prevent spamming by making sure we aren't firing alarms in the immediate future
-        final long minTrigger = nowElapsed + mConstants.MIN_FUTURITY;
+        // Try to prevent spamming by making sure apps aren't firing alarms in the immediate future
+        final long minTrigger = nowElapsed
+                + (UserHandle.isCore(callingUid) ? 0L : mConstants.MIN_FUTURITY);
         final long triggerElapsed = (nominalTrigger > minTrigger) ? nominalTrigger : minTrigger;
 
         final long maxElapsed;
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 51427c1..552331e 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -2093,6 +2093,20 @@
                 NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
     }
 
+    private void enforceNetworkFactoryOrSettingsPermission() {
+        enforceAnyPermissionOf(
+                android.Manifest.permission.NETWORK_SETTINGS,
+                android.Manifest.permission.NETWORK_FACTORY,
+                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
+    }
+
+    private void enforceNetworkFactoryOrTestNetworksPermission() {
+        enforceAnyPermissionOf(
+                android.Manifest.permission.MANAGE_TEST_NETWORKS,
+                android.Manifest.permission.NETWORK_FACTORY,
+                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
+    }
+
     private boolean checkSettingsPermission() {
         return checkAnyPermissionOf(
                 android.Manifest.permission.NETWORK_SETTINGS,
@@ -2151,7 +2165,8 @@
     private boolean checkNetworkSignalStrengthWakeupPermission(int pid, int uid) {
         return checkAnyPermissionOf(pid, uid,
                 android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP,
-                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
+                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
+                android.Manifest.permission.NETWORK_SETTINGS);
     }
 
     private void enforceConnectivityRestrictedNetworksPermission() {
@@ -2721,7 +2736,9 @@
                     break;
                 }
                 case NetworkAgent.EVENT_NETWORK_PROPERTIES_CHANGED: {
-                    handleUpdateLinkProperties(nai, (LinkProperties) msg.obj);
+                    LinkProperties newLp = (LinkProperties) msg.obj;
+                    processLinkPropertiesFromAgent(nai, newLp);
+                    handleUpdateLinkProperties(nai, newLp);
                     break;
                 }
                 case NetworkAgent.EVENT_NETWORK_INFO_CHANGED: {
@@ -5680,7 +5697,7 @@
 
     @Override
     public int registerNetworkProvider(Messenger messenger, String name) {
-        enforceNetworkFactoryPermission();
+        enforceNetworkFactoryOrSettingsPermission();
         NetworkProviderInfo npi = new NetworkProviderInfo(name, messenger,
                 null /* asyncChannel */, nextNetworkProviderId(),
                 () -> unregisterNetworkProvider(messenger));
@@ -5690,7 +5707,7 @@
 
     @Override
     public void unregisterNetworkProvider(Messenger messenger) {
-        enforceNetworkFactoryPermission();
+        enforceNetworkFactoryOrSettingsPermission();
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_UNREGISTER_NETWORK_PROVIDER, messenger));
     }
 
@@ -5710,7 +5727,11 @@
 
     @Override
     public void declareNetworkRequestUnfulfillable(NetworkRequest request) {
-        enforceNetworkFactoryPermission();
+        if (request.hasTransport(TRANSPORT_TEST)) {
+            enforceNetworkFactoryOrTestNetworksPermission();
+        } else {
+            enforceNetworkFactoryPermission();
+        }
         mHandler.post(() -> handleReleaseNetworkRequest(request, Binder.getCallingUid(), true));
     }
 
@@ -5816,7 +5837,7 @@
         }
 
         LinkProperties lp = new LinkProperties(linkProperties);
-        lp.ensureDirectlyConnectedRoutes();
+
         // TODO: Instead of passing mDefaultRequest, provide an API to determine whether a Network
         // satisfies mDefaultRequest.
         final NetworkCapabilities nc = new NetworkCapabilities(networkCapabilities);
@@ -5824,8 +5845,11 @@
                 new Network(mNetIdManager.reserveNetId()), new NetworkInfo(networkInfo), lp, nc,
                 currentScore, mContext, mTrackerHandler, new NetworkAgentConfig(networkAgentConfig),
                 this, mNetd, mDnsResolver, mNMS, providerId);
-        // Make sure the network capabilities reflect what the agent info says.
+
+        // Make sure the LinkProperties and NetworkCapabilities reflect what the agent info says.
         nai.getAndSetNetworkCapabilities(mixInCapabilities(nai, nc));
+        processLinkPropertiesFromAgent(nai, nai.linkProperties);
+
         final String extraInfo = networkInfo.getExtraInfo();
         final String name = TextUtils.isEmpty(extraInfo)
                 ? nai.networkCapabilities.getSsid() : extraInfo;
@@ -5863,6 +5887,11 @@
         updateUids(nai, null, nai.networkCapabilities);
     }
 
+    private void processLinkPropertiesFromAgent(NetworkAgentInfo nai, LinkProperties lp) {
+        lp.ensureDirectlyConnectedRoutes();
+        nai.clatd.setNat64PrefixFromRa(lp.getNat64Prefix());
+    }
+
     private void updateLinkProperties(NetworkAgentInfo networkAgent, LinkProperties newLp,
             @NonNull LinkProperties oldLp) {
         int netId = networkAgent.network.netId;
@@ -6390,13 +6419,13 @@
             // Ignore updates for disconnected networks
             return;
         }
-        // newLp is already a defensive copy.
-        newLp.ensureDirectlyConnectedRoutes();
         if (VDBG || DDBG) {
             log("Update of LinkProperties for " + nai.toShortString()
                     + "; created=" + nai.created
                     + "; everConnected=" + nai.everConnected);
         }
+        // TODO: eliminate this defensive copy after confirming that updateLinkProperties does not
+        // modify its oldLp parameter.
         updateLinkProperties(nai, newLp, new LinkProperties(nai.linkProperties));
     }
 
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index b0a586d..14fe0c5 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -3215,10 +3215,14 @@
 
     @Override
     public void unlockUserKey(int userId, int serialNumber, byte[] token, byte[] secret) {
-        Slog.d(TAG, "unlockUserKey: " + userId);
+        boolean isFsEncrypted = StorageManager.isFileEncryptedNativeOrEmulated();
+        Slog.d(TAG, "unlockUserKey: " + userId
+                + " isFileEncryptedNativeOrEmulated: " + isFsEncrypted
+                + " hasToken: " + (token != null)
+                + " hasSecret: " + (secret != null));
         enforcePermission(android.Manifest.permission.STORAGE_INTERNAL);
 
-        if (StorageManager.isFileEncryptedNativeOrEmulated()) {
+        if (isFsEncrypted) {
             try {
                 mVold.unlockUserKey(userId, serialNumber, encodeBytes(token),
                         encodeBytes(secret));
diff --git a/services/core/java/com/android/server/UserspaceRebootLogger.java b/services/core/java/com/android/server/UserspaceRebootLogger.java
index 9a9374c..2403b63 100644
--- a/services/core/java/com/android/server/UserspaceRebootLogger.java
+++ b/services/core/java/com/android/server/UserspaceRebootLogger.java
@@ -24,6 +24,7 @@
 import static com.android.internal.util.FrameworkStatsLog.USERSPACE_REBOOT_REPORTED__USER_ENCRYPTION_STATE__LOCKED;
 import static com.android.internal.util.FrameworkStatsLog.USERSPACE_REBOOT_REPORTED__USER_ENCRYPTION_STATE__UNLOCKED;
 
+import android.os.PowerManager;
 import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.text.TextUtils;
@@ -53,8 +54,15 @@
     /**
      * Modifies internal state to note that {@code UserspaceRebootReported} atom needs to be
      * logged on the next successful boot.
+     *
+     * <p>This call should only be made on devices supporting userspace reboot.
      */
     public static void noteUserspaceRebootWasRequested() {
+        if (!PowerManager.isRebootingUserspaceSupportedImpl()) {
+            Slog.wtf(TAG, "Userspace reboot is not supported.");
+            return;
+        }
+
         SystemProperties.set(USERSPACE_REBOOT_SHOULD_LOG_PROPERTY, "1");
         SystemProperties.set(USERSPACE_REBOOT_LAST_STARTED_PROPERTY,
                 String.valueOf(SystemClock.elapsedRealtime()));
@@ -64,16 +72,30 @@
      * Updates internal state on boot after successful userspace reboot.
      *
      * <p>Should be called right before framework sets {@code sys.boot_completed} property.
+     *
+     * <p>This call should only be made on devices supporting userspace reboot.
      */
     public static void noteUserspaceRebootSuccess() {
+        if (!PowerManager.isRebootingUserspaceSupportedImpl()) {
+            Slog.wtf(TAG, "Userspace reboot is not supported.");
+            return;
+        }
+
         SystemProperties.set(USERSPACE_REBOOT_LAST_FINISHED_PROPERTY,
                 String.valueOf(SystemClock.elapsedRealtime()));
     }
 
     /**
      * Returns {@code true} if {@code UserspaceRebootReported} atom should be logged.
+     *
+     * <p>This call should only be made on devices supporting userspace reboot.
      */
     public static boolean shouldLogUserspaceRebootEvent() {
+        if (!PowerManager.isRebootingUserspaceSupportedImpl()) {
+            Slog.wtf(TAG, "Userspace reboot is not supported.");
+            return false;
+        }
+
         return SystemProperties.getBoolean(USERSPACE_REBOOT_SHOULD_LOG_PROPERTY, false);
     }
 
@@ -83,8 +105,15 @@
      * <p>Should be called in the end of {@link
      * com.android.server.am.ActivityManagerService#finishBooting()} method, after framework have
      * tried to proactivelly unlock storage of the primary user.
+     *
+     * <p>This call should only be made on devices supporting userspace reboot.
      */
     public static void logEventAsync(boolean userUnlocked, Executor executor) {
+        if (!PowerManager.isRebootingUserspaceSupportedImpl()) {
+            Slog.wtf(TAG, "Userspace reboot is not supported.");
+            return;
+        }
+
         final int outcome = computeOutcome();
         final long durationMillis;
         if (outcome == USERSPACE_REBOOT_REPORTED__OUTCOME__SUCCESS) {
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index ac4a42c..e066d99 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -1034,6 +1034,9 @@
             VibrationEffect.Waveform waveform = (VibrationEffect.Waveform) vib.effect;
             waveform = waveform.resolve(mDefaultVibrationAmplitude);
             scaledEffect = waveform.scale(scale.gamma, scale.maxAmplitude);
+        } else if (vib.effect instanceof VibrationEffect.Composed) {
+            VibrationEffect.Composed composed = (VibrationEffect.Composed) vib.effect;
+            scaledEffect = composed.scale(scale.gamma, scale.maxAmplitude);
         } else {
             Slog.w(TAG, "Unable to apply intensity scaling, unknown VibrationEffect type");
         }
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index e49357b..27ea471 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -23,7 +23,6 @@
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
-import android.app.PendingIntent;
 import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -36,6 +35,7 @@
 import android.content.res.Resources;
 import android.database.ContentObserver;
 import android.debug.AdbManager;
+import android.debug.AdbNotifications;
 import android.debug.AdbProtoEnums;
 import android.debug.AdbTransportType;
 import android.debug.PairDevice;
@@ -69,7 +69,6 @@
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
-import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.FrameworkStatsLog;
 import com.android.internal.util.XmlUtils;
@@ -178,7 +177,15 @@
         private String mPairingCode;
         private String mGuid;
         private String mServiceName;
-        private final String mServiceType = "_adb_secure_pairing._tcp.";
+        // From RFC6763 (https://tools.ietf.org/html/rfc6763#section-7.2),
+        // The rules for Service Names [RFC6335] state that they may be no more
+        // than fifteen characters long (not counting the mandatory underscore),
+        // consisting of only letters, digits, and hyphens, must begin and end
+        // with a letter or digit, must not contain consecutive hyphens, and
+        // must contain at least one letter.
+        @VisibleForTesting
+        static final String SERVICE_PROTOCOL = "adb-tls-pairing";
+        private final String mServiceType = String.format("_%s._tcp.", SERVICE_PROTOCOL);
         private int mPort;
 
         private native int native_pairing_start(String guid, String password);
@@ -760,40 +767,13 @@
         // Show when at least one device is connected.
         public void showAdbConnectedNotification(boolean show) {
             final int id = SystemMessage.NOTE_ADB_WIFI_ACTIVE;
-            final int titleRes = com.android.internal.R.string.adbwifi_active_notification_title;
             if (show == mAdbNotificationShown) {
                 return;
             }
             setupNotifications();
             if (!mAdbNotificationShown) {
-                Resources r = mContext.getResources();
-                CharSequence title = r.getText(titleRes);
-                CharSequence message = r.getText(
-                        com.android.internal.R.string.adbwifi_active_notification_message);
-
-                Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
-                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
-                        | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-                PendingIntent pi = PendingIntent.getActivityAsUser(mContext, 0,
-                        intent, 0, null, UserHandle.CURRENT);
-
-                Notification notification =
-                        new Notification.Builder(mContext, SystemNotificationChannels.DEVELOPER)
-                                .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
-                                .setWhen(0)
-                                .setOngoing(true)
-                                .setTicker(title)
-                                .setDefaults(0)  // please be quiet
-                                .setColor(mContext.getColor(
-                                        com.android.internal.R.color
-                                                .system_notification_accent_color))
-                                .setContentTitle(title)
-                                .setContentText(message)
-                                .setContentIntent(pi)
-                                .setVisibility(Notification.VISIBILITY_PUBLIC)
-                                .extend(new Notification.TvExtender()
-                                        .setChannelId(ADB_NOTIFICATION_CHANNEL_ID_TV))
-                                .build();
+                Notification notification = AdbNotifications.createNotification(mContext,
+                        AdbTransportType.WIFI);
                 mAdbNotificationShown = true;
                 mNotificationManager.notifyAsUser(null, id, notification,
                         UserHandle.ALL);
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index e41ba0e..3fdf541 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -397,6 +397,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -465,6 +466,8 @@
 
     static final String SYSTEM_DEBUGGABLE = "ro.debuggable";
 
+    static final String SYSTEM_USER_HOME_NEEDED = "ro.system_user_home_needed";
+
     public static final String ANR_TRACE_DIR = "/data/anr";
 
     // Maximum number of receivers an app can register.
@@ -2681,7 +2684,6 @@
         Slog.d("AppOps", "AppOpsService published");
         LocalServices.addService(ActivityManagerInternal.class, mInternal);
         mActivityTaskManager.onActivityManagerInternalAdded();
-        mUgmInternal.onActivityManagerInternalAdded();
         mPendingIntentController.onActivityManagerInternalAdded();
         // Wait for the synchronized block started in mProcessCpuThread,
         // so that any other access to mProcessCpuTracker from main thread
@@ -6410,7 +6412,7 @@
         if (pid == MY_PID) {
             return PackageManager.PERMISSION_GRANTED;
         }
-        return mUgmInternal.checkUriPermission(new GrantUri(userId, uri, false), uid, modeFlags)
+        return mUgmInternal.checkUriPermission(new GrantUri(userId, uri, modeFlags), uid, modeFlags)
                 ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED;
     }
 
@@ -6422,7 +6424,7 @@
     public void grantUriPermission(IApplicationThread caller, String targetPkg, Uri uri,
             final int modeFlags, int userId) {
         enforceNotIsolatedCaller("grantUriPermission");
-        GrantUri grantUri = new GrantUri(userId, uri, false);
+        GrantUri grantUri = new GrantUri(userId, uri, modeFlags);
         synchronized(this) {
             final ProcessRecord r = getRecordForAppLocked(caller);
             if (r == null) {
@@ -6480,8 +6482,8 @@
                 return;
             }
 
-            mUgmInternal.revokeUriPermission(targetPackage, r.uid, new GrantUri(userId, uri, false),
-                    modeFlags);
+            mUgmInternal.revokeUriPermission(targetPackage, r.uid,
+                    new GrantUri(userId, uri, modeFlags), modeFlags);
         }
     }
 
@@ -9592,7 +9594,8 @@
             // to handle home activity in this case.
             if (UserManager.isSplitSystemUser() &&
                     Settings.Secure.getInt(mContext.getContentResolver(),
-                         Settings.Secure.USER_SETUP_COMPLETE, 0) != 0) {
+                         Settings.Secure.USER_SETUP_COMPLETE, 0) != 0
+                    || SystemProperties.getBoolean(SYSTEM_USER_HOME_NEEDED, false)) {
                 t.traceBegin("enableHomeActivity");
                 ComponentName cName = new ComponentName(mContext, SystemUserHomeActivity.class);
                 try {
@@ -9989,6 +9992,30 @@
     }
 
     /**
+     * Schedule to handle any pending system_server WTFs.
+     */
+    public void schedulePendingSystemServerWtfs(
+            final LinkedList<Pair<String, ApplicationErrorReport.CrashInfo>> list) {
+        mHandler.post(() -> handlePendingSystemServerWtfs(list));
+    }
+
+    /**
+     * Handle any pending system_server WTFs, add into the dropbox
+     */
+    private void handlePendingSystemServerWtfs(
+            final LinkedList<Pair<String, ApplicationErrorReport.CrashInfo>> list) {
+        ProcessRecord proc;
+        synchronized (mPidsSelfLocked) {
+            proc = mPidsSelfLocked.get(MY_PID);
+        }
+        for (Pair<String, ApplicationErrorReport.CrashInfo> p = list.poll();
+                p != null; p = list.poll()) {
+            addErrorToDropBox("wtf", proc, "system_server", null, null, null, p.first, null, null,
+                    p.second);
+        }
+    }
+
+    /**
      * @param app object of some object (as stored in {@link com.android.internal.os.RuntimeInit})
      * @return the corresponding {@link ProcessRecord} object, or null if none could be found
      */
diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
index 8f5fbf7..149e3ba 100644
--- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
+++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
@@ -2504,7 +2504,7 @@
 
         IUsageStatsManager usm = IUsageStatsManager.Stub.asInterface(ServiceManager.getService(
                 Context.USAGE_STATS_SERVICE));
-        boolean isIdle = usm.isAppInactive(packageName, userId);
+        boolean isIdle = usm.isAppInactive(packageName, userId, SHELL_PACKAGE_NAME);
         pw.println("Idle=" + isIdle);
         return 0;
     }
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 89fa02b..e28464a 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -1668,6 +1668,33 @@
         return gidArray;
     }
 
+    private boolean shouldEnableTaggedPointers(ProcessRecord app) {
+        // Ensure we have platform + kernel support for TBI.
+        if (!Zygote.nativeSupportsTaggedPointers()) {
+            return false;
+        }
+
+        // Check to ensure the app hasn't explicitly opted-out of TBI via. the manifest attribute.
+        if (!app.info.allowsNativeHeapPointerTagging()) {
+            return false;
+        }
+
+        // Check to see that the compat feature for TBI is enabled.
+        if (!mPlatformCompat.isChangeEnabled(NATIVE_HEAP_POINTER_TAGGING, app.info)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    private int decideTaggingLevel(ProcessRecord app) {
+        if (shouldEnableTaggedPointers(app)) {
+            return Zygote.MEMORY_TAG_LEVEL_TBI;
+        }
+
+        return 0;
+    }
+
     private int decideGwpAsanLevel(ProcessRecord app) {
         // Look at the process attribute first.
        if (app.processInfo != null
@@ -1856,15 +1883,6 @@
                 runtimeFlags |= Zygote.USE_APP_IMAGE_STARTUP_CACHE;
             }
 
-            if (Zygote.nativeSupportsTaggedPointers()) {
-                // Enable heap pointer tagging if supported by the kernel, unless disabled by the
-                // app manifest, target sdk level, or compat feature.
-                if (app.info.allowsNativeHeapPointerTagging()
-                        && mPlatformCompat.isChangeEnabled(NATIVE_HEAP_POINTER_TAGGING, app.info)) {
-                    runtimeFlags |= Zygote.MEMORY_TAG_LEVEL_TBI;
-                }
-            }
-
             runtimeFlags |= decideGwpAsanLevel(app);
 
             String invokeWith = null;
@@ -1895,6 +1913,20 @@
             app.setRequiredAbi(requiredAbi);
             app.instructionSet = instructionSet;
 
+            // If instructionSet is non-null, this indicates that the system_server is spawning a
+            // process with an ISA that may be different from its own. System (kernel and hardware)
+            // compatililty for these features is checked in the decideTaggingLevel in the
+            // system_server process (not the child process). As TBI is only supported in aarch64,
+            // we can simply ensure that the new process is also aarch64. This prevents the mismatch
+            // where a 64-bit system server spawns a 32-bit child that thinks it should enable some
+            // tagging variant. Theoretically, a 32-bit system server could exist that spawns 64-bit
+            // processes, in which case the new process won't get any tagging. This is fine as we
+            // haven't seen this configuration in practice, and we can reasonable assume that if
+            // tagging is desired, the system server will be 64-bit.
+            if (instructionSet == null || instructionSet.equals("arm64")) {
+                runtimeFlags |= decideTaggingLevel(app);
+            }
+
             // the per-user SELinux context must be set
             if (TextUtils.isEmpty(app.info.seInfoUser)) {
                 Slog.wtf(ActivityManagerService.TAG, "SELinux tag not defined",
@@ -2208,10 +2240,11 @@
             if (mVoldAppDataIsolationEnabled && UserHandle.isApp(app.uid)
                     && !storageManagerInternal.isExternalStorageService(uid)) {
                 bindMountAppStorageDirs = true;
-                if (!storageManagerInternal.prepareStorageDirs(userId, pkgDataInfoMap.keySet(),
+                if (pkgDataInfoMap == null ||
+                        !storageManagerInternal.prepareStorageDirs(userId, pkgDataInfoMap.keySet(),
                         app.processName)) {
-                    // Cannot prepare Android/app and Android/obb directory,
-                    // so we won't mount it in zygote.
+                    // Cannot prepare Android/app and Android/obb directory or inode == 0,
+                    // so we won't mount it in zygote, but resume the mount after unlocking device.
                     app.bindMountPending = true;
                     bindMountAppStorageDirs = false;
                 }
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index e02c6f9..546025a 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -40,6 +40,7 @@
 import static com.android.server.am.UserState.STATE_RUNNING_UNLOCKED;
 import static com.android.server.am.UserState.STATE_RUNNING_UNLOCKING;
 
+import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
@@ -89,6 +90,7 @@
 import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseIntArray;
+import android.util.SparseLongArray;
 import android.util.proto.ProtoOutputStream;
 
 import com.android.internal.R;
@@ -112,6 +114,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Objects;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -162,6 +165,46 @@
     // TODO(b/149604218): STOPSHIP remove  this constant and the logcat
     private static final boolean TESTS_NEED_LOGCAT = true;
 
+    // Used for statsd logging with UserLifecycleJourneyReported + UserLifecycleEventOccurred atoms
+    private static final long INVALID_SESSION_ID = 0;
+
+    // The various user journeys, defined in the UserLifecycleJourneyReported atom for statsd
+    private static final int USER_JOURNEY_UNKNOWN =
+            FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__UNKNOWN;
+    private static final int USER_JOURNEY_USER_SWITCH_FG =
+            FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__USER_SWITCH_FG;
+    private static final int USER_JOURNEY_USER_SWITCH_UI =
+            FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__USER_SWITCH_UI;
+    private static final int USER_JOURNEY_USER_START =
+            FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__USER_START;
+    private static final int USER_JOURNEY_USER_CREATE =
+            FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__USER_CREATE;
+    @IntDef(prefix = { "USER_JOURNEY" }, value = {
+            USER_JOURNEY_UNKNOWN,
+            USER_JOURNEY_USER_SWITCH_FG,
+            USER_JOURNEY_USER_SWITCH_UI,
+            USER_JOURNEY_USER_START,
+            USER_JOURNEY_USER_CREATE,
+    })
+    @interface UserJourney {}
+
+    // The various user lifecycle events, defined in the UserLifecycleEventOccurred atom for statsd
+    private static final int USER_LIFECYCLE_EVENT_UNKNOWN =
+            FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__UNKNOWN;
+    private static final int USER_LIFECYCLE_EVENT_SWITCH_USER =
+            FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__SWITCH_USER;
+    private static final int USER_LIFECYCLE_EVENT_START_USER =
+            FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__START_USER;
+    private static final int USER_LIFECYCLE_EVENT_CREATE_USER =
+            FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__CREATE_USER;
+    @IntDef(prefix = { "USER_LIFECYCLE_EVENT" }, value = {
+            USER_LIFECYCLE_EVENT_UNKNOWN,
+            USER_LIFECYCLE_EVENT_SWITCH_USER,
+            USER_LIFECYCLE_EVENT_START_USER,
+            USER_LIFECYCLE_EVENT_CREATE_USER,
+    })
+    @interface UserLifecycleEvent {}
+
     /**
      * Maximum number of users we allow to be running at a time, including system user.
      *
@@ -270,6 +313,13 @@
     @GuardedBy("mLock")
     private final ArrayList<Integer> mLastActiveUsers = new ArrayList<>();
 
+    /**
+     * A per-user, journey to session id map, used for statsd logging for the
+     * UserLifecycleJourneyReported and UserLifecycleEventOccurred atoms.
+     */
+    @GuardedBy("mUserJourneyToSessionIdMap")
+    private final SparseArray<SparseLongArray> mUserJourneyToSessionIdMap = new SparseArray<>();
+
     UserController(ActivityManagerService service) {
         this(new Injector(service));
     }
@@ -2349,6 +2399,10 @@
     public boolean handleMessage(Message msg) {
         switch (msg.what) {
             case START_USER_SWITCH_FG_MSG:
+                logUserJourneyInfo(getUserInfo(getCurrentUserId()), getUserInfo(msg.arg1),
+                        USER_JOURNEY_USER_SWITCH_FG);
+                logUserLifecycleEvent(msg.arg1, USER_JOURNEY_USER_SWITCH_FG,
+                        USER_LIFECYCLE_EVENT_SWITCH_USER, true);
                 startUserInForeground(msg.arg1);
                 break;
             case REPORT_USER_SWITCH_MSG:
@@ -2370,8 +2424,14 @@
                 mInjector.batteryStatsServiceNoteEvent(
                         BatteryStats.HistoryItem.EVENT_USER_RUNNING_START,
                         Integer.toString(msg.arg1), msg.arg1);
+                logUserJourneyInfo(null, getUserInfo(msg.arg1), USER_JOURNEY_USER_START);
+                logUserLifecycleEvent(msg.arg1, USER_JOURNEY_USER_START,
+                        USER_LIFECYCLE_EVENT_START_USER, true);
                 mInjector.getSystemServiceManager().startUser(TimingsTraceAndSlog.newAsyncLog(),
                         msg.arg1);
+                logUserLifecycleEvent(msg.arg1, USER_JOURNEY_USER_START,
+                        USER_LIFECYCLE_EVENT_START_USER, false);
+                clearSessionId(msg.arg1, USER_JOURNEY_USER_START);
                 break;
             case USER_UNLOCK_MSG:
                 final int userId = msg.arg1;
@@ -2400,17 +2460,94 @@
                 break;
             case REPORT_USER_SWITCH_COMPLETE_MSG:
                 dispatchUserSwitchComplete(msg.arg1);
+                final int currentJourney = mUserSwitchUiEnabled ? USER_JOURNEY_USER_SWITCH_UI
+                                                                : USER_JOURNEY_USER_SWITCH_FG;
+                logUserLifecycleEvent(msg.arg1, currentJourney,
+                        USER_LIFECYCLE_EVENT_SWITCH_USER, false);
+                clearSessionId(msg.arg1, currentJourney);
                 break;
             case REPORT_LOCKED_BOOT_COMPLETE_MSG:
                 dispatchLockedBootComplete(msg.arg1);
                 break;
             case START_USER_SWITCH_UI_MSG:
-                showUserSwitchDialog((Pair<UserInfo, UserInfo>) msg.obj);
+                final Pair<UserInfo, UserInfo> fromToUserPair = (Pair<UserInfo, UserInfo>) msg.obj;
+                logUserJourneyInfo(fromToUserPair.first, fromToUserPair.second,
+                        USER_JOURNEY_USER_SWITCH_UI);
+                logUserLifecycleEvent(fromToUserPair.second.id, USER_JOURNEY_USER_SWITCH_UI,
+                        USER_LIFECYCLE_EVENT_SWITCH_USER, true);
+                showUserSwitchDialog(fromToUserPair);
                 break;
         }
         return false;
     }
 
+    /**
+     * statsd helper method for logging the start of a user journey via a UserLifecycleEventOccurred
+     * atom given the originating and targeting users for the journey.
+     *
+     * Note: these info atoms are currently logged more than once per journey since there is no
+     * state associated with the user's ongoing journey - this will be updated in a later CL.
+     */
+    private void logUserJourneyInfo(UserInfo origin, UserInfo target, @UserJourney int journey) {
+        final long newSessionId = ThreadLocalRandom.current().nextLong(1, Long.MAX_VALUE);
+        synchronized (mUserJourneyToSessionIdMap) {
+            SparseLongArray userSessions = mUserJourneyToSessionIdMap.get(target.id);
+            if (userSessions == null) {
+                userSessions = new SparseLongArray();
+                mUserJourneyToSessionIdMap.put(target.id, userSessions);
+            }
+            final long oldSessionId = userSessions.get(journey);
+            if (oldSessionId != INVALID_SESSION_ID) {
+                // potentially an incomplete or timed-out session
+                FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED,
+                        oldSessionId, target.id, USER_LIFECYCLE_EVENT_UNKNOWN,
+                        FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__NONE);
+            }
+            // update session id
+            userSessions.put(journey, newSessionId);
+        }
+
+        FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED, newSessionId,
+                journey, origin != null ? origin.id : -1,
+                target.id, UserManager.getUserTypeForStatsd(target.userType), target.flags);
+    }
+
+    /**
+     * statsd helper method for logging the begin or finish of the given event for the
+     * UserLifecycleEventOccurred statsd atom.
+     * Note: This does not clear the user's journey session id - if this event represents the end of
+     * a particular journey, call {@link #clearSessionId} to indicate that the session is over.
+     */
+    private void logUserLifecycleEvent(@UserIdInt int userId, @UserJourney int journey,
+            @UserLifecycleEvent int event, boolean begin) {
+        final long sessionId;
+        synchronized (mUserJourneyToSessionIdMap) {
+            final SparseLongArray eventToSessionMap = mUserJourneyToSessionIdMap.get(userId);
+            if (eventToSessionMap == null || eventToSessionMap.size() == 0) {
+                return;
+            }
+            sessionId = eventToSessionMap.get(journey);
+            if (sessionId == INVALID_SESSION_ID) {
+                return;
+            }
+        }
+
+        FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED, sessionId, userId,
+                event, begin ? FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__BEGIN
+                             : FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__FINISH);
+    }
+
+    /**
+     * Clears the user's session id associated with the given UserJourney (for statsd).
+     */
+    private void clearSessionId(@UserIdInt int userId, @UserJourney int journey) {
+        synchronized (mUserJourneyToSessionIdMap) {
+            if (mUserJourneyToSessionIdMap.get(userId) != null) {
+                mUserJourneyToSessionIdMap.get(userId).delete(journey);
+            }
+        }
+    }
+
     private static class UserProgressListener extends IProgressListener.Stub {
         private volatile long mUnlockStarted;
         @Override
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index 31bccea..1139fb2 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -2830,7 +2830,6 @@
 
     private int checkOperationImpl(int code, int uid, String packageName,
                 boolean raw) {
-        verifyIncomingUid(uid);
         verifyIncomingOp(code);
         String resolvedPackageName = resolvePackageName(uid, packageName);
         if (resolvedPackageName == null) {
@@ -5309,6 +5308,12 @@
                     pw.print("    pendingCapability=");
                     pw.println(uidState.pendingCapability);
                 }
+                pw.print("    appWidgetVisible=");
+                pw.println(uidState.appWidgetVisible);
+                if (uidState.appWidgetVisible != uidState.pendingAppWidgetVisible) {
+                    pw.print("    pendingAppWidgetVisible=");
+                    pw.println(uidState.pendingAppWidgetVisible);
+                }
                 if (uidState.pendingStateCommitTime != 0) {
                     pw.print("    pendingStateCommitTime=");
                     TimeUtils.formatDuration(uidState.pendingStateCommitTime, nowElapsed, pw);
@@ -5745,7 +5750,7 @@
      */
     private void switchPackageIfBootTimeOrRarelyUsedLocked(@NonNull String packageName) {
         if (mSampledPackage == null) {
-            if (ThreadLocalRandom.current().nextFloat() < 0.1f) {
+            if (ThreadLocalRandom.current().nextFloat() < 0.5f) {
                 mSamplingStrategy = SAMPLING_STRATEGY_BOOT_TIME_SAMPLING;
                 resampleAppOpForPackageLocked(packageName);
             }
diff --git a/services/core/java/com/android/server/appop/TEST_MAPPING b/services/core/java/com/android/server/appop/TEST_MAPPING
index 9c03a36..604b9f1 100644
--- a/services/core/java/com/android/server/appop/TEST_MAPPING
+++ b/services/core/java/com/android/server/appop/TEST_MAPPING
@@ -38,6 +38,9 @@
         },
         {
             "name": "CtsAppTestCases:ActivityManagerApi29Test"
+        },
+        {
+            "name": "UidAtomTests:testAppOps"
         }
     ]
 }
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
old mode 100644
new mode 100755
index 02d8571..f840f2d
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -185,6 +185,9 @@
 
     private static final String TAG = "AS.AudioService";
 
+    private final AudioSystemAdapter mAudioSystem;
+    private final SystemServerAdapter mSystemServer;
+
     /** Debug audio mode */
     protected static final boolean DEBUG_MODE = false;
 
@@ -573,6 +576,8 @@
     private boolean mMicMuteFromSwitch;
     private boolean mMicMuteFromApi;
     private boolean mMicMuteFromRestrictions;
+    // caches the value returned by AudioSystem.isMicrophoneMuted()
+    private boolean mMicMuteFromSystemCached;
 
     @GuardedBy("mSettingsLock")
     private int mAssistantUid;
@@ -647,10 +652,19 @@
 
     /** @hide */
     public AudioService(Context context) {
+        this(context, AudioSystemAdapter.getDefaultAdapter(),
+                SystemServerAdapter.getDefaultAdapter(context));
+    }
+
+    public AudioService(Context context, AudioSystemAdapter audioSystem,
+            SystemServerAdapter systemServer) {
         mContext = context;
         mContentResolver = context.getContentResolver();
         mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
 
+        mAudioSystem = audioSystem;
+        mSystemServer = systemServer;
+
         mPlatformType = AudioSystem.getPlatformType(context);
 
         mIsSingleVolume = AudioSystem.isSingleVolume(context);
@@ -840,11 +854,13 @@
 
         context.registerReceiverAsUser(mReceiver, UserHandle.ALL, intentFilter, null, null);
 
-        LocalServices.addService(AudioManagerInternal.class, new AudioServiceInternal());
+        if (mSystemServer.isPrivileged()) {
+            LocalServices.addService(AudioManagerInternal.class, new AudioServiceInternal());
 
-        mUserManagerInternal.addUserRestrictionsListener(mUserRestrictionsListener);
+            mUserManagerInternal.addUserRestrictionsListener(mUserRestrictionsListener);
 
-        mRecordMonitor.initMonitor();
+            mRecordMonitor.initMonitor();
+        }
 
         final float[] preScale = new float[3];
         preScale[0] = mContext.getResources().getFraction(
@@ -933,6 +949,7 @@
 
         onIndicateSystemReady();
 
+        mMicMuteFromSystemCached = mAudioSystem.isMicrophoneMuted();
         setMicMuteFromSwitchInput();
     }
 
@@ -1126,6 +1143,7 @@
         sendMsg(mAudioHandler, MSG_DISPATCH_AUDIO_SERVER_STATE,
                 SENDMSG_QUEUE, 1, 0, null, 0);
 
+        setMicrophoneMuteNoCallerCheck(getCurrentUserId()); // will also update the mic mute cache
         setMicMuteFromSwitchInput();
     }
 
@@ -1632,12 +1650,15 @@
         }
 
         if (currentImeUid != mCurrentImeUid || forceUpdate) {
-            AudioSystem.setCurrentImeUid(currentImeUid);
+            mAudioSystem.setCurrentImeUid(currentImeUid);
             mCurrentImeUid = currentImeUid;
         }
     }
 
     private void readPersistedSettings() {
+        if (!mSystemServer.isPrivileged()) {
+            return;
+        }
         final ContentResolver cr = mContentResolver;
 
         int ringerModeFromSettings =
@@ -1708,6 +1729,9 @@
     }
 
     private void readUserRestrictions() {
+        if (!mSystemServer.isPrivileged()) {
+            return;
+        }
         final int currentUser = getCurrentUserId();
 
         // Check the current user restriction.
@@ -2778,6 +2802,9 @@
     }
 
     private void sendBroadcastToAll(Intent intent) {
+        if (!mSystemServer.isPrivileged()) {
+            return;
+        }
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
         intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
         final long ident = Binder.clearCallingIdentity();
@@ -3151,21 +3178,41 @@
         }
     }
 
+    /**
+     * Returns the microphone mute state as seen from the native audio system
+     * @return true if microphone is reported as muted by primary HAL
+     */
     public boolean isMicrophoneMuted() {
+        return mMicMuteFromSystemCached;
+    }
+
+    private boolean isMicrophoneSupposedToBeMuted() {
         return mMicMuteFromSwitch || mMicMuteFromRestrictions || mMicMuteFromApi;
     }
 
     private void setMicrophoneMuteNoCallerCheck(int userId) {
-        final boolean muted = isMicrophoneMuted();
+        final boolean muted = isMicrophoneSupposedToBeMuted();
         if (DEBUG_VOL) {
             Log.d(TAG, String.format("Mic mute %b, user=%d", muted, userId));
         }
         // only mute for the current user
         if (getCurrentUserId() == userId || userId == android.os.Process.SYSTEM_UID) {
-            final boolean currentMute = AudioSystem.isMicrophoneMuted();
+            final boolean currentMute = mAudioSystem.isMicrophoneMuted();
             final long identity = Binder.clearCallingIdentity();
-            AudioSystem.muteMicrophone(muted);
+            final int ret = mAudioSystem.muteMicrophone(muted);
+
+            // update cache with the real state independently from what was set
+            mMicMuteFromSystemCached = mAudioSystem.isMicrophoneMuted();
+            if (ret != AudioSystem.AUDIO_STATUS_OK) {
+                Log.e(TAG, "Error changing mic mute state to " + muted + " current:"
+                        + mMicMuteFromSystemCached);
+            }
             try {
+                // send the intent even if there was a failure to change the actual mute state:
+                // the AudioManager.setMicrophoneMute API doesn't have a return value to
+                // indicate if the call failed to successfully change the mute state, and receiving
+                // the intent may be the only time an application can resynchronize its mic mute
+                // state with the actual system mic mute state
                 if (muted != currentMute) {
                     sendMsg(mAudioHandler, MSG_BROADCAST_MICROPHONE_MUTE,
                                 SENDMSG_NOOP, 0, 0, null, 0);
@@ -4494,6 +4541,9 @@
     }
 
     private void broadcastRingerMode(String action, int ringerMode) {
+        if (!mSystemServer.isPrivileged()) {
+            return;
+        }
         // Send sticky broadcast
         Intent broadcast = new Intent(action);
         broadcast.putExtra(AudioManager.EXTRA_RINGER_MODE, ringerMode);
@@ -4503,6 +4553,9 @@
     }
 
     private void broadcastVibrateSetting(int vibrateType) {
+        if (!mSystemServer.isPrivileged()) {
+            return;
+        }
         // Send broadcast
         if (mActivityManagerInternal.isSystemReady()) {
             Intent broadcast = new Intent(AudioManager.VIBRATE_SETTING_CHANGED_ACTION);
@@ -5234,6 +5287,9 @@
         }
 
         public int observeDevicesForStream_syncVSS(boolean checkOthers) {
+            if (!mSystemServer.isPrivileged()) {
+                return AudioSystem.DEVICE_NONE;
+            }
             final int devices = AudioSystem.getDevicesForStream(mStreamType);
             if (devices == mObservedDevices) {
                 return devices;
@@ -5974,10 +6030,7 @@
                     break;
 
                 case MSG_BROADCAST_MICROPHONE_MUTE:
-                    mContext.sendBroadcastAsUser(
-                            new Intent(AudioManager.ACTION_MICROPHONE_MUTE_CHANGED)
-                                    .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
-                                    UserHandle.ALL);
+                    mSystemServer.sendMicrophoneMuteChangedIntent();
                     break;
             }
         }
@@ -6976,6 +7029,10 @@
         pw.print("  mHdmiTvClient="); pw.println(mHdmiTvClient);
         pw.print("  mHdmiSystemAudioSupported="); pw.println(mHdmiSystemAudioSupported);
         pw.print("  mIsCallScreeningModeSupported="); pw.println(mIsCallScreeningModeSupported);
+        pw.print("  mic mute FromSwitch=" + mMicMuteFromSwitch
+                        + " FromRestrictions=" + mMicMuteFromRestrictions
+                        + " FromApi=" + mMicMuteFromApi
+                        + " from system=" + mMicMuteFromSystemCached);
 
         dumpAudioPolicies(pw);
         mDynPolicyLogger.dump(pw);
@@ -8419,6 +8476,23 @@
     }
 
     //======================
+    // Multi Audio Focus
+    //======================
+    public void setMultiAudioFocusEnabled(boolean enabled) {
+        enforceModifyAudioRoutingPermission();
+        if (mMediaFocusControl != null) {
+            boolean mafEnabled = mMediaFocusControl.getMultiAudioFocusEnabled();
+            if (mafEnabled != enabled) {
+                mMediaFocusControl.updateMultiAudioFocus(enabled);
+                if (!enabled) {
+                    mDeviceBroker.postBroadcastBecomingNoisy();
+                }
+            }
+        }
+    }
+
+
+    //======================
     // misc
     //======================
     private final HashMap<IBinder, AudioPolicyProxy> mAudioPolicies =
diff --git a/services/core/java/com/android/server/audio/AudioSystemAdapter.java b/services/core/java/com/android/server/audio/AudioSystemAdapter.java
index 9f8f9f8..40c1390 100644
--- a/services/core/java/com/android/server/audio/AudioSystemAdapter.java
+++ b/services/core/java/com/android/server/audio/AudioSystemAdapter.java
@@ -40,10 +40,11 @@
 
     /**
      * Create an adapter for AudioSystem that always succeeds, and does nothing.
-     * @return a no-op AudioSystem adapter
+     * Overridden methods can be configured
+     * @return a no-op AudioSystem adapter with configurable adapter
      */
-    static final @NonNull AudioSystemAdapter getAlwaysOkAdapter() {
-        return new AudioSystemOkAdapter();
+    static final @NonNull AudioSystemAdapter getConfigurableAdapter() {
+        return new AudioSystemConfigurableAdapter();
     }
 
     /**
@@ -113,10 +114,51 @@
         return AudioSystem.setParameters(keyValuePairs);
     }
 
-    //--------------------------------------------------------------------
-    protected static class AudioSystemOkAdapter extends AudioSystemAdapter {
-        private static final String TAG = "ASA";
+    /**
+     * Same as {@link AudioSystem#isMicrophoneMuted()}}
+     * Checks whether the microphone mute is on or off.
+     * @return true if microphone is muted, false if it's not
+     */
+    public boolean isMicrophoneMuted() {
+        return AudioSystem.isMicrophoneMuted();
+    }
 
+    /**
+     * Same as {@link AudioSystem#muteMicrophone(boolean)}
+     * Sets the microphone mute on or off.
+     *
+     * @param on set <var>true</var> to mute the microphone;
+     *           <var>false</var> to turn mute off
+     * @return command completion status see AUDIO_STATUS_OK, see AUDIO_STATUS_ERROR
+     */
+    public int muteMicrophone(boolean on) {
+        return AudioSystem.muteMicrophone(on);
+    }
+
+    /**
+     * Same as {@link AudioSystem#setCurrentImeUid(int)}
+     * Communicate UID of current InputMethodService to audio policy service.
+     */
+    public int setCurrentImeUid(int uid) {
+        return AudioSystem.setCurrentImeUid(uid);
+    }
+
+    //--------------------------------------------------------------------
+    protected static class AudioSystemConfigurableAdapter extends AudioSystemAdapter {
+        private static final String TAG = "ASA";
+        private boolean mIsMicMuted = false;
+        private boolean mMuteMicrophoneFails = false;
+
+        public void configureIsMicrophoneMuted(boolean muted) {
+            mIsMicMuted = muted;
+        }
+
+        public void configureMuteMicrophoneToFail(boolean fail) {
+            mMuteMicrophoneFails = fail;
+        }
+
+        //-----------------------------------------------------------------
+        // Overrides of AudioSystemAdapter
         @Override
         public int setDeviceConnectionState(int device, int state, String deviceAddress,
                                             String deviceName, int codecFormat) {
@@ -152,5 +194,24 @@
         public int setParameters(String keyValuePairs) {
             return AudioSystem.AUDIO_STATUS_OK;
         }
+
+        @Override
+        public boolean isMicrophoneMuted() {
+            return mIsMicMuted;
+        }
+
+        @Override
+        public int muteMicrophone(boolean on) {
+            if (mMuteMicrophoneFails) {
+                return AudioSystem.AUDIO_STATUS_ERROR;
+            }
+            mIsMicMuted = on;
+            return AudioSystem.AUDIO_STATUS_OK;
+        }
+
+        @Override
+        public int setCurrentImeUid(int uid) {
+            return AudioSystem.AUDIO_STATUS_OK;
+        }
     }
 }
diff --git a/services/core/java/com/android/server/audio/MediaFocusControl.java b/services/core/java/com/android/server/audio/MediaFocusControl.java
old mode 100644
new mode 100755
index 7bf2bc8..bfab991
--- a/services/core/java/com/android/server/audio/MediaFocusControl.java
+++ b/services/core/java/com/android/server/audio/MediaFocusControl.java
@@ -30,6 +30,7 @@
 import android.os.Build;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.provider.Settings;
 import android.util.Log;
 
 import com.android.internal.annotations.GuardedBy;
@@ -80,6 +81,7 @@
     private final Context mContext;
     private final AppOpsManager mAppOps;
     private PlayerFocusEnforcer mFocusEnforcer; // never null
+    private boolean mMultiAudioFocusEnabled = false;
 
     private boolean mRingOrCallActive = false;
 
@@ -91,6 +93,8 @@
         mContext = cntxt;
         mAppOps = (AppOpsManager)mContext.getSystemService(Context.APP_OPS_SERVICE);
         mFocusEnforcer = pfe;
+        mMultiAudioFocusEnabled = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.MULTI_AUDIO_FOCUS_ENABLED, 0) != 0;
     }
 
     protected void dump(PrintWriter pw) {
@@ -100,6 +104,7 @@
         pw.println("\n");
         // log
         mEventLogger.dump(pw);
+        dumpMultiAudioFocus(pw);
     }
 
     //=================================================================
@@ -194,6 +199,14 @@
                 mFocusStack.peek().handleFocusGain(AudioManager.AUDIOFOCUS_GAIN);
             }
         }
+
+        if (mMultiAudioFocusEnabled && !mMultiAudioFocusList.isEmpty()) {
+            for (FocusRequester multifr : mMultiAudioFocusList) {
+                if (isLockedFocusOwner(multifr)) {
+                    multifr.handleFocusGain(AudioManager.AUDIOFOCUS_GAIN);
+                }
+            }
+        }
     }
 
     /**
@@ -203,17 +216,30 @@
      */
     @GuardedBy("mAudioFocusLock")
     private void propagateFocusLossFromGain_syncAf(int focusGain, final FocusRequester fr,
-            boolean forceDuck) {
+                                                   boolean forceDuck) {
         final List<String> clientsToRemove = new LinkedList<String>();
         // going through the audio focus stack to signal new focus, traversing order doesn't
         // matter as all entries respond to the same external focus gain
-        for (FocusRequester focusLoser : mFocusStack) {
-            final boolean isDefinitiveLoss =
-                    focusLoser.handleFocusLossFromGain(focusGain, fr, forceDuck);
-            if (isDefinitiveLoss) {
-                clientsToRemove.add(focusLoser.getClientId());
+        if (!mFocusStack.empty()) {
+            for (FocusRequester focusLoser : mFocusStack) {
+                final boolean isDefinitiveLoss =
+                        focusLoser.handleFocusLossFromGain(focusGain, fr, forceDuck);
+                if (isDefinitiveLoss) {
+                    clientsToRemove.add(focusLoser.getClientId());
+                }
             }
         }
+
+        if (mMultiAudioFocusEnabled && !mMultiAudioFocusList.isEmpty()) {
+            for (FocusRequester multifocusLoser : mMultiAudioFocusList) {
+                final boolean isDefinitiveLoss =
+                        multifocusLoser.handleFocusLossFromGain(focusGain, fr, forceDuck);
+                if (isDefinitiveLoss) {
+                    clientsToRemove.add(multifocusLoser.getClientId());
+                }
+            }
+        }
+
         for (String clientToRemove : clientsToRemove) {
             removeFocusStackEntry(clientToRemove, false /*signal*/,
                     true /*notifyFocusFollowers*/);
@@ -222,6 +248,8 @@
 
     private final Stack<FocusRequester> mFocusStack = new Stack<FocusRequester>();
 
+    ArrayList<FocusRequester> mMultiAudioFocusList = new ArrayList<FocusRequester>();
+
     /**
      * Helper function:
      * Display in the log the current entries in the audio focus stack
@@ -287,6 +315,22 @@
                 }
             }
         }
+
+        if (mMultiAudioFocusEnabled && !mMultiAudioFocusList.isEmpty()) {
+            Iterator<FocusRequester> listIterator = mMultiAudioFocusList.iterator();
+            while (listIterator.hasNext()) {
+                FocusRequester fr = listIterator.next();
+                if (fr.hasSameClient(clientToRemove)) {
+                    listIterator.remove();
+                    fr.release();
+                }
+            }
+
+            if (signal) {
+                // notify the new top of the stack it gained focus
+                notifyTopOfAudioFocusStack();
+            }
+        }
     }
 
     /**
@@ -410,6 +454,16 @@
                     removeFocusEntryForExtPolicy(mCb);
                 } else {
                     removeFocusStackEntryOnDeath(mCb);
+                    if (mMultiAudioFocusEnabled && !mMultiAudioFocusList.isEmpty()) {
+                        Iterator<FocusRequester> listIterator = mMultiAudioFocusList.iterator();
+                        while (listIterator.hasNext()) {
+                            FocusRequester fr = listIterator.next();
+                            if (fr.hasSameBinder(mCb)) {
+                                listIterator.remove();
+                                fr.release();
+                            }
+                        }
+                    }
                 }
             }
         }
@@ -867,6 +921,35 @@
 
             final FocusRequester nfr = new FocusRequester(aa, focusChangeHint, flags, fd, cb,
                     clientId, afdh, callingPackageName, Binder.getCallingUid(), this, sdk);
+
+            if (mMultiAudioFocusEnabled
+                    && (focusChangeHint == AudioManager.AUDIOFOCUS_GAIN)) {
+                if (enteringRingOrCall) {
+                    if (!mMultiAudioFocusList.isEmpty()) {
+                        for (FocusRequester multifr : mMultiAudioFocusList) {
+                            multifr.handleFocusLossFromGain(focusChangeHint, nfr, forceDuck);
+                        }
+                    }
+                } else {
+                    boolean needAdd = true;
+                    if (!mMultiAudioFocusList.isEmpty()) {
+                        for (FocusRequester multifr : mMultiAudioFocusList) {
+                            if (multifr.getClientUid() == Binder.getCallingUid()) {
+                                needAdd = false;
+                                break;
+                            }
+                        }
+                    }
+                    if (needAdd) {
+                        mMultiAudioFocusList.add(nfr);
+                    }
+                    nfr.handleFocusGainFromRequest(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
+                    notifyExtPolicyFocusGrant_syncAf(nfr.toAudioFocusInfo(),
+                            AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
+                    return AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
+                }
+            }
+
             if (focusGrantDelayed) {
                 // focusGrantDelayed being true implies we can't reassign focus right now
                 // which implies the focus stack is not empty.
@@ -877,9 +960,7 @@
                 return requestResult;
             } else {
                 // propagate the focus change through the stack
-                if (!mFocusStack.empty()) {
-                    propagateFocusLossFromGain_syncAf(focusChangeHint, nfr, forceDuck);
-                }
+                propagateFocusLossFromGain_syncAf(focusChangeHint, nfr, forceDuck);
 
                 // push focus requester at the top of the audio focus stack
                 mFocusStack.push(nfr);
@@ -970,4 +1051,39 @@
             }
         }.start();
     }
+
+    public void updateMultiAudioFocus(boolean enabled) {
+        Log.d(TAG, "updateMultiAudioFocus( " + enabled + " )");
+        mMultiAudioFocusEnabled = enabled;
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.MULTI_AUDIO_FOCUS_ENABLED, enabled ? 1 : 0);
+        if (!mFocusStack.isEmpty()) {
+            final FocusRequester fr = mFocusStack.peek();
+            fr.handleFocusLoss(AudioManager.AUDIOFOCUS_LOSS, null, false);
+        }
+        if (!enabled) {
+            if (!mMultiAudioFocusList.isEmpty()) {
+                for (FocusRequester multifr : mMultiAudioFocusList) {
+                    multifr.handleFocusLoss(AudioManager.AUDIOFOCUS_LOSS, null, false);
+                }
+                mMultiAudioFocusList.clear();
+            }
+        }
+    }
+
+    public boolean getMultiAudioFocusEnabled() {
+        return mMultiAudioFocusEnabled;
+    }
+
+    private void dumpMultiAudioFocus(PrintWriter pw) {
+        pw.println("Multi Audio Focus enabled :" + mMultiAudioFocusEnabled);
+        if (!mMultiAudioFocusList.isEmpty()) {
+            pw.println("Multi Audio Focus List:");
+            pw.println("------------------------------");
+            for (FocusRequester multifr : mMultiAudioFocusList) {
+                multifr.dump(pw);
+            }
+            pw.println("------------------------------");
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/audio/SystemServerAdapter.java b/services/core/java/com/android/server/audio/SystemServerAdapter.java
new file mode 100644
index 0000000..509f6be
--- /dev/null
+++ b/services/core/java/com/android/server/audio/SystemServerAdapter.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 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.server.audio;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.content.Intent;
+import android.media.AudioManager;
+import android.os.UserHandle;
+
+/**
+ * Provides an adapter to access functionality reserved to components running in system_server
+ * Functionality such as sending privileged broadcasts is to be accessed through the default
+ * adapter, whereas tests can inject a no-op adapter.
+ */
+public class SystemServerAdapter {
+
+    protected final Context mContext;
+
+    private SystemServerAdapter(@Nullable Context context) {
+        mContext = context;
+    }
+    /**
+     * Create a wrapper around privileged functionality.
+     * @return the adapter
+     */
+    static final @NonNull SystemServerAdapter getDefaultAdapter(Context context) {
+        return new SystemServerAdapter(context);
+    }
+
+    /**
+     * Create an adapter that does nothing.
+     * Use for running non-privileged tests, such as unit tests
+     * @return a no-op adapter
+     */
+    static final @NonNull SystemServerAdapter getNoOpAdapter() {
+        return new NoOpSystemServerAdapter();
+    }
+
+    /**
+     * @return true if this is supposed to be run in system_server, false otherwise (e.g. for a
+     *     unit test)
+     */
+    public boolean isPrivileged() {
+        return true;
+    }
+
+    /**
+     * Broadcast ACTION_MICROPHONE_MUTE_CHANGED
+     */
+    public void sendMicrophoneMuteChangedIntent() {
+        mContext.sendBroadcastAsUser(
+                new Intent(AudioManager.ACTION_MICROPHONE_MUTE_CHANGED)
+                        .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
+                UserHandle.ALL);
+    }
+
+    //--------------------------------------------------------------------
+    protected static class NoOpSystemServerAdapter extends SystemServerAdapter {
+
+        NoOpSystemServerAdapter() {
+            super(null);
+        }
+
+        @Override
+        public boolean isPrivileged() {
+            return false;
+        }
+
+        @Override
+        public void sendMicrophoneMuteChangedIntent() {
+            // no-op
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/connectivity/Nat464Xlat.java b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
index 741cb5b..34d0bed 100644
--- a/services/core/java/com/android/server/connectivity/Nat464Xlat.java
+++ b/services/core/java/com/android/server/connectivity/Nat464Xlat.java
@@ -81,12 +81,23 @@
         RUNNING,      // start() called, and the stacked iface is known to be up.
     }
 
+    /**
+     * NAT64 prefix currently in use. Only valid in STARTING or RUNNING states.
+     * Used, among other things, to avoid updates when switching from a prefix learned from one
+     * source (e.g., RA) to the same prefix learned from another source (e.g., RA).
+     */
+    private IpPrefix mNat64PrefixInUse;
+    /** NAT64 prefix (if any) discovered from DNS via RFC 7050. */
     private IpPrefix mNat64PrefixFromDns;
+    /** NAT64 prefix (if any) learned from the network via RA. */
+    private IpPrefix mNat64PrefixFromRa;
     private String mBaseIface;
     private String mIface;
     private Inet6Address mIPv6Address;
     private State mState = State.IDLE;
 
+    private boolean mPrefixDiscoveryRunning;
+
     public Nat464Xlat(NetworkAgentInfo nai, INetd netd, IDnsResolver dnsResolver,
             INetworkManagementService nmService) {
         mDnsResolver = dnsResolver;
@@ -136,15 +147,6 @@
     }
 
     /**
-     * @return true if we have started prefix discovery and not yet stopped it (regardless of
-     * whether it is still running or has succeeded).
-     * A true result corresponds to internal states DISCOVERING, STARTING and RUNNING.
-     */
-    public boolean isPrefixDiscoveryStarted() {
-        return mState == State.DISCOVERING || isStarted();
-    }
-
-    /**
      * @return true if clatd has been started and has not yet stopped.
      * A true result corresponds to internal states STARTING and RUNNING.
      */
@@ -178,9 +180,10 @@
             return;
         }
 
+        mNat64PrefixInUse = selectNat64Prefix();
         String addrStr = null;
         try {
-            addrStr = mNetd.clatdStart(baseIface, getNat64Prefix().toString());
+            addrStr = mNetd.clatdStart(baseIface, mNat64PrefixInUse.toString());
         } catch (RemoteException | ServiceSpecificException e) {
             Slog.e(TAG, "Error starting clatd on " + baseIface + ": " + e);
         }
@@ -192,6 +195,9 @@
         } catch (ClassCastException | IllegalArgumentException | NullPointerException e) {
             Slog.e(TAG, "Invalid IPv6 address " + addrStr);
         }
+        if (mPrefixDiscoveryRunning && !isPrefixDiscoveryNeeded()) {
+            stopPrefixDiscovery();
+        }
     }
 
     /**
@@ -211,12 +217,18 @@
         } catch (RemoteException | IllegalStateException e) {
             Slog.e(TAG, "Error unregistering clatd observer on " + mBaseIface + ": " + e);
         }
+        mNat64PrefixInUse = null;
         mIface = null;
         mBaseIface = null;
-        if (requiresClat(mNetwork)) {
+
+        if (isPrefixDiscoveryNeeded()) {
+            if (!mPrefixDiscoveryRunning) {
+                startPrefixDiscovery();
+            }
             mState = State.DISCOVERING;
         } else {
             stopPrefixDiscovery();
+            mState = State.IDLE;
         }
     }
 
@@ -274,19 +286,39 @@
     private void startPrefixDiscovery() {
         try {
             mDnsResolver.startPrefix64Discovery(getNetId());
-            mState = State.DISCOVERING;
         } catch (RemoteException | ServiceSpecificException e) {
             Slog.e(TAG, "Error starting prefix discovery on netId " + getNetId() + ": " + e);
         }
+        mPrefixDiscoveryRunning = true;
     }
 
     private void stopPrefixDiscovery() {
         try {
             mDnsResolver.stopPrefix64Discovery(getNetId());
-            mState = State.IDLE;
         } catch (RemoteException | ServiceSpecificException e) {
             Slog.e(TAG, "Error stopping prefix discovery on netId " + getNetId() + ": " + e);
         }
+        mPrefixDiscoveryRunning = false;
+    }
+
+    private boolean isPrefixDiscoveryNeeded() {
+        // If there is no NAT64 prefix in the RA, prefix discovery is always needed. It cannot be
+        // stopped after it succeeds, because stopping it will cause netd to report that the prefix
+        // has been removed, and that will cause us to stop clatd.
+        return requiresClat(mNetwork) && mNat64PrefixFromRa == null;
+    }
+
+    private void maybeHandleNat64PrefixChange() {
+        final IpPrefix newPrefix = selectNat64Prefix();
+        if (!Objects.equals(mNat64PrefixInUse, newPrefix)) {
+            Slog.d(TAG, "NAT64 prefix changed from " + mNat64PrefixInUse + " to "
+                    + newPrefix);
+            stop();
+            // It's safe to call update here, even though this method is called from update, because
+            // stop() is guaranteed to have moved out of STARTING and RUNNING, which are the only
+            // states in which this method can be called.
+            update();
+        }
     }
 
     /**
@@ -296,13 +328,11 @@
         // TODO: turn this class into a proper StateMachine. http://b/126113090
         switch (mState) {
             case IDLE:
-                if (requiresClat(mNetwork)) {
-                    // Network is detected to be IPv6-only.
-                    // TODO: consider going to STARTING directly if the NAT64 prefix is already
-                    // known. This would however result in clatd running without prefix discovery
-                    // running, which might be a surprising combination.
+                if (isPrefixDiscoveryNeeded()) {
                     startPrefixDiscovery();  // Enters DISCOVERING state.
-                    return;
+                    mState = State.DISCOVERING;
+                } else if (requiresClat(mNetwork)) {
+                    start();  // Enters STARTING state.
                 }
                 break;
 
@@ -315,6 +345,7 @@
                 if (!requiresClat(mNetwork)) {
                     // IPv4 address added. Go back to IDLE state.
                     stopPrefixDiscovery();
+                    mState = State.IDLE;
                     return;
                 }
                 break;
@@ -325,16 +356,28 @@
                 // Stop clatd and go back into DISCOVERING or idle.
                 if (!shouldStartClat(mNetwork)) {
                     stop();
+                    break;
                 }
+                // Only necessary while clat is actually started.
+                maybeHandleNat64PrefixChange();
                 break;
-                // TODO: support the NAT64 prefix changing after it's been discovered. There is
-                // no need to support this at the moment because it cannot happen without
-                // changes to the Dns64Configuration code in netd.
         }
     }
 
-    private IpPrefix getNat64Prefix() {
-        return mNat64PrefixFromDns;
+    /**
+     * Picks a NAT64 prefix to use. Always prefers the prefix from the RA if one is received from
+     * both RA and DNS, because the prefix in the RA has better security and updatability, and will
+     * almost always be received first anyway.
+     *
+     * Any network that supports legacy hosts will support discovering the DNS64 prefix via DNS as
+     * well. If the prefix from the RA is withdrawn, fall back to that for reliability purposes.
+     */
+    private IpPrefix selectNat64Prefix() {
+        return mNat64PrefixFromRa != null ? mNat64PrefixFromRa : mNat64PrefixFromDns;
+    }
+
+    public void setNat64PrefixFromRa(IpPrefix prefix) {
+        mNat64PrefixFromRa = prefix;
     }
 
     public void setNat64PrefixFromDns(IpPrefix prefix) {
@@ -347,7 +390,9 @@
      * has no idea that 464xlat is running on top of it.
      */
     public void fixupLinkProperties(@NonNull LinkProperties oldLp, @NonNull LinkProperties lp) {
-        lp.setNat64Prefix(getNat64Prefix());
+        // This must be done even if clatd is not running, because otherwise shouldStartClat would
+        // never return true.
+        lp.setNat64Prefix(selectNat64Prefix());
 
         if (!isRunning()) {
             return;
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index a87fb8b..b4f7cdb 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -552,7 +552,8 @@
         }
         if (state == Display.STATE_OFF) {
             brightnessState = PowerManager.BRIGHTNESS_OFF_FLOAT;
-        } else if (brightnessState < PowerManager.BRIGHTNESS_MIN || Float.isNaN(brightnessState)) {
+        } else if (brightnessState != PowerManager.BRIGHTNESS_OFF_FLOAT
+                && brightnessState < PowerManager.BRIGHTNESS_MIN) {
             brightnessState = PowerManager.BRIGHTNESS_INVALID_FLOAT;
         } else if (brightnessState > PowerManager.BRIGHTNESS_MAX) {
             brightnessState = PowerManager.BRIGHTNESS_MAX;
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index f82ec82..48e30bf 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -42,6 +42,7 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.SystemClock;
+import android.os.SystemProperties;
 import android.os.Trace;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -389,6 +390,10 @@
     private ObjectAnimator mColorFadeOffAnimator;
     private RampAnimator<DisplayPowerState> mScreenBrightnessRampAnimator;
 
+    // The brightness synchronizer to allow changes in the int brightness value to be reflected in
+    // the float brightness value and vice versa.
+    @Nullable
+    private final BrightnessSynchronizer mBrightnessSynchronizer;
 
     /**
      * Creates the display power controller.
@@ -405,6 +410,7 @@
         mWindowManagerPolicy = LocalServices.getService(WindowManagerPolicy.class);
         mBlanker = blanker;
         mContext = context;
+        mBrightnessSynchronizer = new BrightnessSynchronizer(context);
         mDisplayDevice = displayDevice;
 
         PowerManager pm =  context.getSystemService(PowerManager.class);
@@ -1243,6 +1249,8 @@
 
             if (!reportOnly) {
                 Trace.traceCounter(Trace.TRACE_TAG_POWER, "ScreenState", state);
+                // TODO(b/153319140) remove when we can get this from the above trace invocation
+                SystemProperties.set("debug.tracing.screen_state", String.valueOf(state));
                 mPowerState.setScreenState(state);
                 // Tell battery stats about the transition.
                 try {
@@ -1319,6 +1327,8 @@
         }
         if (mScreenBrightnessRampAnimator.animateTo(target, rate)) {
             Trace.traceCounter(Trace.TRACE_TAG_POWER, "TargetScreenBrightness", (int) target);
+            // TODO(b/153319140) remove when we can get this from the above trace invocation
+            SystemProperties.set("debug.tracing.screen_brightness", String.valueOf(target));
             try {
                 // TODO(brightnessfloat): change BatteryStats to use float
                 mBatteryStats.noteScreenBrightness(
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessage.java b/services/core/java/com/android/server/hdmi/HdmiCecMessage.java
index f8b3962..ff7da11 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecMessage.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecMessage.java
@@ -115,8 +115,12 @@
         s.append(String.format("<%s> %X%X:%02X",
                 opcodeToString(mOpcode), mSource, mDestination, mOpcode));
         if (mParams.length > 0) {
-            for (byte data : mParams) {
-                s.append(String.format(":%02X", data));
+            if (filterMessageParameters(mOpcode)) {
+                s.append(String.format(" <Redacted len=%d>", mParams.length));
+            } else {
+                for (byte data : mParams) {
+                    s.append(String.format(":%02X", data));
+                }
             }
         }
         return s.toString();
@@ -270,5 +274,21 @@
                 return String.format("Opcode: %02X", opcode);
         }
     }
+
+    private static boolean filterMessageParameters(int opcode) {
+        switch (opcode) {
+            case Constants.MESSAGE_USER_CONTROL_PRESSED:
+            case Constants.MESSAGE_USER_CONTROL_RELEASED:
+            case Constants.MESSAGE_SET_OSD_NAME:
+            case Constants.MESSAGE_SET_OSD_STRING:
+            case Constants.MESSAGE_VENDOR_COMMAND:
+            case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_DOWN:
+            case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_UP:
+            case Constants.MESSAGE_VENDOR_COMMAND_WITH_ID:
+                return true;
+            default:
+                return false;
+        }
+    }
 }
 
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index e6cb371..b949d6b 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -784,6 +784,7 @@
         private static final AtomicInteger sSequenceNumber = new AtomicInteger(0);
 
         private static final class Entry {
+            final int mSequenceNumber = sSequenceNumber.getAndIncrement();
             final ClientState mClientState;
             @SoftInputModeFlags
             final int mFocusedWindowSoftInputMode;
@@ -831,7 +832,7 @@
                     continue;
                 }
                 pw.print(prefix);
-                pw.println("SoftInputShowHideHistory #" + sSequenceNumber.getAndIncrement() + ":");
+                pw.println("SoftInputShowHideHistory #" + entry.mSequenceNumber + ":");
 
                 pw.print(prefix);
                 pw.println(" time=" + dataFormat.format(new Date(entry.mWallTime))
diff --git a/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java b/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
index 273fd48..44e973e 100644
--- a/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
+++ b/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
@@ -27,6 +27,7 @@
 import static android.content.integrity.IntegrityUtils.getHexDigest;
 import static android.content.pm.PackageManager.EXTRA_VERIFICATION_ID;
 
+import android.annotation.BinderThread;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.content.BroadcastReceiver;
@@ -50,7 +51,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.HandlerThread;
-import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.util.Slog;
@@ -89,9 +89,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-import java.util.function.Supplier;
 
 /** Implementation of {@link AppIntegrityManagerService}. */
 public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
@@ -184,9 +184,10 @@
     }
 
     @Override
+    @BinderThread
     public void updateRuleSet(
             String version, ParceledListSlice<Rule> rules, IntentSender statusReceiver) {
-        String ruleProvider = getCallerPackageNameOrThrow();
+        String ruleProvider = getCallerPackageNameOrThrow(Binder.getCallingUid());
 
         mHandler.post(
                 () -> {
@@ -220,8 +221,9 @@
     }
 
     @Override
+    @BinderThread
     public String getCurrentRuleSetVersion() {
-        getCallerPackageNameOrThrow();
+        getCallerPackageNameOrThrow(Binder.getCallingUid());
 
         RuleMetadata ruleMetadata = mIntegrityFileManager.readMetadata();
         return (ruleMetadata != null && ruleMetadata.getVersion() != null)
@@ -230,8 +232,9 @@
     }
 
     @Override
+    @BinderThread
     public String getCurrentRuleSetProvider() {
-        getCallerPackageNameOrThrow();
+        getCallerPackageNameOrThrow(Binder.getCallingUid());
 
         RuleMetadata ruleMetadata = mIntegrityFileManager.readMetadata();
         return (ruleMetadata != null && ruleMetadata.getRuleProvider() != null)
@@ -251,8 +254,8 @@
     }
 
     @Override
-    public List<String> getWhitelistedRuleProviders() throws RemoteException {
-        return getAllowedRuleProviders();
+    public List<String> getWhitelistedRuleProviders() {
+        return getAllowedRuleProviderSystemApps();
     }
 
     private void handleIntegrityVerification(Intent intent) {
@@ -367,23 +370,9 @@
             return UNKNOWN_INSTALLER;
         }
 
-        try {
-            int actualInstallerUid =
-                    mContext.getPackageManager().getPackageUid(installer, /* flags= */ 0);
-            if (actualInstallerUid != installerUid) {
-                // Installer package name can be faked but the installerUid cannot.
-                Slog.e(
-                        TAG,
-                        "Installer "
-                                + installer
-                                + " has UID "
-                                + actualInstallerUid
-                                + " which doesn't match alleged installer UID "
-                                + installerUid);
-                return UNKNOWN_INSTALLER;
-            }
-        } catch (PackageManager.NameNotFoundException e) {
-            Slog.e(TAG, "Installer package " + installer + " not found.");
+        // Verify that the installer UID actually contains the package. Note that comparing UIDs
+        // is not safe since context's uid can change in different settings; e.g. Android Auto.
+        if (!getPackageListForUid(installerUid).contains(installer)) {
             return UNKNOWN_INSTALLER;
         }
 
@@ -398,14 +387,13 @@
                 Slog.e(TAG, "Installer is package installer but originating UID not found.");
                 return UNKNOWN_INSTALLER;
             }
-            String[] installerPackages =
-                    mContext.getPackageManager().getPackagesForUid(originatingUid);
-            if (installerPackages == null || installerPackages.length == 0) {
+            List<String> installerPackages = getPackageListForUid(originatingUid);
+            if (installerPackages.isEmpty()) {
                 Slog.e(TAG, "No package found associated with originating UID " + originatingUid);
                 return UNKNOWN_INSTALLER;
             }
             // In the case of multiple package sharing a UID, we just return the first one.
-            return installerPackages[0];
+            return installerPackages.get(0);
         }
 
         return installer;
@@ -652,35 +640,55 @@
         return installationPath;
     }
 
-    private String getCallerPackageNameOrThrow() {
-        String callerPackageName = getCallerPackageName();
+    private String getCallerPackageNameOrThrow(int callingUid) {
+        String callerPackageName = getCallingRulePusherPackageName(callingUid);
         if (callerPackageName == null) {
             throw new SecurityException(
-                    "Only system packages specified in config_integrityRuleProviderPackages are"
-                            + " allowed to call this method.");
+                    "Only system packages specified in config_integrityRuleProviderPackages are "
+                            + "allowed to call this method.");
         }
         return callerPackageName;
     }
 
-    private String getCallerPackageName() {
-        final List<String> allowedRuleProviders = getAllowedRuleProviders();
-        for (String packageName : allowedRuleProviders) {
-            try {
-                // At least in tests, getPackageUid gives "NameNotFound" but getPackagesFromUid
-                // give the correct package name.
-                int uid = mContext.getPackageManager().getPackageUid(packageName, 0);
-                if (uid == Binder.getCallingUid()) {
-                    // Caller is allowed in the config.
-                    if (isSystemApp(packageName)) {
-                        return packageName;
-                    }
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-                // Ignore the exception. We don't expect the app to be necessarily installed.
-                Slog.i(TAG, "Rule provider package " + packageName + " not installed.");
-            }
-        }
-        return null;
+    private String getCallingRulePusherPackageName(int callingUid) {
+        // Obtain the system apps that are whitelisted in config_integrityRuleProviderPackages.
+        List<String> allowedRuleProviders = getAllowedRuleProviderSystemApps();
+        Slog.i(TAG, String.format(
+                "Rule provider system app list contains: %s", allowedRuleProviders));
+
+        // Identify the package names in the caller list.
+        List<String> callingPackageNames = getPackageListForUid(callingUid);
+        Slog.i(TAG, String.format("Calling packages are: ", callingPackageNames));
+
+        // Find the intersection between the allowed and calling packages. Ideally, we will have
+        // at most one package name here. But if we have more, it is fine.
+        List<String> allowedCallingPackages =
+                callingPackageNames
+                        .stream()
+                        .filter(packageName -> allowedRuleProviders.contains(packageName))
+                        .collect(Collectors.toList());
+        Slog.i(TAG, String.format("Calling rule pusher packages are: ", allowedCallingPackages));
+
+        return allowedCallingPackages.isEmpty() ? null : allowedCallingPackages.get(0);
+    }
+
+    private boolean isRuleProvider(String installerPackageName) {
+        return getAllowedRuleProviderSystemApps().stream()
+                .anyMatch(ruleProvider -> ruleProvider.equals(installerPackageName));
+    }
+
+    private List<String> getAllowedRuleProviderSystemApps() {
+        List<String> integrityRuleProviders =
+                Arrays.asList(
+                        mContext.getResources()
+                                .getStringArray(R.array.config_integrityRuleProviderPackages));
+
+        Slog.i(TAG, String.format("Rule provider list contains: %s", integrityRuleProviders));
+
+        // Filter out the rule provider packages that are not system apps.
+        return integrityRuleProviders.stream()
+                .filter(this::isSystemApp)
+                .collect(Collectors.toList());
     }
 
     private boolean isSystemApp(String packageName) {
@@ -694,17 +702,6 @@
         }
     }
 
-    private List<String> getAllowedRuleProviders() {
-        return Arrays.asList(
-                mContext.getResources()
-                        .getStringArray(R.array.config_integrityRuleProviderPackages));
-    }
-
-    private boolean isRuleProvider(String installerPackageName) {
-        return getAllowedRuleProviders().stream()
-                .anyMatch(ruleProvider -> ruleProvider.equals(installerPackageName));
-    }
-
     private boolean integrityCheckIncludesRuleProvider() {
         return Settings.Global.getInt(
                         mContext.getContentResolver(),
@@ -712,4 +709,13 @@
                         0)
                 == 1;
     }
+
+    private List<String> getPackageListForUid(int uid) {
+        try {
+            return Arrays.asList(mContext.getPackageManager().getPackagesForUid(uid));
+        } catch (NullPointerException e) {
+            Slog.w(TAG, String.format("No packages were found for uid: %d", uid));
+            return List.of();
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/location/AppOpsHelper.java b/services/core/java/com/android/server/location/AppOpsHelper.java
index cb64c50..c598fb1 100644
--- a/services/core/java/com/android/server/location/AppOpsHelper.java
+++ b/services/core/java/com/android/server/location/AppOpsHelper.java
@@ -19,8 +19,8 @@
 import static android.app.AppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION;
 import static android.app.AppOpsManager.OP_MONITOR_LOCATION;
 
-import static com.android.server.LocationManagerService.D;
-import static com.android.server.LocationManagerService.TAG;
+import static com.android.server.location.LocationManagerService.D;
+import static com.android.server.location.LocationManagerService.TAG;
 
 import android.annotation.Nullable;
 import android.app.AppOpsManager;
diff --git a/services/core/java/com/android/server/location/GeofenceManager.java b/services/core/java/com/android/server/location/GeofenceManager.java
index 195b059..095cd14 100644
--- a/services/core/java/com/android/server/location/GeofenceManager.java
+++ b/services/core/java/com/android/server/location/GeofenceManager.java
@@ -253,7 +253,7 @@
                 int op = CallerIdentity.asAppOp(identity.permissionLevel);
                 if (op >= 0) {
                     if (mAppOps.noteOpNoThrow(AppOpsManager.OP_FINE_LOCATION, identity.uid,
-                            identity.packageName, identity.featureId, null)
+                            identity.packageName, identity.featureId, identity.listenerId)
                             != AppOpsManager.MODE_ALLOWED) {
                         continue;
                     }
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java
similarity index 98%
rename from services/core/java/com/android/server/LocationManagerService.java
rename to services/core/java/com/android/server/location/LocationManagerService.java
index 7f25de6b..4f8708a 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/location/LocationManagerService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 The Android Open Source Project
+ * 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.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server;
+package com.android.server.location;
 
 import static android.Manifest.permission.ACCESS_FINE_LOCATION;
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
@@ -36,6 +36,7 @@
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
 import android.app.ActivityManager;
+import android.app.AppOpsManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -91,27 +92,14 @@
 import com.android.internal.util.DumpUtils;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.Preconditions;
-import com.android.server.location.AbstractLocationProvider;
+import com.android.server.FgThread;
+import com.android.server.LocalServices;
+import com.android.server.PendingIntentUtils;
+import com.android.server.SystemService;
 import com.android.server.location.AbstractLocationProvider.State;
-import com.android.server.location.AppForegroundHelper;
-import com.android.server.location.AppOpsHelper;
-import com.android.server.location.CallerIdentity;
 import com.android.server.location.CallerIdentity.PermissionLevel;
-import com.android.server.location.GeocoderProxy;
-import com.android.server.location.GeofenceManager;
-import com.android.server.location.GeofenceProxy;
-import com.android.server.location.HardwareActivityRecognitionProxy;
-import com.android.server.location.LocationFudger;
-import com.android.server.location.LocationProviderProxy;
-import com.android.server.location.LocationRequestStatistics;
 import com.android.server.location.LocationRequestStatistics.PackageProviderKey;
 import com.android.server.location.LocationRequestStatistics.PackageStatistics;
-import com.android.server.location.LocationUsageLogger;
-import com.android.server.location.MockProvider;
-import com.android.server.location.MockableLocationProvider;
-import com.android.server.location.PassiveProvider;
-import com.android.server.location.SettingsHelper;
-import com.android.server.location.UserInfoHelper;
 import com.android.server.location.UserInfoHelper.UserListener;
 import com.android.server.location.gnss.GnssManagerService;
 import com.android.server.pm.permission.PermissionManagerServiceInternal;
@@ -1620,8 +1608,8 @@
             // For now, make sure callers have supplied an attribution tag for use with
             // AppOpsManager. This might be relaxed in the future.
             final List<WorkChain> workChains = workSource.getWorkChains();
-            return workChains != null && !workChains.isEmpty() &&
-                    workChains.get(0).getAttributionTag() != null;
+            return workChains != null && !workChains.isEmpty()
+                    && workChains.get(0).getAttributionTag() != null;
         }
     }
 
@@ -1840,6 +1828,9 @@
         if (request == null) {
             request = DEFAULT_LOCATION_REQUEST;
         }
+        if (listenerId == null && intent != null) {
+            listenerId = AppOpsManager.toReceiverId(intent);
+        }
 
         CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, featureId,
                 listenerId);
@@ -2106,7 +2097,8 @@
             request = DEFAULT_LOCATION_REQUEST;
         }
 
-        CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, featureId);
+        CallerIdentity identity = CallerIdentity.fromBinder(mContext, packageName, featureId,
+                AppOpsManager.toReceiverId(intent));
         identity.enforceLocationPermission();
 
         Objects.requireNonNull(intent);
diff --git a/services/core/java/com/android/server/LocationManagerServiceUtils.java b/services/core/java/com/android/server/location/LocationManagerServiceUtils.java
similarity index 95%
rename from services/core/java/com/android/server/LocationManagerServiceUtils.java
rename to services/core/java/com/android/server/location/LocationManagerServiceUtils.java
index 9d0fe5e..c33a706 100644
--- a/services/core/java/com/android/server/LocationManagerServiceUtils.java
+++ b/services/core/java/com/android/server/location/LocationManagerServiceUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -14,15 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.server;
+package com.android.server.location;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.IBinder;
 import android.os.RemoteException;
 
-import com.android.server.location.CallerIdentity;
-
 import java.util.NoSuchElementException;
 import java.util.function.Consumer;
 
diff --git a/services/core/java/com/android/server/location/LocationUsageLogger.java b/services/core/java/com/android/server/location/LocationUsageLogger.java
index 93e19df..b325deb 100644
--- a/services/core/java/com/android/server/location/LocationUsageLogger.java
+++ b/services/core/java/com/android/server/location/LocationUsageLogger.java
@@ -16,7 +16,7 @@
 
 package com.android.server.location;
 
-import static com.android.server.LocationManagerService.TAG;
+import static com.android.server.location.LocationManagerService.TAG;
 
 import android.app.ActivityManager;
 import android.location.Geofence;
diff --git a/services/core/java/com/android/server/location/SettingsHelper.java b/services/core/java/com/android/server/location/SettingsHelper.java
index 7ab258c..cbb06b8 100644
--- a/services/core/java/com/android/server/location/SettingsHelper.java
+++ b/services/core/java/com/android/server/location/SettingsHelper.java
@@ -26,8 +26,8 @@
 import static android.provider.Settings.Secure.LOCATION_MODE;
 import static android.provider.Settings.Secure.LOCATION_MODE_OFF;
 
-import static com.android.server.LocationManagerService.D;
-import static com.android.server.LocationManagerService.TAG;
+import static com.android.server.location.LocationManagerService.D;
+import static com.android.server.location.LocationManagerService.TAG;
 
 import android.app.ActivityManager;
 import android.content.Context;
diff --git a/services/core/java/com/android/server/location/UserInfoHelper.java b/services/core/java/com/android/server/location/UserInfoHelper.java
index 28f3f47..a3dcc40 100644
--- a/services/core/java/com/android/server/location/UserInfoHelper.java
+++ b/services/core/java/com/android/server/location/UserInfoHelper.java
@@ -18,8 +18,8 @@
 
 import static android.os.UserManager.DISALLOW_SHARE_LOCATION;
 
-import static com.android.server.LocationManagerService.D;
-import static com.android.server.LocationManagerService.TAG;
+import static com.android.server.location.LocationManagerService.D;
+import static com.android.server.location.LocationManagerService.TAG;
 
 import android.annotation.IntDef;
 import android.annotation.Nullable;
diff --git a/services/core/java/com/android/server/location/gnss/GnssManagerService.java b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
index 711f45c..3c509c3 100644
--- a/services/core/java/com/android/server/location/gnss/GnssManagerService.java
+++ b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
@@ -46,11 +46,11 @@
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.Preconditions;
 import com.android.server.LocalServices;
-import com.android.server.LocationManagerServiceUtils.LinkedListener;
-import com.android.server.LocationManagerServiceUtils.LinkedListenerBase;
 import com.android.server.location.AppForegroundHelper;
 import com.android.server.location.AppOpsHelper;
 import com.android.server.location.CallerIdentity;
+import com.android.server.location.LocationManagerServiceUtils.LinkedListener;
+import com.android.server.location.LocationManagerServiceUtils.LinkedListenerBase;
 import com.android.server.location.LocationUsageLogger;
 import com.android.server.location.RemoteListenerHelper;
 import com.android.server.location.SettingsHelper;
diff --git a/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java b/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java
index 3fb713b..e17cca4 100644
--- a/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java
+++ b/services/core/java/com/android/server/location/gnss/GnssNetworkConnectivityHandler.java
@@ -17,8 +17,9 @@
 package com.android.server.location.gnss;
 
 import android.content.Context;
-import android.database.Cursor;
 import android.net.ConnectivityManager;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
 import android.net.Network;
 import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
@@ -26,25 +27,26 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PowerManager;
-import android.provider.Telephony.Carriers;
-import android.telephony.ServiceState;
-import android.telephony.TelephonyManager;
+import android.telephony.PhoneStateListener;
+import android.telephony.PreciseCallState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.PreciseCallState;
-import android.telephony.PhoneStateListener;
+import android.telephony.TelephonyManager;
 import android.util.Log;
 
 import com.android.internal.location.GpsNetInitiatedHandler;
 
+import java.net.Inet4Address;
+import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Arrays;
-import java.util.Map;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * Handles network connection requests and network state change updates for AGPS data download.
@@ -385,10 +387,10 @@
     private ConnectivityManager.NetworkCallback createSuplConnectivityCallback() {
         return new ConnectivityManager.NetworkCallback() {
             @Override
-            public void onAvailable(Network network) {
+            public void onLinkPropertiesChanged(Network network, LinkProperties linkProperties) {
                 if (DEBUG) Log.d(TAG, "SUPL network connection available.");
                 // Specific to a change to a SUPL enabled network becoming ready
-                handleSuplConnectionAvailable(network);
+                handleSuplConnectionAvailable(network, linkProperties);
             }
 
             @Override
@@ -496,7 +498,7 @@
         return networkAttributes;
     }
 
-    private void handleSuplConnectionAvailable(Network network) {
+    private void handleSuplConnectionAvailable(Network network, LinkProperties linkProperties) {
         // TODO: The synchronous method ConnectivityManager.getNetworkInfo() should not be called
         //       inside the asynchronous ConnectivityManager.NetworkCallback methods.
         NetworkInfo info = mConnMgr.getNetworkInfo(network);
@@ -528,7 +530,7 @@
                 setRouting();
             }
 
-            int apnIpType = getApnIpType(apn);
+            int apnIpType = getLinkIpType(linkProperties);
             if (DEBUG) {
                 String message = String.format(
                         "native_agps_data_conn_open: mAgpsApn=%s, mApnIpType=%s",
@@ -704,74 +706,32 @@
         }
     }
 
-    private int getApnIpType(String apn) {
+    private int getLinkIpType(LinkProperties linkProperties) {
         ensureInHandlerThread();
-        if (apn == null) {
-            return APN_INVALID;
-        }
-        TelephonyManager phone = (TelephonyManager)
-                mContext.getSystemService(Context.TELEPHONY_SERVICE);
-        // During an emergency call with an active sub id, get the Telephony Manager specific
-        // to the active sub to get the correct value from getServiceState and getNetworkType
-        if (mNiHandler.getInEmergency() && mActiveSubId >= 0) {
-            TelephonyManager subIdTelManager =
-                    phone.createForSubscriptionId(mActiveSubId);
-            if (subIdTelManager != null) {
-                phone = subIdTelManager;
+        boolean isIPv4 = false;
+        boolean isIPv6 = false;
+
+        List<LinkAddress> linkAddresses = linkProperties.getLinkAddresses();
+        for (LinkAddress linkAddress : linkAddresses) {
+            InetAddress inetAddress = linkAddress.getAddress();
+            if (inetAddress instanceof Inet4Address) {
+                isIPv4 = true;
+            } else if (inetAddress instanceof Inet6Address) {
+                isIPv6 = true;
             }
-        }
-        ServiceState serviceState = phone.getServiceState();
-        String projection = null;
-        String selection = null;
-
-        // Carrier configuration may override framework roaming state, we need to use the actual
-        // modem roaming state instead of the framework roaming state.
-        if (serviceState != null && serviceState.getDataRoamingFromRegistration()) {
-            projection = Carriers.ROAMING_PROTOCOL;
-        } else {
-            projection = Carriers.PROTOCOL;
-        }
-        // No SIM case for emergency
-        if (TelephonyManager.NETWORK_TYPE_UNKNOWN == phone.getNetworkType()
-                && AGPS_TYPE_EIMS == mAGpsType) {
-            selection = String.format(
-                "type like '%%emergency%%' and apn = '%s' and carrier_enabled = 1", apn);
-        } else {
-            selection = String.format("current = 1 and apn = '%s' and carrier_enabled = 1", apn);
-        }
-        try (Cursor cursor = mContext.getContentResolver().query(
-                Carriers.CONTENT_URI,
-                new String[]{projection},
-                selection,
-                null,
-                Carriers.DEFAULT_SORT_ORDER)) {
-            if (null != cursor && cursor.moveToFirst()) {
-                return translateToApnIpType(cursor.getString(0), apn);
-            } else {
-                Log.e(TAG, "No entry found in query for APN: " + apn);
-            }
-        } catch (Exception e) {
-            Log.e(TAG, "Error encountered on APN query for: " + apn, e);
+            if (DEBUG) Log.d(TAG, "LinkAddress : " + inetAddress.toString());
         }
 
-        return APN_IPV4V6;
-    }
-
-    private int translateToApnIpType(String ipProtocol, String apn) {
-        if ("IP".equals(ipProtocol)) {
-            return APN_IPV4;
-        }
-        if ("IPV6".equals(ipProtocol)) {
-            return APN_IPV6;
-        }
-        if ("IPV4V6".equals(ipProtocol)) {
+        if (isIPv4 && isIPv6) {
             return APN_IPV4V6;
         }
-
-        // we hit the default case so the ipProtocol is not recognized
-        String message = String.format("Unknown IP Protocol: %s, for APN: %s", ipProtocol, apn);
-        Log.e(TAG, message);
-        return APN_IPV4V6;
+        if (isIPv4) {
+            return APN_IPV4;
+        }
+        if (isIPv6) {
+            return APN_IPV6;
+        }
+        return APN_INVALID;
     }
 
     // AGPS support
diff --git a/services/core/java/com/android/server/location/gnss/GnssVisibilityControl.java b/services/core/java/com/android/server/location/gnss/GnssVisibilityControl.java
index 06fa0ea..75fd7dc 100644
--- a/services/core/java/com/android/server/location/gnss/GnssVisibilityControl.java
+++ b/services/core/java/com/android/server/location/gnss/GnssVisibilityControl.java
@@ -21,13 +21,13 @@
 import android.app.AppOpsManager;
 import android.app.Notification;
 import android.app.NotificationManager;
-import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.hardware.gnss.visibility_control.V1_0.IGnssVisibilityControlCallback;
 import android.location.LocationManager;
 import android.os.Handler;
 import android.os.Looper;
@@ -39,12 +39,14 @@
 
 import com.android.internal.R;
 import com.android.internal.location.GpsNetInitiatedHandler;
+import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.util.FrameworkStatsLog;
 
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * Handles GNSS non-framework location access user visibility and control.
@@ -283,21 +285,22 @@
 
     // Represents NfwNotification structure in IGnssVisibilityControlCallback.hal
     private static class NfwNotification {
-        // These must match with NfwResponseType enum in IGnssVisibilityControlCallback.hal.
-        private static final byte NFW_RESPONSE_TYPE_REJECTED = 0;
-        private static final byte NFW_RESPONSE_TYPE_ACCEPTED_NO_LOCATION_PROVIDED = 1;
-        private static final byte NFW_RESPONSE_TYPE_ACCEPTED_LOCATION_PROVIDED = 2;
 
-        private final String mProxyAppPackageName;
-        private final byte mProtocolStack;
-        private final String mOtherProtocolStackName;
-        private final byte mRequestor;
-        private final String mRequestorId;
-        private final byte mResponseType;
-        private final boolean mInEmergencyMode;
-        private final boolean mIsCachedLocation;
+        // These must match with NfwResponseType enum in IGnssVisibilityControlCallback.hal
+        static final byte NFW_RESPONSE_TYPE_REJECTED = 0;
+        static final byte NFW_RESPONSE_TYPE_ACCEPTED_NO_LOCATION_PROVIDED = 1;
+        static final byte NFW_RESPONSE_TYPE_ACCEPTED_LOCATION_PROVIDED = 2;
 
-        private NfwNotification(String proxyAppPackageName, byte protocolStack,
+        final String mProxyAppPackageName;
+        final byte mProtocolStack;
+        final String mOtherProtocolStackName;
+        final byte mRequestor;
+        final String mRequestorId;
+        final byte mResponseType;
+        final boolean mInEmergencyMode;
+        final boolean mIsCachedLocation;
+
+        NfwNotification(String proxyAppPackageName, byte protocolStack,
                 String otherProtocolStackName, byte requestor, String requestorId,
                 byte responseType, boolean inEmergencyMode, boolean isCachedLocation) {
             mProxyAppPackageName = proxyAppPackageName;
@@ -610,43 +613,38 @@
         logEvent(nfwNotification, isPermissionMismatched);
 
         if (nfwNotification.isLocationProvided()) {
-            postEmergencyLocationUserNotification(nfwNotification);
+            displayNfwNotification(nfwNotification);
         }
     }
 
-    private void postEmergencyLocationUserNotification(NfwNotification nfwNotification) {
-        // Emulate deprecated IGnssNi.hal user notification of emergency NI requests.
-        NotificationManager notificationManager = (NotificationManager) mContext
-                .getSystemService(Context.NOTIFICATION_SERVICE);
-        if (notificationManager == null) {
-            Log.w(TAG, "Could not notify user of emergency location request. Notification: "
-                    + nfwNotification);
-            return;
+    private void displayNfwNotification(NfwNotification nfwNotification) {
+        NotificationManager notificationManager = Objects.requireNonNull(
+                mContext.getSystemService(NotificationManager.class));
+
+        String title = mContext.getString(R.string.gnss_nfw_notification_title);
+        String message;
+        if (nfwNotification.mRequestor == IGnssVisibilityControlCallback.NfwRequestor.CARRIER) {
+            message = mContext.getString(R.string.gnss_nfw_notification_message_carrier);
+        } else {
+            message = mContext.getString(R.string.gnss_nfw_notification_message_oem);
         }
 
-        notificationManager.notifyAsUser(/* tag= */ null, /* notificationId= */ 0,
-                createEmergencyLocationUserNotification(mContext), UserHandle.ALL);
-    }
-
-    private static Notification createEmergencyLocationUserNotification(Context context) {
-        // NOTE: Do not reuse the returned notification object as it will not reflect
-        //       changes to notification text when the system language is changed.
-        final String firstLineText = context.getString(R.string.gpsNotifTitle);
-        final String secondLineText =  context.getString(R.string.global_action_emergency);
-        final String accessibilityServicesText = firstLineText + " (" + secondLineText + ")";
-        return new Notification.Builder(context, SystemNotificationChannels.NETWORK_ALERTS)
-                .setSmallIcon(com.android.internal.R.drawable.stat_sys_gps_on)
-                .setWhen(0)
-                .setOngoing(false)
+        Notification.Builder builder = new Notification.Builder(mContext,
+                SystemNotificationChannels.NETWORK_ALERTS)
+                .setSmallIcon(R.drawable.stat_sys_gps_on)
+                .setCategory(Notification.CATEGORY_SYSTEM)
+                .setVisibility(Notification.VISIBILITY_SECRET)
+                .setContentTitle(title)
+                .setTicker(title)
+                .setContentText(message)
+                .setStyle(new Notification.BigTextStyle().bigText(message))
                 .setAutoCancel(true)
-                .setColor(context.getColor(
-                        com.android.internal.R.color.system_notification_accent_color))
-                .setDefaults(0)
-                .setTicker(accessibilityServicesText)
-                .setContentTitle(firstLineText)
-                .setContentText(secondLineText)
-                .setContentIntent(PendingIntent.getBroadcast(context, 0, new Intent(), 0))
-                .build();
+                .setColor(mContext.getColor(R.color.system_notification_accent_color))
+                .setWhen(System.currentTimeMillis())
+                .setShowWhen(true)
+                .setDefaults(0);
+
+        notificationManager.notify(SystemMessage.NOTE_GNSS_NFW_LOCATION_ACCESS, builder.build());
     }
 
     private void logEvent(NfwNotification notification, boolean isPermissionMismatched) {
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
index 9297a43..7972f24 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
@@ -366,10 +366,15 @@
         if (mStorage.hasChildProfileLock(managedUserId)) {
             return;
         }
-        // Do not tie it to parent when parent does not have a screen lock
+        // If parent does not have a screen lock, simply clear credential from the managed profile,
+        // to maintain the invariant that unified profile should always have the same secure state
+        // as its parent.
         final int parentId = mUserManager.getProfileParent(managedUserId).id;
-        if (!isUserSecure(parentId)) {
-            if (DEBUG) Slog.v(TAG, "Parent does not have a screen lock");
+        if (!isUserSecure(parentId) && !managedUserPassword.isNone()) {
+            if (DEBUG) Slog.v(TAG, "Parent does not have a screen lock but profile has one");
+
+            setLockCredentialInternal(LockscreenCredential.createNone(), managedUserPassword,
+                    managedUserId, /* isLockTiedToParent= */ true);
             return;
         }
         // Do not tie when the parent has no SID (but does have a screen lock).
@@ -3161,6 +3166,21 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(timestamp));
     }
 
+    private static String credentialTypeToString(int credentialType) {
+        switch (credentialType) {
+            case CREDENTIAL_TYPE_NONE:
+                return "None";
+            case CREDENTIAL_TYPE_PATTERN:
+                return "Pattern";
+            case CREDENTIAL_TYPE_PIN:
+                return "Pin";
+            case CREDENTIAL_TYPE_PASSWORD:
+                return "Password";
+            default:
+                return "Unknown " + credentialType;
+        }
+    }
+
     @Override
     protected void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
         if (!DumpUtils.checkDumpPermission(mContext, TAG, printWriter)) return;
@@ -3192,7 +3212,8 @@
             // It's OK to dump the password type since anyone with physical access can just
             // observe it from the keyguard directly.
             pw.println("Quality: " + getKeyguardStoredQuality(userId));
-            pw.println("CredentialType: " + getCredentialTypeInternal(userId));
+            pw.println("CredentialType: " + credentialTypeToString(
+                    getCredentialTypeInternal(userId)));
             pw.println("SeparateChallenge: " + getSeparateProfileChallengeEnabledInternal(userId));
             pw.println(String.format("Metrics: %s",
                     getUserPasswordMetrics(userId) != null ? "known" : "unknown"));
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsStrongAuth.java b/services/core/java/com/android/server/locksettings/LockSettingsStrongAuth.java
index fbee6f4..8480197 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsStrongAuth.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsStrongAuth.java
@@ -26,6 +26,7 @@
 import android.app.trust.IStrongAuthTracker;
 import android.content.Context;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteCallbackList;
 import android.os.RemoteException;
@@ -36,6 +37,7 @@
 import android.util.SparseBooleanArray;
 import android.util.SparseIntArray;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.widget.LockPatternUtils.StrongAuthTracker;
 
@@ -57,11 +59,14 @@
     private static final int MSG_STRONG_BIOMETRIC_UNLOCK = 8;
     private static final int MSG_SCHEDULE_NON_STRONG_BIOMETRIC_IDLE_TIMEOUT = 9;
 
-    private static final String STRONG_AUTH_TIMEOUT_ALARM_TAG =
+    @VisibleForTesting
+    protected static final String STRONG_AUTH_TIMEOUT_ALARM_TAG =
             "LockSettingsStrongAuth.timeoutForUser";
-    private static final String NON_STRONG_BIOMETRIC_TIMEOUT_ALARM_TAG =
+    @VisibleForTesting
+    protected static final String NON_STRONG_BIOMETRIC_TIMEOUT_ALARM_TAG =
             "LockSettingsPrimaryAuth.nonStrongBiometricTimeoutForUser";
-    private static final String NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_ALARM_TAG =
+    @VisibleForTesting
+    protected static final String NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_ALARM_TAG =
             "LockSettingsPrimaryAuth.nonStrongBiometricIdleTimeoutForUser";
 
     /**
@@ -73,28 +78,71 @@
             4 * 60 * 60 * 1000; // 4h
 
     private final RemoteCallbackList<IStrongAuthTracker> mTrackers = new RemoteCallbackList<>();
-    private final SparseIntArray mStrongAuthForUser = new SparseIntArray();
-    private final SparseBooleanArray mIsNonStrongBiometricAllowedForUser = new SparseBooleanArray();
-    private final ArrayMap<Integer, StrongAuthTimeoutAlarmListener>
+    @VisibleForTesting
+    protected final SparseIntArray mStrongAuthForUser = new SparseIntArray();
+    @VisibleForTesting
+    protected final SparseBooleanArray mIsNonStrongBiometricAllowedForUser =
+            new SparseBooleanArray();
+    @VisibleForTesting
+    protected final ArrayMap<Integer, StrongAuthTimeoutAlarmListener>
             mStrongAuthTimeoutAlarmListenerForUser = new ArrayMap<>();
     // Track non-strong biometric timeout
-    private final ArrayMap<Integer, NonStrongBiometricTimeoutAlarmListener>
+    @VisibleForTesting
+    protected final ArrayMap<Integer, NonStrongBiometricTimeoutAlarmListener>
             mNonStrongBiometricTimeoutAlarmListener = new ArrayMap<>();
     // Track non-strong biometric idle timeout
-    private final ArrayMap<Integer, NonStrongBiometricIdleTimeoutAlarmListener>
+    @VisibleForTesting
+    protected final ArrayMap<Integer, NonStrongBiometricIdleTimeoutAlarmListener>
             mNonStrongBiometricIdleTimeoutAlarmListener = new ArrayMap<>();
 
     private final int mDefaultStrongAuthFlags;
     private final boolean mDefaultIsNonStrongBiometricAllowed = true;
 
     private final Context mContext;
-
-    private AlarmManager mAlarmManager;
+    private final Injector mInjector;
+    private final AlarmManager mAlarmManager;
 
     public LockSettingsStrongAuth(Context context) {
+        this(context, new Injector());
+    }
+
+    @VisibleForTesting
+    protected LockSettingsStrongAuth(Context context, Injector injector) {
         mContext = context;
-        mDefaultStrongAuthFlags = StrongAuthTracker.getDefaultFlags(context);
-        mAlarmManager = context.getSystemService(AlarmManager.class);
+        mInjector = injector;
+        mDefaultStrongAuthFlags = mInjector.getDefaultStrongAuthFlags(context);
+        mAlarmManager = mInjector.getAlarmManager(context);
+    }
+
+    /**
+     * Class for injecting dependencies into LockSettingsStrongAuth.
+     */
+    @VisibleForTesting
+    public static class Injector {
+
+        /**
+         * Allows to mock AlarmManager for testing.
+         */
+        @VisibleForTesting
+        public AlarmManager getAlarmManager(Context context) {
+            return context.getSystemService(AlarmManager.class);
+        }
+
+        /**
+         * Allows to get different default StrongAuthFlags for testing.
+         */
+        @VisibleForTesting
+        public int getDefaultStrongAuthFlags(Context context) {
+            return StrongAuthTracker.getDefaultFlags(context);
+        }
+
+        /**
+         * Allows to get different triggerAtMillis values when setting alarms for testing.
+         */
+        @VisibleForTesting
+        public long getNextAlarmTimeMs(long timeout) {
+            return SystemClock.elapsedRealtime() + timeout;
+        }
     }
 
     private void handleAddStrongAuthTracker(IStrongAuthTracker tracker) {
@@ -186,7 +234,8 @@
     private void handleScheduleStrongAuthTimeout(int userId) {
         final DevicePolicyManager dpm =
                 (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        long when = SystemClock.elapsedRealtime() + dpm.getRequiredStrongAuthTimeout(null, userId);
+        long nextAlarmTime =
+                mInjector.getNextAlarmTimeMs(dpm.getRequiredStrongAuthTimeout(null, userId));
         // cancel current alarm listener for the user (if there was one)
         StrongAuthTimeoutAlarmListener alarm = mStrongAuthTimeoutAlarmListenerForUser.get(userId);
         if (alarm != null) {
@@ -196,8 +245,8 @@
             mStrongAuthTimeoutAlarmListenerForUser.put(userId, alarm);
         }
         // schedule a new alarm listener for the user
-        mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, when, STRONG_AUTH_TIMEOUT_ALARM_TAG,
-                alarm, mHandler);
+        mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, nextAlarmTime,
+                STRONG_AUTH_TIMEOUT_ALARM_TAG, alarm, mHandler);
 
         // cancel current non-strong biometric alarm listener for the user (if there was one)
         cancelNonStrongBiometricAlarmListener(userId);
@@ -209,7 +258,7 @@
 
     private void handleScheduleNonStrongBiometricTimeout(int userId) {
         if (DEBUG) Slog.d(TAG, "handleScheduleNonStrongBiometricTimeout for userId=" + userId);
-        long when = SystemClock.elapsedRealtime() + DEFAULT_NON_STRONG_BIOMETRIC_TIMEOUT_MS;
+        long nextAlarmTime = mInjector.getNextAlarmTimeMs(DEFAULT_NON_STRONG_BIOMETRIC_TIMEOUT_MS);
         NonStrongBiometricTimeoutAlarmListener alarm = mNonStrongBiometricTimeoutAlarmListener
                 .get(userId);
         if (alarm != null) {
@@ -226,7 +275,7 @@
             alarm = new NonStrongBiometricTimeoutAlarmListener(userId);
             mNonStrongBiometricTimeoutAlarmListener.put(userId, alarm);
             // schedule a new alarm listener for the user
-            mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, when,
+            mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, nextAlarmTime,
                     NON_STRONG_BIOMETRIC_TIMEOUT_ALARM_TAG, alarm, mHandler);
         }
 
@@ -268,7 +317,8 @@
         }
     }
 
-    private void setIsNonStrongBiometricAllowed(boolean allowed, int userId) {
+    @VisibleForTesting
+    protected void setIsNonStrongBiometricAllowed(boolean allowed, int userId) {
         if (DEBUG) {
             Slog.d(TAG, "setIsNonStrongBiometricAllowed for allowed=" + allowed
                     + ", userId=" + userId);
@@ -302,7 +352,8 @@
 
     private void handleScheduleNonStrongBiometricIdleTimeout(int userId) {
         if (DEBUG) Slog.d(TAG, "handleScheduleNonStrongBiometricIdleTimeout for userId=" + userId);
-        long when = SystemClock.elapsedRealtime() + DEFAULT_NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_MS;
+        long nextAlarmTime =
+                mInjector.getNextAlarmTimeMs(DEFAULT_NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_MS);
         // cancel current alarm listener for the user (if there was one)
         NonStrongBiometricIdleTimeoutAlarmListener alarm =
                 mNonStrongBiometricIdleTimeoutAlarmListener.get(userId);
@@ -315,7 +366,7 @@
         }
         // schedule a new alarm listener for the user
         if (DEBUG) Slog.d(TAG, "Schedule a new alarm for non-strong biometric idle timeout");
-        mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, when,
+        mAlarmManager.set(AlarmManager.ELAPSED_REALTIME, nextAlarmTime,
                 NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_ALARM_TAG, alarm, mHandler);
     }
 
@@ -435,7 +486,8 @@
     /**
      * Alarm of fallback timeout for primary auth
      */
-    private class StrongAuthTimeoutAlarmListener implements OnAlarmListener {
+    @VisibleForTesting
+    protected class StrongAuthTimeoutAlarmListener implements OnAlarmListener {
 
         private final int mUserId;
 
@@ -452,7 +504,8 @@
     /**
      * Alarm of fallback timeout for non-strong biometric (i.e. weak or convenience)
      */
-    private class NonStrongBiometricTimeoutAlarmListener implements OnAlarmListener {
+    @VisibleForTesting
+    protected class NonStrongBiometricTimeoutAlarmListener implements OnAlarmListener {
 
         private final int mUserId;
 
@@ -469,7 +522,8 @@
     /**
      * Alarm of idle timeout for non-strong biometric (i.e. weak or convenience biometric)
      */
-    private class NonStrongBiometricIdleTimeoutAlarmListener implements OnAlarmListener {
+    @VisibleForTesting
+    protected class NonStrongBiometricIdleTimeoutAlarmListener implements OnAlarmListener {
 
         private final int mUserId;
 
@@ -484,7 +538,8 @@
         }
     }
 
-    private final Handler mHandler = new Handler() {
+    @VisibleForTesting
+    protected final Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
diff --git a/services/core/java/com/android/server/media/MediaKeyDispatcher.java b/services/core/java/com/android/server/media/MediaKeyDispatcher.java
index e0efd8a..0b96978 100644
--- a/services/core/java/com/android/server/media/MediaKeyDispatcher.java
+++ b/services/core/java/com/android/server/media/MediaKeyDispatcher.java
@@ -16,24 +16,64 @@
 
 package com.android.server.media;
 
+import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.media.session.ISessionManager;
 import android.media.session.MediaSession;
 import android.os.Binder;
 import android.view.KeyEvent;
+import android.view.ViewConfiguration;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Provides a way to customize behavior for media key events.
- *
+ * <p>
+ * In order to override the implementation of the single/double/triple click or long press,
+ * {@link #setOverriddenKeyEvents(int, int)} should be called for each key code with the
+ * overridden {@link KeyEventType} bit value set, and the corresponding method,
+ * {@link #onSingleClick(KeyEvent)}, {@link #onDoubleClick(KeyEvent)},
+ * {@link #onTripleClick(KeyEvent)}, {@link #onLongPress(KeyEvent)} should be implemented.
+ * <p>
  * Note: When instantiating this class, {@link MediaSessionService} will only use the constructor
  * without any parameters.
  */
+// TODO: Change API names from using "click" to "tap"
+// TODO: Move this class to apex/media/
 public abstract class MediaKeyDispatcher {
+    @IntDef(flag = true, value = {
+            KEY_EVENT_SINGLE_CLICK,
+            KEY_EVENT_DOUBLE_CLICK,
+            KEY_EVENT_TRIPLE_CLICK,
+            KEY_EVENT_LONG_PRESS
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    @interface KeyEventType {}
+    static final int KEY_EVENT_SINGLE_CLICK = 1 << 0;
+    static final int KEY_EVENT_DOUBLE_CLICK = 1 << 1;
+    static final int KEY_EVENT_TRIPLE_CLICK = 1 << 2;
+    static final int KEY_EVENT_LONG_PRESS = 1 << 3;
+
+    private Map<Integer, Integer> mOverriddenKeyEvents;
+
     public MediaKeyDispatcher() {
         // Constructor used for reflection
+        mOverriddenKeyEvents = new HashMap<>();
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_PLAY, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_PAUSE, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MUTE, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_HEADSETHOOK, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_STOP, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_NEXT, 0);
+        mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_PREVIOUS, 0);
     }
 
+    // TODO: Move this method into SessionPolicyProvider.java for better readability.
     /**
      * Implement this to customize the logic for which MediaSession should consume which key event.
      *
@@ -49,4 +89,137 @@
             boolean asSystemService) {
         return null;
     }
+
+    /**
+     * Gets the map of key code -> {@link KeyEventType} that have been overridden.
+     * <p>
+     * The list of valid key codes are the following:
+     * <ul>
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PLAY}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PAUSE}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PLAY_PAUSE}
+     * <li> {@link KeyEvent#KEYCODE_MUTE}
+     * <li> {@link KeyEvent#KEYCODE_HEADSETHOOK}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_STOP}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_NEXT}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PREVIOUS}
+     * </ul>
+     * @see {@link KeyEvent#isMediaSessionKey(int)}
+     */
+    @KeyEventType Map<Integer, Integer> getOverriddenKeyEvents() {
+        return mOverriddenKeyEvents;
+    }
+
+    static boolean isSingleClickOverridden(@KeyEventType int overriddenKeyEvents) {
+        return (overriddenKeyEvents & MediaKeyDispatcher.KEY_EVENT_SINGLE_CLICK) != 0;
+    }
+
+    static boolean isDoubleClickOverridden(@KeyEventType int overriddenKeyEvents) {
+        return (overriddenKeyEvents & MediaKeyDispatcher.KEY_EVENT_DOUBLE_CLICK) != 0;
+    }
+
+    static boolean isTripleClickOverridden(@KeyEventType int overriddenKeyEvents) {
+        return (overriddenKeyEvents & MediaKeyDispatcher.KEY_EVENT_TRIPLE_CLICK) != 0;
+    }
+
+    static boolean isLongPressOverridden(@KeyEventType int overriddenKeyEvents) {
+        return (overriddenKeyEvents & MediaKeyDispatcher.KEY_EVENT_LONG_PRESS) != 0;
+    }
+
+    /**
+     * Sets the value of the given key event type flagged with overridden {@link KeyEventType} to
+     * the given key code. If called multiple times for the same key code, will be overwritten to
+     * the most recently called {@link KeyEventType} value.
+     * <p>
+     * The list of valid key codes are the following:
+     * <ul>
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PLAY}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PAUSE}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PLAY_PAUSE}
+     * <li> {@link KeyEvent#KEYCODE_MUTE}
+     * <li> {@link KeyEvent#KEYCODE_HEADSETHOOK}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_STOP}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_NEXT}
+     * <li> {@link KeyEvent#KEYCODE_MEDIA_PREVIOUS}
+     * </ul>
+     * @see {@link KeyEvent#isMediaSessionKey(int)}
+     * @param keyCode
+     */
+    void setOverriddenKeyEvents(int keyCode, @KeyEventType int keyEventType) {
+        mOverriddenKeyEvents.put(keyCode, keyEventType);
+    }
+
+    /**
+     * Customized implementation for single click event. Will be run if
+     * {@link #KEY_EVENT_SINGLE_CLICK} flag is on for the corresponding key code from
+     * {@link #getOverriddenKeyEvents()}.
+     *
+     * It is considered a single click if only one {@link KeyEvent} with the same
+     * {@link KeyEvent#getKeyCode()} is dispatched within
+     * {@link ViewConfiguration#getMultiPressTimeout()} milliseconds. Change the
+     * {@link android.provider.Settings.Secure#MULTI_PRESS_TIMEOUT} value to adjust the interval.
+     *
+     * Note: This will only be called once with the {@link KeyEvent#ACTION_UP} KeyEvent.
+     *
+     * @param keyEvent
+     */
+    void onSingleClick(KeyEvent keyEvent) {
+    }
+
+    /**
+     * Customized implementation for double click event. Will be run if
+     * {@link #KEY_EVENT_DOUBLE_CLICK} flag is on for the corresponding key code from
+     * {@link #getOverriddenKeyEvents()}.
+     *
+     * It is considered a double click if two {@link KeyEvent}s with the same
+     * {@link KeyEvent#getKeyCode()} are dispatched within
+     * {@link ViewConfiguration#getMultiPressTimeout()} milliseconds of each other. Change the
+     * {@link android.provider.Settings.Secure#MULTI_PRESS_TIMEOUT} value to adjust the interval.
+     *
+     * Note: This will only be called once with the {@link KeyEvent#ACTION_UP} KeyEvent.
+     *
+     * @param keyEvent
+     */
+    void onDoubleClick(KeyEvent keyEvent) {
+    }
+
+    /**
+     * Customized implementation for triple click event. Will be run if
+     * {@link #KEY_EVENT_TRIPLE_CLICK} flag is on for the corresponding key code from
+     * {@link #getOverriddenKeyEvents()}.
+     *
+     * It is considered a triple click if three {@link KeyEvent}s with the same
+     * {@link KeyEvent#getKeyCode()} are dispatched within
+     * {@link ViewConfiguration#getMultiPressTimeout()} milliseconds of each other. Change the
+     * {@link android.provider.Settings.Secure#MULTI_PRESS_TIMEOUT} value to adjust the interval.
+     *
+     * Note: This will only be called once with the {@link KeyEvent#ACTION_UP} KeyEvent.
+     *
+     * @param keyEvent
+     */
+    void onTripleClick(KeyEvent keyEvent) {
+    }
+
+    /**
+     * Customized implementation for long press event. Will be run if
+     * {@link #KEY_EVENT_LONG_PRESS} flag is on for the corresponding key code from
+     * {@link #getOverriddenKeyEvents()}.
+     *
+     * It is considered a long press if an {@link KeyEvent#ACTION_DOWN} key event is followed by
+     * another {@link KeyEvent#ACTION_DOWN} key event with {@link KeyEvent#FLAG_LONG_PRESS}
+     * enabled, and an {@link KeyEvent#getRepeatCount()} that is equal to 1.
+     *
+     * Note: This will be called for the following key events:
+     * <ul>
+     *   <li>A {@link KeyEvent#ACTION_DOWN} KeyEvent with {@link KeyEvent#FLAG_LONG_PRESS} and
+     *   {@link KeyEvent#getRepeatCount()} equal to 1</li>
+     *   <li>Multiple {@link KeyEvent#ACTION_DOWN} KeyEvents with increasing
+     *   {@link KeyEvent#getRepeatCount()}</li>
+     *   <li>A {@link KeyEvent#ACTION_UP} KeyEvent</li>
+     * </ul>
+     *
+     * @param keyEvent
+     */
+    void onLongPress(KeyEvent keyEvent) {
+    }
 }
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
index c3413e8..0d89997 100644
--- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
@@ -622,6 +622,16 @@
             return;
         }
 
+        if (route.isSystemRoute() && !routerRecord.mHasModifyAudioRoutingPermission
+                && !TextUtils.equals(route.getId(),
+                routerRecord.mUserRecord.mHandler.mSystemProvider.getDefaultRoute().getId())) {
+            Slog.w(TAG, "MODIFY_AUDIO_ROUTING permission is required to transfer to"
+                    + route);
+            routerRecord.mUserRecord.mHandler.notifySessionCreationFailedToRouter(
+                    routerRecord, requestId);
+            return;
+        }
+
         long uniqueRequestId = toUniqueRequestId(routerRecord.mRouterId, requestId);
         routerRecord.mUserRecord.mHandler.sendMessage(
                 obtainMessage(UserHandler::requestCreateSessionOnHandler,
@@ -915,9 +925,6 @@
 
         RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
                 .findRouterforSessionLocked(uniqueSessionId);
-        if (routerRecord == null) {
-            return;
-        }
 
         long uniqueRequestId = toUniqueRequestId(managerRecord.mManagerId, requestId);
         managerRecord.mUserRecord.mHandler.sendMessage(
@@ -1272,15 +1279,6 @@
                         toOriginalRequestId(uniqueRequestId));
                 return;
             }
-            if (route.isSystemRoute() && !routerRecord.mHasModifyAudioRoutingPermission
-                    && !TextUtils.equals(route.getId(),
-                            mSystemProvider.getDefaultRoute().getId())) {
-                Slog.w(TAG, "MODIFY_AUDIO_ROUTING permission is required to transfer to"
-                        + route);
-                notifySessionCreationFailedToRouter(routerRecord,
-                        toOriginalRequestId(uniqueRequestId));
-                return;
-            }
 
             SessionCreationRequest request =
                     new SessionCreationRequest(routerRecord, uniqueRequestId, route, managerRecord);
@@ -1404,11 +1402,11 @@
         }
 
         private void releaseSessionOnHandler(long uniqueRequestId,
-                @NonNull RouterRecord routerRecord, @NonNull String uniqueSessionId) {
+                @Nullable RouterRecord routerRecord, @NonNull String uniqueSessionId) {
             final RouterRecord matchingRecord = mSessionToRouterMap.get(uniqueSessionId);
             if (matchingRecord != routerRecord) {
-                Slog.w(TAG, "Ignoring releasing session from non-matching router."
-                        + " packageName=" + routerRecord.mPackageName
+                Slog.w(TAG, "Ignoring releasing session from non-matching router. packageName="
+                        + (routerRecord == null ? null : routerRecord.mPackageName)
                         + " uniqueSessionId=" + uniqueSessionId);
                 return;
             }
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index 5757b1a..476c9f8 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -86,10 +86,10 @@
 import java.io.PrintWriter;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * System implementation of MediaSessionManager
@@ -103,12 +103,14 @@
     private static final int WAKELOCK_TIMEOUT = 5000;
     private static final int MEDIA_KEY_LISTENER_TIMEOUT = 1000;
     private static final int SESSION_CREATION_LIMIT_PER_UID = 100;
+    private static final int LONG_PRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout()
+            + /* Buffer for delayed delivery of key event */ 50;
+    private static final int MULTI_PRESS_TIMEOUT = ViewConfiguration.getMultiPressTimeout();
 
     private final Context mContext;
     private final SessionManagerImpl mSessionManagerImpl;
     private final MessageHandler mHandler = new MessageHandler();
     private final PowerManager.WakeLock mMediaEventWakeLock;
-    private final int mLongPressTimeout;
     private final INotificationManager mNotificationManager;
     private final Object mLock = new Object();
     // Keeps the full user id for each user.
@@ -142,8 +144,7 @@
 
     private SessionPolicyProvider mCustomSessionPolicyProvider;
     private MediaKeyDispatcher mCustomMediaKeyDispatcher;
-    private Method mGetSessionForKeyEventMethod;
-    private Method mGetSessionPoliciesMethod;
+    private Map<Integer, Integer> mOverriddenKeyEventsMap;
 
     public MediaSessionService(Context context) {
         super(context);
@@ -151,7 +152,6 @@
         mSessionManagerImpl = new SessionManagerImpl();
         PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
         mMediaEventWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "handleMediaEvent");
-        mLongPressTimeout = ViewConfiguration.getLongPressTimeout();
         mNotificationManager = INotificationManager.Stub.asInterface(
                 ServiceManager.getService(Context.NOTIFICATION_SERVICE));
     }
@@ -165,6 +165,10 @@
         mAudioPlayerStateMonitor = AudioPlayerStateMonitor.getInstance(mContext);
         mAudioPlayerStateMonitor.registerListener(
                 (config, isRemoved) -> {
+                    if (DEBUG) {
+                        Log.d(TAG, "Audio playback is changed, config=" + config
+                                + ", removed=" + isRemoved);
+                    }
                     if (config.getPlayerType()
                             == AudioPlaybackConfiguration.PLAYER_TYPE_JAM_SOUNDPOOL) {
                         return;
@@ -184,9 +188,10 @@
         mHasFeatureLeanback = mContext.getPackageManager().hasSystemFeature(
                 PackageManager.FEATURE_LEANBACK);
 
+        updateUser();
+
         instantiateCustomProvider(null);
         instantiateCustomDispatcher(null);
-        updateUser();
     }
 
     private boolean isGlobalPriorityActiveLocked() {
@@ -570,13 +575,9 @@
             String callerPackageName, ISessionCallback cb, String tag, Bundle sessionInfo) {
         synchronized (mLock) {
             int policies = 0;
-            if (mCustomSessionPolicyProvider != null && mGetSessionPoliciesMethod != null) {
-                try {
-                    policies = (int) mGetSessionPoliciesMethod.invoke(
-                            mCustomSessionPolicyProvider, callerUid, callerPackageName);
-                } catch (InvocationTargetException | IllegalAccessException e) {
-                    Log.w(TAG, "Encountered problem while using reflection", e);
-                }
+            if (mCustomSessionPolicyProvider != null) {
+                policies = mCustomSessionPolicyProvider.getSessionPoliciesForApplication(
+                        callerUid, callerPackageName);
             }
 
             FullUserRecord user = getFullUserRecordLocked(userId);
@@ -762,44 +763,46 @@
     }
 
     private void instantiateCustomDispatcher(String nameFromTesting) {
-        mCustomMediaKeyDispatcher = null;
-        mGetSessionForKeyEventMethod = null;
+        synchronized (mLock) {
+            mCustomMediaKeyDispatcher = null;
+            mOverriddenKeyEventsMap = null;
 
-        String customDispatcherClassName = (nameFromTesting == null)
-                ? mContext.getResources().getString(R.string.config_customMediaKeyDispatcher)
-                : nameFromTesting;
-        try {
-            if (!TextUtils.isEmpty(customDispatcherClassName)) {
-                Class customDispatcherClass = Class.forName(customDispatcherClassName);
-                Constructor constructor = customDispatcherClass.getDeclaredConstructor();
-                mCustomMediaKeyDispatcher = (MediaKeyDispatcher) constructor.newInstance();
-                mGetSessionForKeyEventMethod = customDispatcherClass.getDeclaredMethod(
-                        "getSessionForKeyEvent", KeyEvent.class, int.class, boolean.class);
+            String customDispatcherClassName = (nameFromTesting == null)
+                    ? mContext.getResources().getString(R.string.config_customMediaKeyDispatcher)
+                    : nameFromTesting;
+            try {
+                if (!TextUtils.isEmpty(customDispatcherClassName)) {
+                    Class customDispatcherClass = Class.forName(customDispatcherClassName);
+                    Constructor constructor = customDispatcherClass.getDeclaredConstructor();
+                    mCustomMediaKeyDispatcher = (MediaKeyDispatcher) constructor.newInstance();
+                    mOverriddenKeyEventsMap = mCustomMediaKeyDispatcher.getOverriddenKeyEvents();
+                }
+            } catch (ClassNotFoundException | InstantiationException | InvocationTargetException
+                    | IllegalAccessException | NoSuchMethodException e) {
+                mCustomMediaKeyDispatcher = null;
+                Log.w(TAG, "Encountered problem while using reflection", e);
             }
-        } catch (ClassNotFoundException | InstantiationException | InvocationTargetException
-                | IllegalAccessException | NoSuchMethodException e) {
-            Log.w(TAG, "Encountered problem while using reflection", e);
         }
     }
 
     private void instantiateCustomProvider(String nameFromTesting) {
-        mCustomSessionPolicyProvider = null;
-        mGetSessionPoliciesMethod = null;
+        synchronized (mLock) {
+            mCustomSessionPolicyProvider = null;
 
-        String customProviderClassName = (nameFromTesting == null)
-                ? mContext.getResources().getString(R.string.config_customSessionPolicyProvider)
-                : nameFromTesting;
-        try {
-            if (!TextUtils.isEmpty(customProviderClassName)) {
-                Class customProviderClass = Class.forName(customProviderClassName);
-                Constructor constructor = customProviderClass.getDeclaredConstructor();
-                mCustomSessionPolicyProvider = (SessionPolicyProvider) constructor.newInstance();
-                mGetSessionPoliciesMethod = customProviderClass.getDeclaredMethod(
-                        "getSessionPoliciesForApplication", int.class, String.class);
+            String customProviderClassName = (nameFromTesting == null)
+                    ? mContext.getResources().getString(R.string.config_customSessionPolicyProvider)
+                    : nameFromTesting;
+            try {
+                if (!TextUtils.isEmpty(customProviderClassName)) {
+                    Class customProviderClass = Class.forName(customProviderClassName);
+                    Constructor constructor = customProviderClass.getDeclaredConstructor();
+                    mCustomSessionPolicyProvider =
+                            (SessionPolicyProvider) constructor.newInstance();
+                }
+            } catch (ClassNotFoundException | InstantiationException | InvocationTargetException
+                    | IllegalAccessException | NoSuchMethodException e) {
+                Log.w(TAG, "Encountered problem while using reflection", e);
             }
-        } catch (ClassNotFoundException | InstantiationException | InvocationTargetException
-                | IllegalAccessException | NoSuchMethodException e) {
-            Log.w(TAG, "Encountered problem while using reflection", e);
         }
     }
 
@@ -1098,8 +1101,9 @@
                 "android.media.AudioService.WAKELOCK_ACQUIRED";
         private static final int WAKELOCK_RELEASE_ON_FINISHED = 1980; // magic number
 
-        private boolean mVoiceButtonDown = false;
-        private boolean mVoiceButtonHandled = false;
+        private KeyEvent mPendingFirstDownKeyEvent = null;
+        private boolean mIsLongPressing = false;
+        private Runnable mLongPressTimeoutRunnable = null;
 
         @Override
         public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
@@ -1362,12 +1366,12 @@
                             }
                         }
                     }
-                    if (!isGlobalPriorityActive && isVoiceKey(keyEvent.getKeyCode())) {
-                        handleVoiceKeyEventLocked(packageName, pid, uid, asSystemService, keyEvent,
-                                needWakeLock);
-                    } else {
+                    if (isGlobalPriorityActive) {
                         dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
                                 keyEvent, needWakeLock);
+                    } else {
+                        handleKeyEventLocked(packageName, pid, uid, asSystemService, keyEvent,
+                                needWakeLock);
                     }
                 }
             } finally {
@@ -1641,7 +1645,7 @@
         }
 
         /**
-         * Dispaches volume key events. This is called when the foreground activity didn't handled
+         * Dispatches volume key events. This is called when the foreground activity didn't handle
          * the incoming volume key event.
          * <p>
          * Handles the dispatching of the volume button events to one of the
@@ -1662,7 +1666,7 @@
          *            {@link KeyEvent#KEYCODE_VOLUME_DOWN},
          *            or {@link KeyEvent#KEYCODE_VOLUME_MUTE}.
          * @param stream stream type to adjust volume.
-         * @param musicOnly true if both UI nor haptic feedback aren't needed when adjust volume.
+         * @param musicOnly true if both UI and haptic feedback aren't needed when adjusting volume.
          * @see #dispatchVolumeKeyEventToSessionAsSystemService
          */
         @Override
@@ -1707,7 +1711,7 @@
                                         mHandler.obtainMessage(
                                                 MessageHandler.MSG_VOLUME_INITIAL_DOWN,
                                                 mCurrentFullUserRecord.mFullUserId, 0),
-                                        mLongPressTimeout);
+                                        LONG_PRESS_TIMEOUT);
                             }
                             if (keyEvent.getRepeatCount() > 0 || keyEvent.isLongPress()) {
                                 mHandler.removeMessages(MessageHandler.MSG_VOLUME_INITIAL_DOWN);
@@ -1993,7 +1997,7 @@
                     FullUserRecord user = getFullUserRecordLocked(record.getUserId());
                     if (record != null && user != null) {
                         record.setSessionPolicies(policies);
-                        user.mPriorityStack.updateMediaButtonSessionIfNeeded();
+                        user.mPriorityStack.updateMediaButtonSessionBySessionPolicyChange(record);
                     }
                 }
             } finally {
@@ -2112,31 +2116,147 @@
             }
         }
 
-        private void handleVoiceKeyEventLocked(String packageName, int pid, int uid,
+        // A long press is determined by:
+        // 1) A KeyEvent with KeyEvent.ACTION_DOWN and repeat count of 0, followed by
+        // 2) A KeyEvent with KeyEvent.ACTION_DOWN and repeat count of 1 and FLAG_LONG_PRESS within
+        //    ViewConfiguration.getLongPressTimeout().
+        // TODO: Add description about what a click is determined by.
+        private void handleKeyEventLocked(String packageName, int pid, int uid,
                 boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
-            int action = keyEvent.getAction();
-            boolean isLongPress = (keyEvent.getFlags() & KeyEvent.FLAG_LONG_PRESS) != 0;
-            if (action == KeyEvent.ACTION_DOWN) {
-                if (keyEvent.getRepeatCount() == 0) {
-                    mVoiceButtonDown = true;
-                    mVoiceButtonHandled = false;
-                } else if (mVoiceButtonDown && !mVoiceButtonHandled && isLongPress) {
-                    mVoiceButtonHandled = true;
-                    startVoiceInput(needWakeLock);
+            if (keyEvent.isCanceled()) {
+                return;
+            }
+
+            int overriddenKeyEvents = (mCustomMediaKeyDispatcher == null) ? 0
+                    : mCustomMediaKeyDispatcher.getOverriddenKeyEvents().get(keyEvent.getKeyCode());
+            cancelPendingIfNeeded(keyEvent);
+            if (!needPending(keyEvent, overriddenKeyEvents)) {
+                dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService, keyEvent,
+                        needWakeLock);
+                return;
+            }
+
+            if (isFirstDownKeyEvent(keyEvent)) {
+                mPendingFirstDownKeyEvent = keyEvent;
+                mIsLongPressing = false;
+                return;
+            }
+
+            if (isFirstLongPressKeyEvent(keyEvent)) {
+                mIsLongPressing = true;
+            }
+            if (mIsLongPressing) {
+                handleLongPressLocked(keyEvent, needWakeLock, overriddenKeyEvents);
+            } else if (keyEvent.getAction() == KeyEvent.ACTION_UP) {
+                mPendingFirstDownKeyEvent = null;
+                // TODO: Replace this with code to determine whether
+                // single/double/triple click and run custom implementations,
+                // if they exist.
+                dispatchDownAndUpKeyEventsLocked(packageName, pid, uid, asSystemService,
+                        keyEvent, needWakeLock);
+            }
+        }
+
+        private void cancelPendingIfNeeded(KeyEvent keyEvent) {
+            if (mPendingFirstDownKeyEvent == null) {
+                return;
+            }
+            if (isFirstDownKeyEvent(keyEvent)) {
+                if (mLongPressTimeoutRunnable != null) {
+                    mHandler.removeCallbacks(mLongPressTimeoutRunnable);
+                    mLongPressTimeoutRunnable.run();
+                } else {
+                    resetLongPressTracking();
                 }
-            } else if (action == KeyEvent.ACTION_UP) {
-                if (mVoiceButtonDown) {
-                    mVoiceButtonDown = false;
-                    if (!mVoiceButtonHandled && !keyEvent.isCanceled()) {
-                        // Resend the down then send this event through
-                        KeyEvent downEvent = KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_DOWN);
-                        dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
-                                downEvent, needWakeLock);
-                        dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
-                                keyEvent, needWakeLock);
-                    }
+                return;
+            }
+            if (mPendingFirstDownKeyEvent.getDownTime() == keyEvent.getDownTime()
+                    && mPendingFirstDownKeyEvent.getKeyCode() == keyEvent.getKeyCode()
+                    && keyEvent.getAction() == KeyEvent.ACTION_DOWN
+                    && keyEvent.getRepeatCount() > 1 && !mIsLongPressing) {
+                resetLongPressTracking();
+            }
+        }
+
+        private boolean needPending(KeyEvent keyEvent, int overriddenKeyEvents) {
+            if (!isFirstDownKeyEvent(keyEvent)) {
+                if (mPendingFirstDownKeyEvent == null) {
+                    return false;
+                } else if (mPendingFirstDownKeyEvent.getDownTime() != keyEvent.getDownTime()
+                        || mPendingFirstDownKeyEvent.getKeyCode() != keyEvent.getKeyCode()) {
+                    return false;
                 }
             }
+            if (overriddenKeyEvents == 0 && !isVoiceKey(keyEvent.getKeyCode())) {
+                return false;
+            }
+            return true;
+        }
+
+        private void handleLongPressLocked(KeyEvent keyEvent, boolean needWakeLock,
+                int overriddenKeyEvents) {
+            if (mCustomMediaKeyDispatcher != null
+                    && mCustomMediaKeyDispatcher.isLongPressOverridden(overriddenKeyEvents)) {
+                mCustomMediaKeyDispatcher.onLongPress(keyEvent);
+
+                if (mLongPressTimeoutRunnable != null) {
+                    mHandler.removeCallbacks(mLongPressTimeoutRunnable);
+                }
+                if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
+                    if (mLongPressTimeoutRunnable == null) {
+                        mLongPressTimeoutRunnable = createLongPressTimeoutRunnable(keyEvent);
+                    }
+                    mHandler.postDelayed(mLongPressTimeoutRunnable, LONG_PRESS_TIMEOUT);
+                } else {
+                    resetLongPressTracking();
+                }
+            } else if (isFirstLongPressKeyEvent(keyEvent) && isVoiceKey(keyEvent.getKeyCode())) {
+                // Default implementation
+                startVoiceInput(needWakeLock);
+                resetLongPressTracking();
+            }
+        }
+
+        private Runnable createLongPressTimeoutRunnable(KeyEvent keyEvent) {
+            return new Runnable() {
+                @Override
+                public void run() {
+                    if (mCustomMediaKeyDispatcher != null) {
+                        mCustomMediaKeyDispatcher.onLongPress(createCanceledKeyEvent(keyEvent));
+                    }
+                    resetLongPressTracking();
+                }
+            };
+        }
+
+        private void resetLongPressTracking() {
+            mPendingFirstDownKeyEvent = null;
+            mIsLongPressing = false;
+            mLongPressTimeoutRunnable = null;
+        }
+
+        private KeyEvent createCanceledKeyEvent(KeyEvent keyEvent) {
+            KeyEvent upEvent = KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_UP);
+            return KeyEvent.changeTimeRepeat(upEvent, System.currentTimeMillis(), 0,
+                    KeyEvent.FLAG_CANCELED);
+        }
+
+        private boolean isFirstLongPressKeyEvent(KeyEvent keyEvent) {
+            return ((keyEvent.getFlags() & KeyEvent.FLAG_LONG_PRESS) != 0)
+                    && keyEvent.getRepeatCount() == 1;
+        }
+
+        private boolean isFirstDownKeyEvent(KeyEvent keyEvent) {
+            return keyEvent.getAction() == KeyEvent.ACTION_DOWN && keyEvent.getRepeatCount() == 0;
+        }
+
+        private void dispatchDownAndUpKeyEventsLocked(String packageName, int pid, int uid,
+                boolean asSystemService, KeyEvent keyEvent, boolean needWakeLock) {
+            KeyEvent downEvent = KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_DOWN);
+            dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
+                    downEvent, needWakeLock);
+            dispatchMediaKeyEventLocked(packageName, pid, uid, asSystemService,
+                    keyEvent, needWakeLock);
         }
 
         private void dispatchMediaKeyEventLocked(String packageName, int pid, int uid,
@@ -2149,15 +2269,11 @@
             MediaSessionRecord session = null;
 
             // Retrieve custom session for key event if it exists.
-            if (mCustomMediaKeyDispatcher != null && mGetSessionForKeyEventMethod != null) {
-                try {
-                    Object tokenObject = mGetSessionForKeyEventMethod.invoke(
-                            mCustomMediaKeyDispatcher, keyEvent, uid, asSystemService);
-                    if (tokenObject != null) {
-                        session = getMediaSessionRecordLocked((MediaSession.Token) tokenObject);
-                    }
-                } catch (InvocationTargetException | IllegalAccessException e) {
-                    Log.w(TAG, "Encountered problem while using reflection", e);
+            if (mCustomMediaKeyDispatcher != null) {
+                MediaSession.Token token = mCustomMediaKeyDispatcher.getSessionForKeyEvent(
+                        keyEvent, uid, asSystemService);
+                if (token != null) {
+                    session = getMediaSessionRecordLocked(token);
                 }
             }
 
@@ -2312,12 +2428,11 @@
                 mHandled = true;
                 mHandler.removeCallbacks(this);
                 synchronized (mLock) {
-                    if (!isGlobalPriorityActiveLocked()
-                            && isVoiceKey(mKeyEvent.getKeyCode())) {
-                        handleVoiceKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
+                    if (isGlobalPriorityActiveLocked()) {
+                        dispatchMediaKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
                                 mKeyEvent, mNeedWakeLock);
                     } else {
-                        dispatchMediaKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
+                        handleKeyEventLocked(mPackageName, mPid, mUid, mAsSystemService,
                                 mKeyEvent, mNeedWakeLock);
                     }
                 }
diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java
index bd98b9c..402355a 100644
--- a/services/core/java/com/android/server/media/MediaSessionStack.java
+++ b/services/core/java/com/android/server/media/MediaSessionStack.java
@@ -16,6 +16,8 @@
 
 package com.android.server.media;
 
+import static com.android.server.media.SessionPolicyProvider.SESSION_POLICY_IGNORE_BUTTON_SESSION;
+
 import android.media.Session2Token;
 import android.media.session.MediaSession;
 import android.os.Debug;
@@ -102,6 +104,7 @@
             // When the media button session is removed, nullify the media button session and do not
             // search for the alternative media session within the app. It's because the alternative
             // media session might be a dummy which isn't able to handle the media key events.
+            // TODO(b/154456172): Make this decision unaltered by non-media app's playback.
             updateMediaButtonSession(null);
         }
         clearCache(record.getUserId());
@@ -158,7 +161,7 @@
                     findMediaButtonSession(mMediaButtonSession.getUid());
             if (newMediaButtonSession != mMediaButtonSession
                     && (newMediaButtonSession.getSessionPolicies()
-                    & SessionPolicyProvider.SESSION_POLICY_IGNORE_BUTTON_SESSION) == 0) {
+                            & SESSION_POLICY_IGNORE_BUTTON_SESSION) == 0) {
                 // Check if the policy states that this session should not be updated as a media
                 // button session.
                 updateMediaButtonSession(newMediaButtonSession);
@@ -189,19 +192,43 @@
         }
         IntArray audioPlaybackUids = mAudioPlayerStateMonitor.getSortedAudioPlaybackClientUids();
         for (int i = 0; i < audioPlaybackUids.size(); i++) {
-            MediaSessionRecordImpl mediaButtonSession =
-                    findMediaButtonSession(audioPlaybackUids.get(i));
-            if (mediaButtonSession == null) continue;
-            boolean ignoreButtonSession = (mediaButtonSession.getSessionPolicies()
-                    & SessionPolicyProvider.SESSION_POLICY_IGNORE_BUTTON_SESSION) != 0;
-            if (mediaButtonSession == mMediaButtonSession && ignoreButtonSession) {
+            int audioPlaybackUid = audioPlaybackUids.get(i);
+            MediaSessionRecordImpl mediaButtonSession = findMediaButtonSession(audioPlaybackUid);
+            if (mediaButtonSession == null) {
+                if (DEBUG) {
+                    Log.d(TAG, "updateMediaButtonSessionIfNeeded, skipping uid="
+                            + audioPlaybackUid);
+                }
+                // Ignore if the lastly played app isn't a media app (i.e. has no media session)
+                continue;
+            }
+            boolean ignoreButtonSession =
+                    (mediaButtonSession.getSessionPolicies()
+                            & SESSION_POLICY_IGNORE_BUTTON_SESSION) != 0;
+            if (DEBUG) {
+                Log.d(TAG, "updateMediaButtonSessionIfNeeded, checking uid=" + audioPlaybackUid
+                        + ", mediaButtonSession=" + mediaButtonSession
+                        + ", ignoreButtonSession=" + ignoreButtonSession);
+            }
+            if (!ignoreButtonSession) {
+                mAudioPlayerStateMonitor.cleanUpAudioPlaybackUids(mediaButtonSession.getUid());
+                if (mediaButtonSession != mMediaButtonSession) {
+                    updateMediaButtonSession(mediaButtonSession);
+                }
+                return;
+            }
+        }
+    }
+
+    // TODO: Remove this and make updateMediaButtonSessionIfNeeded() to also cover this case.
+    public void updateMediaButtonSessionBySessionPolicyChange(MediaSessionRecord record) {
+        if ((record.getSessionPolicies() & SESSION_POLICY_IGNORE_BUTTON_SESSION) != 0) {
+            if (record == mMediaButtonSession) {
+                // TODO(b/154456172): Make this decision unaltered by non-media app's playback.
                 updateMediaButtonSession(null);
-                return;
             }
-            if (mediaButtonSession != mMediaButtonSession && !ignoreButtonSession) {
-                updateMediaButtonSession(mediaButtonSession);
-                return;
-            }
+        } else {
+            updateMediaButtonSessionIfNeeded();
         }
     }
 
@@ -280,7 +307,7 @@
         return mMediaButtonSession;
     }
 
-    private void updateMediaButtonSession(MediaSessionRecordImpl newMediaButtonSession) {
+    public void updateMediaButtonSession(MediaSessionRecordImpl newMediaButtonSession) {
         MediaSessionRecordImpl oldMediaButtonSession = mMediaButtonSession;
         mMediaButtonSession = newMediaButtonSession;
         mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
diff --git a/services/core/java/com/android/server/media/SessionPolicyProvider.java b/services/core/java/com/android/server/media/SessionPolicyProvider.java
index 40a3d2d..5f02a07 100644
--- a/services/core/java/com/android/server/media/SessionPolicyProvider.java
+++ b/services/core/java/com/android/server/media/SessionPolicyProvider.java
@@ -29,6 +29,7 @@
  * Note: When instantiating this class, {@link MediaSessionService} will only use the constructor
  * without any parameters.
  */
+// TODO: Move this class to apex/media/
 public abstract class SessionPolicyProvider {
     @IntDef(value = {
             SESSION_POLICY_IGNORE_BUTTON_RECEIVER,
diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
index 6e2feeb..1345e37 100644
--- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
@@ -261,8 +261,10 @@
                     .build();
             builder.addSelectedRoute(mSelectedRouteId);
 
-            for (MediaRoute2Info route : mBtRouteProvider.getTransferableRoutes()) {
-                builder.addTransferableRoute(route.getId());
+            if (mBtRouteProvider != null) {
+                for (MediaRoute2Info route : mBtRouteProvider.getTransferableRoutes()) {
+                    builder.addTransferableRoute(route.getId());
+                }
             }
 
             RoutingSessionInfo newSessionInfo = builder.setProviderId(mUniqueId).build();
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index d8264b3..44173c6 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -16,7 +16,6 @@
 
 package com.android.server.net;
 
-import static android.Manifest.permission.ACCESS_NETWORK_STATE;
 import static android.Manifest.permission.NETWORK_STATS_PROVIDER;
 import static android.Manifest.permission.READ_NETWORK_USAGE_HISTORY;
 import static android.Manifest.permission.UPDATE_DEVICE_STATS;
@@ -46,7 +45,6 @@
 import static android.net.NetworkStatsHistory.FIELD_ALL;
 import static android.net.NetworkTemplate.buildTemplateMobileWildcard;
 import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
-import static android.net.NetworkTemplate.getCollapsedRatType;
 import static android.net.TrafficStats.KB_IN_BYTES;
 import static android.net.TrafficStats.MB_IN_BYTES;
 import static android.os.Trace.TRACE_TAG_NETWORK;
@@ -67,9 +65,6 @@
 import static android.provider.Settings.Global.NETSTATS_UID_TAG_DELETE_AGE;
 import static android.provider.Settings.Global.NETSTATS_UID_TAG_PERSIST_BYTES;
 import static android.provider.Settings.Global.NETSTATS_UID_TAG_ROTATE_AGE;
-import static android.telephony.PhoneStateListener.LISTEN_NONE;
-import static android.telephony.PhoneStateListener.LISTEN_SERVICE_STATE;
-import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static android.text.format.DateUtils.HOUR_IN_MILLIS;
 import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
@@ -133,9 +128,7 @@
 import android.service.NetworkInterfaceProto;
 import android.service.NetworkStatsServiceDumpProto;
 import android.telephony.PhoneStateListener;
-import android.telephony.ServiceState;
 import android.telephony.SubscriptionPlan;
-import android.telephony.TelephonyManager;
 import android.text.format.DateUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -206,7 +199,6 @@
     private final NetworkStatsFactory mStatsFactory;
     private final AlarmManager mAlarmManager;
     private final Clock mClock;
-    private final TelephonyManager mTeleManager;
     private final NetworkStatsSettings mSettings;
     private final NetworkStatsObservers mStatsObservers;
 
@@ -352,6 +344,9 @@
     @NonNull
     private final Dependencies mDeps;
 
+    @NonNull
+    private final NetworkStatsSubscriptionsMonitor mNetworkStatsSubscriptionsMonitor;
+
     private static @NonNull File getDefaultSystemDir() {
         return new File(Environment.getDataDirectory(), "system");
     }
@@ -401,8 +396,8 @@
         PowerManager.WakeLock wakeLock =
                 powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
 
-        NetworkStatsService service = new NetworkStatsService(context, networkManager, alarmManager,
-                wakeLock, getDefaultClock(), context.getSystemService(TelephonyManager.class),
+        final NetworkStatsService service = new NetworkStatsService(context, networkManager,
+                alarmManager, wakeLock, getDefaultClock(),
                 new DefaultNetworkStatsSettings(context), new NetworkStatsFactory(),
                 new NetworkStatsObservers(), getDefaultSystemDir(), getDefaultBaseDir(),
                 new Dependencies());
@@ -416,16 +411,15 @@
     @VisibleForTesting
     NetworkStatsService(Context context, INetworkManagementService networkManager,
             AlarmManager alarmManager, PowerManager.WakeLock wakeLock, Clock clock,
-            TelephonyManager teleManager, NetworkStatsSettings settings,
-            NetworkStatsFactory factory, NetworkStatsObservers statsObservers, File systemDir,
-            File baseDir, @NonNull Dependencies deps) {
+            NetworkStatsSettings settings, NetworkStatsFactory factory,
+            NetworkStatsObservers statsObservers, File systemDir, File baseDir,
+            @NonNull Dependencies deps) {
         mContext = Objects.requireNonNull(context, "missing Context");
         mNetworkManager = Objects.requireNonNull(networkManager,
-            "missing INetworkManagementService");
+                "missing INetworkManagementService");
         mAlarmManager = Objects.requireNonNull(alarmManager, "missing AlarmManager");
         mClock = Objects.requireNonNull(clock, "missing Clock");
         mSettings = Objects.requireNonNull(settings, "missing NetworkStatsSettings");
-        mTeleManager = Objects.requireNonNull(teleManager, "missing TelephonyManager");
         mWakeLock = Objects.requireNonNull(wakeLock, "missing WakeLock");
         mStatsFactory = Objects.requireNonNull(factory, "missing factory");
         mStatsObservers = Objects.requireNonNull(statsObservers, "missing NetworkStatsObservers");
@@ -437,7 +431,8 @@
         final HandlerThread handlerThread = mDeps.makeHandlerThread();
         handlerThread.start();
         mHandler = new NetworkStatsHandler(handlerThread.getLooper());
-        mPhoneListener = new NetworkTypeListener(new HandlerExecutor(mHandler));
+        mNetworkStatsSubscriptionsMonitor = deps.makeSubscriptionsMonitor(mContext,
+                new HandlerExecutor(mHandler), this);
     }
 
     /**
@@ -453,6 +448,19 @@
         public HandlerThread makeHandlerThread() {
             return new HandlerThread(TAG);
         }
+
+        /**
+         * Create a {@link NetworkStatsSubscriptionsMonitor}, can be used to monitor RAT change
+         * event in NetworkStatsService.
+         */
+        @NonNull
+        public NetworkStatsSubscriptionsMonitor makeSubscriptionsMonitor(@NonNull Context context,
+                @NonNull Executor executor, @NonNull NetworkStatsService service) {
+            // TODO: Update RatType passively in NSS, instead of querying into the monitor
+            //  when forceUpdateIface.
+            return new NetworkStatsSubscriptionsMonitor(context, executor, (subscriberId, type) ->
+                    service.handleOnCollapsedRatTypeChanged());
+        }
     }
 
     private void registerLocalService() {
@@ -517,11 +525,10 @@
         mAlarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, currentRealtime,
                 mSettings.getPollInterval(), pollIntent);
 
-        // TODO: 1. listen to changes from all subscriptions.
-        //       2. listen to settings changed to support dynamically enable/disable.
+        // TODO: listen to settings changed to support dynamically enable/disable.
         // watch for networkType changes
         if (!mSettings.getCombineSubtypeEnabled()) {
-            mTeleManager.listen(mPhoneListener, LISTEN_SERVICE_STATE);
+            mNetworkStatsSubscriptionsMonitor.start();
         }
 
         registerGlobalAlert();
@@ -544,7 +551,9 @@
         mContext.unregisterReceiver(mUserReceiver);
         mContext.unregisterReceiver(mShutdownReceiver);
 
-        mTeleManager.listen(mPhoneListener, LISTEN_NONE);
+        if (!mSettings.getCombineSubtypeEnabled()) {
+            mNetworkStatsSubscriptionsMonitor.stop();
+        }
 
         final long currentTime = mClock.millis();
 
@@ -845,7 +854,8 @@
     @Override
     public NetworkStats getDataLayerSnapshotForUid(int uid) throws RemoteException {
         if (Binder.getCallingUid() != uid) {
-            mContext.enforceCallingOrSelfPermission(ACCESS_NETWORK_STATE, TAG);
+            Log.w(TAG, "Snapshots only available for calling UID");
+            return new NetworkStats(SystemClock.elapsedRealtime(), 0);
         }
 
         // TODO: switch to data layer stats once kernel exports
@@ -1197,35 +1207,14 @@
     };
 
     /**
-     * Receiver that watches for {@link TelephonyManager} changes, such as
-     * transitioning between Radio Access Technology(RAT) types.
+     * Handle collapsed RAT type changed event.
      */
-    @NonNull
-    private final NetworkTypeListener mPhoneListener;
-
-    class NetworkTypeListener extends PhoneStateListener {
-        private volatile int mLastCollapsedRatType = NETWORK_TYPE_UNKNOWN;
-
-        NetworkTypeListener(@NonNull Executor executor) {
-            super(executor);
-        }
-
-        @Override
-        public void onServiceStateChanged(@NonNull ServiceState ss) {
-            final int networkType = ss.getDataNetworkType();
-            final int collapsedRatType = getCollapsedRatType(networkType);
-            if (collapsedRatType == mLastCollapsedRatType) return;
-
-            if (LOGD) {
-                Log.d(TAG, "subtype changed for mobile: "
-                        + mLastCollapsedRatType + " -> " + collapsedRatType);
-            }
-            // Protect service from frequently updating. Remove pending messages if any.
-            mHandler.removeMessages(MSG_UPDATE_IFACES);
-            mLastCollapsedRatType = collapsedRatType;
-            mHandler.sendMessageDelayed(
-                    mHandler.obtainMessage(MSG_UPDATE_IFACES), mSettings.getPollDelay());
-        }
+    @VisibleForTesting
+    public void handleOnCollapsedRatTypeChanged() {
+        // Protect service from frequently updating. Remove pending messages if any.
+        mHandler.removeMessages(MSG_UPDATE_IFACES);
+        mHandler.sendMessageDelayed(
+                mHandler.obtainMessage(MSG_UPDATE_IFACES), mSettings.getPollDelay());
     }
 
     private void updateIfaces(
@@ -1352,8 +1341,7 @@
             return 0;
         }
 
-        // TODO: return different subType for different subscriptions.
-        return mPhoneListener.mLastCollapsedRatType;
+        return mNetworkStatsSubscriptionsMonitor.getRatTypeForSubscriberId(state.subscriberId);
     }
 
     private static <K> NetworkIdentitySet findOrCreateNetworkIdentitySet(
diff --git a/services/core/java/com/android/server/notification/BubbleExtractor.java b/services/core/java/com/android/server/notification/BubbleExtractor.java
index 2fa80cd..27802ff 100644
--- a/services/core/java/com/android/server/notification/BubbleExtractor.java
+++ b/services/core/java/com/android/server/notification/BubbleExtractor.java
@@ -16,12 +16,18 @@
 package com.android.server.notification;
 
 import static android.app.Notification.FLAG_BUBBLE;
+import static android.app.Notification.FLAG_FOREGROUND_SERVICE;
+import static android.app.NotificationChannel.USER_LOCKED_ALLOW_BUBBLE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 
 import static com.android.internal.util.FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING;
 import static com.android.internal.util.FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE;
 
 import android.app.ActivityManager;
 import android.app.Notification;
+import android.app.NotificationChannel;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
@@ -32,13 +38,13 @@
 import com.android.internal.util.FrameworkStatsLog;
 
 /**
- * Determines whether a bubble can be shown for this notification
+ * Determines whether a bubble can be shown for this notification.
  */
 public class BubbleExtractor implements NotificationSignalExtractor {
     private static final String TAG = "BubbleExtractor";
     private static final boolean DBG = false;
 
-    private BubbleChecker mBubbleChecker;
+    private ShortcutHelper mShortcutHelper;
     private RankingConfig mConfig;
     private ActivityManager mActivityManager;
     private Context mContext;
@@ -60,24 +66,35 @@
             return null;
         }
 
-        if (mBubbleChecker == null) {
-            if (DBG) Slog.d(TAG, "missing bubble checker");
+        if (mShortcutHelper == null) {
+            if (DBG) Slog.d(TAG, "missing shortcut helper");
             return null;
         }
 
-        boolean appCanShowBubble =
-                mConfig.areBubblesAllowed(record.getSbn().getPackageName(), record.getSbn().getUid());
-        if (!mConfig.bubblesEnabled() || !appCanShowBubble) {
+        int bubblePreference =
+                mConfig.getBubblePreference(
+                        record.getSbn().getPackageName(), record.getSbn().getUid());
+        NotificationChannel recordChannel = record.getChannel();
+
+        if (!mConfig.bubblesEnabled() || bubblePreference == BUBBLE_PREFERENCE_NONE) {
             record.setAllowBubble(false);
-        } else {
-            if (record.getChannel() != null) {
-                record.setAllowBubble(record.getChannel().canBubble() && appCanShowBubble);
-            } else {
-                record.setAllowBubble(appCanShowBubble);
-            }
+        } else if (recordChannel == null) {
+            // the app is allowed but there's no channel to check
+            record.setAllowBubble(true);
+        } else if (bubblePreference == BUBBLE_PREFERENCE_ALL) {
+            // by default the channel is not allowed, only don't bubble if the user specified
+            boolean userLockedNoBubbles = !recordChannel.canBubble()
+                    && (recordChannel.getUserLockedFields() & USER_LOCKED_ALLOW_BUBBLE) != 0;
+            record.setAllowBubble(!userLockedNoBubbles);
+        } else if (bubblePreference == BUBBLE_PREFERENCE_SELECTED) {
+            record.setAllowBubble(recordChannel.canBubble());
         }
-        final boolean applyFlag = mBubbleChecker.isNotificationAppropriateToBubble(record)
-                && !record.isFlagBubbleRemoved();
+
+        final boolean fulfillsPolicy = record.canBubble()
+                && record.isConversation()
+                && !mActivityManager.isLowRamDevice()
+                && (record.getNotification().flags & FLAG_FOREGROUND_SERVICE) == 0;
+        final boolean applyFlag = fulfillsPolicy && canPresentAsBubble(record);
         if (applyFlag) {
             record.getNotification().flags |= FLAG_BUBBLE;
         } else {
@@ -95,165 +112,95 @@
     public void setZenHelper(ZenModeHelper helper) {
     }
 
-    /**
-     * Expected to be called after {@link #setConfig(RankingConfig)} has occurred.
-     */
-    void setShortcutHelper(ShortcutHelper helper) {
-        if (mConfig == null) {
-            if (DBG) Slog.d(TAG, "setting shortcut helper prior to setConfig");
-            return;
-        }
-        mBubbleChecker = new BubbleChecker(mContext, helper, mConfig, mActivityManager);
+    public void setShortcutHelper(ShortcutHelper helper) {
+        mShortcutHelper = helper;
     }
 
     @VisibleForTesting
-    void setBubbleChecker(BubbleChecker checker) {
-        mBubbleChecker = checker;
+    public void setActivityManager(ActivityManager manager) {
+        mActivityManager = manager;
     }
 
     /**
-     * Encapsulates special checks to see if a notification can be flagged as a bubble. This
-     * makes testing a bit easier.
+     * @return whether there is valid information for the notification to bubble.
      */
-    public static class BubbleChecker {
-
-        private ActivityManager mActivityManager;
-        private RankingConfig mRankingConfig;
-        private Context mContext;
-        private ShortcutHelper mShortcutHelper;
-
-        BubbleChecker(Context context, ShortcutHelper helper, RankingConfig config,
-                ActivityManager activityManager) {
-            mContext = context;
-            mActivityManager = activityManager;
-            mShortcutHelper = helper;
-            mRankingConfig = config;
+    @VisibleForTesting
+    boolean canPresentAsBubble(NotificationRecord r) {
+        Notification notification = r.getNotification();
+        Notification.BubbleMetadata metadata = notification.getBubbleMetadata();
+        String pkg = r.getSbn().getPackageName();
+        if (metadata == null) {
+            return false;
         }
 
-        /**
-         * @return whether the provided notification record is allowed to be represented as a
-         * bubble, accounting for user choice & policy.
-         */
-        public boolean isNotificationAppropriateToBubble(NotificationRecord r) {
-            final String pkg = r.getSbn().getPackageName();
-            final int userId = r.getSbn().getUser().getIdentifier();
-            Notification notification = r.getNotification();
-            if (!canBubble(r, pkg, userId)) {
-                // no log: canBubble has its own
-                return false;
-            }
-
-            if (mActivityManager.isLowRamDevice()) {
-                logBubbleError(r.getKey(), "low ram device");
-                return false;
-            }
-
-            boolean isMessageStyle = Notification.MessagingStyle.class.equals(
-                    notification.getNotificationStyle());
-            if (!isMessageStyle) {
-                logBubbleError(r.getKey(), "must be Notification.MessageStyle");
-                return false;
-            }
+        String shortcutId = metadata.getShortcutId();
+        String notificationShortcutId = r.getShortcutInfo() != null
+                ? r.getShortcutInfo().getId()
+                : null;
+        boolean shortcutValid = false;
+        if (notificationShortcutId != null && shortcutId != null) {
+            // NoMan already checks validity of shortcut, just check if they match.
+            shortcutValid = shortcutId.equals(notificationShortcutId);
+        } else if (shortcutId != null) {
+            shortcutValid =
+                    mShortcutHelper.getValidShortcutInfo(shortcutId, pkg, r.getUser()) != null;
+        }
+        if (metadata.getIntent() == null && !shortcutValid) {
+            // Should have a shortcut if intent is null
+            logBubbleError(r.getKey(),
+                    "couldn't find valid shortcut for bubble with shortcutId: " + shortcutId);
+            return false;
+        }
+        if (shortcutValid) {
+            // TODO: check the shortcut intent / ensure it can show in activity view
             return true;
         }
+        return canLaunchInActivityView(mContext, metadata.getIntent(), pkg);
+    }
 
-        /**
-         * @return whether the user has enabled the provided notification to bubble, and if the
-         * developer has provided valid information for the notification to bubble.
-         */
-        @VisibleForTesting
-        boolean canBubble(NotificationRecord r, String pkg, int userId) {
-            Notification notification = r.getNotification();
-            Notification.BubbleMetadata metadata = notification.getBubbleMetadata();
-            if (metadata == null) {
-                // no log: no need to inform dev if they didn't attach bubble metadata
-                return false;
-            }
-            if (!mRankingConfig.bubblesEnabled()) {
-                logBubbleError(r.getKey(), "bubbles disabled for user: " + userId);
-                return false;
-            }
-            if (!mRankingConfig.areBubblesAllowed(pkg, userId)) {
-                logBubbleError(r.getKey(),
-                        "bubbles for package: " + pkg + " disabled for user: " + userId);
-                return false;
-            }
-            if (!r.getChannel().canBubble()) {
-                logBubbleError(r.getKey(),
-                        "bubbles for channel " + r.getChannel().getId() + " disabled");
-                return false;
-            }
-
-            String shortcutId = metadata.getShortcutId();
-            String notificationShortcutId = r.getShortcutInfo() != null
-                    ? r.getShortcutInfo().getId()
-                    : null;
-            boolean shortcutValid = false;
-            if (notificationShortcutId != null && shortcutId != null) {
-                // NoMan already checks validity of shortcut, just check if they match.
-                shortcutValid = shortcutId.equals(notificationShortcutId);
-            } else if (shortcutId != null) {
-                shortcutValid =
-                        mShortcutHelper.getValidShortcutInfo(shortcutId, pkg, r.getUser()) != null;
-            }
-            if (metadata.getIntent() == null && !shortcutValid) {
-                // Should have a shortcut if intent is null
-                logBubbleError(r.getKey(),
-                        "couldn't find valid shortcut for bubble with shortcutId: " + shortcutId);
-                return false;
-            }
-            if (shortcutValid) {
-                return true;
-            }
-            // no log: canLaunch method has the failure log
-            return canLaunchInActivityView(mContext, metadata.getIntent(), pkg);
+    /**
+     * Whether an intent is properly configured to display in an {@link
+     * android.app.ActivityView} for bubbling.
+     *
+     * @param context       the context to use.
+     * @param pendingIntent the pending intent of the bubble.
+     * @param packageName   the notification package name for this bubble.
+     */
+    // Keep checks in sync with BubbleController#canLaunchInActivityView.
+    @VisibleForTesting
+    protected boolean canLaunchInActivityView(Context context, PendingIntent pendingIntent,
+            String packageName) {
+        if (pendingIntent == null) {
+            Slog.w(TAG, "Unable to create bubble -- no intent");
+            return false;
         }
 
-        /**
-         * Whether an intent is properly configured to display in an {@link
-         * android.app.ActivityView}.
-         *
-         * @param context       the context to use.
-         * @param pendingIntent the pending intent of the bubble.
-         * @param packageName   the notification package name for this bubble.
-         */
-        // Keep checks in sync with BubbleController#canLaunchInActivityView.
-        @VisibleForTesting
-        protected boolean canLaunchInActivityView(Context context, PendingIntent pendingIntent,
-                String packageName) {
-            if (pendingIntent == null) {
-                Slog.w(TAG, "Unable to create bubble -- no intent");
-                return false;
-            }
-
-            Intent intent = pendingIntent.getIntent();
-
-            ActivityInfo info = intent != null
-                    ? intent.resolveActivityInfo(context.getPackageManager(), 0)
-                    : null;
-            if (info == null) {
-                FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED,
-                        packageName,
-                        BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING);
-                Slog.w(TAG, "Unable to send as bubble -- couldn't find activity info for intent: "
-                        + intent);
-                return false;
-            }
-            if (!ActivityInfo.isResizeableMode(info.resizeMode)) {
-                FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED,
-                        packageName,
-                        BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE);
-                Slog.w(TAG, "Unable to send as bubble -- activity is not resizable for intent: "
-                        + intent);
-                return false;
-            }
-            return true;
+        Intent intent = pendingIntent.getIntent();
+        ActivityInfo info = intent != null
+                ? intent.resolveActivityInfo(context.getPackageManager(), 0)
+                : null;
+        if (info == null) {
+            FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED,
+                    packageName,
+                    BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING);
+            Slog.w(TAG, "Unable to send as bubble -- couldn't find activity info for intent: "
+                    + intent);
+            return false;
         }
+        if (!ActivityInfo.isResizeableMode(info.resizeMode)) {
+            FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED,
+                    packageName,
+                    BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE);
+            Slog.w(TAG, "Unable to send as bubble -- activity is not resizable for intent: "
+                    + intent);
+            return false;
+        }
+        return true;
+    }
 
-        private void logBubbleError(String key, String failureMessage) {
-            if (DBG) {
-                Slog.w(TAG, "Bubble notification: " + key + " failed: " + failureMessage);
-            }
+    private void logBubbleError(String key, String failureMessage) {
+        if (DBG) {
+            Slog.w(TAG, "Bubble notification: " + key + " failed: " + failureMessage);
         }
     }
 }
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index aed2927..bdf0fb9 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -30,6 +30,7 @@
 import android.service.notification.Condition;
 import android.service.notification.ConditionProviderService;
 import android.service.notification.IConditionProvider;
+import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.Slog;
@@ -54,7 +55,6 @@
     private final ArraySet<String> mSystemConditionProviderNames;
     private final ArraySet<SystemConditionProviderService> mSystemConditionProviders
             = new ArraySet<>();
-
     private Callback mCallback;
 
     public ConditionProviders(Context context, UserProfiles userProfiles, IPackageManager pm) {
@@ -76,7 +76,8 @@
     public void addSystemProvider(SystemConditionProviderService service) {
         mSystemConditionProviders.add(service);
         service.attachBase(mContext);
-        registerService(service.asInterface(), service.getComponent(), UserHandle.USER_SYSTEM);
+        registerSystemService(
+                service.asInterface(), service.getComponent(), UserHandle.USER_SYSTEM);
     }
 
     public Iterable<SystemConditionProviderService> getSystemProviders() {
@@ -195,6 +196,21 @@
     }
 
     @Override
+    protected void loadDefaultsFromConfig() {
+        String defaultDndAccess = mContext.getResources().getString(
+                R.string.config_defaultDndAccessPackages);
+        if (defaultDndAccess != null) {
+            String[] dnds = defaultDndAccess.split(ManagedServices.ENABLED_SERVICES_SEPARATOR);
+            for (int i = 0; i < dnds.length; i++) {
+                if (TextUtils.isEmpty(dnds[i])) {
+                    continue;
+                }
+                addDefaultComponentOrPackage(dnds[i]);
+            }
+        }
+    }
+
+    @Override
     protected void onServiceRemovedLocked(ManagedServiceInfo removed) {
         if (removed == null) return;
         for (int i = mRecords.size() - 1; i >= 0; i--) {
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index 45df368..fad0a7d 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -21,6 +21,7 @@
 import static android.content.Context.BIND_FOREGROUND_SERVICE;
 import static android.content.Context.DEVICE_POLICY_SERVICE;
 import static android.os.UserHandle.USER_ALL;
+import static android.os.UserHandle.USER_SYSTEM;
 
 import android.annotation.NonNull;
 import android.app.ActivityManager;
@@ -96,6 +97,8 @@
 
     private static final int ON_BINDING_DIED_REBIND_DELAY_MS = 10000;
     protected static final String ENABLED_SERVICES_SEPARATOR = ":";
+    private static final String DB_VERSION_1 = "1";
+
 
     /**
      * List of components and apps that can have running {@link ManagedServices}.
@@ -107,7 +110,7 @@
     static final String ATT_VERSION = "version";
     static final String ATT_DEFAULTS = "defaults";
 
-    static final int DB_VERSION = 1;
+    static final int DB_VERSION = 2;
 
     static final int APPROVAL_BY_PACKAGE = 0;
     static final int APPROVAL_BY_COMPONENT = 1;
@@ -115,7 +118,7 @@
     protected final Context mContext;
     protected final Object mMutex;
     private final UserProfiles mUserProfiles;
-    private final IPackageManager mPm;
+    protected final IPackageManager mPm;
     protected final UserManager mUm;
     private final Config mConfig;
     private final Handler mHandler = new Handler(Looper.getMainLooper());
@@ -187,17 +190,22 @@
     protected void addDefaultComponentOrPackage(String packageOrComponent) {
         if (!TextUtils.isEmpty(packageOrComponent)) {
             synchronized (mDefaultsLock) {
-                ComponentName cn = ComponentName.unflattenFromString(packageOrComponent);
-                if (cn == null) {
+                if (mApprovalLevel == APPROVAL_BY_PACKAGE) {
                     mDefaultPackages.add(packageOrComponent);
-                } else {
+                    return;
+                }
+                ComponentName cn = ComponentName.unflattenFromString(packageOrComponent);
+                if (cn != null  && mApprovalLevel == APPROVAL_BY_COMPONENT) {
                     mDefaultPackages.add(cn.getPackageName());
                     mDefaultComponents.add(cn);
+                    return;
                 }
             }
         }
     }
 
+    protected abstract void loadDefaultsFromConfig();
+
     boolean isDefaultComponentOrPackage(String packageOrComponent) {
         synchronized (mDefaultsLock) {
             ComponentName cn = ComponentName.unflattenFromString(packageOrComponent);
@@ -504,19 +512,19 @@
 
     void readDefaults(XmlPullParser parser) {
         String defaultComponents = XmlUtils.readStringAttribute(parser, ATT_DEFAULTS);
-        if (defaultComponents == null) {
-            return;
-        }
-        String[] components = defaultComponents.split(ENABLED_SERVICES_SEPARATOR);
-        synchronized (mDefaultsLock) {
-            for (int i = 0; i < components.length; i++) {
-                if (!TextUtils.isEmpty(components[i])) {
-                    ComponentName cn = ComponentName.unflattenFromString(components[i]);
-                    if (cn != null) {
-                        mDefaultPackages.add(cn.getPackageName());
-                        mDefaultComponents.add(cn);
-                    } else {
-                        mDefaultPackages.add(components[i]);
+
+        if (!TextUtils.isEmpty(defaultComponents)) {
+            String[] components = defaultComponents.split(ENABLED_SERVICES_SEPARATOR);
+            synchronized (mDefaultsLock) {
+                for (int i = 0; i < components.length; i++) {
+                    if (!TextUtils.isEmpty(components[i])) {
+                        ComponentName cn = ComponentName.unflattenFromString(components[i]);
+                        if (cn != null) {
+                            mDefaultPackages.add(cn.getPackageName());
+                            mDefaultComponents.add(cn);
+                        } else {
+                            mDefaultPackages.add(components[i]);
+                        }
                     }
                 }
             }
@@ -531,9 +539,11 @@
             throws XmlPullParserException, IOException {
         // read grants
         int type;
+        String version = "";
         readDefaults(parser);
         while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
             String tag = parser.getName();
+            version = XmlUtils.readStringAttribute(parser, ATT_VERSION);
             if (type == XmlPullParser.END_TAG
                     && getConfig().xmlTag.equals(tag)) {
                 break;
@@ -561,9 +571,38 @@
                 }
             }
         }
+        boolean isVersionOne = TextUtils.isEmpty(version) || DB_VERSION_1.equals(version);
+        if (isVersionOne) {
+            upgradeToVersionTwo();
+        }
         rebindServices(false, USER_ALL);
     }
 
+    private void upgradeToVersionTwo() {
+        // check if any defaults are loaded
+        int defaultsSize = mDefaultComponents.size() + mDefaultPackages.size();
+        if (defaultsSize == 0) {
+            // load defaults from current allowed
+            if (this.mApprovalLevel == APPROVAL_BY_COMPONENT) {
+                List<ComponentName> approvedComponents = getAllowedComponents(USER_SYSTEM);
+                for (int i = 0; i < approvedComponents.size(); i++) {
+                    addDefaultComponentOrPackage(approvedComponents.get(i).flattenToString());
+                }
+            }
+            if (this.mApprovalLevel == APPROVAL_BY_PACKAGE) {
+                List<String> approvedPkgs = getAllowedPackages(USER_SYSTEM);
+                for (int i = 0; i < approvedPkgs.size(); i++) {
+                    addDefaultComponentOrPackage(approvedPkgs.get(i));
+                }
+            }
+        }
+        // if no defaults are loaded, then load from config
+        defaultsSize = mDefaultComponents.size() + mDefaultPackages.size();
+        if (defaultsSize == 0) {
+            loadDefaultsFromConfig();
+        }
+    }
+
     /**
      * Read extra attributes in the {@link #TAG_MANAGED_SERVICES} tag.
      */
@@ -851,9 +890,10 @@
         unregisterServiceImpl(service, userid);
     }
 
-    public void registerService(IInterface service, ComponentName component, int userid) {
+    public void registerSystemService(IInterface service, ComponentName component, int userid) {
         checkNotNull(service);
-        ManagedServiceInfo info = registerServiceImpl(service, component, userid);
+        ManagedServiceInfo info = registerServiceImpl(
+                service, component, userid, Build.VERSION_CODES.CUR_DEVELOPMENT);
         if (info != null) {
             onServiceAdded(info);
         }
@@ -1419,9 +1459,9 @@
     }
 
     private ManagedServiceInfo registerServiceImpl(final IInterface service,
-            final ComponentName component, final int userid) {
+            final ComponentName component, final int userid, int targetSdk) {
         ManagedServiceInfo info = newServiceInfo(service, component, userid,
-                true /*isSystem*/, null /*connection*/, Build.VERSION_CODES.LOLLIPOP);
+                true /*isSystem*/, null /*connection*/, targetSdk);
         return registerServiceImpl(info);
     }
 
diff --git a/services/core/java/com/android/server/notification/NotificationDelegate.java b/services/core/java/com/android/server/notification/NotificationDelegate.java
index b8140be..1051423 100644
--- a/services/core/java/com/android/server/notification/NotificationDelegate.java
+++ b/services/core/java/com/android/server/notification/NotificationDelegate.java
@@ -51,7 +51,7 @@
     /**
      * Called when the state of {@link Notification#FLAG_BUBBLE} is changed.
      */
-    void onNotificationBubbleChanged(String key, boolean isBubble);
+    void onNotificationBubbleChanged(String key, boolean isBubble, int flags);
     /**
      * Called when the state of {@link Notification.BubbleMetadata#FLAG_SUPPRESS_NOTIFICATION}
      * changes.
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index f9fc82b..8e9af1c 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -32,6 +32,7 @@
 import static android.app.NotificationManager.ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED;
 import static android.app.NotificationManager.ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED;
 import static android.app.NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
 import static android.app.NotificationManager.EXTRA_AUTOMATIC_ZEN_RULE_ID;
 import static android.app.NotificationManager.EXTRA_AUTOMATIC_ZEN_RULE_STATUS;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
@@ -107,6 +108,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
+import android.annotation.UserIdInt;
 import android.annotation.WorkerThread;
 import android.app.ActivityManager;
 import android.app.ActivityManagerInternal;
@@ -155,6 +157,7 @@
 import android.content.pm.PackageManagerInternal;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutServiceInternal;
 import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.database.ContentObserver;
@@ -286,10 +289,10 @@
 import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map.Entry;
 import java.util.Objects;
@@ -527,13 +530,15 @@
     private NotificationRecordLogger mNotificationRecordLogger;
     private InstanceIdSequence mNotificationInstanceIdSequence;
 
-    private static class Archive {
+    static class Archive {
+        final SparseArray<Boolean> mEnabled;
         final int mBufferSize;
-        final ArrayDeque<Pair<StatusBarNotification, Integer>> mBuffer;
+        final LinkedList<Pair<StatusBarNotification, Integer>> mBuffer;
 
         public Archive(int size) {
             mBufferSize = size;
-            mBuffer = new ArrayDeque<>(mBufferSize);
+            mBuffer = new LinkedList<>();
+            mEnabled = new SparseArray<>();
         }
 
         public String toString() {
@@ -546,7 +551,10 @@
             return sb.toString();
         }
 
-        public void record(StatusBarNotification nr, int reason) {
+        public void record(StatusBarNotification sbn, int reason) {
+            if (!mEnabled.get(sbn.getNormalizedUserId(), false)) {
+                return;
+            }
             if (mBuffer.size() == mBufferSize) {
                 mBuffer.removeFirst();
             }
@@ -554,7 +562,7 @@
             // We don't want to store the heavy bits of the notification in the archive,
             // but other clients in the system process might be using the object, so we
             // store a (lightened) copy.
-            mBuffer.addLast(new Pair<>(nr.cloneLight(), reason));
+            mBuffer.addLast(new Pair<>(sbn.cloneLight(), reason));
         }
 
         public Iterator<Pair<StatusBarNotification, Integer>> descendingIterator() {
@@ -576,60 +584,25 @@
             return  a.toArray(new StatusBarNotification[a.size()]);
         }
 
+        public void updateHistoryEnabled(@UserIdInt int userId, boolean enabled) {
+            mEnabled.put(userId, enabled);
+
+            if (!enabled) {
+                for (int i = mBuffer.size() - 1; i >= 0; i--) {
+                    if (userId == mBuffer.get(i).first.getNormalizedUserId()) {
+                        mBuffer.remove(i);
+                    }
+                }
+            }
+        }
     }
 
     void loadDefaultApprovedServices(int userId) {
-        String defaultListenerAccess = getContext().getResources().getString(
-                com.android.internal.R.string.config_defaultListenerAccessPackages);
-        if (defaultListenerAccess != null) {
-            String[] listeners =
-                    defaultListenerAccess.split(ManagedServices.ENABLED_SERVICES_SEPARATOR);
-            for (int i = 0; i < listeners.length; i++) {
-                if (TextUtils.isEmpty(listeners[i])) {
-                    continue;
-                }
-                ArraySet<ComponentName> approvedListeners =
-                        mListeners.queryPackageForServices(listeners[i],
-                                MATCH_DIRECT_BOOT_AWARE
-                                        | MATCH_DIRECT_BOOT_UNAWARE, userId);
-                for (int k = 0; k < approvedListeners.size(); k++) {
-                    ComponentName cn = approvedListeners.valueAt(k);
-                    mListeners.addDefaultComponentOrPackage(cn.flattenToString());
-                }
-            }
-        }
+        mListeners.loadDefaultsFromConfig();
 
-        String defaultDndAccess = getContext().getResources().getString(
-                com.android.internal.R.string.config_defaultDndAccessPackages);
-        if (defaultDndAccess != null) {
-            String[] dnds = defaultDndAccess.split(ManagedServices.ENABLED_SERVICES_SEPARATOR);
-            for (int i = 0; i < dnds.length; i++) {
-                if (TextUtils.isEmpty(dnds[i])) {
-                    continue;
-                }
-                mConditionProviders.addDefaultComponentOrPackage(dnds[i]);
-            }
-        }
+        mConditionProviders.loadDefaultsFromConfig();
 
-
-        ArraySet<String> assistants = new ArraySet<>();
-        String deviceAssistant = DeviceConfig.getProperty(
-                DeviceConfig.NAMESPACE_SYSTEMUI,
-                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE);
-        if (deviceAssistant != null) {
-            assistants.addAll(Arrays.asList(deviceAssistant.split(
-                    ManagedServices.ENABLED_SERVICES_SEPARATOR)));
-        }
-        assistants.addAll(Arrays.asList(getContext().getResources().getString(
-                com.android.internal.R.string.config_defaultAssistantAccessComponent)
-                .split(ManagedServices.ENABLED_SERVICES_SEPARATOR)));
-        for (int i = 0; i < assistants.size(); i++) {
-            String cnString = assistants.valueAt(i);
-            if (TextUtils.isEmpty(cnString)) {
-                continue;
-            }
-            mAssistants.addDefaultComponentOrPackage(cnString);
-        }
+        mAssistants.loadDefaultsFromConfig();
     }
 
     protected void allowDefaultApprovedServices(int userId) {
@@ -652,11 +625,14 @@
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE);
         if (overrideDefaultAssistantString != null) {
-            ComponentName overrideDefaultAssistant =
-                    ComponentName.unflattenFromString(overrideDefaultAssistantString);
-            if (allowAssistant(userId, overrideDefaultAssistant)) return;
+            ArraySet<ComponentName> approved = mAssistants.queryPackageForServices(
+                    overrideDefaultAssistantString,
+                    MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
+                    userId);
+            for (int i = 0; i < approved.size(); i++) {
+                if (allowAssistant(userId, approved.valueAt(i))) return;
+            }
         }
-
         ArraySet<ComponentName> defaults = mAssistants.getDefaultComponents();
         // We should have only one default assistant by default
         // allowAssistant should execute once in practice
@@ -1195,14 +1171,7 @@
         }
 
         @Override
-        public void onNotificationBubbleChanged(String key, boolean isBubble) {
-            String pkg;
-            synchronized (mNotificationLock) {
-                NotificationRecord r = mNotificationsByKey.get(key);
-                pkg = r != null && r.getSbn() != null ? r.getSbn().getPackageName() : null;
-            }
-            boolean isAppForeground = pkg != null
-                    && mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND;
+        public void onNotificationBubbleChanged(String key, boolean isBubble, int flags) {
             synchronized (mNotificationLock) {
                 NotificationRecord r = mNotificationsByKey.get(key);
                 if (r != null) {
@@ -1219,8 +1188,13 @@
                         // be applied there.
                         r.getNotification().flags |= FLAG_ONLY_ALERT_ONCE;
                         r.setFlagBubbleRemoved(false);
+                        if (r.getNotification().getBubbleMetadata() != null) {
+                            r.getNotification().getBubbleMetadata().setFlags(flags);
+                        }
+                        // Force isAppForeground true here, because for sysui's purposes we
+                        // want to adjust the flag behaviour.
                         mHandler.post(new EnqueueNotificationRunnable(r.getUser().getIdentifier(),
-                                r, isAppForeground));
+                                r, true /* isAppForeground*/));
                     }
                 }
             }
@@ -1639,6 +1613,9 @@
                 = Settings.System.getUriFor(Settings.System.NOTIFICATION_LIGHT_PULSE);
         private final Uri NOTIFICATION_RATE_LIMIT_URI
                 = Settings.Global.getUriFor(Settings.Global.MAX_NOTIFICATION_ENQUEUE_RATE);
+        private final Uri NOTIFICATION_HISTORY_ENABLED
+                = Settings.Secure.getUriFor(Settings.Secure.NOTIFICATION_HISTORY_ENABLED);
+
 
         SettingsObserver(Handler handler) {
             super(handler);
@@ -1654,10 +1631,12 @@
                     false, this, UserHandle.USER_ALL);
             resolver.registerContentObserver(NOTIFICATION_BUBBLES_URI,
                     false, this, UserHandle.USER_ALL);
+            resolver.registerContentObserver(NOTIFICATION_HISTORY_ENABLED,
+                    false, this, UserHandle.USER_ALL);
             update(null);
         }
 
-        @Override public void onChange(boolean selfChange, Uri uri) {
+        @Override public void onChange(boolean selfChange, Uri uri, int userId) {
             update(uri);
         }
 
@@ -1682,6 +1661,14 @@
             if (uri == null || NOTIFICATION_BUBBLES_URI.equals(uri)) {
                 mPreferencesHelper.updateBubblesEnabled();
             }
+            if (uri == null || NOTIFICATION_HISTORY_ENABLED.equals(uri)) {
+                final IntArray userIds = mUserProfiles.getCurrentProfileIds();
+
+                for (int i = 0; i < userIds.size(); i++) {
+                    mArchive.updateHistoryEnabled(userIds.get(i), Settings.Secure.getInt(resolver,
+                            Settings.Secure.NOTIFICATION_HISTORY_ENABLED, 0) == 1);
+                }
+            }
         }
     }
 
@@ -1960,7 +1947,8 @@
                 mPackageManagerClient,
                 mRankingHandler,
                 mZenModeHelper,
-                new NotificationChannelLoggerImpl());
+                new NotificationChannelLoggerImpl(),
+                mAppOps);
         mRankingHelper = new RankingHelper(getContext(),
                 mRankingHandler,
                 mPreferencesHelper,
@@ -2301,7 +2289,8 @@
             mRoleObserver.init();
             LauncherApps launcherApps =
                     (LauncherApps) getContext().getSystemService(Context.LAUNCHER_APPS_SERVICE);
-            mShortcutHelper = new ShortcutHelper(launcherApps, mShortcutListener);
+            mShortcutHelper = new ShortcutHelper(launcherApps, mShortcutListener, getLocalService(
+                    ShortcutServiceInternal.class));
             BubbleExtractor bubbsExtractor = mRankingHelper.findExtractor(BubbleExtractor.class);
             if (bubbsExtractor != null) {
                 bubbsExtractor.setShortcutHelper(mShortcutHelper);
@@ -3079,40 +3068,37 @@
             return mPreferencesHelper.getImportance(pkg, uid) != IMPORTANCE_NONE;
         }
 
+        /**
+         * @return true if and only if "all" bubbles are allowed from the provided package.
+         */
         @Override
         public boolean areBubblesAllowed(String pkg) {
-            return areBubblesAllowedForPackage(pkg, Binder.getCallingUid());
+            return getBubblePreferenceForPackage(pkg, Binder.getCallingUid())
+                    == BUBBLE_PREFERENCE_ALL;
         }
 
         @Override
-        public boolean areBubblesAllowedForPackage(String pkg, int uid) {
+        public int getBubblePreferenceForPackage(String pkg, int uid) {
             enforceSystemOrSystemUIOrSamePackage(pkg,
                     "Caller not system or systemui or same package");
 
             if (UserHandle.getCallingUserId() != UserHandle.getUserId(uid)) {
                 getContext().enforceCallingPermission(
                         android.Manifest.permission.INTERACT_ACROSS_USERS,
-                        "canNotifyAsPackage for uid " + uid);
+                        "getBubblePreferenceForPackage for uid " + uid);
             }
 
-            return mPreferencesHelper.areBubblesAllowed(pkg, uid);
+            return mPreferencesHelper.getBubblePreference(pkg, uid);
         }
 
         @Override
-        public void setBubblesAllowed(String pkg, int uid, boolean allowed) {
-            enforceSystemOrSystemUI("Caller not system or systemui");
-            mPreferencesHelper.setBubblesAllowed(pkg, uid, allowed);
+        public void setBubblesAllowed(String pkg, int uid, int bubblePreference) {
+            checkCallerIsSystemOrSystemUiOrShell("Caller not system or sysui or shell");
+            mPreferencesHelper.setBubblesAllowed(pkg, uid, bubblePreference);
             handleSavePolicyFile();
         }
 
         @Override
-        public boolean hasUserApprovedBubblesForPackage(String pkg, int uid) {
-            enforceSystemOrSystemUI("Caller not system or systemui");
-            int lockedFields = mPreferencesHelper.getAppLockedFields(pkg, uid);
-            return (lockedFields & PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE) != 0;
-        }
-
-        @Override
         public boolean shouldHideSilentStatusIcons(String callingPkg) {
             checkCallerIsSameApp(callingPkg);
 
@@ -3308,7 +3294,7 @@
                 String targetPkg, String channelId, boolean returnParentIfNoConversationChannel,
                 String conversationId) {
             if (canNotifyAsPackage(callingPkg, targetPkg, userId)
-                    || isCallerIsSystemOrSystemUi()) {
+                    || isCallerIsSystemOrSysemUiOrShell()) {
                 int targetUid = -1;
                 try {
                     targetUid = mPackageManagerClient.getPackageUidAsUser(targetPkg, userId);
@@ -3418,7 +3404,7 @@
         @Override
         public void updateNotificationChannelForPackage(String pkg, int uid,
                 NotificationChannel channel) {
-            enforceSystemOrSystemUI("Caller not system or systemui");
+            checkCallerIsSystemOrSystemUiOrShell("Caller not system or sysui or shell");
             Objects.requireNonNull(channel);
             updateNotificationChannelInt(pkg, uid, channel, false);
         }
@@ -3842,7 +3828,7 @@
         public void registerListener(final INotificationListener listener,
                 final ComponentName component, final int userid) {
             enforceSystemOrSystemUI("INotificationManager.registerListener");
-            mListeners.registerService(listener, component, userid);
+            mListeners.registerSystemService(listener, component, userid);
         }
 
         /**
@@ -5848,6 +5834,7 @@
                     synchronized (mNotificationLock) {
                         NotificationRecord r = mNotificationsByKey.get(key);
                         if (r != null) {
+                            r.setShortcutInfo(null);
                             // Enqueue will trigger resort & flag is updated that way.
                             r.getNotification().flags |= FLAG_ONLY_ALERT_ONCE;
                             mHandler.post(
@@ -7210,7 +7197,10 @@
             boolean interruptiveChanged =
                     record.canBubble() && (interruptiveBefore != record.isInterruptive());
 
-            changed = indexChanged || interceptChanged || visibilityChanged || interruptiveChanged;
+            changed = indexChanged
+                    || interceptChanged
+                    || visibilityChanged
+                    || interruptiveChanged;
             if (interceptBefore && !record.isIntercepted()
                     && record.isNewEnoughForAlerting(System.currentTimeMillis())) {
                 buzzBeepBlinkLocked(record);
@@ -8248,6 +8238,14 @@
                 == PERMISSION_GRANTED;
     }
 
+    private boolean isCallerIsSystemOrSysemUiOrShell() {
+        int callingUid = Binder.getCallingUid();
+        if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
+            return true;
+        }
+        return isCallerIsSystemOrSystemUi();
+    }
+
     private void checkCallerIsSystemOrShell() {
         int callingUid = Binder.getCallingUid();
         if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
@@ -8264,6 +8262,10 @@
     }
 
     private void checkCallerIsSystemOrSystemUiOrShell() {
+        checkCallerIsSystemOrSystemUiOrShell(null);
+    }
+
+    private void checkCallerIsSystemOrSystemUiOrShell(String message) {
         int callingUid = Binder.getCallingUid();
         if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
             return;
@@ -8271,7 +8273,8 @@
         if (isCallerSystemOrPhone()) {
             return;
         }
-        getContext().enforceCallingPermission(android.Manifest.permission.STATUS_BAR_SERVICE, null);
+        getContext().enforceCallingPermission(android.Manifest.permission.STATUS_BAR_SERVICE,
+                message);
     }
 
     private void checkCallerIsSystemOrSameApp(String pkg) {
@@ -8555,6 +8558,26 @@
         private ArrayMap<Integer, Boolean> mUserSetMap = new ArrayMap<>();
         private Set<String> mAllowedAdjustments = new ArraySet<>();
 
+        @Override
+        protected void loadDefaultsFromConfig() {
+            ArraySet<String> assistants = new ArraySet<>();
+            assistants.addAll(Arrays.asList(mContext.getResources().getString(
+                    com.android.internal.R.string.config_defaultAssistantAccessComponent)
+                    .split(ManagedServices.ENABLED_SERVICES_SEPARATOR)));
+            for (int i = 0; i < assistants.size(); i++) {
+                String cnString = assistants.valueAt(i);
+                if (TextUtils.isEmpty(cnString)) {
+                    continue;
+                }
+                ArraySet<ComponentName> approved = queryPackageForServices(cnString,
+                        MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, USER_SYSTEM);
+                for (int k = 0; k < approved.size(); k++) {
+                    ComponentName cn = approved.valueAt(k);
+                    addDefaultComponentOrPackage(cn.flattenToString());
+                }
+            }
+        }
+
         public NotificationAssistants(Context context, Object lock, UserProfiles up,
                 IPackageManager pm) {
             super(context, lock, up, pm);
@@ -8992,7 +9015,29 @@
 
         public NotificationListeners(IPackageManager pm) {
             super(getContext(), mNotificationLock, mUserProfiles, pm);
+        }
 
+        @Override
+        protected void loadDefaultsFromConfig() {
+            String defaultListenerAccess = mContext.getResources().getString(
+                    R.string.config_defaultListenerAccessPackages);
+            if (defaultListenerAccess != null) {
+                String[] listeners =
+                        defaultListenerAccess.split(ManagedServices.ENABLED_SERVICES_SEPARATOR);
+                for (int i = 0; i < listeners.length; i++) {
+                    if (TextUtils.isEmpty(listeners[i])) {
+                        continue;
+                    }
+                    ArraySet<ComponentName> approvedListeners =
+                            this.queryPackageForServices(listeners[i],
+                                    MATCH_DIRECT_BOOT_AWARE
+                                            | MATCH_DIRECT_BOOT_UNAWARE, USER_SYSTEM);
+                    for (int k = 0; k < approvedListeners.size(); k++) {
+                        ComponentName cn = approvedListeners.valueAt(k);
+                        addDefaultComponentOrPackage(cn.flattenToString());
+                    }
+                }
+            }
         }
 
         @Override
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 192df41..e45b41d 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -55,7 +55,6 @@
 import android.service.notification.StatusBarNotification;
 import android.text.TextUtils;
 import android.util.ArraySet;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
@@ -581,6 +580,8 @@
         pw.println(prefix + "mLight= " + mLight);
         pw.println(prefix + "mShowBadge=" + mShowBadge);
         pw.println(prefix + "mColorized=" + notification.isColorized());
+        pw.println(prefix + "mAllowBubble=" + mAllowBubble);
+        pw.println(prefix + "isBubble=" + notification.isBubbleNotification());
         pw.println(prefix + "mIsInterruptive=" + mIsInterruptive);
         pw.println(prefix + "effectiveNotificationChannel=" + getChannel());
         if (getPeopleOverride() != null) {
@@ -590,6 +591,8 @@
             pw.println(prefix + "snoozeCriteria=" + TextUtils.join(",", getSnoozeCriteria()));
         }
         pw.println(prefix + "mAdjustments=" + mAdjustments);
+        pw.println(prefix + "shortcut=" + notification.getShortcutId()
+                + " found valid? " + (mShortcutInfo != null));
     }
 
     @Override
diff --git a/services/core/java/com/android/server/notification/NotificationShellCmd.java b/services/core/java/com/android/server/notification/NotificationShellCmd.java
index 2b5ba25..e4a1774 100644
--- a/services/core/java/com/android/server/notification/NotificationShellCmd.java
+++ b/services/core/java/com/android/server/notification/NotificationShellCmd.java
@@ -38,7 +38,6 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
-import android.media.IRingtonePlayer;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Process;
@@ -48,8 +47,6 @@
 import android.text.TextUtils;
 import android.util.Slog;
 
-import com.android.internal.util.FunctionalUtils;
-
 import java.io.PrintWriter;
 import java.net.URISyntaxException;
 import java.util.Collections;
@@ -72,7 +69,11 @@
             + "  unsuspend_package PACKAGE\n"
             + "  reset_assistant_user_set [user_id (current user if not specified)]\n"
             + "  get_approved_assistant [user_id (current user if not specified)]\n"
-            + "  post [--help | flags] TAG TEXT";
+            + "  post [--help | flags] TAG TEXT\n"
+            + "  set_bubbles PACKAGE PREFERENCE (0=none 1=all 2=selected) "
+                    + "[user_id (current user if not specified)]\n"
+            + "  set_bubbles_channel PACKAGE CHANNEL_ID ALLOW "
+                    + "[user_id (current user if not specified)]\n";
 
     private static final String NOTIFY_USAGE =
               "usage: cmd notification post [flags] <tag> <text>\n\n"
@@ -109,6 +110,7 @@
     private final NotificationManagerService mDirectService;
     private final INotificationManager mBinderService;
     private final PackageManager mPm;
+    private NotificationChannel mChannel;
 
     public NotificationShellCmd(NotificationManagerService service) {
         mDirectService = service;
@@ -276,6 +278,40 @@
                     }
                     break;
                 }
+                case "set_bubbles": {
+                    // only use for testing
+                    String packageName = getNextArgRequired();
+                    int preference = Integer.parseInt(getNextArgRequired());
+                    if (preference > 3 || preference < 0) {
+                        pw.println("Invalid preference - must be between 0-3 "
+                                + "(0=none 1=all 2=selected)");
+                        return -1;
+                    }
+                    int userId = ActivityManager.getCurrentUser();
+                    if (peekNextArg() != null) {
+                        userId = Integer.parseInt(getNextArgRequired());
+                    }
+                    int appUid = UserHandle.getUid(userId, mPm.getPackageUid(packageName, 0));
+                    mBinderService.setBubblesAllowed(packageName, appUid, preference);
+                    break;
+                }
+                case "set_bubbles_channel": {
+                    // only use for testing
+                    String packageName = getNextArgRequired();
+                    String channelId = getNextArgRequired();
+                    boolean allow = Boolean.parseBoolean(getNextArgRequired());
+                    int userId = ActivityManager.getCurrentUser();
+                    if (peekNextArg() != null) {
+                        userId = Integer.parseInt(getNextArgRequired());
+                    }
+                    NotificationChannel channel = mBinderService.getNotificationChannel(
+                            callingPackage, userId, packageName, channelId);
+                    channel.setAllowBubbles(allow);
+                    int appUid = UserHandle.getUid(userId, mPm.getPackageUid(packageName, 0));
+                    mBinderService.updateNotificationChannelForPackage(packageName, appUid,
+                            channel);
+                    break;
+                }
                 case "post":
                 case "notify":
                     doNotify(pw, callingPackage, callingUid);
diff --git a/services/core/java/com/android/server/notification/PreferencesHelper.java b/services/core/java/com/android/server/notification/PreferencesHelper.java
index 8154988..d432fc8 100644
--- a/services/core/java/com/android/server/notification/PreferencesHelper.java
+++ b/services/core/java/com/android/server/notification/PreferencesHelper.java
@@ -16,7 +16,10 @@
 
 package com.android.server.notification;
 
+import static android.app.AppOpsManager.OP_SYSTEM_ALERT_WINDOW;
 import static android.app.NotificationChannel.PLACEHOLDER_CONVERSATION_ID;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
 import static android.app.NotificationManager.IMPORTANCE_NONE;
 import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
 
@@ -29,6 +32,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
+import android.app.AppOpsManager;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
@@ -78,7 +82,9 @@
 
 public class PreferencesHelper implements RankingConfig {
     private static final String TAG = "NotificationPrefHelper";
-    private static final int XML_VERSION = 1;
+    private static final int XML_VERSION = 2;
+    /** What version to check to do the upgrade for bubbles. */
+    private static final int XML_VERSION_BUBBLES_UPGRADE = 1;
     private static final int UNKNOWN_UID = UserHandle.USER_NULL;
     private static final String NON_BLOCKABLE_CHANNEL_DELIM = ":";
 
@@ -117,10 +123,14 @@
     @VisibleForTesting
     static final boolean DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS = false;
     private static final boolean DEFAULT_SHOW_BADGE = true;
-    static final boolean DEFAULT_ALLOW_BUBBLE = true;
+
     private static final boolean DEFAULT_OEM_LOCKED_IMPORTANCE  = false;
     private static final boolean DEFAULT_APP_LOCKED_IMPORTANCE  = false;
 
+    static final boolean DEFAULT_GLOBAL_ALLOW_BUBBLE = true;
+    @VisibleForTesting
+    static final int DEFAULT_BUBBLE_PREFERENCE = BUBBLE_PREFERENCE_NONE;
+
     /**
      * Default value for what fields are user locked. See {@link LockableAppFields} for all lockable
      * fields.
@@ -146,9 +156,10 @@
     private final RankingHandler mRankingHandler;
     private final ZenModeHelper mZenModeHelper;
     private final NotificationChannelLogger mNotificationChannelLogger;
+    private final AppOpsManager mAppOps;
 
     private SparseBooleanArray mBadgingEnabled;
-    private boolean mBubblesEnabled = DEFAULT_ALLOW_BUBBLE;
+    private boolean mBubblesEnabledGlobally = DEFAULT_GLOBAL_ALLOW_BUBBLE;
     private boolean mAreChannelsBypassingDnd;
     private boolean mHideSilentStatusBarIcons = DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS;
 
@@ -162,12 +173,14 @@
     }
 
     public PreferencesHelper(Context context, PackageManager pm, RankingHandler rankingHandler,
-            ZenModeHelper zenHelper, NotificationChannelLogger notificationChannelLogger) {
+            ZenModeHelper zenHelper, NotificationChannelLogger notificationChannelLogger,
+            AppOpsManager appOpsManager) {
         mContext = context;
         mZenModeHelper = zenHelper;
         mRankingHandler = rankingHandler;
         mPm = pm;
         mNotificationChannelLogger = notificationChannelLogger;
+        mAppOps = appOpsManager;
 
         // STOPSHIP (b/142218092) this should be removed before ship
         if (!wasBadgingForcedTrue(context)) {
@@ -190,6 +203,15 @@
         if (type != XmlPullParser.START_TAG) return;
         String tag = parser.getName();
         if (!TAG_RANKING.equals(tag)) return;
+
+        boolean upgradeForBubbles = false;
+        if (parser.getAttributeCount() > 0) {
+            String attribute = parser.getAttributeName(0);
+            if (ATT_VERSION.equals(attribute)) {
+                int xmlVersion = Integer.parseInt(parser.getAttributeValue(0));
+                upgradeForBubbles = xmlVersion == XML_VERSION_BUBBLES_UPGRADE;
+            }
+        }
         synchronized (mPackagePreferences) {
             while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) {
                 tag = parser.getName();
@@ -215,6 +237,16 @@
                                 }
                             }
                             boolean skipWarningLogged = false;
+                            boolean hasSAWPermission = false;
+                            if (upgradeForBubbles) {
+                                hasSAWPermission = mAppOps.noteOpNoThrow(
+                                        OP_SYSTEM_ALERT_WINDOW, uid, name, null,
+                                        "check-notif-bubble") == AppOpsManager.MODE_ALLOWED;
+                            }
+                            int bubblePref = hasSAWPermission
+                                    ? BUBBLE_PREFERENCE_ALL
+                                    : XmlUtils.readIntAttribute(parser, ATT_ALLOW_BUBBLE,
+                                            DEFAULT_BUBBLE_PREFERENCE);
 
                             PackagePreferences r = getOrCreatePackagePreferencesLocked(
                                     name, userId, uid,
@@ -226,8 +258,7 @@
                                             parser, ATT_VISIBILITY, DEFAULT_VISIBILITY),
                                     XmlUtils.readBooleanAttribute(
                                             parser, ATT_SHOW_BADGE, DEFAULT_SHOW_BADGE),
-                                    XmlUtils.readBooleanAttribute(
-                                            parser, ATT_ALLOW_BUBBLE, DEFAULT_ALLOW_BUBBLE));
+                                    bubblePref);
                             r.importance = XmlUtils.readIntAttribute(
                                     parser, ATT_IMPORTANCE, DEFAULT_IMPORTANCE);
                             r.priority = XmlUtils.readIntAttribute(
@@ -339,19 +370,19 @@
             int uid) {
         return getOrCreatePackagePreferencesLocked(pkg, UserHandle.getUserId(uid), uid,
                 DEFAULT_IMPORTANCE, DEFAULT_PRIORITY, DEFAULT_VISIBILITY, DEFAULT_SHOW_BADGE,
-                DEFAULT_ALLOW_BUBBLE);
+                DEFAULT_BUBBLE_PREFERENCE);
     }
 
     private PackagePreferences getOrCreatePackagePreferencesLocked(String pkg,
             @UserIdInt int userId, int uid) {
         return getOrCreatePackagePreferencesLocked(pkg, userId, uid,
                 DEFAULT_IMPORTANCE, DEFAULT_PRIORITY, DEFAULT_VISIBILITY, DEFAULT_SHOW_BADGE,
-                DEFAULT_ALLOW_BUBBLE);
+                DEFAULT_BUBBLE_PREFERENCE);
     }
 
     private PackagePreferences getOrCreatePackagePreferencesLocked(String pkg,
             @UserIdInt int userId, int uid, int importance, int priority, int visibility,
-            boolean showBadge, boolean allowBubble) {
+            boolean showBadge, int bubblePreference) {
         final String key = packagePreferencesKey(pkg, uid);
         PackagePreferences
                 r = (uid == UNKNOWN_UID)
@@ -365,7 +396,7 @@
             r.priority = priority;
             r.visibility = visibility;
             r.showBadge = showBadge;
-            r.allowBubble = allowBubble;
+            r.bubblePreference = bubblePreference;
 
             try {
                 createDefaultChannelIfNeededLocked(r);
@@ -479,7 +510,7 @@
                                 || r.channels.size() > 0
                                 || r.groups.size() > 0
                                 || r.delegate != null
-                                || r.allowBubble != DEFAULT_ALLOW_BUBBLE;
+                                || r.bubblePreference != DEFAULT_BUBBLE_PREFERENCE;
                 if (hasNonDefaultSettings) {
                     out.startTag(null, TAG_PACKAGE);
                     out.attribute(null, ATT_NAME, r.pkg);
@@ -492,8 +523,8 @@
                     if (r.visibility != DEFAULT_VISIBILITY) {
                         out.attribute(null, ATT_VISIBILITY, Integer.toString(r.visibility));
                     }
-                    if (r.allowBubble != DEFAULT_ALLOW_BUBBLE) {
-                        out.attribute(null, ATT_ALLOW_BUBBLE, Boolean.toString(r.allowBubble));
+                    if (r.bubblePreference != DEFAULT_BUBBLE_PREFERENCE) {
+                        out.attribute(null, ATT_ALLOW_BUBBLE, Integer.toString(r.bubblePreference));
                     }
                     out.attribute(null, ATT_SHOW_BADGE, Boolean.toString(r.showBadge));
                     out.attribute(null, ATT_APP_USER_LOCKED_FIELDS,
@@ -544,14 +575,14 @@
      *
      * @param pkg the package to allow or not allow bubbles for.
      * @param uid the uid to allow or not allow bubbles for.
-     * @param allowed whether bubbles are allowed.
+     * @param bubblePreference whether bubbles are allowed.
      */
-    public void setBubblesAllowed(String pkg, int uid, boolean allowed) {
+    public void setBubblesAllowed(String pkg, int uid, int bubblePreference) {
         boolean changed = false;
         synchronized (mPackagePreferences) {
             PackagePreferences p = getOrCreatePackagePreferencesLocked(pkg, uid);
-            changed = p.allowBubble != allowed;
-            p.allowBubble = allowed;
+            changed = p.bubblePreference != bubblePreference;
+            p.bubblePreference = bubblePreference;
             p.lockedAppFields = p.lockedAppFields | LockableAppFields.USER_LOCKED_BUBBLE;
         }
         if (changed) {
@@ -567,9 +598,9 @@
      * @return whether bubbles are allowed.
      */
     @Override
-    public boolean areBubblesAllowed(String pkg, int uid) {
+    public int getBubblePreference(String pkg, int uid) {
         synchronized (mPackagePreferences) {
-            return getOrCreatePackagePreferencesLocked(pkg, uid).allowBubble;
+            return getOrCreatePackagePreferencesLocked(pkg, uid).bubblePreference;
         }
     }
 
@@ -788,6 +819,7 @@
             }
             if (fromTargetApp) {
                 channel.setLockscreenVisibility(r.visibility);
+                channel.setAllowBubbles(existing != null && existing.canBubble());
             }
             clearLockedFieldsLocked(channel);
             channel.setImportanceLockedByOEM(r.oemLockedImportance);
@@ -2125,7 +2157,7 @@
                 p.groups = new ArrayMap<>();
                 p.delegate = null;
                 p.lockedAppFields = DEFAULT_LOCKED_APP_FIELDS;
-                p.allowBubble = DEFAULT_ALLOW_BUBBLE;
+                p.bubblePreference = DEFAULT_BUBBLE_PREFERENCE;
                 p.importance = DEFAULT_IMPORTANCE;
                 p.priority = DEFAULT_PRIORITY;
                 p.visibility = DEFAULT_VISIBILITY;
@@ -2165,15 +2197,15 @@
     public void updateBubblesEnabled() {
         final boolean newValue = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.NOTIFICATION_BUBBLES,
-                DEFAULT_ALLOW_BUBBLE ? 1 : 0) == 1;
-        if (newValue != mBubblesEnabled) {
-            mBubblesEnabled = newValue;
+                DEFAULT_GLOBAL_ALLOW_BUBBLE ? 1 : 0) == 1;
+        if (newValue != mBubblesEnabledGlobally) {
+            mBubblesEnabledGlobally = newValue;
             updateConfig();
         }
     }
 
     public boolean bubblesEnabled() {
-        return mBubblesEnabled;
+        return mBubblesEnabledGlobally;
     }
 
     public void updateBadgingEnabled() {
@@ -2229,7 +2261,7 @@
         int priority = DEFAULT_PRIORITY;
         int visibility = DEFAULT_VISIBILITY;
         boolean showBadge = DEFAULT_SHOW_BADGE;
-        boolean allowBubble = DEFAULT_ALLOW_BUBBLE;
+        int bubblePreference = DEFAULT_BUBBLE_PREFERENCE;
         int lockedAppFields = DEFAULT_LOCKED_APP_FIELDS;
         // these fields are loaded on boot from a different source of truth and so are not
         // written to notification policy xml
diff --git a/services/core/java/com/android/server/notification/RankingConfig.java b/services/core/java/com/android/server/notification/RankingConfig.java
index 7e98be7..7fc79e6 100644
--- a/services/core/java/com/android/server/notification/RankingConfig.java
+++ b/services/core/java/com/android/server/notification/RankingConfig.java
@@ -29,7 +29,7 @@
     void setShowBadge(String packageName, int uid, boolean showBadge);
     boolean canShowBadge(String packageName, int uid);
     boolean badgingEnabled(UserHandle userHandle);
-    boolean areBubblesAllowed(String packageName, int uid);
+    int getBubblePreference(String packageName, int uid);
     boolean bubblesEnabled();
     boolean isGroupBlocked(String packageName, int uid, String groupId);
 
diff --git a/services/core/java/com/android/server/notification/ShortcutHelper.java b/services/core/java/com/android/server/notification/ShortcutHelper.java
index f1ce3a7..1d48438 100644
--- a/services/core/java/com/android/server/notification/ShortcutHelper.java
+++ b/services/core/java/com/android/server/notification/ShortcutHelper.java
@@ -21,11 +21,15 @@
 import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED;
 
 import android.annotation.NonNull;
+import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.pm.LauncherApps;
 import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutServiceInternal;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.UserHandle;
+import android.util.Slog;
 
 import com.android.internal.annotations.VisibleForTesting;
 
@@ -38,6 +42,7 @@
  * Helper for querying shortcuts.
  */
 class ShortcutHelper {
+    private static final String TAG = "ShortcutHelper";
 
     /**
      * Listener to call when a shortcut we're tracking has been removed.
@@ -48,6 +53,8 @@
 
     private LauncherApps mLauncherAppsService;
     private ShortcutListener mShortcutListener;
+    private ShortcutServiceInternal mShortcutServiceInternal;
+    private IntentFilter mSharingFilter;
 
     // Key: packageName Value: <shortcutId, notifId>
     private HashMap<String, HashMap<String, String>> mActiveShortcutBubbles = new HashMap<>();
@@ -111,9 +118,17 @@
         }
     };
 
-    ShortcutHelper(LauncherApps launcherApps, ShortcutListener listener) {
+    ShortcutHelper(LauncherApps launcherApps, ShortcutListener listener,
+            ShortcutServiceInternal shortcutServiceInternal) {
         mLauncherAppsService = launcherApps;
         mShortcutListener = listener;
+        mSharingFilter = new IntentFilter();
+        try {
+            mSharingFilter.addDataType("*/*");
+        } catch (IntentFilter.MalformedMimeTypeException e) {
+            Slog.e(TAG, "Bad mime type", e);
+        }
+        mShortcutServiceInternal = shortcutServiceInternal;
     }
 
     @VisibleForTesting
@@ -121,6 +136,11 @@
         mLauncherAppsService = launcherApps;
     }
 
+    @VisibleForTesting
+    void setShortcutServiceInternal(ShortcutServiceInternal shortcutServiceInternal) {
+        mShortcutServiceInternal = shortcutServiceInternal;
+    }
+
     /**
      * Only returns shortcut info if it's found and if it's {@link ShortcutInfo#isLongLived()}.
      */
@@ -141,7 +161,14 @@
             ShortcutInfo info = shortcuts != null && shortcuts.size() > 0
                     ? shortcuts.get(0)
                     : null;
-            return info != null && info.isLongLived() ? info : null;
+            if (info == null || !info.isLongLived() || !info.isEnabled()) {
+                return null;
+            }
+            if (mShortcutServiceInternal.isSharingShortcut(user.getIdentifier(),
+                    "android", packageName, shortcutId, user.getIdentifier(), mSharingFilter)) {
+                return info;
+            }
+            return null;
         } finally {
             Binder.restoreCallingIdentity(token);
         }
diff --git a/services/core/java/com/android/server/pm/BackgroundDexOptService.java b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
index dab4bfd..5415967 100644
--- a/services/core/java/com/android/server/pm/BackgroundDexOptService.java
+++ b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
@@ -17,6 +17,7 @@
 package com.android.server.pm;
 
 import static com.android.server.pm.PackageManagerService.DEBUG_DEXOPT;
+import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
 
 import android.annotation.Nullable;
 import android.app.job.JobInfo;
@@ -434,7 +435,7 @@
                 | DexoptOptions.DEXOPT_DOWNGRADE;
         long package_size_before = getPackageSize(pm, pkg);
 
-        if (isForPrimaryDex) {
+        if (isForPrimaryDex || PLATFORM_PACKAGE_NAME.equals(pkg)) {
             // This applies for system apps or if packages location is not a directory, i.e.
             // monolithic install.
             if (!pm.canHaveOatDir(pkg)) {
@@ -486,7 +487,9 @@
                 | DexoptOptions.DEXOPT_BOOT_COMPLETE
                 | DexoptOptions.DEXOPT_IDLE_BACKGROUND_JOB;
 
-        return isForPrimaryDex
+        // System server share the same code path as primary dex files.
+        // PackageManagerService will select the right optimization path for it.
+        return (isForPrimaryDex || PLATFORM_PACKAGE_NAME.equals(pkg))
             ? performDexOptPrimary(pm, pkg, reason, dexoptFlags)
             : performDexOptSecondary(pm, pkg, reason, dexoptFlags);
     }
diff --git a/services/core/java/com/android/server/pm/DataLoaderManagerService.java b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
index 09baf6e..ae9c384 100644
--- a/services/core/java/com/android/server/pm/DataLoaderManagerService.java
+++ b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
@@ -204,6 +204,12 @@
 
         @Override
         public void onServiceDisconnected(ComponentName arg0) {
+            if (mListener != null) {
+                try {
+                    mListener.onStatusChanged(mId, IDataLoaderStatusListener.DATA_LOADER_DESTROYED);
+                } catch (RemoteException ignored) {
+                }
+            }
             remove();
         }
 
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 9fb468e..5ac86ca 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -39,6 +39,7 @@
 import dalvik.system.VMRuntime;
 
 import java.io.FileDescriptor;
+import java.util.Arrays;
 
 public class Installer extends SystemService {
     private static final String TAG = "Installer";
@@ -71,6 +72,8 @@
     public static final int DEXOPT_GENERATE_COMPACT_DEX = 1 << 11;
     /** Indicates that dexopt should generate an app image */
     public static final int DEXOPT_GENERATE_APP_IMAGE = 1 << 12;
+    /** Indicates that dexopt may be run with different performance / priority tuned for restore */
+    public static final int DEXOPT_FOR_RESTORE = 1 << 13; // TODO(b/135202722): remove
 
     public static final int FLAG_STORAGE_DE = IInstalld.FLAG_STORAGE_DE;
     public static final int FLAG_STORAGE_CE = IInstalld.FLAG_STORAGE_CE;
@@ -184,6 +187,30 @@
         }
     }
 
+    /**
+     * Batched version of createAppData for use with multiple packages.
+     */
+    public void createAppDataBatched(String[] uuids, String[] packageNames, int userId, int flags,
+            int[] appIds, String[] seInfos, int[] targetSdkVersions) throws InstallerException {
+        if (!checkBeforeRemote()) return;
+        final int batchSize = 256;
+        for (int i = 0; i < uuids.length; i += batchSize) {
+            int to = i + batchSize;
+            if (to > uuids.length) {
+                to = uuids.length;
+            }
+
+            try {
+                mInstalld.createAppDataBatched(Arrays.copyOfRange(uuids, i, to),
+                        Arrays.copyOfRange(packageNames, i, to), userId, flags,
+                        Arrays.copyOfRange(appIds, i, to), Arrays.copyOfRange(seInfos, i, to),
+                        Arrays.copyOfRange(targetSdkVersions, i, to));
+            } catch (Exception e) {
+                throw InstallerException.from(e);
+            }
+        }
+    }
+
     public void restoreconAppData(String uuid, String packageName, int userId, int flags, int appId,
             String seInfo) throws InstallerException {
         if (!checkBeforeRemote()) return;
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 65b7cf3..4b8a242 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -22,6 +22,7 @@
 import static com.android.server.pm.Installer.DEXOPT_DEBUGGABLE;
 import static com.android.server.pm.Installer.DEXOPT_ENABLE_HIDDEN_API_CHECKS;
 import static com.android.server.pm.Installer.DEXOPT_FORCE;
+import static com.android.server.pm.Installer.DEXOPT_FOR_RESTORE;
 import static com.android.server.pm.Installer.DEXOPT_GENERATE_APP_IMAGE;
 import static com.android.server.pm.Installer.DEXOPT_GENERATE_COMPACT_DEX;
 import static com.android.server.pm.Installer.DEXOPT_IDLE_BACKGROUND_JOB;
@@ -32,6 +33,7 @@
 import static com.android.server.pm.Installer.DEXOPT_STORAGE_DE;
 import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
 import static com.android.server.pm.InstructionSets.getDexCodeInstructionSets;
+import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
 import static com.android.server.pm.PackageManagerService.WATCHDOG_TIMEOUT;
 import static com.android.server.pm.PackageManagerServiceCompilerMapping.getReasonName;
 
@@ -115,7 +117,9 @@
 
     static boolean canOptimizePackage(AndroidPackage pkg) {
         // We do not dexopt a package with no code.
-        if (!pkg.isHasCode()) {
+        // Note that the system package is marked as having no code, however we can
+        // still optimize it via dexoptSystemServerPath.
+        if (!PLATFORM_PACKAGE_NAME.equals(pkg.getPackageName()) && !pkg.isHasCode()) {
             return false;
         }
 
@@ -132,6 +136,10 @@
     int performDexOpt(AndroidPackage pkg, @NonNull PackageSetting pkgSetting,
             String[] instructionSets, CompilerStats.PackageStats packageStats,
             PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
+        if (PLATFORM_PACKAGE_NAME.equals(pkg.getPackageName())) {
+            throw new IllegalArgumentException("System server dexopting should be done via "
+                    + " DexManager and PackageDexOptimizer#dexoptSystemServerPath");
+        }
         if (pkg.getUid() == -1) {
             throw new IllegalArgumentException("Dexopt for " + pkg.getPackageName()
                     + " has invalid uid.");
@@ -699,6 +707,7 @@
                 | (options.isDexoptIdleBackgroundJob() ? DEXOPT_IDLE_BACKGROUND_JOB : 0)
                 | (generateCompactDex ? DEXOPT_GENERATE_COMPACT_DEX : 0)
                 | (generateAppImage ? DEXOPT_GENERATE_APP_IMAGE : 0)
+                | (options.isDexoptInstallForRestore() ? DEXOPT_FOR_RESTORE : 0)
                 | hiddenApiFlag;
         return adjustDexoptFlags(dexFlags);
     }
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java
index 57908f3..4cfd1ab7 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -82,6 +82,7 @@
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.IoThread;
 import com.android.server.LocalServices;
+import com.android.server.SystemConfig;
 import com.android.server.pm.parsing.PackageParser2;
 import com.android.server.pm.permission.PermissionManagerServiceInternal;
 
@@ -151,6 +152,7 @@
     private final Callbacks mCallbacks;
 
     private volatile boolean mOkToSendBroadcasts = false;
+    private volatile boolean mBypassNextStagedInstallerCheck = false;
 
     /**
      * File storing persisted {@link #mSessions} metadata.
@@ -541,7 +543,7 @@
             }
         }
 
-        if (Build.IS_DEBUGGABLE || isDowngradeAllowedForCaller(callingUid)) {
+        if (Build.IS_DEBUGGABLE || isCalledBySystemOrShell(callingUid)) {
             params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
         } else {
             params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE;
@@ -571,6 +573,14 @@
             }
         }
 
+        if (mBypassNextStagedInstallerCheck) {
+            mBypassNextStagedInstallerCheck = false;
+        } else if (params.isStaged
+                && !isCalledBySystemOrShell(callingUid)
+                && !isWhitelistedStagedInstaller(requestedInstallerPackageName)) {
+            throw new SecurityException("Installer not allowed to commit staged install");
+        }
+
         if (!params.isMultiPackage) {
             // Only system components can circumvent runtime permissions when installing.
             if ((params.installFlags & PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0
@@ -683,11 +693,15 @@
         return sessionId;
     }
 
-    private boolean isDowngradeAllowedForCaller(int callingUid) {
+    private boolean isCalledBySystemOrShell(int callingUid) {
         return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID
                 || callingUid == Process.SHELL_UID;
     }
 
+    private boolean isWhitelistedStagedInstaller(String installerName) {
+        return SystemConfig.getInstance().getWhitelistedStagedInstallers().contains(installerName);
+    }
+
     @Override
     public void updateSessionAppIcon(int sessionId, Bitmap appIcon) {
         synchronized (mSessions) {
@@ -963,6 +977,11 @@
         }
     }
 
+    @Override
+    public void bypassNextStagedInstallerCheck(boolean value) {
+        mBypassNextStagedInstallerCheck = value;
+    }
+
     private static int getSessionCount(SparseArray<PackageInstallerSession> sessions,
             int installerUid) {
         int count = 0;
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 59ac603..9f543b4 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -66,6 +66,8 @@
 import static android.content.pm.PackageManager.INSTALL_INTERNAL;
 import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
 import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES;
+import static android.content.pm.PackageManager.INSTALL_REASON_DEVICE_RESTORE;
+import static android.content.pm.PackageManager.INSTALL_REASON_DEVICE_SETUP;
 import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
 import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
 import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK;
@@ -94,6 +96,7 @@
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.content.pm.PackageManager.RESTRICTION_NONE;
 import static android.content.pm.PackageManager.UNINSTALL_REASON_UNKNOWN;
+import static android.content.pm.PackageParser.SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V4;
 import static android.content.pm.PackageParser.isApkFile;
 import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
 import static android.os.incremental.IncrementalManager.isIncrementalPath;
@@ -1343,13 +1346,6 @@
                     int updatedStatus = INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED;
                     boolean needUpdate = false;
 
-                    if (DEBUG_DOMAIN_VERIFICATION) {
-                        Slog.d(TAG,
-                                "Updating IntentFilterVerificationInfo for package " + packageName
-                                + " verificationId:" + verificationId
-                                + " verified=" + verified);
-                    }
-
                     // In a success case, we promote from undefined or ASK to ALWAYS.  This
                     // supports a flow where the app fails validation but then ships an updated
                     // APK that passes, and therefore deserves to be in ALWAYS.
@@ -1820,10 +1816,12 @@
                             state.setVerifierResponse(Binder.getCallingUid(),
                                     PackageManager.VERIFICATION_ALLOW_WITHOUT_SUFFICIENT);
                             broadcastPackageVerified(verificationId, originUri,
-                                    PackageManager.VERIFICATION_ALLOW, user);
+                                    PackageManager.VERIFICATION_ALLOW, null, args.mDataLoaderType,
+                                    user);
                         } else {
                             broadcastPackageVerified(verificationId, originUri,
-                                    PackageManager.VERIFICATION_REJECT, user);
+                                    PackageManager.VERIFICATION_REJECT, null, args.mDataLoaderType,
+                                    user);
                             params.setReturnCode(
                                     PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE);
                             state.setVerifierResponse(Binder.getCallingUid(),
@@ -1899,7 +1897,7 @@
 
                         if (state.isInstallAllowed()) {
                             broadcastPackageVerified(verificationId, originUri,
-                                    response.code, args.getUser());
+                                    response.code, null, args.mDataLoaderType, args.getUser());
                         } else {
                             params.setReturnCode(
                                     PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE);
@@ -2812,10 +2810,14 @@
     }
 
     public PackageManagerService(Injector injector, boolean onlyCore, boolean factoryTest) {
-        PackageManager.invalidatePackageInfoCache();
         PackageManager.disableApplicationInfoCache();
         PackageManager.disablePackageInfoCache();
 
+        // Avoid invalidation-thrashing by preventing cache invalidations from causing property
+        // writes if the cache isn't enabled yet.  We re-enable writes later when we're
+        // done initializing.
+        PackageManager.corkPackageInfoCache();
+
         final TimingsTraceAndSlog t = new TimingsTraceAndSlog(TAG + "Timing",
                 Trace.TRACE_TAG_PACKAGE_MANAGER);
         mPendingBroadcasts = new PendingPackageBroadcasts();
@@ -3576,7 +3578,8 @@
             // Prepare a supplier of package parser for the staging manager to parse apex file
             // during the staging installation.
             final Supplier<PackageParser2> apexParserSupplier = () -> new PackageParser2(
-                    mSeparateProcesses, mOnlyCore, mMetrics, mCacheDir, mPackageParserCallback);
+                    mSeparateProcesses, mOnlyCore, mMetrics, null /* cacheDir */,
+                    mPackageParserCallback);
             mInstallerService = new PackageInstallerService(mContext, this, apexParserSupplier);
             final Pair<ComponentName, String> instantAppResolverComponent =
                     getInstantAppResolverLPr();
@@ -3620,6 +3623,9 @@
 
         mModuleInfoProvider = new ModuleInfoProvider(mContext, this);
 
+        // Uncork cache invalidations and allow clients to cache package information.
+        PackageManager.uncorkPackageInfoCache();
+
         // Now after opening every single application zip, make sure they
         // are all flushed.  Not really needed, but keeps things nice and
         // tidy.
@@ -5935,8 +5941,25 @@
                     || shouldFilterApplicationLocked(ps2, callingUid, callingUserId)) {
                 return PackageManager.SIGNATURE_UNKNOWN_PACKAGE;
             }
-            return compareSignatures(p1.getSigningDetails().signatures,
-                    p2.getSigningDetails().signatures);
+            SigningDetails p1SigningDetails = p1.getSigningDetails();
+            SigningDetails p2SigningDetails = p2.getSigningDetails();
+            int result = compareSignatures(p1SigningDetails.signatures,
+                    p2SigningDetails.signatures);
+            // To support backwards compatibility with clients of this API expecting pre-key
+            // rotation results if either of the packages has a signing lineage the oldest signer
+            // in the lineage is used for signature verification.
+            if (result != PackageManager.SIGNATURE_MATCH && (
+                    p1SigningDetails.hasPastSigningCertificates()
+                            || p2SigningDetails.hasPastSigningCertificates())) {
+                Signature[] p1Signatures = p1SigningDetails.hasPastSigningCertificates()
+                        ? new Signature[]{p1SigningDetails.pastSigningCertificates[0]}
+                        : p1SigningDetails.signatures;
+                Signature[] p2Signatures = p2SigningDetails.hasPastSigningCertificates()
+                        ? new Signature[]{p2SigningDetails.pastSigningCertificates[0]}
+                        : p2SigningDetails.signatures;
+                result = compareSignatures(p1Signatures, p2Signatures);
+            }
+            return result;
         }
     }
 
@@ -13575,12 +13598,17 @@
     }
 
     private void broadcastPackageVerified(int verificationId, Uri packageUri,
-            int verificationCode, UserHandle user) {
+            int verificationCode, @Nullable String rootHashString, int dataLoaderType,
+            UserHandle user) {
         final Intent intent = new Intent(Intent.ACTION_PACKAGE_VERIFIED);
         intent.setDataAndType(packageUri, PACKAGE_MIME_TYPE);
         intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
         intent.putExtra(PackageManager.EXTRA_VERIFICATION_ID, verificationId);
         intent.putExtra(PackageManager.EXTRA_VERIFICATION_RESULT, verificationCode);
+        if (rootHashString != null) {
+            intent.putExtra(PackageManager.EXTRA_VERIFICATION_ROOT_HASH, rootHashString);
+        }
+        intent.putExtra(PackageInstaller.EXTRA_DATA_LOADER_TYPE, dataLoaderType);
 
         mContext.sendBroadcastAsUser(intent, user,
                 android.Manifest.permission.PACKAGE_VERIFICATION_AGENT);
@@ -14952,8 +14980,17 @@
             verificationState.setRequiredVerifierUid(requiredUid);
             final int installerUid =
                     verificationInfo == null ? -1 : verificationInfo.installerUid;
-            if (!origin.existing && isVerificationEnabled(pkgLite, verifierUser.getIdentifier(),
-                      installFlags, installerUid)) {
+            final boolean isVerificationEnabled = isVerificationEnabled(
+                    pkgLite, verifierUser.getIdentifier(), installFlags, installerUid);
+            final boolean isV4Signed =
+                    (mArgs.signingDetails.signatureSchemeVersion == SIGNING_BLOCK_V4);
+            final boolean isIncrementalInstall =
+                    (mArgs.mDataLoaderType == DataLoaderType.INCREMENTAL);
+            // NOTE: We purposefully skip verification for only incremental installs when there's
+            // a v4 signature block. Otherwise, proceed with verification as usual.
+            if (!origin.existing
+                    && isVerificationEnabled
+                    && (!isIncrementalInstall || !isV4Signed)) {
                 final Intent verification = new Intent(
                         Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
                 verification.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
@@ -16569,7 +16606,29 @@
             }
             executePostCommitSteps(commitRequest);
         } finally {
-            if (!success) {
+            if (success) {
+                for (InstallRequest request : requests) {
+                    final InstallArgs args = request.args;
+                    if (args.mDataLoaderType != DataLoaderType.INCREMENTAL) {
+                        continue;
+                    }
+                    if (args.signingDetails.signatureSchemeVersion != SIGNING_BLOCK_V4) {
+                        continue;
+                    }
+                    // For incremental installs, we bypass the verifier prior to install. Now
+                    // that we know the package is valid, send a notice to the verifier with
+                    // the root hash of the base.apk.
+                    final String baseCodePath = request.installResult.pkg.getBaseCodePath();
+                    final String[] splitCodePaths = request.installResult.pkg.getSplitCodePaths();
+                    final Uri originUri = Uri.fromFile(args.origin.resolvedFile);
+                    final int verificationId = mPendingVerificationToken++;
+                    final String rootHashString = PackageManagerServiceUtils
+                            .buildVerificationRootHashString(baseCodePath, splitCodePaths);
+                    broadcastPackageVerified(verificationId, originUri,
+                            PackageManager.VERIFICATION_ALLOW, rootHashString,
+                            args.mDataLoaderType, args.getUser());
+                }
+            } else {
                 for (ScanResult result : preparedScans.values()) {
                     if (createdAppId.getOrDefault(result.request.parsedPackage.getPackageName(),
                             false)) {
@@ -16670,10 +16729,15 @@
                 // method because `pkg` may not be in `mPackages` yet.
                 //
                 // Also, don't fail application installs if the dexopt step fails.
+                int flags = DexoptOptions.DEXOPT_BOOT_COMPLETE
+                        | DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE;
+                if (reconciledPkg.installArgs.installReason == INSTALL_REASON_DEVICE_RESTORE
+                        || reconciledPkg.installArgs.installReason == INSTALL_REASON_DEVICE_SETUP) {
+                    flags |= DexoptOptions.DEXOPT_FOR_RESTORE;
+                }
                 DexoptOptions dexoptOptions = new DexoptOptions(packageName,
                         REASON_INSTALL,
-                        DexoptOptions.DEXOPT_BOOT_COMPLETE
-                                | DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE);
+                        flags);
                 ScanResult result = reconciledPkg.scanResult;
 
                 // This mirrors logic from commitReconciledScanResultLocked, where the library files
@@ -16911,7 +16975,6 @@
             if (args.signingDetails != PackageParser.SigningDetails.UNKNOWN) {
                 parsedPackage.setSigningDetails(args.signingDetails);
             } else {
-                // TODO(b/136132412): skip for Incremental installation
                 parsedPackage.setSigningDetails(
                         ParsingPackageUtils.collectCertificates(parsedPackage, false /* skipVerify */));
             }
@@ -17569,65 +17632,120 @@
                 + " Activities needs verification ...");
 
         int count = 0;
-
+        boolean handlesWebUris = false;
+        ArraySet<String> domains = new ArraySet<>();
+        final boolean previouslyVerified;
+        boolean hostSetExpanded = false;
+        boolean needToRunVerify = false;
         synchronized (mLock) {
             // If this is a new install and we see that we've already run verification for this
             // package, we have nothing to do: it means the state was restored from backup.
-            if (!replacing) {
-                IntentFilterVerificationInfo ivi =
-                        mSettings.getIntentFilterVerificationLPr(packageName);
-                if (ivi != null) {
-                    if (DEBUG_DOMAIN_VERIFICATION) {
-                        Slog.i(TAG, "Package " + packageName+ " already verified: status="
-                                + ivi.getStatusString());
-                    }
-                    return;
+            IntentFilterVerificationInfo ivi =
+                    mSettings.getIntentFilterVerificationLPr(packageName);
+            previouslyVerified = (ivi != null);
+            if (!replacing && previouslyVerified) {
+                if (DEBUG_DOMAIN_VERIFICATION) {
+                    Slog.i(TAG, "Package " + packageName + " already verified: status="
+                            + ivi.getStatusString());
                 }
+                return;
             }
 
-            // If any filters need to be verified, then all need to be.
-            boolean needToVerify = false;
+            if (DEBUG_DOMAIN_VERIFICATION) {
+                Slog.i(TAG, "    Previous verified hosts: "
+                        + (ivi == null ? "[none]" : ivi.getDomainsString()));
+            }
+
+            // If any filters need to be verified, then all need to be.  In addition, we need to
+            // know whether an updating app has any web navigation intent filters, to re-
+            // examine handling policy even if not re-verifying.
+            final boolean needsVerification = needsNetworkVerificationLPr(packageName);
             for (ParsedActivity a : activities) {
                 for (ParsedIntentInfo filter : a.getIntents()) {
-                    if (filter.needsVerification()
-                            && needsNetworkVerificationLPr(a.getPackageName())) {
+                    if (filter.handlesWebUris(true)) {
+                        handlesWebUris = true;
+                    }
+                    if (needsVerification && filter.needsVerification()) {
                         if (DEBUG_DOMAIN_VERIFICATION) {
-                            Slog.d(TAG,
-                                    "Intent filter needs verification, so processing all filters");
+                            Slog.d(TAG, "autoVerify requested, processing all filters");
                         }
-                        needToVerify = true;
+                        needToRunVerify = true;
+                        // It's safe to break out here because filter.needsVerification()
+                        // can only be true if filter.handlesWebUris(true) returned true, so
+                        // we've already noted that.
                         break;
                     }
                 }
             }
 
-            if (needToVerify) {
-                final boolean needsVerification = needsNetworkVerificationLPr(packageName);
+            // Compare the new set of recognized hosts if the app is either requesting
+            // autoVerify or has previously used autoVerify but no longer does.
+            if (needToRunVerify || previouslyVerified) {
                 final int verificationId = mIntentFilterVerificationToken++;
                 for (ParsedActivity a : activities) {
                     for (ParsedIntentInfo filter : a.getIntents()) {
                         // Run verification against hosts mentioned in any web-nav intent filter,
                         // even if the filter matches non-web schemes as well
-                        if (needsVerification && filter.handlesWebUris(false)) {
+                        if (filter.handlesWebUris(false /*onlyWebSchemes*/)) {
                             if (DEBUG_DOMAIN_VERIFICATION) Slog.d(TAG,
                                     "Verification needed for IntentFilter:" + filter.toString());
                             mIntentFilterVerifier.addOneIntentFilterVerification(
                                     verifierUid, userId, verificationId, filter, packageName);
+                            domains.addAll(filter.getHostsList());
                             count++;
                         }
                     }
                 }
             }
+
+            if (DEBUG_DOMAIN_VERIFICATION) {
+                Slog.i(TAG, "    Update published hosts: " + domains.toString());
+            }
+
+            // If we've previously verified this same host set (or a subset), we can trust that
+            // a current ALWAYS policy is still applicable.  If this is the case, we're done.
+            // (If we aren't in ALWAYS, we want to reverify to allow for apps that had failing
+            // hosts in their intent filters, then pushed a new apk that removed them and now
+            // passes.)
+            //
+            // Cases:
+            //   + still autoVerify (needToRunVerify):
+            //      - preserve current state if all of: unexpanded, in always
+            //      - otherwise rerun as usual (fall through)
+            //   + no longer autoVerify (alreadyVerified && !needToRunVerify)
+            //      - wipe verification history always
+            //      - preserve current state if all of: unexpanded, in always
+            hostSetExpanded = !previouslyVerified
+                    || (ivi != null && !ivi.getDomains().containsAll(domains));
+            final int currentPolicy =
+                    mSettings.getIntentFilterVerificationStatusLPr(packageName, userId);
+            final boolean keepCurState = !hostSetExpanded
+                    && currentPolicy == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
+
+            if (needToRunVerify && keepCurState) {
+                if (DEBUG_DOMAIN_VERIFICATION) {
+                    Slog.i(TAG, "Host set not expanding + ALWAYS -> no need to reverify");
+                }
+                ivi.setDomains(domains);
+                scheduleWriteSettingsLocked();
+                return;
+            } else if (previouslyVerified && !needToRunVerify) {
+                // Prior autoVerify state but not requesting it now.  Clear autoVerify history,
+                // and preserve the always policy iff the host set is not expanding.
+                clearIntentFilterVerificationsLPw(packageName, userId, !keepCurState);
+                return;
+            }
         }
 
-        if (count > 0) {
+        if (needToRunVerify && count > 0) {
+            // app requested autoVerify and has at least one matching intent filter
             if (DEBUG_DOMAIN_VERIFICATION) Slog.d(TAG, "Starting " + count
                     + " IntentFilter verification" + (count > 1 ? "s" : "")
                     +  " for userId:" + userId);
             mIntentFilterVerifier.startVerifications(userId);
         } else {
             if (DEBUG_DOMAIN_VERIFICATION) {
-                Slog.d(TAG, "No filters or not all autoVerify for " + packageName);
+                Slog.d(TAG, "No web filters or no new host policy for " + packageName);
             }
         }
     }
@@ -18332,7 +18450,7 @@
             if ((flags & PackageManager.DELETE_KEEP_DATA) == 0) {
                 final SparseBooleanArray changedUsers = new SparseBooleanArray();
                 synchronized (mLock) {
-                    clearIntentFilterVerificationsLPw(deletedPs.name, UserHandle.USER_ALL);
+                    clearIntentFilterVerificationsLPw(deletedPs.name, UserHandle.USER_ALL, true);
                     clearDefaultBrowserIfNeeded(packageName);
                     mSettings.mKeySetManagerService.removeAppKeySetDataLPw(packageName);
                     removedAppId = mSettings.removePackageLPw(packageName);
@@ -19425,13 +19543,14 @@
         final int packageCount = mPackages.size();
         for (int i = 0; i < packageCount; i++) {
             AndroidPackage pkg = mPackages.valueAt(i);
-            clearIntentFilterVerificationsLPw(pkg.getPackageName(), userId);
+            clearIntentFilterVerificationsLPw(pkg.getPackageName(), userId, true);
         }
     }
 
     /** This method takes a specific user id as well as UserHandle.USER_ALL. */
     @GuardedBy("mLock")
-    void clearIntentFilterVerificationsLPw(String packageName, int userId) {
+    void clearIntentFilterVerificationsLPw(String packageName, int userId,
+            boolean alsoResetStatus) {
         if (userId == UserHandle.USER_ALL) {
             if (mSettings.removeIntentFilterVerificationLPw(packageName,
                     mUserManager.getUserIds())) {
@@ -19440,7 +19559,8 @@
                 }
             }
         } else {
-            if (mSettings.removeIntentFilterVerificationLPw(packageName, userId)) {
+            if (mSettings.removeIntentFilterVerificationLPw(packageName, userId,
+                    alsoResetStatus)) {
                 scheduleWritePackageRestrictionsLocked(userId);
             }
         }
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index 91afd84..5c175a6 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -32,7 +32,6 @@
 import android.app.AppGlobals;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfoLite;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManagerInternal;
@@ -40,7 +39,6 @@
 import android.content.pm.PackageParser.PackageParserException;
 import android.content.pm.ResolveInfo;
 import android.content.pm.Signature;
-import android.content.pm.parsing.ParsingPackageUtils;
 import android.os.Build;
 import android.os.Debug;
 import android.os.Environment;
@@ -50,6 +48,9 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManagerInternal;
+import android.os.incremental.IncrementalManager;
+import android.os.incremental.V4Signature;
+import android.os.incremental.V4Signature.HashingInfo;
 import android.service.pm.PackageServiceDumpProto;
 import android.system.ErrnoException;
 import android.system.Os;
@@ -62,6 +63,7 @@
 import com.android.internal.content.PackageHelper;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.FastPrintWriter;
+import com.android.internal.util.HexDump;
 import com.android.server.EventLogTags;
 import com.android.server.pm.dex.DexManager;
 import com.android.server.pm.dex.PackageDexUsage;
@@ -94,8 +96,6 @@
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
 import java.util.function.Predicate;
 import java.util.zip.GZIPInputStream;
 
@@ -943,4 +943,71 @@
             Os.chmod(currentDir.getAbsolutePath(), mode);
         }
     }
+
+    /**
+     * Returns a string that's compatible with the verification root hash extra.
+     * @see PackageManager#EXTRA_VERIFICATION_ROOT_HASH
+     */
+    @NonNull
+    public static String buildVerificationRootHashString(@NonNull String baseFilename,
+            @Nullable String[] splitFilenameArray) {
+        final StringBuilder sb = new StringBuilder();
+        final String baseFilePath =
+                baseFilename.substring(baseFilename.lastIndexOf(File.separator) + 1);
+        sb.append(baseFilePath).append(":");
+        final byte[] baseRootHash = getRootHash(baseFilename);
+        if (baseRootHash == null) {
+            sb.append("0");
+        } else {
+            sb.append(HexDump.toHexString(baseRootHash));
+        }
+        if (splitFilenameArray == null || splitFilenameArray.length == 0) {
+            return sb.toString();
+        }
+
+        for (int i = splitFilenameArray.length - 1; i >= 0; i--) {
+            final String splitFilename = splitFilenameArray[i];
+            final String splitFilePath =
+                    splitFilename.substring(splitFilename.lastIndexOf(File.separator) + 1);
+            final byte[] splitRootHash = getRootHash(splitFilename);
+            sb.append(";").append(splitFilePath).append(":");
+            if (splitRootHash == null) {
+                sb.append("0");
+            } else {
+                sb.append(HexDump.toHexString(splitRootHash));
+            }
+        }
+        return sb.toString();
+    }
+
+    /**
+     * Returns the root has for the given file.
+     * <p>Otherwise, returns {@code null} if the root hash could not be found or calculated.
+     * <p>NOTE: This currently only works on files stored on the incremental file system. The
+     * eventual goal is that this hash [among others] can be retrieved for any file.
+     */
+    @Nullable
+    private static byte[] getRootHash(String filename) {
+        try {
+            final byte[] baseFileSignature =
+                    IncrementalManager.unsafeGetFileSignature(filename);
+            if (baseFileSignature == null) {
+                throw new IOException("File signature not present");
+            }
+            final V4Signature signature =
+                    V4Signature.readFrom(baseFileSignature);
+            if (signature.hashingInfo == null) {
+                throw new IOException("Hashing info not present");
+            }
+            final HashingInfo hashInfo =
+                    HashingInfo.fromByteArray(signature.hashingInfo);
+            if (ArrayUtils.isEmpty(hashInfo.rawRootHash)) {
+                throw new IOException("Root has not present");
+            }
+            return hashInfo.rawRootHash;
+        } catch (IOException ignore) {
+            Slog.e(TAG, "ERROR: could not load root hash from incremental install");
+        }
+        return null;
+    }
 }
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index b4eacf6..88f442c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -297,6 +297,8 @@
                     return runGetModuleInfo();
                 case "log-visibility":
                     return runLogVisibility();
+                case "bypass-staged-installer-check":
+                    return runBypassStagedInstallerCheck();
                 default: {
                     String nextArg = getNextArg();
                     if (nextArg == null) {
@@ -392,6 +394,20 @@
         return 1;
     }
 
+    private int runBypassStagedInstallerCheck() {
+        final PrintWriter pw = getOutPrintWriter();
+        try {
+            mInterface.getPackageInstaller()
+                    .bypassNextStagedInstallerCheck(Boolean.parseBoolean(getNextArg()));
+            return 0;
+        } catch (RemoteException e) {
+            pw.println("Failure ["
+                    + e.getClass().getName() + " - "
+                    + e.getMessage() + "]");
+            return -1;
+        }
+    }
+
     private int uninstallSystemUpdates() {
         final PrintWriter pw = getOutPrintWriter();
         List<String> failedUninstalls = new LinkedList<>();
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index f6e4e1f..44a61d8 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -1282,7 +1282,8 @@
         return result;
     }
 
-    boolean removeIntentFilterVerificationLPw(String packageName, int userId) {
+    boolean removeIntentFilterVerificationLPw(String packageName, int userId,
+            boolean alsoResetStatus) {
         PackageSetting ps = mPackages.get(packageName);
         if (ps == null) {
             if (DEBUG_DOMAIN_VERIFICATION) {
@@ -1290,14 +1291,17 @@
             }
             return false;
         }
-        ps.clearDomainVerificationStatusForUser(userId);
+        if (alsoResetStatus) {
+            ps.clearDomainVerificationStatusForUser(userId);
+        }
+        ps.setIntentFilterVerificationInfo(null);
         return true;
     }
 
     boolean removeIntentFilterVerificationLPw(String packageName, int[] userIds) {
         boolean result = false;
         for (int userId : userIds) {
-            result |= removeIntentFilterVerificationLPw(packageName, userId);
+            result |= removeIntentFilterVerificationLPw(packageName, userId, true);
         }
         return result;
     }
@@ -4207,18 +4211,12 @@
             }
         }
         t.traceBegin("createAppData");
-        for (int i = 0; i < packagesCount; i++) {
-            if (names[i] == null) {
-                continue;
-            }
-            // TODO: triage flags!
-            final int flags = StorageManager.FLAG_STORAGE_CE | StorageManager.FLAG_STORAGE_DE;
-            try {
-                installer.createAppData(volumeUuids[i], names[i], userHandle, flags, appIds[i],
-                        seinfos[i], targetSdkVersions[i]);
-            } catch (InstallerException e) {
-                Slog.w(TAG, "Failed to prepare app data", e);
-            }
+        final int flags = StorageManager.FLAG_STORAGE_CE | StorageManager.FLAG_STORAGE_DE;
+        try {
+            installer.createAppDataBatched(volumeUuids, names, userHandle, flags, appIds, seinfos,
+                    targetSdkVersions);
+        } catch (InstallerException e) {
+            Slog.w(TAG, "Failed to prepare app data", e);
         }
         t.traceEnd(); // createAppData
         synchronized (mLock) {
diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java
index 8f6bd02..d1d9877 100644
--- a/services/core/java/com/android/server/pm/StagingManager.java
+++ b/services/core/java/com/android/server/pm/StagingManager.java
@@ -523,8 +523,12 @@
                 // TODO(b/146343545): Persist failure reason across checkpoint reboot
                 Slog.d(TAG, "Reverting back to safe state. Marking " + session.sessionId
                         + " as failed.");
-                session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_UNKNOWN,
-                        "Reverting back to safe state");
+                String errorMsg = "Reverting back to safe state";
+                if (!TextUtils.isEmpty(mNativeFailureReason)) {
+                    errorMsg = "Entered fs-rollback mode and reverted session due to crashing "
+                            + "native process: " + mNativeFailureReason;
+                }
+                session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_UNKNOWN, errorMsg);
                 return;
             }
         } catch (RemoteException e) {
@@ -553,6 +557,10 @@
             if (isApexSessionFailed(apexSessionInfo)) {
                 String errorMsg = "APEX activation failed. Check logcat messages from apexd for "
                         + "more information.";
+                if (!TextUtils.isEmpty(mNativeFailureReason)) {
+                    errorMsg = "Session reverted due to crashing native process: "
+                            + mNativeFailureReason;
+                }
                 session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_ACTIVATION_FAILED,
                         errorMsg);
                 abortCheckpoint(errorMsg);
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 323ffcf..fc70af4 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -103,6 +103,7 @@
 import com.android.internal.os.BackgroundThread;
 import com.android.internal.util.DumpUtils;
 import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
 import com.android.internal.util.Preconditions;
 import com.android.internal.util.XmlUtils;
 import com.android.internal.widget.LockPatternUtils;
@@ -137,6 +138,7 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.ThreadLocalRandom;
 
 /**
  * Service for {@link UserManager}.
@@ -3244,16 +3246,39 @@
             @NonNull String userType, @UserInfoFlag int flags, @UserIdInt int parentId,
             boolean preCreate, @Nullable String[] disallowedPackages)
             throws UserManager.CheckedUserOperationException {
+        final int nextProbableUserId = getNextAvailableId();
         final TimingsTraceAndSlog t = new TimingsTraceAndSlog();
         t.traceBegin("createUser-" + flags);
+        final long sessionId = logUserCreateJourneyBegin(nextProbableUserId, userType, flags);
         try {
             return createUserInternalUncheckedNoTracing(name, userType, flags, parentId,
                     preCreate, disallowedPackages, t);
         } finally {
+            logUserCreateJourneyFinish(sessionId, nextProbableUserId);
             t.traceEnd();
         }
     }
 
+    private long logUserCreateJourneyBegin(@UserIdInt int userId, String userType,
+            @UserInfoFlag int flags) {
+        final long sessionId = ThreadLocalRandom.current().nextLong(1, Long.MAX_VALUE);
+        // log the journey atom with the user metadata
+        FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED, sessionId,
+                FrameworkStatsLog.USER_LIFECYCLE_JOURNEY_REPORTED__JOURNEY__USER_CREATE,
+                /* origin_user= */ -1, userId, UserManager.getUserTypeForStatsd(userType), flags);
+        // log the event atom to indicate the event start
+        FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED, sessionId, userId,
+                FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__CREATE_USER,
+                FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__BEGIN);
+        return sessionId;
+    }
+
+    private void logUserCreateJourneyFinish(long sessionId, @UserIdInt int userId) {
+        FrameworkStatsLog.write(FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED, sessionId, userId,
+                FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__EVENT__CREATE_USER,
+                FrameworkStatsLog.USER_LIFECYCLE_EVENT_OCCURRED__STATE__FINISH);
+    }
+
     private UserInfo createUserInternalUncheckedNoTracing(@Nullable String name,
             @NonNull String userType, @UserInfoFlag int flags, @UserIdInt int parentId,
             boolean preCreate, @Nullable String[] disallowedPackages,
diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
index c0502b8..0b6024a 100644
--- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
+++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
@@ -211,24 +211,16 @@
                     UserManager.DISALLOW_ADD_USER,
                     UserManager.DISALLOW_BLUETOOTH,
                     UserManager.DISALLOW_BLUETOOTH_SHARING,
-                    UserManager.DISALLOW_CONFIG_BLUETOOTH,
                     UserManager.DISALLOW_CONFIG_CELL_BROADCASTS,
-                    UserManager.DISALLOW_CONFIG_LOCATION,
                     UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS,
                     UserManager.DISALLOW_CONFIG_PRIVATE_DNS,
                     UserManager.DISALLOW_CONFIG_TETHERING,
-                    UserManager.DISALLOW_CONFIG_WIFI,
-                    UserManager.DISALLOW_CONTENT_CAPTURE,
-                    UserManager.DISALLOW_CONTENT_SUGGESTIONS,
                     UserManager.DISALLOW_DATA_ROAMING,
-                    UserManager.DISALLOW_DEBUGGING_FEATURES,
                     UserManager.DISALLOW_SAFE_BOOT,
-                    UserManager.DISALLOW_SHARE_LOCATION,
                     UserManager.DISALLOW_SMS,
                     UserManager.DISALLOW_USB_FILE_TRANSFER,
                     UserManager.DISALLOW_AIRPLANE_MODE,
                     UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
-                    UserManager.DISALLOW_OUTGOING_CALLS,
                     UserManager.DISALLOW_UNMUTE_MICROPHONE
     );
 
@@ -237,7 +229,16 @@
      * set on the parent profile instance to apply them on the personal profile.
      */
     private static final Set<String> PROFILE_OWNER_ORGANIZATION_OWNED_LOCAL_RESTRICTIONS =
-            Sets.newArraySet();
+            Sets.newArraySet(
+                    UserManager.DISALLOW_CONFIG_BLUETOOTH,
+                    UserManager.DISALLOW_CONFIG_LOCATION,
+                    UserManager.DISALLOW_CONFIG_WIFI,
+                    UserManager.DISALLOW_CONTENT_CAPTURE,
+                    UserManager.DISALLOW_CONTENT_SUGGESTIONS,
+                    UserManager.DISALLOW_DEBUGGING_FEATURES,
+                    UserManager.DISALLOW_SHARE_LOCATION,
+                    UserManager.DISALLOW_OUTGOING_CALLS
+    );
 
     /**
      * User restrictions that default to {@code true} for managed profile owners.
diff --git a/services/core/java/com/android/server/pm/dex/DexManager.java b/services/core/java/com/android/server/pm/dex/DexManager.java
index 6dcf71e..f7bf1d9 100644
--- a/services/core/java/com/android/server/pm/dex/DexManager.java
+++ b/services/core/java/com/android/server/pm/dex/DexManager.java
@@ -79,6 +79,10 @@
     private static final String PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST =
             "pm.dexopt.priv-apps-oob-list";
 
+    // System server cannot load executable code outside system partitions.
+    // However it can load verification data - thus we pick the "verify" compiler filter.
+    private static final String SYSTEM_SERVER_COMPILER_FILTER = "verify";
+
     private final Context mContext;
 
     // Maps package name to code locations.
@@ -443,6 +447,14 @@
      *         because they don't need to be compiled)..
      */
     public boolean dexoptSecondaryDex(DexoptOptions options) {
+        if (PLATFORM_PACKAGE_NAME.equals(options.getPackageName())) {
+            // We could easily redirect to #dexoptSystemServer in this case. But there should be
+            // no-one calling this method directly for system server.
+            // As such we prefer to abort in this case.
+            Slog.wtf(TAG, "System server jars should be optimized with dexoptSystemServer");
+            return false;
+        }
+
         PackageDexOptimizer pdo = getPackageDexOptimizer(options);
         String packageName = options.getPackageName();
         PackageUseInfo useInfo = getPackageUseInfoOrDefault(packageName);
@@ -501,8 +513,17 @@
             return PackageDexOptimizer.DEX_OPT_FAILED;
         }
 
-        PackageDexOptimizer pdo = getPackageDexOptimizer(options);
-        String packageName = options.getPackageName();
+        // Override compiler filter for system server to the expected one.
+        //
+        // We could let the caller do this every time the invoke PackageManagerServer#dexopt.
+        // However, there are a few places were this will need to be done which creates
+        // redundancy and the danger of overlooking the config (and thus generating code that will
+        // waste storage and time).
+        DexoptOptions overriddenOptions = options.overrideCompilerFilter(
+                SYSTEM_SERVER_COMPILER_FILTER);
+
+        PackageDexOptimizer pdo = getPackageDexOptimizer(overriddenOptions);
+        String packageName = overriddenOptions.getPackageName();
         PackageUseInfo useInfo = getPackageUseInfoOrDefault(packageName);
         if (useInfo.getDexUseInfoMap().isEmpty()) {
             if (DEBUG) {
@@ -527,7 +548,7 @@
                 continue;
             }
 
-            int newResult = pdo.dexoptSystemServerPath(dexPath, dexUseInfo, options);
+            int newResult = pdo.dexoptSystemServerPath(dexPath, dexUseInfo, overriddenOptions);
 
             // The end result is:
             //  - FAILED if any path failed,
@@ -600,6 +621,23 @@
                         packageName, dexUseInfo.getOwnerUserId()) || updated;
                 continue;
             }
+
+            // Special handle system server files.
+            // We don't need an installd call because we have permissions to check if the file
+            // exists.
+            if (PLATFORM_PACKAGE_NAME.equals(packageName)) {
+                if (!Files.exists(Paths.get(dexPath))) {
+                    if (DEBUG) {
+                        Slog.w(TAG, "A dex file previously loaded by System Server does not exist "
+                                + " anymore: " + dexPath);
+                    }
+                    updated = mPackageDexUsage.removeUserPackage(
+                            packageName, dexUseInfo.getOwnerUserId()) || updated;
+                }
+                continue;
+            }
+
+            // This is a regular application.
             ApplicationInfo info = pkg.applicationInfo;
             int flags = 0;
             if (info.deviceProtectedDataDir != null &&
diff --git a/services/core/java/com/android/server/pm/dex/DexoptOptions.java b/services/core/java/com/android/server/pm/dex/DexoptOptions.java
index de3c9f2..68f3886 100644
--- a/services/core/java/com/android/server/pm/dex/DexoptOptions.java
+++ b/services/core/java/com/android/server/pm/dex/DexoptOptions.java
@@ -61,6 +61,10 @@
     // should get the dex metdata file if present.
     public static final int DEXOPT_INSTALL_WITH_DEX_METADATA_FILE = 1 << 10;
 
+    // When set, indicates that dexopt is being invoked from the install flow during device restore
+    // or device setup and should be scheduled appropriately.
+    public static final int DEXOPT_FOR_RESTORE = 1 << 11; // TODO(b/135202722): remove
+
     // The name of package to optimize.
     private final String mPackageName;
 
@@ -99,7 +103,8 @@
                 DEXOPT_DOWNGRADE |
                 DEXOPT_AS_SHARED_LIBRARY |
                 DEXOPT_IDLE_BACKGROUND_JOB |
-                DEXOPT_INSTALL_WITH_DEX_METADATA_FILE;
+                DEXOPT_INSTALL_WITH_DEX_METADATA_FILE |
+                DEXOPT_FOR_RESTORE;
         if ((flags & (~validityMask)) != 0) {
             throw new IllegalArgumentException("Invalid flags : " + Integer.toHexString(flags));
         }
@@ -155,6 +160,10 @@
         return (mFlags & DEXOPT_INSTALL_WITH_DEX_METADATA_FILE) != 0;
     }
 
+    public boolean isDexoptInstallForRestore() {
+        return (mFlags & DEXOPT_FOR_RESTORE) != 0;
+    }
+
     public String getSplitName() {
         return mSplitName;
     }
@@ -166,4 +175,17 @@
     public int getCompilationReason() {
         return mCompilationReason;
     }
+
+    /**
+     * Creates a new set of DexoptOptions which are the same with the exception of the compiler
+     * filter (set to the given value).
+     */
+    public DexoptOptions overrideCompilerFilter(String newCompilerFilter) {
+        return new DexoptOptions(
+                mPackageName,
+                mCompilationReason,
+                newCompilerFilter,
+                mSplitName,
+                mFlags);
+    }
 }
diff --git a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
index 137e0aa..09b4f89 100644
--- a/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
+++ b/services/core/java/com/android/server/pm/parsing/PackageInfoUtils.java
@@ -235,8 +235,9 @@
         info.primaryCpuAbi = AndroidPackageUtils.getPrimaryCpuAbi(pkg, pkgSetting);
         info.secondaryCpuAbi = AndroidPackageUtils.getSecondaryCpuAbi(pkg, pkgSetting);
 
-        info.flags |= appInfoFlags(pkg, pkgSetting);
-        info.privateFlags |= appInfoPrivateFlags(pkg, pkgSetting);
+        info.flags |= appInfoFlags(info.flags, pkgSetting);
+        info.privateFlags |= appInfoPrivateFlags(info.privateFlags, pkgSetting);
+
         return info;
     }
 
@@ -455,9 +456,18 @@
     public static int appInfoFlags(AndroidPackage pkg, @Nullable PackageSetting pkgSetting) {
         // TODO(b/135203078): Add setting related state
         // @formatter:off
-        int flags = PackageInfoWithoutStateUtils.appInfoFlags(pkg)
+        int pkgWithoutStateFlags = PackageInfoWithoutStateUtils.appInfoFlags(pkg)
                 | flag(pkg.isSystem(), ApplicationInfo.FLAG_SYSTEM)
                 | flag(pkg.isFactoryTest(), ApplicationInfo.FLAG_FACTORY_TEST);
+
+        return appInfoFlags(pkgWithoutStateFlags, pkgSetting);
+        // @formatter:on
+    }
+
+    /** @see ApplicationInfo#flags */
+    public static int appInfoFlags(int pkgWithoutStateFlags, @NonNull PackageSetting pkgSetting) {
+        // @formatter:off
+        int flags = pkgWithoutStateFlags;
         if (pkgSetting != null) {
             flags |= flag(pkgSetting.getPkgState().isUpdatedSystemApp(), ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
         }
@@ -467,9 +477,8 @@
 
     /** @see ApplicationInfo#privateFlags */
     public static int appInfoPrivateFlags(AndroidPackage pkg, @Nullable PackageSetting pkgSetting) {
-        // TODO(b/135203078): Add setting related state
         // @formatter:off
-        return PackageInfoWithoutStateUtils.appInfoPrivateFlags(pkg)
+        int pkgWithoutStateFlags = PackageInfoWithoutStateUtils.appInfoPrivateFlags(pkg)
                 | flag(pkg.isSystemExt(), ApplicationInfo.PRIVATE_FLAG_SYSTEM_EXT)
                 | flag(pkg.isPrivileged(), ApplicationInfo.PRIVATE_FLAG_PRIVILEGED)
                 | flag(pkg.isOem(), ApplicationInfo.PRIVATE_FLAG_OEM)
@@ -477,6 +486,15 @@
                 | flag(pkg.isProduct(), ApplicationInfo.PRIVATE_FLAG_PRODUCT)
                 | flag(pkg.isOdm(), ApplicationInfo.PRIVATE_FLAG_ODM)
                 | flag(pkg.isSignedWithPlatformKey(), ApplicationInfo.PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY);
+        return appInfoPrivateFlags(pkgWithoutStateFlags, pkgSetting);
+        // @formatter:on
+    }
+
+    /** @see ApplicationInfo#privateFlags */
+    public static int appInfoPrivateFlags(int pkgWithoutStateFlags, @Nullable PackageSetting pkgSetting) {
+        // @formatter:off
+        // TODO: Add state specific flags
+        return pkgWithoutStateFlags;
         // @formatter:on
     }
 
diff --git a/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackage.java b/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackage.java
index 46b08df..c9e0bb4 100644
--- a/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackage.java
+++ b/services/core/java/com/android/server/pm/parsing/pkg/AndroidPackage.java
@@ -301,6 +301,12 @@
     ApplicationInfo toAppInfoWithoutState();
 
     /**
+     * Same as toAppInfoWithoutState except it does not compute any flags.
+     */
+    @NonNull
+    ApplicationInfo toAppInfoWithoutStateWithoutFlags();
+
+    /**
      * TODO(b/135203078): Remove usages?
      * @return a mock of what the previous package.applicationInfo would've returned for logging
      * @deprecated don't use this in any new code, just print package name directly
diff --git a/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java b/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
index fee154f..43365fa 100644
--- a/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
+++ b/services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java
@@ -455,7 +455,7 @@
 
     @Override
     public ApplicationInfo toAppInfoWithoutState() {
-        ApplicationInfo appInfo = super.toAppInfoWithoutState();
+        ApplicationInfo appInfo = super.toAppInfoWithoutStateWithoutFlags();
         appInfo.flags = PackageInfoUtils.appInfoFlags(this, null);
         appInfo.privateFlags = PackageInfoUtils.appInfoPrivateFlags(this, null);
         appInfo.nativeLibraryDir = nativeLibraryDir;
diff --git a/services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java b/services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java
index 1c45680..4bbe373 100644
--- a/services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java
+++ b/services/core/java/com/android/server/pm/permission/OneTimePermissionUserManager.java
@@ -81,9 +81,6 @@
         mAlarmManager = context.getSystemService(AlarmManager.class);
         mPermissionControllerManager = context.getSystemService(PermissionControllerManager.class);
         mHandler = context.getMainThreadHandler();
-
-        // Listen for tracked uid being uninstalled
-        context.registerReceiver(mUninstallListener, new IntentFilter(Intent.ACTION_UID_REMOVED));
     }
 
     /**
@@ -171,6 +168,14 @@
     }
 
     /**
+     * Register to listen for Uids being uninstalled. This must be done outside of the
+     * PermissionManagerService lock.
+     */
+    void registerUninstallListener() {
+        mContext.registerReceiver(mUninstallListener, new IntentFilter(Intent.ACTION_UID_REMOVED));
+    }
+
+    /**
      * A class which watches a package for inactivity and notifies the permission controller when
      * the package becomes inactive
      */
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index ccc7492..e4e5261 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -26,6 +26,7 @@
 import static android.content.pm.PackageManager.FLAGS_PERMISSION_RESTRICTION_ANY_EXEMPT;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
+import static android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_REVOKED_COMPAT;
@@ -1656,7 +1657,8 @@
         final int userSettableMask = FLAG_PERMISSION_USER_SET
                 | FLAG_PERMISSION_USER_FIXED
                 | FLAG_PERMISSION_REVOKED_COMPAT
-                | FLAG_PERMISSION_REVIEW_REQUIRED;
+                | FLAG_PERMISSION_REVIEW_REQUIRED
+                | FLAG_PERMISSION_ONE_TIME;
 
         final int policyOrSystemFlags = FLAG_PERMISSION_SYSTEM_FIXED
                 | FLAG_PERMISSION_POLICY_FIXED;
@@ -3210,16 +3212,19 @@
     }
 
     private OneTimePermissionUserManager getOneTimePermissionUserManager(@UserIdInt int userId) {
+        OneTimePermissionUserManager oneTimePermissionUserManager;
         synchronized (mLock) {
-            OneTimePermissionUserManager oneTimePermissionUserManager =
+            oneTimePermissionUserManager =
                     mOneTimePermissionUserManagers.get(userId);
-            if (oneTimePermissionUserManager == null) {
-                oneTimePermissionUserManager = new OneTimePermissionUserManager(
-                        mContext.createContextAsUser(UserHandle.of(userId), /*flags*/ 0));
-                mOneTimePermissionUserManagers.put(userId, oneTimePermissionUserManager);
+            if (oneTimePermissionUserManager != null) {
+                return oneTimePermissionUserManager;
             }
-            return oneTimePermissionUserManager;
+            oneTimePermissionUserManager = new OneTimePermissionUserManager(
+                    mContext.createContextAsUser(UserHandle.of(userId), /*flags*/ 0));
+            mOneTimePermissionUserManagers.put(userId, oneTimePermissionUserManager);
         }
+        oneTimePermissionUserManager.registerUninstallListener();
+        return oneTimePermissionUserManager;
     }
 
     @Override
@@ -3903,11 +3908,16 @@
      */
     private void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdated,
             @NonNull PermissionCallback callback) {
-        final int flags = UPDATE_PERMISSIONS_ALL |
-                (sdkUpdated
-                        ? UPDATE_PERMISSIONS_REPLACE_PKG | UPDATE_PERMISSIONS_REPLACE_ALL
-                        : 0);
-        updatePermissions(null, null, volumeUuid, flags, callback);
+        PackageManager.corkPackageInfoCache();  // Prevent invalidation storm
+        try {
+            final int flags = UPDATE_PERMISSIONS_ALL |
+                    (sdkUpdated
+                            ? UPDATE_PERMISSIONS_REPLACE_PKG | UPDATE_PERMISSIONS_REPLACE_ALL
+                            : 0);
+            updatePermissions(null, null, volumeUuid, flags, callback);
+        } finally {
+            PackageManager.uncorkPackageInfoCache();
+        }
     }
 
     /**
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index c973640..4624e9e 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -4468,12 +4468,6 @@
     private void wakeUpFromPowerKey(long eventTime) {
         wakeUp(eventTime, mAllowTheaterModeWakeFromPowerKey,
                 PowerManager.WAKE_REASON_POWER_BUTTON, "android.policy:POWER");
-
-        // Turn on the connected TV and switch HDMI input if we're a HDMI playback device.
-        final HdmiControl hdmiControl = getHdmiControl();
-        if (hdmiControl != null) {
-            hdmiControl.turnOnTv();
-        }
     }
 
     private boolean wakeUp(long wakeTime, boolean wakeInTheaterMode, @WakeReason int reason,
@@ -4489,6 +4483,12 @@
         }
 
         mPowerManager.wakeUp(wakeTime, reason, details);
+
+        // Turn on the connected TV and switch HDMI input if we're a HDMI playback device.
+        final HdmiControl hdmiControl = getHdmiControl();
+        if (hdmiControl != null) {
+            hdmiControl.turnOnTv();
+        }
         return true;
     }
 
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 5a3464d..764ac96 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -2338,8 +2338,7 @@
                     nextTimeout = -1;
                 }
 
-                if (((mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
-                        || (mUserActivitySummary & USER_ACTIVITY_SCREEN_DIM) != 0)
+                if ((mUserActivitySummary & USER_ACTIVITY_SCREEN_BRIGHT) != 0
                         && (mWakeLockSummary & WAKE_LOCK_STAY_AWAKE) == 0) {
                     nextTimeout = mAttentionDetector.updateUserActivity(nextTimeout,
                             screenDimDuration);
diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer.java
index 870d909..a18b690 100644
--- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer.java
+++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerHw2Enforcer.java
@@ -33,7 +33,7 @@
  * This is not necessarily a strict enforcement for the HAL contract, but a place to add checks for
  * common HAL malfunctions, to help track them and assist in debugging.
  *
- * The class is not thread-safe.
+ * The class is thread-safe.
  */
 public class SoundTriggerHw2Enforcer implements ISoundTriggerHw2 {
     static final String TAG = "SoundTriggerHw2Enforcer";
@@ -55,7 +55,9 @@
     public int loadSoundModel(ISoundTriggerHw.SoundModel soundModel, Callback callback,
             int cookie) {
         int handle = mUnderlying.loadSoundModel(soundModel, new CallbackEnforcer(callback), cookie);
-        mModelStates.put(handle, false);
+        synchronized (mModelStates) {
+            mModelStates.put(handle, false);
+        }
         return handle;
     }
 
@@ -64,27 +66,35 @@
             int cookie) {
         int handle = mUnderlying.loadPhraseSoundModel(soundModel, new CallbackEnforcer(callback),
                 cookie);
-        mModelStates.put(handle, false);
+        synchronized (mModelStates) {
+            mModelStates.put(handle, false);
+        }
         return handle;
     }
 
     @Override
     public void unloadSoundModel(int modelHandle) {
         mUnderlying.unloadSoundModel(modelHandle);
-        mModelStates.remove(modelHandle);
+        synchronized (mModelStates) {
+            mModelStates.remove(modelHandle);
+        }
     }
 
     @Override
     public void stopRecognition(int modelHandle) {
         mUnderlying.stopRecognition(modelHandle);
-        mModelStates.replace(modelHandle, false);
+        synchronized (mModelStates) {
+            mModelStates.replace(modelHandle, false);
+        }
     }
 
     @Override
     public void stopAllRecognitions() {
         mUnderlying.stopAllRecognitions();
-        for (Map.Entry<Integer, Boolean> entry : mModelStates.entrySet()) {
-            entry.setValue(false);
+        synchronized (mModelStates) {
+            for (Map.Entry<Integer, Boolean> entry : mModelStates.entrySet()) {
+                entry.setValue(false);
+            }
         }
     }
 
@@ -92,7 +102,9 @@
     public void startRecognition(int modelHandle, RecognitionConfig config, Callback callback,
             int cookie) {
         mUnderlying.startRecognition(modelHandle, config, new CallbackEnforcer(callback), cookie);
-        mModelStates.replace(modelHandle, true);
+        synchronized (mModelStates) {
+            mModelStates.replace(modelHandle, true);
+        }
     }
 
     @Override
@@ -142,12 +154,14 @@
         public void recognitionCallback(ISoundTriggerHwCallback.RecognitionEvent event,
                 int cookie) {
             int model = event.header.model;
-            if (!mModelStates.getOrDefault(model, false)) {
-                Log.wtfStack(TAG, "Unexpected recognition event for model: " + model);
-            }
-            if (event.header.status
-                    != android.media.soundtrigger_middleware.RecognitionStatus.FORCED) {
-                mModelStates.replace(model, false);
+            synchronized (mModelStates) {
+                if (!mModelStates.getOrDefault(model, false)) {
+                    Log.wtfStack(TAG, "Unexpected recognition event for model: " + model);
+                }
+                if (event.header.status
+                        != android.media.soundtrigger_middleware.RecognitionStatus.FORCED) {
+                    mModelStates.replace(model, false);
+                }
             }
             mUnderlying.recognitionCallback(event, cookie);
         }
@@ -156,12 +170,14 @@
         public void phraseRecognitionCallback(ISoundTriggerHwCallback.PhraseRecognitionEvent event,
                 int cookie) {
             int model = event.common.header.model;
-            if (!mModelStates.getOrDefault(model, false)) {
-                Log.wtfStack(TAG, "Unexpected recognition event for model: " + model);
-            }
-            if (event.common.header.status
-                    != android.media.soundtrigger_middleware.RecognitionStatus.FORCED) {
-                mModelStates.replace(model, false);
+            synchronized (mModelStates) {
+                if (!mModelStates.getOrDefault(model, false)) {
+                    Log.wtfStack(TAG, "Unexpected recognition event for model: " + model);
+                }
+                if (event.common.header.status
+                        != android.media.soundtrigger_middleware.RecognitionStatus.FORCED) {
+                    mModelStates.replace(model, false);
+                }
             }
             mUnderlying.phraseRecognitionCallback(event, cookie);
         }
diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging.java
index 04ba6bf..8b6ed1f 100644
--- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging.java
+++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareLogging.java
@@ -377,11 +377,7 @@
     }
 
     private static void printObject(@NonNull StringBuilder builder, @Nullable Object obj) {
-        if (obj instanceof Parcelable) {
-            ObjectPrinter.print(builder, obj, true, 16);
-        } else {
-            builder.append(obj.toString());
-        }
+        ObjectPrinter.print(builder, obj, true, 16);
     }
 
     private static String printObject(@Nullable Object obj) {
diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java
index 2325955..bae2441 100644
--- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java
+++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java
@@ -32,9 +32,9 @@
 import android.media.soundtrigger_middleware.RecognitionStatus;
 import android.media.soundtrigger_middleware.SoundModel;
 import android.media.soundtrigger_middleware.SoundTriggerModuleDescriptor;
+import android.media.soundtrigger_middleware.SoundTriggerModuleProperties;
 import android.media.soundtrigger_middleware.Status;
 import android.os.IBinder;
-import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceSpecificException;
 import android.util.Log;
@@ -108,17 +108,26 @@
 public class SoundTriggerMiddlewareValidation implements ISoundTriggerMiddlewareInternal, Dumpable {
     private static final String TAG = "SoundTriggerMiddlewareValidation";
 
-    private enum ModuleState {
+    private enum ModuleStatus {
         ALIVE,
         DETACHED,
         DEAD
     };
 
+    private class ModuleState {
+        final @NonNull SoundTriggerModuleProperties properties;
+        Set<ModuleService> sessions = new HashSet<>();
+
+        private ModuleState(@NonNull SoundTriggerModuleProperties properties) {
+            this.properties = properties;
+        }
+    }
+
     private Boolean mCaptureState;
 
     private final @NonNull ISoundTriggerMiddlewareInternal mDelegate;
     private final @NonNull Context mContext;
-    private Map<Integer, Set<ModuleService>> mModules;
+    private Map<Integer, ModuleState> mModules;
 
     public SoundTriggerMiddlewareValidation(
             @NonNull ISoundTriggerMiddlewareInternal delegate, @NonNull Context context) {
@@ -168,7 +177,7 @@
                 SoundTriggerModuleDescriptor[] result = mDelegate.listModules();
                 mModules = new HashMap<>(result.length);
                 for (SoundTriggerModuleDescriptor desc : result) {
-                    mModules.put(desc.handle, new HashSet<>());
+                    mModules.put(desc.handle, new ModuleState(desc.properties));
                 }
                 return result;
             } catch (Exception e) {
@@ -278,18 +287,21 @@
     @Override
     public void dump(PrintWriter pw) {
         synchronized (this) {
-            pw.printf("Capture state is %s\n", mCaptureState == null ? "uninitialized"
+            pw.printf("Capture state is %s\n\n", mCaptureState == null ? "uninitialized"
                     : (mCaptureState ? "active" : "inactive"));
             if (mModules != null) {
                 for (int handle : mModules.keySet()) {
+                    final ModuleState module = mModules.get(handle);
                     pw.println("=========================================");
-                    pw.printf("Active sessions for module %d", handle);
-                    pw.println();
+                    pw.printf("Module %d\n%s\n", handle,
+                            ObjectPrinter.print(module.properties, true, 16));
                     pw.println("=========================================");
-                    for (ModuleService session : mModules.get(handle)) {
+                    for (ModuleService session : module.sessions) {
                         session.dump(pw);
                     }
                 }
+            } else {
+                pw.println("Modules have not yet been enumerated.");
             }
         }
         pw.println();
@@ -297,11 +309,18 @@
         if (mDelegate instanceof Dumpable) {
             ((Dumpable) mDelegate).dump(pw);
         }
-
     }
 
     /** State of a sound model. */
     static class ModelState {
+        ModelState(SoundModel model) {
+            this.description = ObjectPrinter.print(model, true, 16);
+        }
+
+        ModelState(PhraseSoundModel model) {
+            this.description = ObjectPrinter.print(model, true, 16);
+        }
+
         /** Activity state of a sound model. */
         enum Activity {
             /** Model is loaded, recognition is inactive. */
@@ -313,6 +332,9 @@
         /** Activity state. */
         Activity activityState = Activity.LOADED;
 
+        /** Human-readable description of the model. */
+        final String description;
+
         /**
          * A map of known parameter support. A missing key means we don't know yet whether the
          * parameter is supported. A null value means it is known to not be supported. A non-null
@@ -375,7 +397,7 @@
         private ISoundTriggerModule mDelegate;
         private @NonNull Map<Integer, ModelState> mLoadedModels = new HashMap<>();
         private final int mHandle;
-        private ModuleState mState = ModuleState.ALIVE;
+        private ModuleStatus mState = ModuleStatus.ALIVE;
 
         ModuleService(int handle, @NonNull ISoundTriggerCallback callback) {
             mCallback = callback;
@@ -389,7 +411,7 @@
 
         void attach(@NonNull ISoundTriggerModule delegate) {
             mDelegate = delegate;
-            mModules.get(mHandle).add(this);
+            mModules.get(mHandle).sessions.add(this);
         }
 
         @Override
@@ -401,14 +423,14 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
 
                 // From here on, every exception isn't client's fault.
                 try {
                     int handle = mDelegate.loadModel(model);
-                    mLoadedModels.put(handle, new ModelState());
+                    mLoadedModels.put(handle, new ModelState(model));
                     return handle;
                 } catch (Exception e) {
                     throw handleException(e);
@@ -425,14 +447,14 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
 
                 // From here on, every exception isn't client's fault.
                 try {
                     int handle = mDelegate.loadPhraseModel(model);
-                    mLoadedModels.put(handle, new ModelState());
+                    mLoadedModels.put(handle, new ModelState(model));
                     return handle;
                 } catch (Exception e) {
                     throw handleException(e);
@@ -448,7 +470,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -481,7 +503,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -515,7 +537,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -544,7 +566,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -572,7 +594,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -600,7 +622,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -629,7 +651,7 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has been detached.");
                 }
                 ModelState modelState = mLoadedModels.get(
@@ -658,10 +680,10 @@
 
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 // State validation.
-                if (mState == ModuleState.DETACHED) {
+                if (mState == ModuleStatus.DETACHED) {
                     throw new IllegalStateException("Module has already been detached.");
                 }
-                if (mState == ModuleState.ALIVE && !mLoadedModels.isEmpty()) {
+                if (mState == ModuleStatus.ALIVE && !mLoadedModels.isEmpty()) {
                     throw new IllegalStateException("Cannot detach while models are loaded.");
                 }
 
@@ -683,16 +705,16 @@
         private void detachInternal() {
             try {
                 mDelegate.detach();
-                mState = ModuleState.DETACHED;
+                mState = ModuleStatus.DETACHED;
                 mCallback.asBinder().unlinkToDeath(this, 0);
-                mModules.get(mHandle).remove(this);
+                mModules.get(mHandle).sessions.remove(this);
             } catch (RemoteException e) {
                 throw e.rethrowAsRuntimeException();
             }
         }
 
         void dump(PrintWriter pw) {
-            if (mState == ModuleState.ALIVE) {
+            if (mState == ModuleStatus.ALIVE) {
                 pw.printf("Loaded models for session %s (handle, active)", toString());
                 pw.println();
                 pw.println("-------------------------------");
@@ -700,6 +722,8 @@
                     pw.print(entry.getKey());
                     pw.print('\t');
                     pw.print(entry.getValue().activityState.name());
+                    pw.print('\t');
+                    pw.print(entry.getValue().description);
                     pw.println();
                 }
             } else {
@@ -762,7 +786,7 @@
         public void onModuleDied() {
             synchronized (SoundTriggerMiddlewareValidation.this) {
                 try {
-                    mState = ModuleState.DEAD;
+                    mState = ModuleStatus.DEAD;
                     mCallback.onModuleDied();
                 } catch (RemoteException e) {
                     // Dead client will be handled by binderDied() - no need to handle here.
diff --git a/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java b/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java
index 67677c6..e1e6195 100644
--- a/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java
+++ b/services/core/java/com/android/server/stats/pull/ProcfsMemoryUtil.java
@@ -41,10 +41,11 @@
     public static MemorySnapshot readMemorySnapshotFromProcfs(int pid) {
         long[] output = new long[STATUS_KEYS.length];
         output[0] = -1;
+        output[3] = -1;
+        output[4] = -1;
         Process.readProcLines("/proc/" + pid + "/status", STATUS_KEYS, output);
-        if (output[0] == -1 || (output[3] == 0 && output[4] == 0)) {
-            // Could not open file or anon rss / swap are 0 indicating the process is in a zombie
-            // state.
+        if (output[0] == -1 || output[3] == -1 || output[4] == -1) {
+            // Could not open or parse file.
             return null;
         }
         final MemorySnapshot snapshot = new MemorySnapshot();
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 288c22a..1afec9c 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -2059,32 +2059,35 @@
         synchronized (mProcessStatsLock) {
             final long token = Binder.clearCallingIdentity();
             try {
+                // force procstats to flush & combine old files into one store
                 long lastHighWaterMark = readProcStatsHighWaterMark(section);
                 List<ParcelFileDescriptor> statsFiles = new ArrayList<>();
-                long highWaterMark = processStatsService.getCommittedStats(
-                        lastHighWaterMark, section, true, statsFiles);
-                if (statsFiles.size() != 1) {
-                    return StatsManager.PULL_SKIP;
-                }
-                unpackStreamedData(atomTag, pulledData, statsFiles);
+
+                ProcessStats procStats = new ProcessStats(false);
+                long highWaterMark = processStatsService.getCommittedStatsMerged(
+                        lastHighWaterMark, section, true, statsFiles, procStats);
+
+                // aggregate the data together for westworld consumption
+                ProtoOutputStream proto = new ProtoOutputStream();
+                procStats.dumpAggregatedProtoForStatsd(proto);
+
+                StatsEvent e = StatsEvent.newBuilder()
+                        .setAtomId(atomTag)
+                        .writeByteArray(proto.getBytes())
+                        .build();
+                pulledData.add(e);
+
                 new File(mBaseDir.getAbsolutePath() + "/" + section + "_" + lastHighWaterMark)
                         .delete();
                 new File(mBaseDir.getAbsolutePath() + "/" + section + "_" + highWaterMark)
                         .createNewFile();
-            } catch (IOException e) {
-                Slog.e(TAG, "Getting procstats failed: ", e);
-                return StatsManager.PULL_SKIP;
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Getting procstats failed: ", e);
-                return StatsManager.PULL_SKIP;
-            } catch (SecurityException e) {
+            } catch (RemoteException | IOException e) {
                 Slog.e(TAG, "Getting procstats failed: ", e);
                 return StatsManager.PULL_SKIP;
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
         }
-
         return StatsManager.PULL_SUCCESS;
     }
 
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index d7a0c987..289bf66 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -1380,11 +1380,11 @@
     }
 
     @Override
-    public void onNotificationBubbleChanged(String key, boolean isBubble) {
+    public void onNotificationBubbleChanged(String key, boolean isBubble, int flags) {
         enforceStatusBarService();
         long identity = Binder.clearCallingIdentity();
         try {
-            mNotificationDelegate.onNotificationBubbleChanged(key, isBubble);
+            mNotificationDelegate.onNotificationBubbleChanged(key, isBubble, flags);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
diff --git a/services/core/java/com/android/server/testharness/TestHarnessModeService.java b/services/core/java/com/android/server/testharness/TestHarnessModeService.java
index c2ecd41..735a9e4 100644
--- a/services/core/java/com/android/server/testharness/TestHarnessModeService.java
+++ b/services/core/java/com/android/server/testharness/TestHarnessModeService.java
@@ -161,6 +161,10 @@
     private void configureSettings() {
         ContentResolver cr = getContext().getContentResolver();
 
+        // Stop ADB before we enable it, otherwise on userdebug/eng builds, the keys won't have
+        // registered with adbd, and it will prompt the user to confirm the keys.
+        Settings.Global.putInt(cr, Settings.Global.ADB_ENABLED, 0);
+
         // Disable the TTL for ADB keys before enabling ADB
         Settings.Global.putLong(cr, Settings.Global.ADB_ALLOWED_CONNECTION_TIME, 0);
         Settings.Global.putInt(cr, Settings.Global.ADB_ENABLED, 1);
diff --git a/services/core/java/com/android/server/tv/TvRemoteProviderWatcher.java b/services/core/java/com/android/server/tv/TvRemoteProviderWatcher.java
index 06c2354..6e180bc 100644
--- a/services/core/java/com/android/server/tv/TvRemoteProviderWatcher.java
+++ b/services/core/java/com/android/server/tv/TvRemoteProviderWatcher.java
@@ -27,6 +27,7 @@
 import android.content.pm.ServiceInfo;
 import android.os.Handler;
 import android.os.UserHandle;
+import android.text.TextUtils.SimpleStringSplitter;
 import android.util.Log;
 import android.util.Slog;
 
@@ -34,6 +35,8 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * Watches for emote provider services to be installed.
@@ -51,19 +54,33 @@
     private final PackageManager mPackageManager;
     private final ArrayList<TvRemoteProviderProxy> mProviderProxies = new ArrayList<>();
     private final int mUserId;
-    private final String mUnbundledServicePackage;
     private final Object mLock;
+    private final Set<String> mUnbundledServicePackages = new HashSet<>();
 
     private boolean mRunning;
 
-    TvRemoteProviderWatcher(Context context, Object lock) {
+    TvRemoteProviderWatcher(Context context, Object lock, Handler handler) {
         mContext = context;
-        mHandler = new Handler(true);
+        mHandler = handler;
         mUserId = UserHandle.myUserId();
         mPackageManager = context.getPackageManager();
-        mUnbundledServicePackage = context.getString(
-                com.android.internal.R.string.config_tvRemoteServicePackage);
         mLock = lock;
+
+        // Unbundled package names supports a comma-separated list
+        SimpleStringSplitter splitter = new SimpleStringSplitter(',');
+        splitter.setString(context.getString(
+                com.android.internal.R.string.config_tvRemoteServicePackage));
+
+        splitter.forEach(packageName -> {
+            packageName = packageName.trim();
+            if (!packageName.isEmpty()) {
+                mUnbundledServicePackages.add(packageName);
+            }
+        });
+    }
+
+    TvRemoteProviderWatcher(Context context, Object lock) {
+        this(context, lock, new Handler(true));
     }
 
     public void start() {
@@ -157,7 +174,7 @@
         }
 
         // Check if package name is white-listed here.
-        if (!serviceInfo.packageName.equals(mUnbundledServicePackage)) {
+        if (!mUnbundledServicePackages.contains(serviceInfo.packageName)) {
             Slog.w(TAG, "Ignoring atv remote provider service because the package has not "
                     + "been set and/or whitelisted: "
                     + serviceInfo.packageName + "/" + serviceInfo.name);
diff --git a/services/core/java/com/android/server/tv/TvRemoteServiceInput.java b/services/core/java/com/android/server/tv/TvRemoteServiceInput.java
index 8fe6da5..390340a 100644
--- a/services/core/java/com/android/server/tv/TvRemoteServiceInput.java
+++ b/services/core/java/com/android/server/tv/TvRemoteServiceInput.java
@@ -88,6 +88,47 @@
     }
 
     @Override
+    public void openGamepadBridge(IBinder token, String name) throws RemoteException {
+        if (DEBUG) {
+            Slog.d(TAG, String.format("openGamepadBridge(), token: %s, name: %s", token, name));
+        }
+
+        synchronized (mLock) {
+            if (mBridgeMap.containsKey(token)) {
+                if (DEBUG) {
+                    Slog.d(TAG, "InputBridge already exists");
+                }
+            } else {
+                final long idToken = Binder.clearCallingIdentity();
+                try {
+                    mBridgeMap.put(token, UinputBridge.openGamepad(token, name));
+                    token.linkToDeath(new IBinder.DeathRecipient() {
+                        @Override
+                        public void binderDied() {
+                            closeInputBridge(token);
+                        }
+                    }, 0);
+                } catch (IOException e) {
+                    Slog.e(TAG, "Cannot create device for " + name);
+                    return;
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Token is already dead");
+                    closeInputBridge(token);
+                    return;
+                } finally {
+                    Binder.restoreCallingIdentity(idToken);
+                }
+            }
+        }
+
+        try {
+            mProvider.onInputBridgeConnected(token);
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Failed remote call to onInputBridgeConnected");
+        }
+    }
+
+    @Override
     public void closeInputBridge(IBinder token) {
         if (DEBUG) {
             Slog.d(TAG, "closeInputBridge(), token: " + token);
@@ -96,6 +137,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.remove(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -117,6 +159,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -145,6 +188,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -166,6 +210,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -188,6 +233,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -209,6 +255,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -230,6 +277,7 @@
         synchronized (mLock) {
             UinputBridge inputBridge = mBridgeMap.get(token);
             if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
                 return;
             }
 
@@ -241,4 +289,67 @@
             }
         }
     }
+
+    @Override
+    public void sendGamepadKeyUp(IBinder token, int keyIndex) {
+        if (DEBUG_KEYS) {
+            Slog.d(TAG, String.format("sendGamepadKeyUp(), token: %s", token));
+        }
+        synchronized (mLock) {
+            UinputBridge inputBridge = mBridgeMap.get(token);
+            if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
+                return;
+            }
+
+            final long idToken = Binder.clearCallingIdentity();
+            try {
+                inputBridge.sendGamepadKey(token, keyIndex, false);
+            } finally {
+                Binder.restoreCallingIdentity(idToken);
+            }
+        }
+    }
+
+    @Override
+    public void sendGamepadKeyDown(IBinder token, int keyCode) {
+        if (DEBUG_KEYS) {
+            Slog.d(TAG, String.format("sendGamepadKeyDown(), token: %s", token));
+        }
+        synchronized (mLock) {
+            UinputBridge inputBridge = mBridgeMap.get(token);
+            if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
+                return;
+            }
+
+            final long idToken = Binder.clearCallingIdentity();
+            try {
+                inputBridge.sendGamepadKey(token, keyCode, true);
+            } finally {
+                Binder.restoreCallingIdentity(idToken);
+            }
+        }
+    }
+
+    @Override
+    public void sendGamepadAxisValue(IBinder token, int axis, float value) {
+        if (DEBUG_KEYS) {
+            Slog.d(TAG, String.format("sendGamepadAxisValue(), token: %s", token));
+        }
+        synchronized (mLock) {
+            UinputBridge inputBridge = mBridgeMap.get(token);
+            if (inputBridge == null) {
+                Slog.w(TAG, String.format("Input bridge not found for token: %s", token));
+                return;
+            }
+
+            final long idToken = Binder.clearCallingIdentity();
+            try {
+                inputBridge.sendGamepadAxisValue(token, axis, value);
+            } finally {
+                Binder.restoreCallingIdentity(idToken);
+            }
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/tv/UinputBridge.java b/services/core/java/com/android/server/tv/UinputBridge.java
index a2fe5fc..1dc201d 100644
--- a/services/core/java/com/android/server/tv/UinputBridge.java
+++ b/services/core/java/com/android/server/tv/UinputBridge.java
@@ -42,21 +42,27 @@
     /** Opens a gamepad - will support gamepad key and axis sending */
     private static native long nativeGamepadOpen(String name, String uniqueId);
 
-    /** Marks the specified key up/down for a gamepad */
-    private static native void nativeSendGamepadKey(long ptr, int keyIndex, boolean down);
+    /**
+     * Marks the specified key up/down for a gamepad.
+     *
+     *  @param keyCode - a code like BUTTON_MODE, BUTTON_A, BUTTON_B, ...
+     */
+    private static native void nativeSendGamepadKey(long ptr, int keyCode, boolean down);
 
     /**
-     * Gamepads pre-define the following axes:
-     *   - Left joystick X, axis == ABS_X == 0, range [0, 254]
-     *   - Left joystick Y, axis == ABS_Y == 1, range [0, 254]
-     *   - Right joystick X, axis == ABS_RX == 3, range [0, 254]
-     *   - Right joystick Y, axis == ABS_RY == 4, range [0, 254]
-     *   - Left trigger, axis == ABS_Z == 2, range [0, 254]
-     *   - Right trigger, axis == ABS_RZ == 5, range [0, 254]
-     *   - DPad X, axis == ABS_HAT0X == 0x10, range [-1, 1]
-     *   - DPad Y, axis == ABS_HAT0Y == 0x11, range [-1, 1]
+     * Send an axis value.
+     *
+     * Available axes are:
+     *  <li> Left joystick: AXIS_X, AXIS_Y
+     *  <li> Right joystick: AXIS_Z, AXIS_RZ
+     *  <li> Analog triggers: AXIS_LTRIGGER, AXIS_RTRIGGER
+     *  <li> DPad: AXIS_HAT_X, AXIS_HAT_Y
+     *
+     * @param axis is a MotionEvent.AXIS_* value.
+     * @param value is a value between -1 and 1 (inclusive)
+     *
      */
-    private static native void nativeSendGamepadAxisValue(long ptr, int axis, int value);
+    private static native void nativeSendGamepadAxisValue(long ptr, int axis, float value);
 
     public UinputBridge(IBinder token, String name, int width, int height, int maxPointers)
                         throws IOException {
@@ -163,26 +169,19 @@
      *  @param keyIndex - the index of the w3-spec key
      *  @param down - is the key pressed ?
      */
-    public void sendGamepadKey(IBinder token, int keyIndex, boolean down) {
+    public void sendGamepadKey(IBinder token, int keyCode, boolean down) {
         if (isTokenValid(token)) {
-            nativeSendGamepadKey(mPtr, keyIndex, down);
+            nativeSendGamepadKey(mPtr, keyCode, down);
         }
     }
 
-    /** Send a gamepad axis value.
-     *   - Left joystick X, axis == ABS_X == 0, range [0, 254]
-     *   - Left joystick Y, axis == ABS_Y == 1, range [0, 254]
-     *   - Right joystick X, axis == ABS_RX == 3, range [0, 254]
-     *   - Right joystick Y, axis == ABS_RY == 4, range [0, 254]
-     *   - Left trigger, axis == ABS_Z == 2, range [0, 254]
-     *   - Right trigger, axis == ABS_RZ == 5, range [0, 254]
-     *   - DPad X, axis == ABS_HAT0X == 0x10, range [-1, 1]
-     *   - DPad Y, axis == ABS_HAT0Y == 0x11, range [-1, 1]
+    /**
+     * Send a gamepad axis value.
      *
-     * @param axis is the axis index
-     * @param value is the value to set for that axis
+     * @param axis is the axis code (MotionEvent.AXIS_*)
+     * @param value is the value to set for that axis in [-1, 1]
      */
-    public void sendGamepadAxisValue(IBinder token, int axis, int value) {
+    public void sendGamepadAxisValue(IBinder token, int axis, float value) {
         if (isTokenValid(token)) {
             nativeSendGamepadAxisValue(mPtr, axis, value);
         }
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
index e100ff8..4cdc172 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
@@ -68,6 +68,11 @@
     private Set<Integer> mUsingFrontendIds = new HashSet<>();
 
     /**
+     * List of the Lnb ids that are used by the current client.
+     */
+    private Set<Integer> mUsingLnbIds = new HashSet<>();
+
+    /**
      * Optional arbitrary priority value given by the client.
      *
      * <p>This value can override the default priorotiy calculated from
@@ -131,21 +136,49 @@
         mUsingFrontendIds.add(frontendId);
     }
 
-    public Iterable<Integer> getInUseFrontendIds() {
+    public Set<Integer> getInUseFrontendIds() {
         return mUsingFrontendIds;
     }
 
     /**
      * Called when the client released a frontend.
      *
-     * <p>This could happen when client resource reclaimed.
-     *
      * @param frontendId being released.
      */
     public void releaseFrontend(int frontendId) {
         mUsingFrontendIds.remove(frontendId);
     }
 
+    /**
+     * Set when the client starts to use an Lnb.
+     *
+     * @param lnbId being used.
+     */
+    public void useLnb(int lnbId) {
+        mUsingLnbIds.add(lnbId);
+    }
+
+    public Set<Integer> getInUseLnbIds() {
+        return mUsingLnbIds;
+    }
+
+    /**
+     * Called when the client released an lnb.
+     *
+     * @param lnbId being released.
+     */
+    public void releaseLnb(int lnbId) {
+        mUsingLnbIds.remove(lnbId);
+    }
+
+    /**
+     * Called to reclaim all the resources being used by the current client.
+     */
+    public void reclaimAllResources() {
+        mUsingFrontendIds.clear();
+        mUsingLnbIds.clear();
+    }
+
     @Override
     public String toString() {
         return "ClientProfile[id=" + this.mId + ", tvInputSessionId=" + this.mTvInputSessionId
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java b/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
index 56f6159..7ea62b2 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
@@ -27,14 +27,7 @@
  *
  * @hide
  */
-public final class FrontendResource {
-    public static final int INVALID_OWNER_ID = -1;
-
-    /**
-     * Id of the current frontend. Should not be changed and should be aligned with the driver level
-     * implementation.
-     */
-    private final int mId;
+public final class FrontendResource extends TunerResourceBasic {
 
     /**
      * see {@link android.media.tv.tuner.frontend.FrontendSettings.Type}
@@ -51,28 +44,12 @@
      */
     private Set<Integer> mExclusiveGroupMemberFeIds = new HashSet<>();
 
-    /**
-     * If the current resource is in use. Once resources under the same exclusive group id is in use
-     * all other resources in the same group would be considered in use.
-     */
-    private boolean mIsInUse;
-
-    /**
-     * The owner client's id if this resource is occupied. Owner of the resource under the same
-     * exclusive group id would be considered as the whole group's owner.
-     */
-    private int mOwnerClientId = INVALID_OWNER_ID;
-
     private FrontendResource(Builder builder) {
-        this.mId = builder.mId;
+        super(builder);
         this.mType = builder.mType;
         this.mExclusiveGroupId = builder.mExclusiveGroupId;
     }
 
-    public int getId() {
-        return mId;
-    }
-
     public int getType() {
         return mType;
     }
@@ -112,32 +89,6 @@
         mExclusiveGroupMemberFeIds.remove(id);
     }
 
-    public boolean isInUse() {
-        return mIsInUse;
-    }
-
-    public int getOwnerClientId() {
-        return mOwnerClientId;
-    }
-
-    /**
-     * Set an owner client on the resource.
-     *
-     * @param ownerClientId the id of the owner client.
-     */
-    public void setOwner(int ownerClientId) {
-        mIsInUse = true;
-        mOwnerClientId = ownerClientId;
-    }
-
-    /**
-     * Remove an owner client from the resource.
-     */
-    public void removeOwner() {
-        mIsInUse = false;
-        mOwnerClientId = INVALID_OWNER_ID;
-    }
-
     @Override
     public String toString() {
         return "FrontendResource[id=" + this.mId + ", type=" + this.mType
@@ -149,13 +100,12 @@
     /**
      * Builder class for {@link FrontendResource}.
      */
-    public static class Builder {
-        private final int mId;
+    public static class Builder extends TunerResourceBasic.Builder {
         @Type private int mType;
         private int mExclusiveGroupId;
 
         Builder(int id) {
-            this.mId = id;
+            super(id);
         }
 
         /**
@@ -183,6 +133,7 @@
          *
          * @return {@link FrontendResource}.
          */
+        @Override
         public FrontendResource build() {
             FrontendResource frontendResource = new FrontendResource(this);
             return frontendResource;
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java b/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java
new file mode 100644
index 0000000..345b4b2
--- /dev/null
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 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.server.tv.tunerresourcemanager;
+
+/**
+ * An Lnb resource object used by the Tuner Resource Manager to record the tuner Lnb
+ * information.
+ *
+ * @hide
+ */
+public final class LnbResource extends TunerResourceBasic {
+
+    private LnbResource(Builder builder) {
+        super(builder);
+    }
+
+    @Override
+    public String toString() {
+        return "LnbResource[id=" + this.mId
+                + ", isInUse=" + this.mIsInUse + ", ownerClientId=" + this.mOwnerClientId + "]";
+    }
+
+    /**
+     * Builder class for {@link LnbResource}.
+     */
+    public static class Builder extends TunerResourceBasic.Builder {
+
+        Builder(int id) {
+            super(id);
+        }
+
+        /**
+         * Build a {@link LnbResource}.
+         *
+         * @return {@link LnbResource}.
+         */
+        @Override
+        public LnbResource build() {
+            LnbResource lnb = new LnbResource(this);
+            return lnb;
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java
new file mode 100644
index 0000000..7f133c3
--- /dev/null
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 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.server.tv.tunerresourcemanager;
+
+import static android.media.tv.tunerresourcemanager.TunerResourceManager.INVALID_OWNER_ID;
+
+/**
+ * A Tuner resource basic object used by the Tuner Resource Manager to record the resource
+ * information.
+ *
+ * @hide
+ */
+public class TunerResourceBasic {
+    /**
+     * Id of the current resource. Should not be changed and should be aligned with the driver level
+     * implementation.
+     */
+    final int mId;
+
+    /**
+     * If the current resource is in use.
+     */
+    boolean mIsInUse;
+
+    /**
+     * The owner client's id if this resource is occupied.
+     */
+    int mOwnerClientId = INVALID_OWNER_ID;
+
+    TunerResourceBasic(Builder builder) {
+        this.mId = builder.mId;
+    }
+
+    public int getId() {
+        return mId;
+    }
+
+    public boolean isInUse() {
+        return mIsInUse;
+    }
+
+    public int getOwnerClientId() {
+        return mOwnerClientId;
+    }
+
+    /**
+     * Set an owner client on the resource.
+     *
+     * @param ownerClientId the id of the owner client.
+     */
+    public void setOwner(int ownerClientId) {
+        mIsInUse = true;
+        mOwnerClientId = ownerClientId;
+    }
+
+    /**
+     * Remove an owner client from the resource.
+     */
+    public void removeOwner() {
+        mIsInUse = false;
+        mOwnerClientId = INVALID_OWNER_ID;
+    }
+
+    /**
+     * Builder class for {@link TunerResourceBasic}.
+     */
+    public static class Builder {
+        private final int mId;
+
+        Builder(int id) {
+            this.mId = id;
+        }
+
+        /**
+         * Build a {@link TunerResourceBasic}.
+         *
+         * @return {@link TunerResourceBasic}.
+         */
+        public TunerResourceBasic build() {
+            TunerResourceBasic resource = new TunerResourceBasic(this);
+            return resource;
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
index 6dded00..7231813 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
@@ -63,6 +63,8 @@
 
     // Map of the current available frontend resources
     private Map<Integer, FrontendResource> mFrontendResources = new HashMap<>();
+    // Map of the current available lnb resources
+    private Map<Integer, LnbResource> mLnbResources = new HashMap<>();
 
     @GuardedBy("mLock")
     private Map<Integer, ResourcesReclaimListenerRecord> mListeners = new HashMap<>();
@@ -164,12 +166,13 @@
         }
 
         @Override
-        public void setLnbInfoList(int[] lnbIds) {
+        public void setLnbInfoList(int[] lnbIds) throws RemoteException {
             enforceTrmAccessPermission("setLnbInfoList");
-            if (DEBUG) {
-                for (int i = 0; i < lnbIds.length; i++) {
-                    Slog.d(TAG, "updateLnbInfo(lnbId=" + lnbIds[i] + ")");
-                }
+            if (lnbIds == null) {
+                throw new RemoteException("Lnb id list can't be null");
+            }
+            synchronized (mLock) {
+                setLnbInfoListInternal(lnbIds);
             }
         }
 
@@ -237,26 +240,45 @@
         }
 
         @Override
-        public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbHandle) {
+        public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbHandle)
+                throws RemoteException {
             enforceTunerAccessPermission("requestLnb");
             enforceTrmAccessPermission("requestLnb");
-            if (DEBUG) {
-                Slog.d(TAG, "requestLnb(request=" + request + ")");
+            if (lnbHandle == null) {
+                throw new RemoteException("lnbHandle can't be null");
             }
-            return true;
+            synchronized (mLock) {
+                try {
+                    return requestLnbInternal(request, lnbHandle);
+                } catch (RemoteException e) {
+                    throw e.rethrowFromSystemServer();
+                }
+            }
         }
 
         @Override
-        public void releaseFrontend(int frontendId) {
+        public void releaseFrontend(int frontendHandle, int clientId) throws RemoteException {
             enforceTunerAccessPermission("releaseFrontend");
             enforceTrmAccessPermission("releaseFrontend");
-            if (DEBUG) {
-                Slog.d(TAG, "releaseFrontend(id=" + frontendId + ")");
+            if (!validateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND,
+                    frontendHandle)) {
+                throw new RemoteException("frontendHandle can't be invalid");
+            }
+            int frontendId = getResourceIdFromHandle(frontendHandle);
+            FrontendResource fe = getFrontendResource(frontendId);
+            if (fe == null) {
+                throw new RemoteException("Releasing frontend does not exist.");
+            }
+            if (fe.getOwnerClientId() != clientId) {
+                throw new RemoteException("Client is not the current owner of the releasing fe.");
+            }
+            synchronized (mLock) {
+                releaseFrontendInternal(fe);
             }
         }
 
         @Override
-        public void releaseDemux(int demuxHandle) {
+        public void releaseDemux(int demuxHandle, int clientId) {
             enforceTunerAccessPermission("releaseDemux");
             enforceTrmAccessPermission("releaseDemux");
             if (DEBUG) {
@@ -265,7 +287,7 @@
         }
 
         @Override
-        public void releaseDescrambler(int descramblerHandle) {
+        public void releaseDescrambler(int descramblerHandle, int clientId) {
             enforceTunerAccessPermission("releaseDescrambler");
             enforceTrmAccessPermission("releaseDescrambler");
             if (DEBUG) {
@@ -274,7 +296,7 @@
         }
 
         @Override
-        public void releaseCasSession(int sessionResourceId) {
+        public void releaseCasSession(int sessionResourceId, int clientId) {
             enforceTrmAccessPermission("releaseCasSession");
             if (DEBUG) {
                 Slog.d(TAG, "releaseCasSession(sessionResourceId=" + sessionResourceId + ")");
@@ -282,11 +304,22 @@
         }
 
         @Override
-        public void releaseLnb(int lnbId) {
+        public void releaseLnb(int lnbHandle, int clientId) throws RemoteException {
             enforceTunerAccessPermission("releaseLnb");
             enforceTrmAccessPermission("releaseLnb");
-            if (DEBUG) {
-                Slog.d(TAG, "releaseLnb(lnbId=" + lnbId + ")");
+            if (!validateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_LNB, lnbHandle)) {
+                throw new RemoteException("lnbHandle can't be invalid");
+            }
+            int lnbId = getResourceIdFromHandle(lnbHandle);
+            LnbResource lnb = getLnbResource(lnbId);
+            if (lnb == null) {
+                throw new RemoteException("Releasing lnb does not exist.");
+            }
+            if (lnb.getOwnerClientId() != clientId) {
+                throw new RemoteException("Client is not the current owner of the releasing lnb.");
+            }
+            synchronized (mLock) {
+                releaseLnbInternal(lnb);
             }
         }
 
@@ -393,7 +426,6 @@
             }
         }
 
-        // TODO check if the removing resource is in use or not. Handle the conflict.
         for (int removingId : updatingFrontendIds) {
             // update the exclusive group id member list
             removeFrontendResource(removingId);
@@ -401,6 +433,38 @@
     }
 
     @VisibleForTesting
+    protected void setLnbInfoListInternal(int[] lnbIds) {
+        if (DEBUG) {
+            for (int i = 0; i < lnbIds.length; i++) {
+                Slog.d(TAG, "updateLnbInfo(lnbId=" + lnbIds[i] + ")");
+            }
+        }
+
+        // A set to record the Lnbs pending on updating. Ids will be removed
+        // from this set once its updating finished. Any lnb left in this set when all
+        // the updates are done will be removed from mLnbResources.
+        Set<Integer> updatingLnbIds = new HashSet<>(getLnbResources().keySet());
+
+        // Update lnbResources map and other mappings accordingly
+        for (int i = 0; i < lnbIds.length; i++) {
+            if (getLnbResource(lnbIds[i]) != null) {
+                if (DEBUG) {
+                    Slog.d(TAG, "Lnb id=" + lnbIds[i] + "exists.");
+                }
+                updatingLnbIds.remove(lnbIds[i]);
+            } else {
+                // Add a new lnb resource
+                LnbResource newLnb = new LnbResource.Builder(lnbIds[i]).build();
+                addLnbResource(newLnb);
+            }
+        }
+
+        for (int removingId : updatingLnbIds) {
+            removeLnbResource(removingId);
+        }
+    }
+
+    @VisibleForTesting
     protected boolean requestFrontendInternal(TunerFrontendRequest request, int[] frontendHandle)
             throws RemoteException {
         if (DEBUG) {
@@ -452,10 +516,12 @@
         // When all the resources are occupied, grant the lowest priority resource if the
         // request client has higher priority.
         if (inUseLowestPriorityFrId > -1 && (requestClient.getPriority() > currentLowestPriority)) {
+            if (!reclaimResource(getFrontendResource(inUseLowestPriorityFrId).getOwnerClientId(),
+                    TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND)) {
+                return false;
+            }
             frontendHandle[0] = generateResourceHandle(
                     TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND, inUseLowestPriorityFrId);
-            reclaimFrontendResource(getFrontendResource(
-                    inUseLowestPriorityFrId).getOwnerClientId());
             updateFrontendClientMappingOnNewGrant(inUseLowestPriorityFrId, request.getClientId());
             return true;
         }
@@ -464,10 +530,85 @@
     }
 
     @VisibleForTesting
+    protected boolean requestLnbInternal(TunerLnbRequest request, int[] lnbHandle)
+            throws RemoteException {
+        if (DEBUG) {
+            Slog.d(TAG, "requestLnb(request=" + request + ")");
+        }
+
+        lnbHandle[0] = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+        if (!checkClientExists(request.getClientId())) {
+            Slog.e(TAG, "Request lnb from unregistered client:" + request.getClientId());
+            return false;
+        }
+        ClientProfile requestClient = getClientProfile(request.getClientId());
+        int grantingLnbId = -1;
+        int inUseLowestPriorityLnbId = -1;
+        // Priority max value is 1000
+        int currentLowestPriority = MAX_CLIENT_PRIORITY + 1;
+        for (LnbResource lnb : getLnbResources().values()) {
+            if (!lnb.isInUse()) {
+                // Grant the unused lnb with lower id first
+                grantingLnbId = lnb.getId();
+                break;
+            } else {
+                // Record the lnb id with the lowest client priority among all the
+                // in use lnb when no available lnb has been found.
+                int priority = getOwnerClientPriority(lnb);
+                if (currentLowestPriority > priority) {
+                    inUseLowestPriorityLnbId = lnb.getId();
+                    currentLowestPriority = priority;
+                }
+            }
+        }
+
+        // Grant Lnb when there is unused resource.
+        if (grantingLnbId > -1) {
+            lnbHandle[0] = generateResourceHandle(
+                    TunerResourceManager.TUNER_RESOURCE_TYPE_LNB, grantingLnbId);
+            updateLnbClientMappingOnNewGrant(grantingLnbId, request.getClientId());
+            return true;
+        }
+
+        // When all the resources are occupied, grant the lowest priority resource if the
+        // request client has higher priority.
+        if (inUseLowestPriorityLnbId > -1
+                && (requestClient.getPriority() > currentLowestPriority)) {
+            if (!reclaimResource(getLnbResource(inUseLowestPriorityLnbId).getOwnerClientId(),
+                    TunerResourceManager.TUNER_RESOURCE_TYPE_LNB)) {
+                return false;
+            }
+            lnbHandle[0] = generateResourceHandle(
+                    TunerResourceManager.TUNER_RESOURCE_TYPE_LNB, inUseLowestPriorityLnbId);
+            updateLnbClientMappingOnNewGrant(inUseLowestPriorityLnbId, request.getClientId());
+            return true;
+        }
+
+        return false;
+    }
+
+    @VisibleForTesting
+    void releaseFrontendInternal(FrontendResource fe) {
+        if (DEBUG) {
+            Slog.d(TAG, "releaseFrontend(id=" + fe.getId() + ")");
+        }
+        updateFrontendClientMappingOnRelease(fe);
+    }
+
+    @VisibleForTesting
+    void releaseLnbInternal(LnbResource lnb) {
+        if (DEBUG) {
+            Slog.d(TAG, "releaseLnb(lnbId=" + lnb.getId() + ")");
+        }
+        updateLnbClientMappingOnRelease(lnb);
+    }
+
+    @VisibleForTesting
     boolean requestDemuxInternal(TunerDemuxRequest request, int[] demuxHandle) {
         if (DEBUG) {
             Slog.d(TAG, "requestDemux(request=" + request + ")");
         }
+        // There are enough Demux resources, so we don't manage Demux in R.
         demuxHandle[0] = generateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_DEMUX, 0);
         return true;
     }
@@ -477,6 +618,7 @@
         if (DEBUG) {
             Slog.d(TAG, "requestDescrambler(request=" + request + ")");
         }
+        // There are enough Descrambler resources, so we don't manage Descrambler in R.
         descramblerHandle[0] =
                 generateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_DESCRAMBLER, 0);
         return true;
@@ -530,12 +672,21 @@
     }
 
     @VisibleForTesting
-    protected void reclaimFrontendResource(int reclaimingId) {
-        try {
-            mListeners.get(reclaimingId).getListener().onReclaimResources();
-        } catch (RemoteException e) {
-            Slog.e(TAG, "Failed to reclaim resources on client " + reclaimingId, e);
+    protected boolean reclaimResource(int reclaimingClientId,
+            @TunerResourceManager.TunerResourceType int resourceType) {
+        if (DEBUG) {
+            Slog.d(TAG, "Reclaiming resources because higher priority client request resource type "
+                    + resourceType);
         }
+        try {
+            mListeners.get(reclaimingClientId).getListener().onReclaimResources();
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Failed to reclaim resources on client " + reclaimingClientId, e);
+            return false;
+        }
+        ClientProfile profile = getClientProfile(reclaimingClientId);
+        reclaimingResourcesFromClient(profile);
+        return true;
     }
 
     @VisibleForTesting
@@ -568,14 +719,37 @@
         }
     }
 
+    private void updateFrontendClientMappingOnRelease(@NonNull FrontendResource releasingFrontend) {
+        ClientProfile ownerProfile = getClientProfile(releasingFrontend.getOwnerClientId());
+        releasingFrontend.removeOwner();
+        ownerProfile.releaseFrontend(releasingFrontend.getId());
+        for (int exclusiveGroupMember : releasingFrontend.getExclusiveGroupMemberFeIds()) {
+            getFrontendResource(exclusiveGroupMember).removeOwner();
+            ownerProfile.releaseFrontend(exclusiveGroupMember);
+        }
+    }
+
+    private void updateLnbClientMappingOnNewGrant(int grantingId, int ownerClientId) {
+        LnbResource grantingLnb = getLnbResource(grantingId);
+        ClientProfile ownerProfile = getClientProfile(ownerClientId);
+        grantingLnb.setOwner(ownerClientId);
+        ownerProfile.useLnb(grantingId);
+    }
+
+    private void updateLnbClientMappingOnRelease(@NonNull LnbResource releasingLnb) {
+        ClientProfile ownerProfile = getClientProfile(releasingLnb.getOwnerClientId());
+        releasingLnb.removeOwner();
+        ownerProfile.releaseLnb(releasingLnb.getId());
+    }
+
     /**
-     * Get the owner client's priority from the frontend id.
+     * Get the owner client's priority from the resource id.
      *
-     * @param frontend an in use frontend.
-     * @return the priority of the owner client of the frontend.
+     * @param resource a in use tuner resource.
+     * @return the priority of the owner client of the resource.
      */
-    private int getOwnerClientPriority(FrontendResource frontend) {
-        return getClientProfile(frontend.getOwnerClientId()).getPriority();
+    private int getOwnerClientPriority(TunerResourceBasic resource) {
+        return getClientProfile(resource.getOwnerClientId()).getPriority();
     }
 
     @VisibleForTesting
@@ -609,6 +783,9 @@
 
     private void removeFrontendResource(int removingId) {
         FrontendResource fe = getFrontendResource(removingId);
+        if (fe.isInUse()) {
+            releaseFrontendInternal(fe);
+        }
         for (int excGroupmemberFeId : fe.getExclusiveGroupMemberFeIds()) {
             getFrontendResource(excGroupmemberFeId)
                     .removeExclusiveGroupMemberFeId(fe.getId());
@@ -618,6 +795,30 @@
 
     @VisibleForTesting
     @Nullable
+    protected LnbResource getLnbResource(int lnbId) {
+        return mLnbResources.get(lnbId);
+    }
+
+    @VisibleForTesting
+    protected Map<Integer, LnbResource> getLnbResources() {
+        return mLnbResources;
+    }
+
+    private void addLnbResource(LnbResource newLnb) {
+        // Update resource list and available id list
+        mLnbResources.put(newLnb.getId(), newLnb);
+    }
+
+    private void removeLnbResource(int removingId) {
+        LnbResource lnb = getLnbResource(removingId);
+        if (lnb.isInUse()) {
+            releaseLnbInternal(lnb);
+        }
+        mLnbResources.remove(removingId);
+    }
+
+    @VisibleForTesting
+    @Nullable
     protected ClientProfile getClientProfile(int clientId) {
         return mClientProfiles.get(clientId);
     }
@@ -639,6 +840,16 @@
         mListeners.remove(clientId);
     }
 
+    private void reclaimingResourcesFromClient(ClientProfile profile) {
+        for (Integer feId : profile.getInUseFrontendIds()) {
+            getFrontendResource(feId).removeOwner();
+        }
+        for (Integer lnbId : profile.getInUseLnbIds()) {
+            getLnbResource(lnbId).removeOwner();
+        }
+        profile.reclaimAllResources();
+    }
+
     @VisibleForTesting
     protected boolean checkClientExists(int clientId) {
         return mClientProfiles.keySet().contains(clientId);
@@ -651,6 +862,22 @@
                 | (mResourceRequestCount++ & 0xffff);
     }
 
+    @VisibleForTesting
+    protected int getResourceIdFromHandle(int resourceHandle) {
+        if (resourceHandle == TunerResourceManager.INVALID_RESOURCE_HANDLE) {
+            return resourceHandle;
+        }
+        return (resourceHandle & 0x00ff0000) >> 16;
+    }
+
+    private boolean validateResourceHandle(int resourceType, int resourceHandle) {
+        if (resourceHandle == TunerResourceManager.INVALID_RESOURCE_HANDLE
+                || ((resourceHandle & 0xff000000) >> 24) != resourceType) {
+            return false;
+        }
+        return true;
+    }
+
     private void enforceTrmAccessPermission(String apiName) {
         getContext().enforceCallingPermission("android.permission.TUNER_RESOURCE_ACCESS",
                 TAG + ": " + apiName);
diff --git a/services/core/java/com/android/server/uri/GrantUri.java b/services/core/java/com/android/server/uri/GrantUri.java
index 1571575..f9b6a7a 100644
--- a/services/core/java/com/android/server/uri/GrantUri.java
+++ b/services/core/java/com/android/server/uri/GrantUri.java
@@ -18,6 +18,7 @@
 
 import android.content.ContentProvider;
 import android.content.ContentResolver;
+import android.content.Intent;
 import android.net.Uri;
 import android.util.proto.ProtoOutputStream;
 
@@ -27,12 +28,12 @@
 public class GrantUri {
     public final int sourceUserId;
     public final Uri uri;
-    public boolean prefix;
+    public final boolean prefix;
 
-    public GrantUri(int sourceUserId, Uri uri, boolean prefix) {
+    public GrantUri(int sourceUserId, Uri uri, int modeFlags) {
         this.sourceUserId = sourceUserId;
         this.uri = uri;
-        this.prefix = prefix;
+        this.prefix = (modeFlags & Intent.FLAG_GRANT_PREFIX_URI_PERMISSION) != 0;
     }
 
     @Override
@@ -74,12 +75,12 @@
         proto.end(token);
     }
 
-    public static GrantUri resolve(int defaultSourceUserHandle, Uri uri) {
+    public static GrantUri resolve(int defaultSourceUserHandle, Uri uri, int modeFlags) {
         if (ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
             return new GrantUri(ContentProvider.getUserIdFromUri(uri, defaultSourceUserHandle),
-                    ContentProvider.getUriWithoutUserId(uri), false);
+                    ContentProvider.getUriWithoutUserId(uri), modeFlags);
         } else {
-            return new GrantUri(defaultSourceUserHandle, uri, false);
+            return new GrantUri(defaultSourceUserHandle, uri, modeFlags);
         }
     }
 }
diff --git a/services/core/java/com/android/server/uri/NeededUriGrants.java b/services/core/java/com/android/server/uri/NeededUriGrants.java
index 0120394..8c8f553 100644
--- a/services/core/java/com/android/server/uri/NeededUriGrants.java
+++ b/services/core/java/com/android/server/uri/NeededUriGrants.java
@@ -16,22 +16,23 @@
 
 package com.android.server.uri;
 
+import android.util.ArraySet;
 import android.util.proto.ProtoOutputStream;
 
 import com.android.server.am.NeededUriGrantsProto;
 
-import java.util.ArrayList;
-
 /** List of {@link GrantUri} a process needs. */
-public class NeededUriGrants extends ArrayList<GrantUri> {
+public class NeededUriGrants {
     final String targetPkg;
     final int targetUid;
     final int flags;
+    final ArraySet<GrantUri> uris;
 
     public NeededUriGrants(String targetPkg, int targetUid, int flags) {
         this.targetPkg = targetPkg;
         this.targetUid = targetUid;
         this.flags = flags;
+        this.uris = new ArraySet<>();
     }
 
     public void dumpDebug(ProtoOutputStream proto, long fieldId) {
@@ -40,9 +41,9 @@
         proto.write(NeededUriGrantsProto.TARGET_UID, targetUid);
         proto.write(NeededUriGrantsProto.FLAGS, flags);
 
-        final int N = this.size();
+        final int N = uris.size();
         for (int i = 0; i < N; i++) {
-            this.get(i).dumpDebug(proto, NeededUriGrantsProto.GRANTS);
+            uris.valueAt(i).dumpDebug(proto, NeededUriGrantsProto.GRANTS);
         }
         proto.end(token);
     }
diff --git a/services/core/java/com/android/server/uri/TEST_MAPPING b/services/core/java/com/android/server/uri/TEST_MAPPING
new file mode 100644
index 0000000..e5cda03
--- /dev/null
+++ b/services/core/java/com/android/server/uri/TEST_MAPPING
@@ -0,0 +1,30 @@
+{
+    "presubmit": [
+        {
+            "name": "FrameworksServicesTests",
+            "options": [
+                {
+                    "include-filter": "com.android.server.uri."
+                }
+            ]
+        }
+    ],
+    "postsubmit": [
+        {
+            "name": "CtsAppSecurityHostTestCases",
+            "options": [
+                {
+                    "include-filter": "android.appsecurity.cts.AppSecurityTests#testPermissionDiffCert"
+                }
+            ]
+        },
+        {
+            "name": "CtsWindowManagerDeviceTestCases",
+            "options": [
+                {
+                    "include-filter": "android.server.wm.CrossAppDragAndDropTests"
+                }
+            ]
+        }
+    ]
+}
diff --git a/services/core/java/com/android/server/uri/UriGrantsManagerInternal.java b/services/core/java/com/android/server/uri/UriGrantsManagerInternal.java
index 2f50fcb..8afb87f 100644
--- a/services/core/java/com/android/server/uri/UriGrantsManagerInternal.java
+++ b/services/core/java/com/android/server/uri/UriGrantsManagerInternal.java
@@ -30,7 +30,6 @@
  */
 public interface UriGrantsManagerInternal {
     void onSystemReady();
-    void onActivityManagerInternalAdded();
     void removeUriPermissionIfNeeded(UriPermission perm);
     void grantUriPermission(int callingUid, String targetPkg, GrantUri grantUri,
             final int modeFlags, UriPermissionOwner owner, int targetUserId);
diff --git a/services/core/java/com/android/server/uri/UriGrantsManagerService.java b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
index fe34e86..b8c2f90 100644
--- a/services/core/java/com/android/server/uri/UriGrantsManagerService.java
+++ b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
@@ -21,6 +21,9 @@
 import static android.Manifest.permission.GET_APP_GRANTED_URI_PERMISSIONS;
 import static android.Manifest.permission.INTERACT_ACROSS_USERS;
 import static android.app.ActivityManagerInternal.ALLOW_FULL_ONLY;
+import static android.content.Intent.FLAG_GRANT_PREFIX_URI_PERMISSION;
+import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;
+import static android.content.Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
 import static android.content.pm.PackageManager.MATCH_ANY_USER;
 import static android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING;
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
@@ -53,7 +56,6 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManagerInternal;
 import android.content.pm.ParceledListSlice;
@@ -76,6 +78,8 @@
 import android.util.SparseArray;
 import android.util.Xml;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.Preconditions;
 import com.android.server.IoThread;
@@ -83,11 +87,11 @@
 import com.android.server.SystemService;
 import com.android.server.SystemServiceManager;
 
+import libcore.io.IoUtils;
+
 import com.google.android.collect.Lists;
 import com.google.android.collect.Maps;
 
-import libcore.io.IoUtils;
-
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlSerializer;
@@ -114,7 +118,6 @@
     private static final boolean ENABLE_DYNAMIC_PERMISSIONS = false;
 
     private final Object mLock = new Object();
-    private final Context mContext;
     private final H mH;
     ActivityManagerInternal mAmInternal;
     PackageManagerInternal mPmInternal;
@@ -143,27 +146,38 @@
     private final SparseArray<ArrayMap<GrantUri, UriPermission>>
             mGrantedUriPermissions = new SparseArray<>();
 
-    private UriGrantsManagerService(Context context) {
-        mContext = context;
+    private UriGrantsManagerService() {
+        this(SystemServiceManager.ensureSystemDir());
+    }
+
+    private UriGrantsManagerService(File systemDir) {
         mH = new H(IoThread.get().getLooper());
-        final File systemDir = SystemServiceManager.ensureSystemDir();
         mGrantFile = new AtomicFile(new File(systemDir, "urigrants.xml"), "uri-grants");
     }
 
+    @VisibleForTesting
+    static UriGrantsManagerService createForTest(File systemDir) {
+        final UriGrantsManagerService service = new UriGrantsManagerService(systemDir);
+        service.mAmInternal = LocalServices.getService(ActivityManagerInternal.class);
+        service.mPmInternal = LocalServices.getService(PackageManagerInternal.class);
+        return service;
+    }
+
+    @VisibleForTesting
+    UriGrantsManagerInternal getLocalService() {
+        return new LocalService();
+    }
+
     private void start() {
         LocalServices.addService(UriGrantsManagerInternal.class, new LocalService());
     }
 
-    void onActivityManagerInternalAdded() {
-        mAmInternal = LocalServices.getService(ActivityManagerInternal.class);
-    }
-
     public static final class Lifecycle extends SystemService {
         private final UriGrantsManagerService mService;
 
         public Lifecycle(Context context) {
             super(context);
-            mService = new UriGrantsManagerService(context);
+            mService = new UriGrantsManagerService();
         }
 
         @Override
@@ -172,11 +186,27 @@
             mService.start();
         }
 
+        @Override
+        public void onBootPhase(int phase) {
+            if (phase == PHASE_SYSTEM_SERVICES_READY) {
+                mService.mAmInternal = LocalServices.getService(ActivityManagerInternal.class);
+                mService.mPmInternal = LocalServices.getService(PackageManagerInternal.class);
+            }
+        }
+
         public UriGrantsManagerService getService() {
             return mService;
         }
     }
 
+    private int checkUidPermission(String permission, int uid) {
+        try {
+            return AppGlobals.getPackageManager().checkUidPermission(permission, uid);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
     /**
      * @param uri This uri must NOT contain an embedded userId.
      * @param sourceUserId The userId in which the uri is to be resolved.
@@ -207,7 +237,7 @@
                 throw new IllegalArgumentException("null uri");
             }
 
-            grantUriPermission(fromUid, targetPkg, new GrantUri(sourceUserId, uri, false),
+            grantUriPermission(fromUid, targetPkg, new GrantUri(sourceUserId, uri, modeFlags),
                     modeFlags, owner, targetUserId);
         }
     }
@@ -220,16 +250,12 @@
 
         final int callingUid = Binder.getCallingUid();
         final int callingUserId = UserHandle.getUserId(callingUid);
-        final IPackageManager pm = AppGlobals.getPackageManager();
-        try {
-            final int packageUid = pm.getPackageUid(packageName,
-                    MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, callingUserId);
-            if (packageUid != callingUid) {
-                throw new SecurityException(
-                        "Package " + packageName + " does not belong to calling UID " + callingUid);
-            }
-        } catch (RemoteException e) {
-            throw new SecurityException("Failed to verify package name ownership");
+        final PackageManagerInternal pm = LocalServices.getService(PackageManagerInternal.class);
+        final int packageUid = pm.getPackageUidInternal(packageName,
+                MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, callingUserId);
+        if (packageUid != callingUid) {
+            throw new SecurityException(
+                    "Package " + packageName + " does not belong to calling UID " + callingUid);
         }
 
         final ArrayList<android.content.UriPermission> result = Lists.newArrayList();
@@ -303,7 +329,7 @@
         if (toPackage != null) {
             mAmInternal.enforceCallingPermission(FORCE_PERSISTABLE_URI_PERMISSIONS,
                     "takePersistableUriPermission");
-            uid = getPmInternal().getPackageUid(toPackage, 0, userId);
+            uid = mPmInternal.getPackageUidInternal(toPackage, 0, userId);
         } else {
             enforceNotIsolatedCaller("takePersistableUriPermission");
             uid = Binder.getCallingUid();
@@ -314,11 +340,11 @@
 
         synchronized (mLock) {
             boolean persistChanged = false;
-            GrantUri grantUri = new GrantUri(userId, uri, false);
 
-            UriPermission exactPerm = findUriPermissionLocked(uid, grantUri);
+            UriPermission exactPerm = findUriPermissionLocked(uid,
+                    new GrantUri(userId, uri, 0));
             UriPermission prefixPerm = findUriPermissionLocked(uid,
-                    new GrantUri(userId, uri, true));
+                    new GrantUri(userId, uri, FLAG_GRANT_PREFIX_URI_PERMISSION));
 
             final boolean exactValid = (exactPerm != null)
                     && ((modeFlags & exactPerm.persistableModeFlags) == modeFlags);
@@ -327,7 +353,7 @@
 
             if (!(exactValid || prefixValid)) {
                 throw new SecurityException("No persistable permission grants found for UID "
-                        + uid + " and Uri " + grantUri.toSafeString());
+                        + uid + " and Uri " + uri.toSafeString());
             }
 
             if (exactValid) {
@@ -368,7 +394,7 @@
         if (toPackage != null) {
             mAmInternal.enforceCallingPermission(FORCE_PERSISTABLE_URI_PERMISSIONS,
                     "releasePersistableUriPermission");
-            uid = getPmInternal().getPackageUid(toPackage, 0, userId);
+            uid = mPmInternal.getPackageUidInternal(toPackage, 0, userId);
         } else {
             enforceNotIsolatedCaller("releasePersistableUriPermission");
             uid = Binder.getCallingUid();
@@ -381,9 +407,9 @@
             boolean persistChanged = false;
 
             UriPermission exactPerm = findUriPermissionLocked(uid,
-                    new GrantUri(userId, uri, false));
+                    new GrantUri(userId, uri, 0));
             UriPermission prefixPerm = findUriPermissionLocked(uid,
-                    new GrantUri(userId, uri, true));
+                    new GrantUri(userId, uri, FLAG_GRANT_PREFIX_URI_PERMISSION));
             if (exactPerm == null && prefixPerm == null && toPackage == null) {
                 throw new SecurityException("No permission grants found for UID " + uid
                         + " and Uri " + uri.toSafeString());
@@ -559,16 +585,12 @@
         if (contentUserHint == UserHandle.USER_CURRENT) {
             contentUserHint = UserHandle.getUserId(callingUid);
         }
-        final IPackageManager pm = AppGlobals.getPackageManager();
         int targetUid;
         if (needed != null) {
             targetUid = needed.targetUid;
         } else {
-            try {
-                targetUid = pm.getPackageUid(targetPkg, MATCH_DEBUG_TRIAGED_MISSING, targetUserId);
-            } catch (RemoteException ex) {
-                return null;
-            }
+            targetUid = mPmInternal.getPackageUidInternal(targetPkg, MATCH_DEBUG_TRIAGED_MISSING,
+                    targetUserId);
             if (targetUid < 0) {
                 if (DEBUG) Slog.v(TAG, "Can't grant URI permission no uid for: " + targetPkg
                         + " on user " + targetUserId);
@@ -576,27 +598,27 @@
             }
         }
         if (data != null) {
-            GrantUri grantUri = GrantUri.resolve(contentUserHint, data);
+            GrantUri grantUri = GrantUri.resolve(contentUserHint, data, mode);
             targetUid = checkGrantUriPermission(callingUid, targetPkg, grantUri, mode, targetUid);
             if (targetUid > 0) {
                 if (needed == null) {
                     needed = new NeededUriGrants(targetPkg, targetUid, mode);
                 }
-                needed.add(grantUri);
+                needed.uris.add(grantUri);
             }
         }
         if (clip != null) {
             for (int i=0; i<clip.getItemCount(); i++) {
                 Uri uri = clip.getItemAt(i).getUri();
                 if (uri != null) {
-                    GrantUri grantUri = GrantUri.resolve(contentUserHint, uri);
+                    GrantUri grantUri = GrantUri.resolve(contentUserHint, uri, mode);
                     targetUid = checkGrantUriPermission(callingUid, targetPkg,
                             grantUri, mode, targetUid);
                     if (targetUid > 0) {
                         if (needed == null) {
                             needed = new NeededUriGrants(targetPkg, targetUid, mode);
                         }
-                        needed.add(grantUri);
+                        needed.uris.add(grantUri);
                     }
                 } else {
                     Intent clipIntent = clip.getItemAt(i).getIntent();
@@ -666,16 +688,13 @@
                         final ProviderInfo pi = getProviderInfo(uri.getAuthority(), sourceUserId,
                                 MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE);
                         if (pi != null && sourcePkg.equals(pi.packageName)) {
-                            int targetUid = -1;
-                            try {
-                                targetUid = AppGlobals.getPackageManager().getPackageUid(
+                            int targetUid = mPmInternal.getPackageUidInternal(
                                         targetPkg, MATCH_UNINSTALLED_PACKAGES, targetUserId);
-                            } catch (RemoteException e) {
-                            }
                             if (targetUid != -1) {
+                                final GrantUri grantUri = new GrantUri(sourceUserId, uri,
+                                        prefix ? Intent.FLAG_GRANT_PREFIX_URI_PERMISSION : 0);
                                 final UriPermission perm = findOrCreateUriPermission(
-                                        sourcePkg, targetPkg, targetUid,
-                                        new GrantUri(sourceUserId, uri, prefix));
+                                        sourcePkg, targetPkg, targetUid, grantUri);
                                 perm.initPersistedModes(modeFlags, createdTime);
                             }
                         } else {
@@ -733,13 +752,10 @@
             return;
         }
 
-        if ((modeFlags & Intent.FLAG_GRANT_PREFIX_URI_PERMISSION) != 0) {
-            grantUri.prefix = true;
-        }
         final UriPermission perm = findOrCreateUriPermission(
                 pi.packageName, targetPkg, targetUid, grantUri);
         perm.grantModes(modeFlags, owner);
-        getPmInternal().grantImplicitAccess(UserHandle.getUserId(targetUid), null,
+        mPmInternal.grantImplicitAccess(UserHandle.getUserId(targetUid), null,
                 UserHandle.getAppId(targetUid), pi.applicationInfo.uid, false /*direct*/);
     }
 
@@ -748,10 +764,10 @@
         if (needed == null) {
             return;
         }
-        for (int i=0; i<needed.size(); i++) {
-            GrantUri grantUri = needed.get(i);
+        final int N = needed.uris.size();
+        for (int i = 0; i < N; i++) {
             grantUriPermissionUnchecked(needed.targetUid, needed.targetPkg,
-                    grantUri, needed.flags, owner);
+                    needed.uris.valueAt(i), needed.flags, owner);
         }
     }
 
@@ -760,13 +776,8 @@
         if (targetPkg == null) {
             throw new NullPointerException("targetPkg");
         }
-        int targetUid;
-        final IPackageManager pm = AppGlobals.getPackageManager();
-        try {
-            targetUid = pm.getPackageUid(targetPkg, MATCH_DEBUG_TRIAGED_MISSING, targetUserId);
-        } catch (RemoteException ex) {
-            return;
-        }
+        int targetUid = mPmInternal.getPackageUidInternal(targetPkg, MATCH_DEBUG_TRIAGED_MISSING,
+                targetUserId);
 
         targetUid = checkGrantUriPermission(callingUid, targetPkg, grantUri, modeFlags, targetUid);
         if (targetUid < 0) {
@@ -780,7 +791,6 @@
             final int modeFlags) {
         if (DEBUG) Slog.v(TAG, "Revoking all granted permissions to " + grantUri);
 
-        final IPackageManager pm = AppGlobals.getPackageManager();
         final String authority = grantUri.uri.getAuthority();
         final ProviderInfo pi = getProviderInfo(authority, grantUri.sourceUserId,
                 MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE);
@@ -791,7 +801,7 @@
         }
 
         // Does the caller have this permission on the URI?
-        if (!checkHoldingPermissions(pm, pi, grantUri, callingUid, modeFlags)) {
+        if (!checkHoldingPermissions(pi, grantUri, callingUid, modeFlags)) {
             // If they don't have direct access to the URI, then revoke any
             // ownerless URI permissions that have been granted to them.
             final ArrayMap<GrantUri, UriPermission> perms = mGrantedUriPermissions.get(callingUid);
@@ -864,7 +874,7 @@
      * in {@link ContentProvider}.
      */
     private boolean checkHoldingPermissions(
-            IPackageManager pm, ProviderInfo pi, GrantUri grantUri, int uid, final int modeFlags) {
+            ProviderInfo pi, GrantUri grantUri, int uid, final int modeFlags) {
         if (DEBUG) Slog.v(TAG, "checkHoldingPermissions: uri=" + grantUri + " uid=" + uid);
         if (UserHandle.getUserId(uid) != grantUri.sourceUserId) {
             if (ActivityManager.checkComponentPermission(INTERACT_ACROSS_USERS, uid, -1, true)
@@ -872,10 +882,10 @@
                 return false;
             }
         }
-        return checkHoldingPermissionsInternal(pm, pi, grantUri, uid, modeFlags, true);
+        return checkHoldingPermissionsInternal(pi, grantUri, uid, modeFlags, true);
     }
 
-    private boolean checkHoldingPermissionsInternal(IPackageManager pm, ProviderInfo pi,
+    private boolean checkHoldingPermissionsInternal(ProviderInfo pi,
             GrantUri grantUri, int uid, final int modeFlags, boolean considerUidPermissions) {
         if (pi.applicationInfo.uid == uid) {
             return true;
@@ -885,74 +895,70 @@
 
         boolean readMet = (modeFlags & Intent.FLAG_GRANT_READ_URI_PERMISSION) == 0;
         boolean writeMet = (modeFlags & Intent.FLAG_GRANT_WRITE_URI_PERMISSION) == 0;
-        try {
-            // check if target holds top-level <provider> permissions
-            if (!readMet && pi.readPermission != null && considerUidPermissions
-                    && (pm.checkUidPermission(pi.readPermission, uid) == PERMISSION_GRANTED)) {
-                readMet = true;
-            }
-            if (!writeMet && pi.writePermission != null && considerUidPermissions
-                    && (pm.checkUidPermission(pi.writePermission, uid) == PERMISSION_GRANTED)) {
-                writeMet = true;
-            }
 
-            // track if unprotected read/write is allowed; any denied
-            // <path-permission> below removes this ability
-            boolean allowDefaultRead = pi.readPermission == null;
-            boolean allowDefaultWrite = pi.writePermission == null;
+        // check if target holds top-level <provider> permissions
+        if (!readMet && pi.readPermission != null && considerUidPermissions
+                && (checkUidPermission(pi.readPermission, uid) == PERMISSION_GRANTED)) {
+            readMet = true;
+        }
+        if (!writeMet && pi.writePermission != null && considerUidPermissions
+                && (checkUidPermission(pi.writePermission, uid) == PERMISSION_GRANTED)) {
+            writeMet = true;
+        }
 
-            // check if target holds any <path-permission> that match uri
-            final PathPermission[] pps = pi.pathPermissions;
-            if (pps != null) {
-                final String path = grantUri.uri.getPath();
-                int i = pps.length;
-                while (i > 0 && (!readMet || !writeMet)) {
-                    i--;
-                    PathPermission pp = pps[i];
-                    if (pp.match(path)) {
-                        if (!readMet) {
-                            final String pprperm = pp.getReadPermission();
-                            if (DEBUG) Slog.v(TAG,
-                                    "Checking read perm for " + pprperm + " for " + pp.getPath()
-                                            + ": match=" + pp.match(path)
-                                            + " check=" + pm.checkUidPermission(pprperm, uid));
-                            if (pprperm != null) {
-                                if (considerUidPermissions && pm.checkUidPermission(pprperm, uid)
-                                        == PERMISSION_GRANTED) {
-                                    readMet = true;
-                                } else {
-                                    allowDefaultRead = false;
-                                }
+        // track if unprotected read/write is allowed; any denied
+        // <path-permission> below removes this ability
+        boolean allowDefaultRead = pi.readPermission == null;
+        boolean allowDefaultWrite = pi.writePermission == null;
+
+        // check if target holds any <path-permission> that match uri
+        final PathPermission[] pps = pi.pathPermissions;
+        if (pps != null) {
+            final String path = grantUri.uri.getPath();
+            int i = pps.length;
+            while (i > 0 && (!readMet || !writeMet)) {
+                i--;
+                PathPermission pp = pps[i];
+                if (pp.match(path)) {
+                    if (!readMet) {
+                        final String pprperm = pp.getReadPermission();
+                        if (DEBUG) Slog.v(TAG,
+                                "Checking read perm for " + pprperm + " for " + pp.getPath()
+                                        + ": match=" + pp.match(path)
+                                        + " check=" + checkUidPermission(pprperm, uid));
+                        if (pprperm != null) {
+                            if (considerUidPermissions && checkUidPermission(pprperm, uid)
+                                    == PERMISSION_GRANTED) {
+                                readMet = true;
+                            } else {
+                                allowDefaultRead = false;
                             }
                         }
-                        if (!writeMet) {
-                            final String ppwperm = pp.getWritePermission();
-                            if (DEBUG) Slog.v(TAG,
-                                    "Checking write perm " + ppwperm + " for " + pp.getPath()
-                                            + ": match=" + pp.match(path)
-                                            + " check=" + pm.checkUidPermission(ppwperm, uid));
-                            if (ppwperm != null) {
-                                if (considerUidPermissions && pm.checkUidPermission(ppwperm, uid)
-                                        == PERMISSION_GRANTED) {
-                                    writeMet = true;
-                                } else {
-                                    allowDefaultWrite = false;
-                                }
+                    }
+                    if (!writeMet) {
+                        final String ppwperm = pp.getWritePermission();
+                        if (DEBUG) Slog.v(TAG,
+                                "Checking write perm " + ppwperm + " for " + pp.getPath()
+                                        + ": match=" + pp.match(path)
+                                        + " check=" + checkUidPermission(ppwperm, uid));
+                        if (ppwperm != null) {
+                            if (considerUidPermissions && checkUidPermission(ppwperm, uid)
+                                    == PERMISSION_GRANTED) {
+                                writeMet = true;
+                            } else {
+                                allowDefaultWrite = false;
                             }
                         }
                     }
                 }
             }
-
-            // grant unprotected <provider> read/write, if not blocked by
-            // <path-permission> above
-            if (allowDefaultRead) readMet = true;
-            if (allowDefaultWrite) writeMet = true;
-
-        } catch (RemoteException e) {
-            return false;
         }
 
+        // grant unprotected <provider> read/write, if not blocked by
+        // <path-permission> above
+        if (allowDefaultRead) readMet = true;
+        if (allowDefaultWrite) writeMet = true;
+
         // If this provider says that grants are always required, we need to
         // consult it directly to determine if the UID has permission
         final boolean forceMet;
@@ -1013,14 +1019,8 @@
     }
 
     private ProviderInfo getProviderInfo(String authority, int userHandle, int pmFlags) {
-        ProviderInfo pi = null;
-        try {
-            pi = AppGlobals.getPackageManager().resolveContentProvider(
-                    authority, PackageManager.GET_URI_PERMISSION_PATTERNS | pmFlags,
-                    userHandle);
-        } catch (RemoteException ex) {
-        }
-        return pi;
+        return mPmInternal.resolveContentProvider(authority,
+                PackageManager.GET_URI_PERMISSION_PATTERNS | pmFlags, userHandle);
     }
 
     /**
@@ -1033,7 +1033,7 @@
      * lastTargetUid else set that to -1.
      */
     int checkGrantUriPermission(int callingUid, String targetPkg, GrantUri grantUri,
-            final int modeFlags, int lastTargetUid) {
+            int modeFlags, int lastTargetUid) {
         if (!Intent.isAccessUriMode(modeFlags)) {
             return -1;
         }
@@ -1042,8 +1042,6 @@
             if (DEBUG) Slog.v(TAG, "Checking grant " + targetPkg + " permission to " + grantUri);
         }
 
-        final IPackageManager pm = AppGlobals.getPackageManager();
-
         // If this is not a content: uri, we can't do anything with it.
         if (!ContentResolver.SCHEME_CONTENT.equals(grantUri.uri.getScheme())) {
             if (DEBUG) Slog.v(TAG, "Can't grant URI permission for non-content URI: " + grantUri);
@@ -1079,39 +1077,22 @@
 
         int targetUid = lastTargetUid;
         if (targetUid < 0 && targetPkg != null) {
-            try {
-                targetUid = pm.getPackageUid(targetPkg, MATCH_DEBUG_TRIAGED_MISSING,
-                        UserHandle.getUserId(callingUid));
-                if (targetUid < 0) {
-                    if (DEBUG) Slog.v(TAG, "Can't grant URI permission no uid for: " + targetPkg);
-                    return -1;
-                }
-            } catch (RemoteException ex) {
+            targetUid = mPmInternal.getPackageUidInternal(targetPkg, MATCH_DEBUG_TRIAGED_MISSING,
+                    UserHandle.getUserId(callingUid));
+            if (targetUid < 0) {
+                if (DEBUG) Slog.v(TAG, "Can't grant URI permission no uid for: " + targetPkg);
                 return -1;
             }
         }
 
-        // Figure out the value returned when access is allowed
-        final int allowedResult;
-        if ((modeFlags & Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION) != 0
-                || pi.forceUriPermissions) {
-            // If we're extending a persistable grant or need to force, then we need to return
-            // "targetUid" so that we always create a grant data structure to
-            // support take/release APIs
-            allowedResult = targetUid;
-        } else {
-            // Otherwise, we can return "-1" to indicate that no grant data
-            // structures need to be created
-            allowedResult = -1;
-        }
-
+        boolean targetHoldsPermission = false;
         if (targetUid >= 0) {
             // First...  does the target actually need this permission?
-            if (checkHoldingPermissions(pm, pi, grantUri, targetUid, modeFlags)) {
+            if (checkHoldingPermissions(pi, grantUri, targetUid, modeFlags)) {
                 // No need to grant the target this permission.
                 if (DEBUG) Slog.v(TAG,
                         "Target " + targetPkg + " already has full permission to " + grantUri);
-                return allowedResult;
+                targetHoldsPermission = true;
             }
         } else {
             // First...  there is no target package, so can anyone access it?
@@ -1145,9 +1126,25 @@
                     }
                 }
             }
-            if (allowed) {
-                return allowedResult;
+            if (pi.forceUriPermissions) {
+                // When provider requires dynamic permission checks, the only
+                // way to be safe is to issue permission grants for each item by
+                // assuming no generic access
+                allowed = false;
             }
+            if (allowed) {
+                targetHoldsPermission = true;
+            }
+        }
+
+        final boolean basicGrant = (modeFlags & ~(FLAG_GRANT_READ_URI_PERMISSION
+                | FLAG_GRANT_WRITE_URI_PERMISSION)) == 0;
+        if (basicGrant && targetHoldsPermission) {
+            // When caller holds permission, and this is a simple permission
+            // grant, we can skip generating any bookkeeping; when any advanced
+            // features have been requested, we proceed below to make sure the
+            // provider supports granting permissions
+            return -1;
         }
 
         /* There is a special cross user grant if:
@@ -1158,38 +1155,42 @@
          */
         boolean specialCrossUserGrant = targetUid >= 0
                 && UserHandle.getUserId(targetUid) != grantUri.sourceUserId
-                && checkHoldingPermissionsInternal(pm, pi, grantUri, callingUid,
+                && checkHoldingPermissionsInternal(pi, grantUri, callingUid,
                 modeFlags, false /*without considering the uid permissions*/);
 
         // Second...  is the provider allowing granting of URI permissions?
-        if (!specialCrossUserGrant) {
-            if (!pi.grantUriPermissions) {
+        boolean grantAllowed = pi.grantUriPermissions;
+        if (!ArrayUtils.isEmpty(pi.uriPermissionPatterns)) {
+            final int N = pi.uriPermissionPatterns.length;
+            grantAllowed = false;
+            for (int i = 0; i < N; i++) {
+                if (pi.uriPermissionPatterns[i] != null
+                        && pi.uriPermissionPatterns[i].match(grantUri.uri.getPath())) {
+                    grantAllowed = true;
+                    break;
+                }
+            }
+        }
+        if (!grantAllowed) {
+            if (specialCrossUserGrant) {
+                // We're only okay issuing basic grant access across user
+                // boundaries; advanced flags are blocked here
+                if (!basicGrant) {
+                    throw new SecurityException("Provider " + pi.packageName
+                            + "/" + pi.name
+                            + " does not allow granting of advanced Uri permissions (uri "
+                            + grantUri + ")");
+                }
+            } else {
                 throw new SecurityException("Provider " + pi.packageName
                         + "/" + pi.name
                         + " does not allow granting of Uri permissions (uri "
                         + grantUri + ")");
             }
-            if (pi.uriPermissionPatterns != null) {
-                final int N = pi.uriPermissionPatterns.length;
-                boolean allowed = false;
-                for (int i=0; i<N; i++) {
-                    if (pi.uriPermissionPatterns[i] != null
-                            && pi.uriPermissionPatterns[i].match(grantUri.uri.getPath())) {
-                        allowed = true;
-                        break;
-                    }
-                }
-                if (!allowed) {
-                    throw new SecurityException("Provider " + pi.packageName
-                            + "/" + pi.name
-                            + " does not allow granting of permission to path of Uri "
-                            + grantUri);
-                }
-            }
         }
 
         // Third...  does the caller itself have permission to access this uri?
-        if (!checkHoldingPermissions(pm, pi, grantUri, callingUid, modeFlags)) {
+        if (!checkHoldingPermissions(pi, grantUri, callingUid, modeFlags)) {
             // Require they hold a strong enough Uri permission
             if (!checkUriPermission(grantUri, callingUid, modeFlags)) {
                 if (android.Manifest.permission.MANAGE_DOCUMENTS.equals(pi.readPermission)) {
@@ -1203,6 +1204,7 @@
                 }
             }
         }
+
         return targetUid;
     }
 
@@ -1212,7 +1214,7 @@
     int checkGrantUriPermission(int callingUid, String targetPkg, Uri uri, int modeFlags,
             int userId) {
         return checkGrantUriPermission(callingUid, targetPkg,
-                new GrantUri(userId, uri, false), modeFlags, -1);
+                new GrantUri(userId, uri, modeFlags), modeFlags, -1);
     }
 
     boolean checkUriPermission(GrantUri grantUri, int uid, final int modeFlags) {
@@ -1297,14 +1299,6 @@
         }
     }
 
-    private PackageManagerInternal getPmInternal() {
-        // Don't need to synchonize; worst-case scenario LocalServices will be called twice.
-        if (mPmInternal == null) {
-            mPmInternal = LocalServices.getService(PackageManagerInternal.class);
-        }
-        return mPmInternal;
-    }
-
     final class H extends Handler {
         static final int PERSIST_URI_GRANTS_MSG = 1;
 
@@ -1324,7 +1318,6 @@
     }
 
     final class LocalService implements UriGrantsManagerInternal {
-
         @Override
         public void removeUriPermissionIfNeeded(UriPermission perm) {
             synchronized (mLock) {
@@ -1419,13 +1412,6 @@
         }
 
         @Override
-        public void onActivityManagerInternalAdded() {
-            synchronized (mLock) {
-                UriGrantsManagerService.this.onActivityManagerInternalAdded();
-            }
-        }
-
-        @Override
         public IBinder newUriPermissionOwner(String name) {
             enforceNotIsolatedCaller("newUriPermissionOwner");
             synchronized(mLock) {
@@ -1454,8 +1440,7 @@
                 if (uri == null) {
                     owner.removeUriPermissions(mode);
                 } else {
-                    final boolean prefix = (mode & Intent.FLAG_GRANT_PREFIX_URI_PERMISSION) != 0;
-                    owner.removeUriPermission(new GrantUri(userId, uri, prefix), mode);
+                    owner.removeUriPermission(new GrantUri(userId, uri, mode), mode);
                 }
             }
         }
@@ -1478,12 +1463,7 @@
                     boolean printed = false;
                     int dumpUid = -2;
                     if (dumpPackage != null) {
-                        try {
-                            dumpUid = mContext.getPackageManager().getPackageUidAsUser(dumpPackage,
-                                    MATCH_ANY_USER, 0);
-                        } catch (PackageManager.NameNotFoundException e) {
-                            dumpUid = -1;
-                        }
+                        dumpUid = mPmInternal.getPackageUidInternal(dumpPackage, MATCH_ANY_USER, 0);
                     }
                     for (int i = 0; i < mGrantedUriPermissions.size(); i++) {
                         int uid = mGrantedUriPermissions.keyAt(i);
diff --git a/services/core/java/com/android/server/uri/UriPermission.java b/services/core/java/com/android/server/uri/UriPermission.java
index bd6348a..6db781a 100644
--- a/services/core/java/com/android/server/uri/UriPermission.java
+++ b/services/core/java/com/android/server/uri/UriPermission.java
@@ -16,6 +16,7 @@
 
 package com.android.server.uri;
 
+import android.annotation.Nullable;
 import android.app.GrantedUriPermission;
 import android.content.Intent;
 import android.os.Binder;
@@ -79,7 +80,7 @@
      */
     long persistedCreateTime = INVALID_TIME;
 
-    private static final long INVALID_TIME = Long.MIN_VALUE;
+    static final long INVALID_TIME = Long.MIN_VALUE;
 
     private ArraySet<UriPermissionOwner> mReadOwners;
     private ArraySet<UriPermissionOwner> mWriteOwners;
@@ -96,7 +97,7 @@
 
     private void updateModeFlags() {
         final int oldModeFlags = modeFlags;
-        modeFlags = ownedModeFlags | globalModeFlags | persistableModeFlags | persistedModeFlags;
+        modeFlags = ownedModeFlags | globalModeFlags | persistedModeFlags;
 
         if (Log.isLoggable(TAG, Log.VERBOSE) && (modeFlags != oldModeFlags)) {
             Slog.d(TAG,
@@ -123,7 +124,7 @@
         updateModeFlags();
     }
 
-    void grantModes(int modeFlags, UriPermissionOwner owner) {
+    boolean grantModes(int modeFlags, @Nullable UriPermissionOwner owner) {
         final boolean persistable = (modeFlags & Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION) != 0;
         modeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION
                 | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
@@ -144,6 +145,7 @@
         }
 
         updateModeFlags();
+        return false;
     }
 
     /**
@@ -176,8 +178,6 @@
                 | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
 
         final int before = persistedModeFlags;
-
-        persistableModeFlags &= ~modeFlags;
         persistedModeFlags &= ~modeFlags;
 
         if (persistedModeFlags == 0) {
diff --git a/services/core/java/com/android/server/uri/UriPermissionOwner.java b/services/core/java/com/android/server/uri/UriPermissionOwner.java
index f2c06cd..2b404a4 100644
--- a/services/core/java/com/android/server/uri/UriPermissionOwner.java
+++ b/services/core/java/com/android/server/uri/UriPermissionOwner.java
@@ -25,6 +25,7 @@
 import android.util.proto.ProtoOutputStream;
 
 import com.android.server.am.UriPermissionOwnerProto;
+
 import com.google.android.collect.Sets;
 
 import java.io.PrintWriter;
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 68224b5..3f9f95c 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -16,6 +16,7 @@
 
 package com.android.server.wm;
 
+import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY;
 import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
 import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY;
@@ -48,6 +49,7 @@
 import android.util.SparseArray;
 import android.util.TypedValue;
 import android.view.Display;
+import android.view.InsetsState;
 import android.view.MagnificationSpec;
 import android.view.Surface;
 import android.view.Surface.OutOfResourcesException;
@@ -672,6 +674,15 @@
                         availableBounds.op(windowBounds, Region.Op.DIFFERENCE);
                     }
 
+                    // If the navigation bar window doesn't have touchable region, count
+                    // navigation bar insets into nonMagnifiedBounds. It happens when
+                    // navigation mode is gestural.
+                    if (isUntouchableNavigationBar(windowState, mTempRegion3)) {
+                        final Rect navBarInsets = getNavBarInsets(mDisplayContent);
+                        nonMagnifiedBounds.op(navBarInsets, Region.Op.UNION);
+                        availableBounds.op(navBarInsets, Region.Op.DIFFERENCE);
+                    }
+
                     // Count letterbox into nonMagnifiedBounds
                     if (windowState.isLetterboxedForDisplayCutoutLw()) {
                         Region letterboxBounds = getLetterboxBounds(windowState);
@@ -715,8 +726,7 @@
                     } else {
                         final Region dirtyRegion = mTempRegion3;
                         dirtyRegion.set(mMagnificationRegion);
-                        dirtyRegion.op(mOldMagnificationRegion, Region.Op.UNION);
-                        dirtyRegion.op(nonMagnifiedBounds, Region.Op.INTERSECT);
+                        dirtyRegion.op(mOldMagnificationRegion, Region.Op.XOR);
                         dirtyRegion.getBounds(dirtyRect);
                         mWindow.invalidate(dirtyRect);
                     }
@@ -1089,6 +1099,24 @@
         }
     }
 
+    static boolean isUntouchableNavigationBar(WindowState windowState,
+            Region touchableRegion) {
+        if (windowState.mAttrs.type != WindowManager.LayoutParams.TYPE_NAVIGATION_BAR) {
+            return false;
+        }
+
+        // Gets the touchable region.
+        windowState.getTouchableRegion(touchableRegion);
+
+        return touchableRegion.isEmpty();
+    }
+
+    static Rect getNavBarInsets(DisplayContent displayContent) {
+        final InsetsState insetsState =
+                displayContent.getInsetsStateController().getRawInsetsState();
+        return insetsState.getSource(ITYPE_NAVIGATION_BAR).getFrame();
+    }
+
     /**
      * This class encapsulates the functionality related to computing the windows
      * reported for accessibility purposes. These windows are all windows a sighted
@@ -1203,6 +1231,13 @@
                         updateUnaccountedSpace(windowState, regionInScreen, unaccountedSpace,
                                 skipRemainingWindowsForTasks);
                         focusedWindowAdded |= windowState.isFocused();
+                    } else if (isUntouchableNavigationBar(windowState, mTempRegion1)) {
+                        // If this widow is navigation bar without touchable region, accounting the
+                        // region of navigation bar inset because all touch events from this region
+                        // would be received by launcher, i.e. this region is a un-touchable one
+                        // for the application.
+                        unaccountedSpace.op(getNavBarInsets(dc), unaccountedSpace,
+                                Region.Op.REVERSE_DIFFERENCE);
                     }
 
                     if (unaccountedSpace.isEmpty() && focusedWindowAdded) {
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index aabac77..e76eda0 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -292,6 +292,7 @@
 import android.view.WindowManager;
 import android.view.WindowManager.LayoutParams;
 import android.view.animation.Animation;
+import android.window.WindowContainerToken;
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
@@ -432,6 +433,8 @@
     final boolean stateNotNeeded; // As per ActivityInfo.flags
     @VisibleForTesting
     int mHandoverLaunchDisplayId = INVALID_DISPLAY; // Handover launch display id to next activity.
+    @VisibleForTesting
+    TaskDisplayArea mHandoverTaskDisplayArea; // Handover launch task display area.
     private final boolean componentSpecified;  // did caller specify an explicit component?
     final boolean rootVoiceInteraction;  // was this the root activity of a voice interaction?
 
@@ -1298,6 +1301,19 @@
         if (newTask != null && isState(RESUMED)) {
             newTask.setResumedActivity(this, "onParentChanged");
         }
+
+        if (stack != null && stack.topRunningActivity() == this) {
+            // carry over the PictureInPictureParams to the parent stack without calling
+            // TaskOrganizerController#dispatchTaskInfoChanged.
+            // this is to ensure the stack holding up-to-dated pinned stack information
+            // when activity is re-parented to enter pip mode, see also
+            // RootWindowContainer#moveActivityToPinnedStack
+            stack.mPictureInPictureParams.copyOnlySet(pictureInPictureArgs);
+            // make ensure the TaskOrganizer still works after re-parenting
+            if (firstWindowDrawn) {
+                stack.setHasBeenVisible(true);
+            }
+        }
     }
 
     private void updateColorTransform() {
@@ -1361,8 +1377,8 @@
             final Rect spaceToFill = transformedBounds != null
                     ? transformedBounds
                     : inMultiWindowMode()
-                            ? task.getDisplayedBounds()
-                            : getRootTask().getParent().getDisplayedBounds();
+                            ? task.getBounds()
+                            : getRootTask().getParent().getBounds();
             mLetterbox.layout(spaceToFill, w.getFrameLw(), mTmpPoint);
         } else if (mLetterbox != null) {
             mLetterbox.hide();
@@ -1644,7 +1660,11 @@
             if (usageReport != null) {
                 appTimeTracker = new AppTimeTracker(usageReport);
             }
-            // Gets launch display id from options. It returns INVALID_DISPLAY if not set.
+            // Gets launch task display area and display id from options. Returns
+            // null/INVALID_DISPLAY if not set.
+            final WindowContainerToken daToken = options.getLaunchTaskDisplayArea();
+            mHandoverTaskDisplayArea = daToken != null
+                    ? (TaskDisplayArea) WindowContainer.fromBinder(daToken.asBinder()) : null;
             mHandoverLaunchDisplayId = options.getLaunchDisplayId();
         }
     }
@@ -2163,7 +2183,7 @@
 
     boolean isInStackLocked() {
         final ActivityStack stack = getRootTask();
-        return stack != null && stack.isInStackLocked(this) != null;
+        return stack != null && stack.isInTask(this) != null;
     }
 
     boolean isPersistable() {
@@ -2523,23 +2543,12 @@
 
             pauseKeyDispatchingLocked();
 
-            // We are finishing the top focused activity and its stack has nothing to be focused so
-            // the next focusable stack should be focused.
-            if (mayAdjustTop
-                    && (stack.topRunningActivity() == null || !stack.isTopActivityFocusable())) {
-                if (shouldAdjustGlobalFocus) {
-                    // Move the entire hierarchy to top with updating global top resumed activity
-                    // and focused application if needed.
-                    stack.adjustFocusToNextFocusableStack("finish-top");
-                } else {
-                    // Only move the next stack to top in its task container.
-                    final TaskDisplayArea taskDisplayArea = stack.getDisplayArea();
-                    next = taskDisplayArea.topRunningActivity();
-                    if (next != null) {
-                        taskDisplayArea.positionStackAtTop(next.getRootTask(),
-                                false /* includingParents */, "finish-display-top");
-                    }
-                }
+            // We are finishing the top focused activity and its task has nothing to be focused so
+            // the next focusable task should be focused.
+            if (mayAdjustTop && ((ActivityStack) task).topRunningActivity(true /* focusableOnly */)
+                    == null) {
+                task.adjustFocusToNextFocusableTask("finish-top", false /* allowFocusSelf */,
+                        shouldAdjustGlobalFocus);
             }
 
             finishActivityResults(resultCode, resultData);
@@ -2656,6 +2665,17 @@
             return this;
         }
 
+        // Ensure activity visibilities and update lockscreen occluded/dismiss state when
+        // finishing the top activity that occluded keyguard. So that, the
+        // ActivityStack#mTopActivityOccludesKeyguard can be updated and the activity below won't
+        // be resumed.
+        if (isState(PAUSED)
+                && mStackSupervisor.getKeyguardController().isKeyguardLocked()
+                && getStack().topActivityOccludesKeyguard()) {
+            getStack().ensureActivitiesVisible(null /* starting */, 0 /* configChanges */,
+                    false /* preserveWindows */, false /* notifyClients */);
+        }
+
         boolean activityRemoved = false;
 
         // If this activity is currently visible, and the resumed activity is not yet visible, then
@@ -3738,7 +3758,8 @@
                         pendingOptions.getPackageName(),
                         pendingOptions.getCustomEnterResId(),
                         pendingOptions.getCustomExitResId(),
-                        pendingOptions.getOnAnimationStartListener());
+                        pendingOptions.getAnimationStartedListener(),
+                        pendingOptions.getAnimationFinishedListener());
                 break;
             case ANIM_CLIP_REVEAL:
                 displayContent.mAppTransition.overridePendingAppTransitionClipReveal(
@@ -3768,7 +3789,7 @@
                 final GraphicBuffer buffer = pendingOptions.getThumbnail();
                 displayContent.mAppTransition.overridePendingAppTransitionThumb(buffer,
                         pendingOptions.getStartX(), pendingOptions.getStartY(),
-                        pendingOptions.getOnAnimationStartListener(),
+                        pendingOptions.getAnimationStartedListener(),
                         scaleUp);
                 if (intent.getSourceBounds() == null && buffer != null) {
                     intent.setSourceBounds(new Rect(pendingOptions.getStartX(),
@@ -3784,19 +3805,19 @@
                         pendingOptions.getSpecsFuture();
                 if (specsFuture != null) {
                     displayContent.mAppTransition.overridePendingAppTransitionMultiThumbFuture(
-                            specsFuture, pendingOptions.getOnAnimationStartListener(),
+                            specsFuture, pendingOptions.getAnimationStartedListener(),
                             animationType == ANIM_THUMBNAIL_ASPECT_SCALE_UP);
                 } else if (animationType == ANIM_THUMBNAIL_ASPECT_SCALE_DOWN
                         && specs != null) {
                     displayContent.mAppTransition.overridePendingAppTransitionMultiThumb(
-                            specs, pendingOptions.getOnAnimationStartListener(),
+                            specs, pendingOptions.getAnimationStartedListener(),
                             pendingOptions.getAnimationFinishedListener(), false);
                 } else {
                     displayContent.mAppTransition.overridePendingAppTransitionAspectScaledThumb(
                             pendingOptions.getThumbnail(),
                             pendingOptions.getStartX(), pendingOptions.getStartY(),
                             pendingOptions.getWidth(), pendingOptions.getHeight(),
-                            pendingOptions.getOnAnimationStartListener(),
+                            pendingOptions.getAnimationStartedListener(),
                             (animationType == ANIM_THUMBNAIL_ASPECT_SCALE_UP));
                     if (intent.getSourceBounds() == null) {
                         intent.setSourceBounds(new Rect(pendingOptions.getStartX(),
@@ -5112,26 +5133,48 @@
     }
 
     void startFreezingScreen() {
+        startFreezingScreen(ROTATION_UNDEFINED /* overrideOriginalDisplayRotation */);
+    }
+
+    void startFreezingScreen(int overrideOriginalDisplayRotation) {
         ProtoLog.i(WM_DEBUG_ORIENTATION,
                 "Set freezing of %s: visible=%b freezing=%b visibleRequested=%b. %s",
                 appToken, isVisible(), mFreezingScreen, mVisibleRequested,
                 new RuntimeException().fillInStackTrace());
-        if (mVisibleRequested) {
-            if (!mFreezingScreen) {
-                mFreezingScreen = true;
-                mWmService.registerAppFreezeListener(this);
-                mWmService.mAppsFreezingScreen++;
-                if (mWmService.mAppsFreezingScreen == 1) {
-                    mWmService.startFreezingDisplayLocked(0, 0, getDisplayContent());
-                    mWmService.mH.removeMessages(H.APP_FREEZE_TIMEOUT);
-                    mWmService.mH.sendEmptyMessageDelayed(H.APP_FREEZE_TIMEOUT, 2000);
+        if (!mVisibleRequested) {
+            return;
+        }
+
+        // If the override is given, the rotation of display doesn't change but we still want to
+        // cover the activity whose configuration is changing by freezing the display and running
+        // the rotation animation.
+        final boolean forceRotation = overrideOriginalDisplayRotation != ROTATION_UNDEFINED;
+        if (!mFreezingScreen) {
+            mFreezingScreen = true;
+            mWmService.registerAppFreezeListener(this);
+            mWmService.mAppsFreezingScreen++;
+            if (mWmService.mAppsFreezingScreen == 1) {
+                if (forceRotation) {
+                    // Make sure normal rotation animation will be applied.
+                    mDisplayContent.getDisplayRotation().cancelSeamlessRotation();
                 }
+                mWmService.startFreezingDisplay(0 /* exitAnim */, 0 /* enterAnim */,
+                        mDisplayContent, overrideOriginalDisplayRotation);
+                mWmService.mH.removeMessages(H.APP_FREEZE_TIMEOUT);
+                mWmService.mH.sendEmptyMessageDelayed(H.APP_FREEZE_TIMEOUT, 2000);
             }
-            final int count = mChildren.size();
-            for (int i = 0; i < count; i++) {
-                final WindowState w = mChildren.get(i);
-                w.onStartFreezingScreen();
-            }
+        }
+        if (forceRotation) {
+            // The rotation of the real display won't change, so in order to unfreeze the screen
+            // via {@link #checkAppWindowsReadyToShow}, the windows have to be able to call
+            // {@link WindowState#reportResized} (it is skipped if the window is freezing) to update
+            // the drawn state.
+            return;
+        }
+        final int count = mChildren.size();
+        for (int i = 0; i < count; i++) {
+            final WindowState w = mChildren.get(i);
+            w.onStartFreezingScreen();
         }
     }
 
@@ -5534,7 +5577,7 @@
 
     static ActivityRecord isInStackLocked(IBinder token) {
         final ActivityRecord r = ActivityRecord.forTokenLocked(token);
-        return (r != null) ? r.getRootTask().isInStackLocked(r) : null;
+        return (r != null) ? r.getRootTask().isInTask(r) : null;
     }
 
     static ActivityStack getStackLocked(IBinder token) {
@@ -6146,6 +6189,21 @@
         ensureActivityConfiguration(0 /* globalChanges */, false /* preserveWindow */);
     }
 
+    @Override
+    void onCancelFixedRotationTransform(int originalDisplayRotation) {
+        if (this != mDisplayContent.getLastOrientationSource()
+                || getRequestedConfigurationOrientation() != ORIENTATION_UNDEFINED) {
+            // Only need to handle the activity that should be rotated with display.
+            return;
+        }
+
+        // Perform rotation animation according to the rotation of this activity.
+        startFreezingScreen(originalDisplayRotation);
+        // This activity may relaunch or perform configuration change so once it has reported drawn,
+        // the screen can be unfrozen.
+        ensureActivityConfiguration(0 /* globalChanges */, !PRESERVE_WINDOWS);
+    }
+
     void setRequestedOrientation(int requestedOrientation) {
         setOrientation(requestedOrientation, mayFreezeScreenLocked());
         mAtmService.getTaskChangeNotificationController().notifyActivityRequestedOrientationChanged(
@@ -6602,17 +6660,6 @@
         return super.getBounds();
     }
 
-    @Override
-    Rect getDisplayedBounds() {
-        if (task != null) {
-            final Rect overrideDisplayedBounds = task.getOverrideDisplayedBounds();
-            if (!overrideDisplayedBounds.isEmpty()) {
-                return overrideDisplayedBounds;
-            }
-        }
-        return getBounds();
-    }
-
     @VisibleForTesting
     @Override
     Rect getAnimationBounds(int appStackClipMode) {
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 3454e13..0f57496 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -91,7 +91,6 @@
 import static com.android.server.wm.TaskProto.BOUNDS;
 import static com.android.server.wm.TaskProto.CREATED_BY_ORGANIZER;
 import static com.android.server.wm.TaskProto.DEFER_REMOVAL;
-import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS;
 import static com.android.server.wm.TaskProto.DISPLAY_ID;
 import static com.android.server.wm.TaskProto.FILLS_PARENT;
 import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS;
@@ -260,11 +259,9 @@
     private Rect mTmpRect = new Rect();
     private Rect mTmpRect2 = new Rect();
 
-    /** For Pinned stack controlling. */
-    private Rect mTmpToBounds = new Rect();
-
     /** Detach this stack from its display when animation completes. */
     // TODO: maybe tie this to WindowContainer#removeChild some how...
+    // TODO: This is no longer set. Okay to remove or was the set removed by accident?
     private boolean mDeferRemoval;
 
     // If this is true, we are in the bounds animating mode. The task will be down or upscaled to
@@ -282,7 +279,6 @@
     /**
      * For {@link #prepareSurfaces}.
      */
-    private final Rect mTmpDimBoundsRect = new Rect();
     private final Point mLastSurfaceSize = new Point();
 
     private final AnimatingActivityRegistry mAnimatingActivityRegistry =
@@ -291,9 +287,6 @@
     /** Stores the override windowing-mode from before a transient mode change (eg. split) */
     private int mRestoreOverrideWindowingMode = WINDOWING_MODE_UNDEFINED;
 
-    /** List for processing through a set of activities */
-    private final ArrayList<ActivityRecord> mTmpActivities = new ArrayList<>();
-
     private boolean mTopActivityOccludesKeyguard;
     private ActivityRecord mTopDismissingKeyguardActivity;
 
@@ -606,9 +599,6 @@
         final int prevWindowingMode = getWindowingMode();
         final boolean prevIsAlwaysOnTop = isAlwaysOnTop();
         final int prevRotation = getWindowConfiguration().getRotation();
-        final int prevDensity = getConfiguration().densityDpi;
-        final int prevScreenW = getConfiguration().screenWidthDp;
-        final int prevScreenH = getConfiguration().screenHeightDp;
         final Rect newBounds = mTmpRect;
         // Initialize the new bounds by previous bounds as the input and output for calculating
         // override bounds in pinned (pip) or split-screen mode.
@@ -660,8 +650,7 @@
                 setBounds(newBounds);
             } else if (overrideWindowingMode != WINDOWING_MODE_PINNED) {
                 // For pinned stack, resize is now part of the {@link WindowContainerTransaction}
-                resize(new Rect(newBounds), null /* configBounds */,
-                        PRESERVE_WINDOWS, true /* deferResume */);
+                resize(new Rect(newBounds), PRESERVE_WINDOWS, true /* deferResume */);
             }
         }
         if (prevIsAlwaysOnTop != isAlwaysOnTop()) {
@@ -783,6 +772,11 @@
         if (currentMode == WINDOWING_MODE_PINNED) {
             mAtmService.getTaskChangeNotificationController().notifyActivityUnpinned();
         }
+        if (likelyResolvedMode == WINDOWING_MODE_PINNED
+                && taskDisplayArea.getRootPinnedTask() != null) {
+            // Can only have 1 pip at a time, so replace an existing pip
+            taskDisplayArea.getRootPinnedTask().dismissPip();
+        }
         if (likelyResolvedMode != WINDOWING_MODE_FULLSCREEN
                 && topActivity != null && !topActivity.noDisplay
                 && topActivity.isNonResizableOrForcedResizable(likelyResolvedMode)) {
@@ -830,8 +824,7 @@
             }
 
             if (!Objects.equals(getRequestedOverrideBounds(), mTmpRect2)) {
-                resize(mTmpRect2, null /*configBounds*/,
-                        false /*preserveWindows*/, true /*deferResume*/);
+                resize(mTmpRect2, false /*preserveWindows*/, true /*deferResume*/);
             }
         } finally {
             mAtmService.continueWindowLayout();
@@ -854,7 +847,8 @@
 
     /** Resume next focusable stack after reparenting to another display. */
     void postReparent() {
-        adjustFocusToNextFocusableStack("reparent", true /* allowFocusSelf */);
+        adjustFocusToNextFocusableTask("reparent", true /* allowFocusSelf */,
+                true /* moveParentsToTop */);
         mRootWindowContainer.resumeFocusedStacksTopActivities();
         // Update visibility of activities before notifying WM. This way it won't try to resize
         // windows that are no longer visible.
@@ -889,9 +883,6 @@
                 setTaskBounds(mDeferredBounds);
                 setBounds(mDeferredBounds);
             }
-            if (mUpdateDisplayedBoundsDeferredCalled) {
-                setTaskDisplayedBounds(mDeferredDisplayedBounds);
-            }
         }
     }
 
@@ -921,70 +912,6 @@
         return false;
     }
 
-    ActivityRecord topRunningActivity() {
-        return topRunningActivity(false /* focusableOnly */);
-    }
-
-    ActivityRecord topRunningActivity(boolean focusableOnly) {
-        // Split into 2 to avoid object creation due to variable capture.
-        if (focusableOnly) {
-            return getActivity((r) -> r.canBeTopRunning() && r.isFocusable());
-        } else {
-            return getActivity(ActivityRecord::canBeTopRunning);
-        }
-    }
-
-    private ActivityRecord topRunningNonOverlayTaskActivity() {
-        return getActivity((r) -> (r.canBeTopRunning() && !r.isTaskOverlay()));
-    }
-
-    ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) {
-        final PooledPredicate p = PooledLambda.obtainPredicate(ActivityStack::isTopRunningNonDelayed
-                , PooledLambda.__(ActivityRecord.class), notTop);
-        final ActivityRecord r = getActivity(p);
-        p.recycle();
-        return r;
-    }
-
-    private static boolean isTopRunningNonDelayed(ActivityRecord r, ActivityRecord notTop) {
-        return !r.delayedResume && r != notTop && r.canBeTopRunning();
-    }
-
-    /**
-     * This is a simplified version of topRunningActivity that provides a number of
-     * optional skip-over modes.  It is intended for use with the ActivityController hook only.
-     *
-     * @param token If non-null, any history records matching this token will be skipped.
-     * @param taskId If non-zero, we'll attempt to skip over records with the same task ID.
-     *
-     * @return Returns the HistoryRecord of the next activity on the stack.
-     */
-    ActivityRecord topRunningActivity(IBinder token, int taskId) {
-        final PooledPredicate p = PooledLambda.obtainPredicate(ActivityStack::isTopRunning,
-                PooledLambda.__(ActivityRecord.class), taskId, token);
-        final ActivityRecord r = getActivity(p);
-        p.recycle();
-        return r;
-    }
-
-    private static boolean isTopRunning(ActivityRecord r, int taskId, IBinder notTop) {
-        return r.getTask().mTaskId != taskId && r.appToken != notTop && r.canBeTopRunning();
-    }
-
-    ActivityRecord isInStackLocked(ActivityRecord r) {
-        if (r == null) {
-            return null;
-        }
-        final Task task = r.getRootTask();
-        if (task != null && r.isDescendantOf(task)) {
-            if (task != this) Slog.w(TAG, "Illegal state! task does not point to stack it is in. "
-                    + "stack=" + this + " task=" + task + " r=" + r
-                    + " callers=" + Debug.getCallers(15, "\n"));
-            return r;
-        }
-        return null;
-    }
-
     /** @return true if the stack can only contain one task */
     boolean isSingleTaskInstance() {
         final DisplayContent display = getDisplay();
@@ -1107,12 +1034,6 @@
         return isTopActivityFocusable() && shouldBeVisible(null /* starting */);
     }
 
-    @Override
-    public boolean isAttached() {
-        final TaskDisplayArea taskDisplayArea = getDisplayArea();
-        return taskDisplayArea != null && !taskDisplayArea.isRemoved();
-    }
-
     // TODO: Should each user have there own stacks?
     @Override
     void switchUser(int userId) {
@@ -1464,140 +1385,6 @@
     }
 
     /**
-     * Returns true if the stack should be visible.
-     *
-     * @param starting The currently starting activity or null if there is none.
-     */
-    @Override
-    boolean shouldBeVisible(ActivityRecord starting) {
-        return getVisibility(starting) != STACK_VISIBILITY_INVISIBLE;
-    }
-
-    /**
-     * Returns true if the stack should be visible.
-     *
-     * @param starting The currently starting activity or null if there is none.
-     */
-    @StackVisibility
-    int getVisibility(ActivityRecord starting) {
-        if (!isAttached() || isForceHidden()) {
-            return STACK_VISIBILITY_INVISIBLE;
-        }
-
-        final TaskDisplayArea taskDisplayArea = getDisplayArea();
-        boolean gotSplitScreenStack = false;
-        boolean gotOpaqueSplitScreenPrimary = false;
-        boolean gotOpaqueSplitScreenSecondary = false;
-        boolean gotTranslucentFullscreen = false;
-        boolean gotTranslucentSplitScreenPrimary = false;
-        boolean gotTranslucentSplitScreenSecondary = false;
-        boolean shouldBeVisible = true;
-        final int windowingMode = getWindowingMode();
-        final boolean isAssistantType = isActivityTypeAssistant();
-        for (int i = taskDisplayArea.getStackCount() - 1; i >= 0; --i) {
-            final ActivityStack other = taskDisplayArea.getStackAt(i);
-            final boolean hasRunningActivities = other.topRunningActivity() != null;
-            if (other == this) {
-                // Should be visible if there is no other stack occluding it, unless it doesn't
-                // have any running activities, not starting one and not home stack.
-                shouldBeVisible = hasRunningActivities || isInStackLocked(starting) != null
-                        || isActivityTypeHome();
-                break;
-            }
-
-            if (!hasRunningActivities) {
-                continue;
-            }
-
-            final int otherWindowingMode = other.getWindowingMode();
-
-            if (otherWindowingMode == WINDOWING_MODE_FULLSCREEN) {
-                // In this case the home stack isn't resizeable even though we are in split-screen
-                // mode. We still want the primary splitscreen stack to be visible as there will be
-                // a slight hint of it in the status bar area above the non-resizeable home
-                // activity. In addition, if the fullscreen assistant is over primary splitscreen
-                // stack, the stack should still be visible in the background as long as the recents
-                // animation is running.
-                final int activityType = other.getActivityType();
-                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
-                    if (activityType == ACTIVITY_TYPE_HOME
-                            || (activityType == ACTIVITY_TYPE_ASSISTANT
-                                && mWmService.getRecentsAnimationController() != null)) {
-                        break;
-                    }
-                }
-                if (other.isTranslucent(starting)) {
-                    // Can be visible behind a translucent fullscreen stack.
-                    gotTranslucentFullscreen = true;
-                    continue;
-                }
-                return STACK_VISIBILITY_INVISIBLE;
-            } else if (otherWindowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
-                    && !gotOpaqueSplitScreenPrimary) {
-                gotSplitScreenStack = true;
-                gotTranslucentSplitScreenPrimary = other.isTranslucent(starting);
-                gotOpaqueSplitScreenPrimary = !gotTranslucentSplitScreenPrimary;
-                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
-                        && gotOpaqueSplitScreenPrimary) {
-                    // Can not be visible behind another opaque stack in split-screen-primary mode.
-                    return STACK_VISIBILITY_INVISIBLE;
-                }
-            } else if (otherWindowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
-                    && !gotOpaqueSplitScreenSecondary) {
-                gotSplitScreenStack = true;
-                gotTranslucentSplitScreenSecondary = other.isTranslucent(starting);
-                gotOpaqueSplitScreenSecondary = !gotTranslucentSplitScreenSecondary;
-                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
-                        && gotOpaqueSplitScreenSecondary) {
-                    // Can not be visible behind another opaque stack in split-screen-secondary mode.
-                    return STACK_VISIBILITY_INVISIBLE;
-                }
-            }
-            if (gotOpaqueSplitScreenPrimary && gotOpaqueSplitScreenSecondary) {
-                // Can not be visible if we are in split-screen windowing mode and both halves of
-                // the screen are opaque.
-                return STACK_VISIBILITY_INVISIBLE;
-            }
-            if (isAssistantType && gotSplitScreenStack) {
-                // Assistant stack can't be visible behind split-screen. In addition to this not
-                // making sense, it also works around an issue here we boost the z-order of the
-                // assistant window surfaces in window manager whenever it is visible.
-                return STACK_VISIBILITY_INVISIBLE;
-            }
-        }
-
-        if (!shouldBeVisible) {
-            return STACK_VISIBILITY_INVISIBLE;
-        }
-
-        // Handle cases when there can be a translucent split-screen stack on top.
-        switch (windowingMode) {
-            case WINDOWING_MODE_FULLSCREEN:
-                if (gotTranslucentSplitScreenPrimary || gotTranslucentSplitScreenSecondary) {
-                    // At least one of the split-screen stacks that covers this one is translucent.
-                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
-                }
-                break;
-            case WINDOWING_MODE_SPLIT_SCREEN_PRIMARY:
-                if (gotTranslucentSplitScreenPrimary) {
-                    // Covered by translucent primary split-screen on top.
-                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
-                }
-                break;
-            case WINDOWING_MODE_SPLIT_SCREEN_SECONDARY:
-                if (gotTranslucentSplitScreenSecondary) {
-                    // Covered by translucent secondary split-screen on top.
-                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
-                }
-                break;
-        }
-
-        // Lastly - check if there is a translucent fullscreen stack on top.
-        return gotTranslucentFullscreen ? STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT
-                : STACK_VISIBILITY_VISIBLE;
-    }
-
-    /**
      * Make sure that all activities that need to be visible in the stack (that is, they
      * currently can be seen by the user) actually are and update their configuration.
      */
@@ -2283,7 +2070,7 @@
         final String reason = "noMoreActivities";
 
         if (!isActivityTypeHome()) {
-            final ActivityStack nextFocusedStack = adjustFocusToNextFocusableStack(reason);
+            final ActivityStack nextFocusedStack = adjustFocusToNextFocusableTask(reason);
             if (nextFocusedStack != null) {
                 // Try to move focus to the next visible stack with a running activity if this
                 // stack is not covering the entire screen or is on a secondary display with no home
@@ -2492,48 +2279,6 @@
     }
 
     /**
-     * Find next proper focusable stack and make it focused.
-     * @return The stack that now got the focus, {@code null} if none found.
-     */
-    ActivityStack adjustFocusToNextFocusableStack(String reason) {
-        return adjustFocusToNextFocusableStack(reason, false /* allowFocusSelf */);
-    }
-
-    /**
-     * Find next proper focusable stack and make it focused.
-     * @param allowFocusSelf Is the focus allowed to remain on the same stack.
-     * @return The stack that now got the focus, {@code null} if none found.
-     */
-    private ActivityStack adjustFocusToNextFocusableStack(String reason, boolean allowFocusSelf) {
-        final ActivityStack stack =
-                mRootWindowContainer.getNextFocusableStack(this, !allowFocusSelf);
-        final String myReason = reason + " adjustFocusToNextFocusableStack";
-        if (stack == null) {
-            return null;
-        }
-
-        final ActivityRecord top = stack.topRunningActivity();
-
-        if (stack.isActivityTypeHome() && (top == null || !top.mVisibleRequested)) {
-            // If we will be focusing on the home stack next and its current top activity isn't
-            // visible, then use the move the home stack task to top to make the activity visible.
-            stack.getDisplayArea().moveHomeActivityToTop(reason);
-            return stack;
-        }
-
-        stack.moveToFront(myReason);
-        // Top display focused stack is changed, update top resumed activity if needed.
-        if (stack.mResumedActivity != null) {
-            mStackSupervisor.updateTopResumedActivityIfNeeded();
-            // Set focused app directly because if the next focused activity is already resumed
-            // (e.g. the next top activity is on a different display), there won't have activity
-            // state change to update it.
-            mAtmService.setResumedActivityUncheckLocked(stack.mResumedActivity, reason);
-        }
-        return stack;
-    }
-
-    /**
      * Finish the topmost activity that belongs to the crashed app. We may also finish the activity
      * that requested launch of the crashed one to prevent launch-crash loop.
      * @param app The app that crashed.
@@ -2961,8 +2706,7 @@
 
     // TODO: Can only be called from special methods in ActivityStackSupervisor.
     // Need to consolidate those calls points into this resize method so anyone can call directly.
-    void resize(Rect displayedBounds, Rect configBounds, boolean preserveWindows,
-            boolean deferResume) {
+    void resize(Rect displayedBounds, boolean preserveWindows, boolean deferResume) {
         if (!updateBoundsAllowed(displayedBounds)) {
             return;
         }
@@ -2974,7 +2718,7 @@
             // Update override configurations of all tasks in the stack.
             final PooledConsumer c = PooledLambda.obtainConsumer(
                     ActivityStack::processTaskResizeBounds, PooledLambda.__(Task.class),
-                    displayedBounds, configBounds);
+                    displayedBounds);
             forAllTasks(c, true /* traverseTopToBottom */);
             c.recycle();
 
@@ -2995,17 +2739,10 @@
         }
     }
 
-    private static void processTaskResizeBounds(
-            Task task, Rect displayedBounds, Rect configBounds) {
+    private static void processTaskResizeBounds(Task task, Rect displayedBounds) {
         if (!task.isResizeable()) return;
 
-        if (configBounds != null && !configBounds.isEmpty()) {
-            task.setOverrideDisplayedBounds(displayedBounds);
-            task.setBounds(configBounds);
-        } else {
-            task.setOverrideDisplayedBounds(null);
-            task.setBounds(displayedBounds);
-        }
+        task.setBounds(displayedBounds);
     }
 
     /**
@@ -3027,22 +2764,6 @@
         task.setBounds(task.isResizeable() ? bounds : null);
     }
 
-    /** Helper to setDisplayedBounds on all child tasks */
-    private void setTaskDisplayedBounds(Rect bounds) {
-        if (!updateDisplayedBoundsAllowed(bounds)) {
-            return;
-        }
-
-        final PooledConsumer c = PooledLambda.obtainConsumer(ActivityStack::setTaskDisplayedBounds,
-                PooledLambda.__(Task.class), bounds);
-        forAllLeafTasks(c, true /* traverseTopToBottom */);
-        c.recycle();
-    }
-
-    private static void setTaskDisplayedBounds(Task task, Rect bounds) {
-        task.setOverrideDisplayedBounds(bounds == null || bounds.isEmpty() ? null : bounds);
-    }
-
     /**
      * Returns the top-most activity that occludes the given one, or @{code null} if none.
      */
@@ -3564,8 +3285,8 @@
     }
 
     @Override
-    void getRelativeDisplayedPosition(Point outPos) {
-        super.getRelativeDisplayedPosition(outPos);
+    void getRelativePosition(Point outPos) {
+        super.getRelativePosition(outPos);
         final int outset = getStackOutset();
         outPos.x -= outset;
         outPos.y -= outset;
@@ -3576,7 +3297,7 @@
             return;
         }
 
-        final Rect stackBounds = getDisplayedBounds();
+        final Rect stackBounds = getBounds();
         int width = stackBounds.width();
         int height = stackBounds.height();
 
@@ -3771,7 +3492,6 @@
         proto.write(FILLS_PARENT, matchParentBounds());
         getRawBounds().dumpDebug(proto, BOUNDS);
 
-        getOverrideDisplayedBounds().dumpDebug(proto, DISPLAYED_BOUNDS);
         if (mLastNonFullscreenBounds != null) {
             mLastNonFullscreenBounds.dumpDebug(proto, LAST_NON_FULLSCREEN_BOUNDS);
         }
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index f924bd4..fe9e5f3c 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -1053,6 +1053,13 @@
         return true;
     }
 
+    /** Check if caller is allowed to launch activities on specified task display area. */
+    boolean isCallerAllowedToLaunchOnTaskDisplayArea(int callingPid, int callingUid,
+            TaskDisplayArea taskDisplayArea, ActivityInfo aInfo) {
+        return isCallerAllowedToLaunchOnDisplay(callingPid, callingUid,
+                taskDisplayArea != null ? taskDisplayArea.getDisplayId() : DEFAULT_DISPLAY, aInfo);
+    }
+
     /** Check if caller is allowed to launch activities on specified display. */
     boolean isCallerAllowedToLaunchOnDisplay(int callingPid, int callingUid, int launchDisplayId,
             ActivityInfo aInfo) {
@@ -1357,7 +1364,7 @@
                 // still need moveTaskToFrontLocked() below for any transition settings.
             }
             if (stack.shouldResizeStackWithLaunchBounds()) {
-                stack.resize(bounds, null /* configBounds */, !PRESERVE_WINDOWS, !DEFER_RESUME);
+                stack.resize(bounds, !PRESERVE_WINDOWS, !DEFER_RESUME);
             } else {
                 // WM resizeTask must be done after the task is moved to the correct stack,
                 // because Task's setBounds() also updates dim layer's bounds, but that has
@@ -2133,18 +2140,6 @@
                 WindowManagerService.WINDOW_FREEZE_TIMEOUT_DURATION);
     }
 
-    // TODO(b/152116619): Remove after complete switch to TaskDisplayArea
-    void handleNonResizableTaskIfNeeded(Task task, int preferredWindowingMode,
-            int preferredDisplayId, ActivityStack actualStack) {
-        final DisplayContent preferredDisplayContent = mRootWindowContainer
-                .getDisplayContent(preferredDisplayId);
-        final TaskDisplayArea preferredDisplayArea = preferredDisplayContent != null
-                ? preferredDisplayContent.getDefaultTaskDisplayArea()
-                : null;
-        handleNonResizableTaskIfNeeded(task, preferredWindowingMode, preferredDisplayArea,
-                actualStack);
-    }
-
     void handleNonResizableTaskIfNeeded(Task task, int preferredWindowingMode,
             TaskDisplayArea preferredTaskDisplayArea, ActivityStack actualStack) {
         handleNonResizableTaskIfNeeded(task, preferredWindowingMode, preferredTaskDisplayArea,
diff --git a/services/core/java/com/android/server/wm/ActivityStartController.java b/services/core/java/com/android/server/wm/ActivityStartController.java
index ad54356..7fad395 100644
--- a/services/core/java/com/android/server/wm/ActivityStartController.java
+++ b/services/core/java/com/android/server/wm/ActivityStartController.java
@@ -184,8 +184,8 @@
         }
         final int displayId = taskDisplayArea.getDisplayId();
         options.setLaunchDisplayId(displayId);
-        // TODO(b/152116619): Enable after complete switch to WindowContainerToken
-        //options.setLaunchWindowContainerToken(taskDisplayArea.getWindowContainerToken());
+        options.setLaunchTaskDisplayArea(taskDisplayArea.mRemoteToken
+                .toWindowContainerToken());
 
         // The home activity will be started later, defer resuming to avoid unneccerary operations
         // (e.g. start home recursively) when creating home stack.
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 0bd1aca..0754a34 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -55,7 +55,6 @@
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.os.Process.INVALID_UID;
 import static android.view.Display.DEFAULT_DISPLAY;
-import static android.view.Display.INVALID_DISPLAY;
 
 import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
 import static com.android.server.wm.ActivityStackSupervisor.DEFER_RESUME;
@@ -167,8 +166,8 @@
     private int mStartFlags;
     private ActivityRecord mSourceRecord;
 
-    // The display to launch the activity onto, barring any strong reason to do otherwise.
-    private int mPreferredDisplayId;
+    // The task display area to launch the activity onto, barring any strong reason to do otherwise.
+    private TaskDisplayArea mPreferredTaskDisplayArea;
     // The windowing mode to apply to the root task, if possible
     private int mPreferredWindowingMode;
 
@@ -538,7 +537,7 @@
         mDoResume = starter.mDoResume;
         mStartFlags = starter.mStartFlags;
         mSourceRecord = starter.mSourceRecord;
-        mPreferredDisplayId = starter.mPreferredDisplayId;
+        mPreferredTaskDisplayArea = starter.mPreferredTaskDisplayArea;
         mPreferredWindowingMode = starter.mPreferredWindowingMode;
 
         mInTask = starter.mInTask;
@@ -1631,7 +1630,7 @@
         // Update the recent tasks list immediately when the activity starts
         mSupervisor.mRecentTasks.add(mStartActivity.getTask());
         mSupervisor.handleNonResizableTaskIfNeeded(mStartActivity.getTask(),
-                mPreferredWindowingMode, mPreferredDisplayId, mTargetStack);
+                mPreferredWindowingMode, mPreferredTaskDisplayArea, mTargetStack);
 
         return START_SUCCESS;
     }
@@ -1684,9 +1683,9 @@
 
         mSupervisor.getLaunchParamsController().calculate(targetTask, r.info.windowLayout, r,
                 sourceRecord, mOptions, PHASE_BOUNDS, mLaunchParams);
-        mPreferredDisplayId = mLaunchParams.hasPreferredDisplay()
-                ? mLaunchParams.mPreferredDisplayId
-                : DEFAULT_DISPLAY;
+        mPreferredTaskDisplayArea = mLaunchParams.hasPreferredTaskDisplayArea()
+                ? mLaunchParams.mPreferredTaskDisplayArea
+                : mRootWindowContainer.getDefaultTaskDisplayArea();
         mPreferredWindowingMode = mLaunchParams.mWindowingMode;
     }
 
@@ -1703,10 +1702,12 @@
         // Do not start home activity if it cannot be launched on preferred display. We are not
         // doing this in ActivityStackSupervisor#canPlaceEntityOnDisplay because it might
         // fallback to launch on other displays.
-        if (r.isActivityTypeHome() && !mRootWindowContainer.canStartHomeOnDisplay(r.info,
-                mPreferredDisplayId, true /* allowInstrumenting */)) {
-            Slog.w(TAG, "Cannot launch home on display " + mPreferredDisplayId);
-            return START_CANCELED;
+        if (r.isActivityTypeHome()) {
+            if (!mRootWindowContainer.canStartHomeOnDisplayArea(r.info, mPreferredTaskDisplayArea,
+                    true /* allowInstrumenting */)) {
+                Slog.w(TAG, "Cannot launch home on display area " + mPreferredTaskDisplayArea);
+                return START_CANCELED;
+            }
         }
 
         if (mRestrictedBgActivity && (newTask || !targetTask.isUidPresent(mCallingUid))
@@ -1841,10 +1842,10 @@
                 && top.attachedToProcess()
                 && ((mLaunchFlags & FLAG_ACTIVITY_SINGLE_TOP) != 0
                 || isLaunchModeOneOf(LAUNCH_SINGLE_TOP, LAUNCH_SINGLE_TASK))
-                // This allows home activity to automatically launch on secondary display when
-                // display added, if home was the top activity on default display, instead of
-                // sending new intent to the home activity on default display.
-                && (!top.isActivityTypeHome() || top.getDisplayId() == mPreferredDisplayId);
+                // This allows home activity to automatically launch on secondary task display area
+                // when it was added, if home was the top activity on default task display area,
+                // instead of sending new intent to the home activity on default display area.
+                && (!top.isActivityTypeHome() || top.getDisplayArea() == mPreferredTaskDisplayArea);
         if (!dontStart) {
             return START_SUCCESS;
         }
@@ -1866,7 +1867,7 @@
         // Don't use mStartActivity.task to show the toast. We're not starting a new activity but
         // reusing 'top'. Fields in mStartActivity may not be fully initialized.
         mSupervisor.handleNonResizableTaskIfNeeded(top.getTask(),
-                mLaunchParams.mWindowingMode, mPreferredDisplayId, topStack);
+                mLaunchParams.mWindowingMode, mPreferredTaskDisplayArea, topStack);
 
         return START_DELIVERED_TO_TOP;
     }
@@ -2010,7 +2011,7 @@
         mDoResume = false;
         mStartFlags = 0;
         mSourceRecord = null;
-        mPreferredDisplayId = INVALID_DISPLAY;
+        mPreferredTaskDisplayArea = null;
         mPreferredWindowingMode = WINDOWING_MODE_UNDEFINED;
 
         mInTask = null;
@@ -2060,9 +2061,9 @@
         // after we located a reusable task (which might be resided in another display).
         mSupervisor.getLaunchParamsController().calculate(inTask, r.info.windowLayout, r,
                 sourceRecord, options, PHASE_DISPLAY, mLaunchParams);
-        mPreferredDisplayId = mLaunchParams.hasPreferredDisplay()
-                ? mLaunchParams.mPreferredDisplayId
-                : DEFAULT_DISPLAY;
+        mPreferredTaskDisplayArea = mLaunchParams.hasPreferredTaskDisplayArea()
+                ? mLaunchParams.mPreferredTaskDisplayArea
+                : mRootWindowContainer.getDefaultTaskDisplayArea();
         mPreferredWindowingMode = mLaunchParams.mWindowingMode;
 
         mLaunchMode = r.launchMode;
@@ -2334,14 +2335,14 @@
             } else {
                 // Otherwise find the best task to put the activity in.
                 intentActivity =
-                        mRootWindowContainer.findTask(mStartActivity, mPreferredDisplayId);
+                        mRootWindowContainer.findTask(mStartActivity, mPreferredTaskDisplayArea);
             }
         }
 
         if (intentActivity != null
                 && (mStartActivity.isActivityTypeHome() || intentActivity.isActivityTypeHome())
-                && intentActivity.getDisplayId() != mPreferredDisplayId) {
-            // Do not reuse home activity on other displays.
+                && intentActivity.getDisplayArea() != mPreferredTaskDisplayArea) {
+            // Do not reuse home activity on other display areas.
             intentActivity = null;
         }
 
@@ -2363,7 +2364,7 @@
         // the same behavior as if a new instance was being started, which means not bringing it
         // to the front if the caller is not itself in the front.
         final boolean differentTopTask;
-        if (mPreferredDisplayId == mTargetStack.getDisplayId()) {
+        if (mTargetStack.getDisplayArea() == mPreferredTaskDisplayArea) {
             final ActivityStack focusStack = mTargetStack.getDisplay().getFocusedStack();
             final ActivityRecord curTop = (focusStack == null)
                     ? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index f4eb0d2..736bc9f 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -2003,7 +2003,7 @@
             if (self.isState(
                     ActivityStack.ActivityState.RESUMED, ActivityStack.ActivityState.PAUSING)) {
                 self.getDisplay().mDisplayContent.mAppTransition.overridePendingAppTransition(
-                        packageName, enterAnim, exitAnim, null);
+                        packageName, enterAnim, exitAnim, null, null);
             }
 
             Binder.restoreCallingIdentity(origId);
@@ -2786,6 +2786,11 @@
         }
 
         final int prevMode = task.getWindowingMode();
+        if (prevMode == windowingMode) {
+            // The task is already in split-screen and with correct windowing mode.
+            return true;
+        }
+
         moveTaskToSplitScreenPrimaryTask(task, toTop);
         return prevMode != task.getWindowingMode();
     }
@@ -4060,7 +4065,7 @@
         return r != null
                 && r.getRootTask() != null
                 && r.inPinnedWindowingMode()
-                && r.getRootTask().isInStackLocked(r) != null;
+                && r.getRootTask().isInTask(r) != null;
     }
 
     @Override
@@ -4093,11 +4098,8 @@
                         r.setPictureInPictureParams(params);
                         final float aspectRatio = r.pictureInPictureArgs.getAspectRatio();
                         final List<RemoteAction> actions = r.pictureInPictureArgs.getActions();
-                        // Adjust the source bounds by the insets for the transition down
-                        final Rect sourceBounds = new Rect(
-                                r.pictureInPictureArgs.getSourceRectHint());
                         mRootWindowContainer.moveActivityToPinnedStack(
-                                r, sourceBounds, aspectRatio, "enterPictureInPictureMode");
+                                r, "enterPictureInPictureMode");
                         final ActivityStack stack = r.getRootTask();
                         stack.setPictureInPictureAspectRatio(aspectRatio);
                         stack.setPictureInPictureActions(actions);
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index 6f1ddcd..c31d55c 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -1417,23 +1417,7 @@
                 : new TranslateAnimation(0, fromX, 0, fromY);
         set.addAnimation(scale);
         set.addAnimation(translation);
-
-        final IRemoteCallback callback = mAnimationFinishedCallback;
-        if (callback != null) {
-            set.setAnimationListener(new Animation.AnimationListener() {
-                @Override
-                public void onAnimationStart(Animation animation) { }
-
-                @Override
-                public void onAnimationEnd(Animation animation) {
-                    mHandler.sendMessage(PooledLambda.obtainMessage(
-                            AppTransition::doAnimationCallback, callback));
-                }
-
-                @Override
-                public void onAnimationRepeat(Animation animation) { }
-            });
-        }
+        setAppTransitionFinishedCallbackIfNeeded(set);
         return set;
     }
 
@@ -1671,6 +1655,7 @@
                     "applyAnimation: anim=%s nextAppTransition=ANIM_CUSTOM transit=%s "
                             + "isEntrance=%b Callers=%s",
                     a, appTransitionToString(transit), enter, Debug.getCallers(3));
+            setAppTransitionFinishedCallbackIfNeeded(a);
         } else if (mNextAppTransitionType == NEXT_TRANSIT_TYPE_CUSTOM_IN_PLACE) {
             a = loadAnimationRes(mNextAppTransitionPackage, mNextAppTransitionInPlace);
             ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM,
@@ -1835,7 +1820,7 @@
     }
 
     void overridePendingAppTransition(String packageName, int enterAnim, int exitAnim,
-            IRemoteCallback startedCallback) {
+            IRemoteCallback startedCallback, IRemoteCallback endedCallback) {
         if (canOverridePendingAppTransition()) {
             clear();
             mNextAppTransitionType = NEXT_TRANSIT_TYPE_CUSTOM;
@@ -1844,6 +1829,7 @@
             mNextAppTransitionExit = exitAnim;
             postAnimationCallback();
             mNextAppTransitionCallback = startedCallback;
+            mAnimationFinishedCallback = endedCallback;
         }
     }
 
@@ -2331,6 +2317,25 @@
         }
     }
 
+    private void setAppTransitionFinishedCallbackIfNeeded(Animation anim) {
+        final IRemoteCallback callback = mAnimationFinishedCallback;
+        if (callback != null && anim != null) {
+            anim.setAnimationListener(new Animation.AnimationListener() {
+                @Override
+                public void onAnimationStart(Animation animation) { }
+
+                @Override
+                public void onAnimationEnd(Animation animation) {
+                    mHandler.sendMessage(PooledLambda.obtainMessage(
+                            AppTransition::doAnimationCallback, callback));
+                }
+
+                @Override
+                public void onAnimationRepeat(Animation animation) { }
+            });
+        }
+    }
+
     void removeAppTransitionTimeoutCallbacks() {
         mHandler.removeCallbacks(mHandleAppTransitionTimeoutRunnable);
     }
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 80a1a45..a47cdc6 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -25,6 +25,8 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
+import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
@@ -72,7 +74,6 @@
 import static android.view.WindowManager.TRANSIT_ACTIVITY_OPEN;
 import static android.view.WindowManager.TRANSIT_TASK_OPEN;
 import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT;
-import static android.window.DisplayAreaOrganizer.FEATURE_DEFAULT_TASK_CONTAINER;
 
 import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
 import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG;
@@ -141,6 +142,7 @@
 import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.ActivityManagerInternal;
+import android.app.WindowConfiguration;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ActivityInfo.ScreenOrientation;
@@ -198,7 +200,6 @@
 import android.view.WindowInsets;
 import android.view.WindowManager;
 import android.view.WindowManagerPolicyConstants.PointerEventListener;
-import android.window.ITaskOrganizer;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.MetricsLogger;
@@ -494,6 +495,7 @@
      * The launching activity which is using fixed rotation transformation.
      *
      * @see #handleTopActivityLaunchingInDifferentOrientation
+     * @see DisplayRotation#shouldRotateSeamlessly
      */
     ActivityRecord mFixedRotationLaunchingApp;
 
@@ -538,6 +540,15 @@
      */
     WindowState mInputMethodTarget;
 
+    /**
+     * The window which receives input from the input method. This is also a candidate of the
+     * input method control target.
+     */
+    WindowState mInputMethodInputTarget;
+
+    /**
+     * This controls the visibility and animation of the input method window.
+     */
     InsetsControlTarget mInputMethodControlTarget;
 
     /** If true hold off on modifying the animation layer of mInputMethodTarget */
@@ -1237,7 +1248,7 @@
 
         if (configChanged) {
             mWaitingForConfig = true;
-            mWmService.startFreezingDisplayLocked(0 /* exitAnim */, 0 /* enterAnim */, this);
+            mWmService.startFreezingDisplay(0 /* exitAnim */, 0 /* enterAnim */, this);
             sendNewConfiguration();
         }
 
@@ -1475,6 +1486,9 @@
             sendNewConfiguration();
             return true;
         }
+        // The display won't rotate (e.g. the orientation from sensor has updated again before
+        // applying rotation to display), so clear it to stop using seamless rotation.
+        mFixedRotationLaunchingApp = null;
         return false;
     }
 
@@ -3242,6 +3256,7 @@
         mInsetsStateController.getSourceProvider(ITYPE_IME).setWindow(win,
                 null /* frameProvider */, null /* imeFrameProvider */);
         computeImeTarget(true /* updateImeTarget */);
+        updateImeControlTarget();
     }
 
     /**
@@ -3357,34 +3372,18 @@
         }
     }
 
+    private boolean isImeControlledByApp() {
+        return mInputMethodTarget != null && !WindowConfiguration.isSplitScreenWindowingMode(
+                mInputMethodTarget.getWindowingMode());
+    }
+
     boolean isImeAttachedToApp() {
-        return (mInputMethodTarget != null && mInputMethodTarget.mActivityRecord != null
+        return isImeControlledByApp()
+                && mInputMethodTarget.mActivityRecord != null
                 && mInputMethodTarget.getWindowingMode() == WINDOWING_MODE_FULLSCREEN
                 // An activity with override bounds should be letterboxed inside its parent bounds,
                 // so it doesn't fill the screen.
-                && mInputMethodTarget.mActivityRecord.matchParentBounds());
-    }
-
-    /**
-     * Get IME target that should host IME when this display that is reparented to another
-     * WindowState.
-     * IME is never displayed in a child display.
-     * Use {@link WindowState#getImeControlTarget()} when IME target window
-     * which originally called
-     * {@link android.view.inputmethod.InputMethodManager#showSoftInput(View, int)} is known.
-     *
-     * @return {@link WindowState} of host that controls IME.
-     *         {@code null} when {@param dc} is not a virtual display.
-     * @see DisplayContent#reparent
-     */
-    @Nullable
-    WindowState getImeControlTarget() {
-        WindowState imeTarget = mInputMethodTarget;
-        if (imeTarget != null) {
-            return imeTarget.getImeControlTarget();
-        }
-
-        return getInsetsStateController().getImeSourceProvider().getControlTarget().getWindow();
+                && mInputMethodTarget.mActivityRecord.matchParentBounds();
     }
 
     /**
@@ -3394,7 +3393,6 @@
      *
      * @param target current IME target.
      * @return {@link WindowState} that can host IME.
-     * @see DisplayContent#getImeControlTarget()
      */
     WindowState getImeHostOrFallback(WindowState target) {
         if (target != null && target.getDisplayContent().canShowIme()) {
@@ -3421,42 +3419,35 @@
     }
 
     private void setInputMethodTarget(WindowState target, boolean targetWaitingAnim) {
-        // Always update control target. This is needed to handle rotation.
-        updateImeControlTarget(target);
         if (target == mInputMethodTarget && mInputMethodTargetWaitingAnim == targetWaitingAnim) {
             return;
         }
 
         mInputMethodTarget = target;
         mInputMethodTargetWaitingAnim = targetWaitingAnim;
-        assignWindowLayers(false /* setLayoutNeeded */);
+        assignWindowLayers(true /* setLayoutNeeded */);
         updateImeParent();
+        updateImeControlTarget();
     }
 
     /**
-     * IME control target is the window that controls the IME visibility and animation.
-     * This window is same as the window on which startInput is called.
-     * @param target the window that receives IME control. This is ignored if we aren't attaching
-     *               the IME to an app (eg. when in multi-window mode).
-     *
-     * @see #getImeControlTarget()
+     * The IME input target is the window which receives input from IME. It is also a candidate
+     * which controls the visibility and animation of the input method window.
      */
-    void updateImeControlTarget(InsetsControlTarget target) {
-        if (!isImeAttachedToApp() && mRemoteInsetsControlTarget != null) {
-            mInputMethodControlTarget = mRemoteInsetsControlTarget;
-        } else {
-            // Otherwise, we just use the ime target
-            mInputMethodControlTarget = target;
+    void setInputMethodInputTarget(WindowState target) {
+        if (mInputMethodInputTarget != target) {
+            mInputMethodInputTarget = target;
+            updateImeControlTarget();
         }
+    }
+
+    private void updateImeControlTarget() {
+        mInputMethodControlTarget = computeImeControlTarget();
         mInsetsStateController.onImeControlTargetChanged(mInputMethodControlTarget);
     }
 
     private void updateImeParent() {
-        // Force attaching IME to the display when magnifying, or it would be magnified with
-        // target app together.
-        final boolean shouldAttachToDisplay = (mMagnificationSpec != null);
-        final SurfaceControl newParent =
-                shouldAttachToDisplay ? mWindowContainers.getSurfaceControl() : computeImeParent();
+        final SurfaceControl newParent = computeImeParent();
         if (newParent != null) {
             getPendingTransaction().reparent(mImeWindowsContainers.mSurfaceControl, newParent);
             scheduleAnimation();
@@ -3464,20 +3455,36 @@
     }
 
     /**
+     * Computes the window where we hand IME control to.
+     */
+    @VisibleForTesting
+    InsetsControlTarget computeImeControlTarget() {
+        if (!isImeControlledByApp() && mRemoteInsetsControlTarget != null) {
+            return mRemoteInsetsControlTarget;
+        } else {
+            // Otherwise, we just use the ime target as received from IME.
+            return mInputMethodInputTarget;
+        }
+    }
+
+    /**
      * Computes the window the IME should be attached to.
      */
     @VisibleForTesting
     SurfaceControl computeImeParent() {
+        // Force attaching IME to the display when magnifying, or it would be magnified with
+        // target app together.
+        final boolean allowAttachToApp = (mMagnificationSpec == null);
 
         // Attach it to app if the target is part of an app and such app is covering the entire
         // screen. If it's not covering the entire screen the IME might extend beyond the apps
         // bounds.
-        if (isImeAttachedToApp()) {
+        if (allowAttachToApp && isImeAttachedToApp()) {
             return mInputMethodTarget.mActivityRecord.getSurfaceControl();
         }
 
-        // Otherwise, we just attach it to the display.
-        return mWindowContainers.getSurfaceControl();
+        // Otherwise, we just attach it to where the display area policy put it.
+        return mImeWindowsContainers.getParent().getSurfaceControl();
     }
 
     void setLayoutNeeded() {
@@ -4722,6 +4729,11 @@
         return mWindowContainers.getSurfaceControl();
     }
 
+    @VisibleForTesting
+    WindowContainer<?> getImeContainer() {
+        return mImeWindowsContainers;
+    }
+
     SurfaceControl getOverlayLayer() {
         return mOverlayContainers.getSurfaceControl();
     }
@@ -5028,6 +5040,7 @@
         return activityType == ACTIVITY_TYPE_STANDARD
                 && (windowingMode == WINDOWING_MODE_FULLSCREEN
                 || windowingMode == WINDOWING_MODE_FREEFORM
+                || windowingMode == WINDOWING_MODE_PINNED
                 || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
                 || windowingMode == WINDOWING_MODE_MULTI_WINDOW);
     }
diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java
index bef80f0..ebfe70c 100644
--- a/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -537,8 +537,29 @@
     }
 
     void prepareNormalRotationAnimation() {
+        cancelSeamlessRotation();
         final RotationAnimationPair anim = selectRotationAnimation();
-        mService.startFreezingDisplayLocked(anim.mExit, anim.mEnter, mDisplayContent);
+        mService.startFreezingDisplay(anim.mExit, anim.mEnter, mDisplayContent);
+    }
+
+    /**
+     * This ensures that normal rotation animation is used. E.g. {@link #mRotatingSeamlessly} was
+     * set by previous {@link #updateRotationUnchecked}, but another orientation change happens
+     * before calling {@link DisplayContent#sendNewConfiguration} (remote rotation hasn't finished)
+     * and it doesn't choose seamless rotation.
+     */
+    void cancelSeamlessRotation() {
+        if (!mRotatingSeamlessly) {
+            return;
+        }
+        mDisplayContent.forAllWindows(w -> {
+            if (w.mSeamlesslyRotated) {
+                w.finishSeamlessRotation(false /* timeout */);
+                w.mSeamlesslyRotated = false;
+            }
+        }, true /* traverseTopToBottom */);
+        mSeamlessRotationCount = 0;
+        mRotatingSeamlessly = false;
     }
 
     private void prepareSeamlessRotation() {
diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
index cb0d853..1ca82ce 100644
--- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
@@ -266,7 +266,7 @@
         if (getSource().getType() == ITYPE_IME) {
             setClientVisible(InsetsState.getDefaultVisibility(mSource.getType()));
         }
-        final Transaction t = mDisplayContent.getPendingTransaction();
+        final Transaction t = mDisplayContent.mWmService.mTransactionFactory.get();
         mWin.startAnimation(t, mAdapter, !mClientVisible /* hidden */,
                 ANIMATION_TYPE_INSETS_CONTROL, null /* animationFinishedCallback */);
         final SurfaceControl leash = mAdapter.mCapturedLeash;
@@ -281,6 +281,9 @@
             t.deferTransactionUntil(mWin.getSurfaceControl(), barrier, frameNumber);
             t.deferTransactionUntil(leash, barrier, frameNumber);
         }
+        // Applying the transaction here can prevent the client from applying its transaction sooner
+        // than us which makes us overwrite the client's operation to the leash.
+        t.apply();
         mControlTarget = target;
         mControl = new InsetsSourceControl(mSource.getType(), leash,
                 new Point(mWin.getWindowFrames().mFrame.left, mWin.getWindowFrames().mFrame.top));
diff --git a/services/core/java/com/android/server/wm/InsetsStateController.java b/services/core/java/com/android/server/wm/InsetsStateController.java
index ba14d48..4ac319d 100644
--- a/services/core/java/com/android/server/wm/InsetsStateController.java
+++ b/services/core/java/com/android/server/wm/InsetsStateController.java
@@ -171,7 +171,7 @@
 
         if (aboveIme) {
             state = new InsetsState(state);
-            state.removeSource(ITYPE_IME);
+            state.setSourceVisible(ITYPE_IME, false);
         }
 
         return state;
diff --git a/services/core/java/com/android/server/wm/LaunchParamsController.java b/services/core/java/com/android/server/wm/LaunchParamsController.java
index a9820ef..4cd3180 100644
--- a/services/core/java/com/android/server/wm/LaunchParamsController.java
+++ b/services/core/java/com/android/server/wm/LaunchParamsController.java
@@ -17,7 +17,6 @@
 package com.android.server.wm;
 
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
-import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.Display.INVALID_DISPLAY;
 
 import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier.PHASE_BOUNDS;
@@ -26,6 +25,7 @@
 import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier.RESULT_SKIP;
 
 import android.annotation.IntDef;
+import android.annotation.Nullable;
 import android.app.ActivityOptions;
 import android.content.pm.ActivityInfo.WindowLayout;
 import android.graphics.Rect;
@@ -108,11 +108,13 @@
 
         if (activity != null && activity.requestedVrComponent != null) {
             // Check if the Activity is a VR activity. If so, it should be launched in main display.
-            result.mPreferredDisplayId = DEFAULT_DISPLAY;
+            result.mPreferredTaskDisplayArea = mService.mRootWindowContainer
+                    .getDefaultTaskDisplayArea();
         } else if (mService.mVr2dDisplayId != INVALID_DISPLAY) {
             // Get the virtual display ID from ActivityTaskManagerService. If that's set we
             // should always use that.
-            result.mPreferredDisplayId = mService.mVr2dDisplayId;
+            result.mPreferredTaskDisplayArea = mService.mRootWindowContainer
+                    .getDisplayContent(mService.mVr2dDisplayId).getDefaultTaskDisplayArea();
         }
     }
 
@@ -136,9 +138,10 @@
         mService.deferWindowLayout();
 
         try {
-            if (mTmpParams.hasPreferredDisplay()
-                    && mTmpParams.mPreferredDisplayId != task.getStack().getDisplay().mDisplayId) {
-                mService.moveStackToDisplay(task.getRootTaskId(), mTmpParams.mPreferredDisplayId);
+            if (mTmpParams.mPreferredTaskDisplayArea != null
+                    && task.getDisplayArea() != mTmpParams.mPreferredTaskDisplayArea) {
+                mService.mRootWindowContainer.moveStackToTaskDisplayArea(task.getRootTaskId(),
+                        mTmpParams.mPreferredTaskDisplayArea, true /* onTop */);
             }
 
             if (mTmpParams.hasWindowingMode()
@@ -184,8 +187,9 @@
         /** The bounds within the parent container. */
         final Rect mBounds = new Rect();
 
-        /** The id of the display the {@link Task} would prefer to be on. */
-        int mPreferredDisplayId;
+        /** The display area the {@link Task} would prefer to be on. */
+        @Nullable
+        TaskDisplayArea mPreferredTaskDisplayArea;
 
         /** The windowing mode to be in. */
         int mWindowingMode;
@@ -193,20 +197,20 @@
         /** Sets values back to default. {@link #isEmpty} will return {@code true} once called. */
         void reset() {
             mBounds.setEmpty();
-            mPreferredDisplayId = INVALID_DISPLAY;
+            mPreferredTaskDisplayArea = null;
             mWindowingMode = WINDOWING_MODE_UNDEFINED;
         }
 
         /** Copies the values set on the passed in {@link LaunchParams}. */
         void set(LaunchParams params) {
             mBounds.set(params.mBounds);
-            mPreferredDisplayId = params.mPreferredDisplayId;
+            mPreferredTaskDisplayArea = params.mPreferredTaskDisplayArea;
             mWindowingMode = params.mWindowingMode;
         }
 
         /** Returns {@code true} if no values have been explicitly set. */
         boolean isEmpty() {
-            return mBounds.isEmpty() && mPreferredDisplayId == INVALID_DISPLAY
+            return mBounds.isEmpty() && mPreferredTaskDisplayArea == null
                     && mWindowingMode == WINDOWING_MODE_UNDEFINED;
         }
 
@@ -214,8 +218,8 @@
             return mWindowingMode != WINDOWING_MODE_UNDEFINED;
         }
 
-        boolean hasPreferredDisplay() {
-            return mPreferredDisplayId != INVALID_DISPLAY;
+        boolean hasPreferredTaskDisplayArea() {
+            return mPreferredTaskDisplayArea != null;
         }
 
         @Override
@@ -225,7 +229,7 @@
 
             LaunchParams that = (LaunchParams) o;
 
-            if (mPreferredDisplayId != that.mPreferredDisplayId) return false;
+            if (mPreferredTaskDisplayArea != that.mPreferredTaskDisplayArea) return false;
             if (mWindowingMode != that.mWindowingMode) return false;
             return mBounds != null ? mBounds.equals(that.mBounds) : that.mBounds == null;
         }
@@ -233,7 +237,8 @@
         @Override
         public int hashCode() {
             int result = mBounds != null ? mBounds.hashCode() : 0;
-            result = 31 * result + mPreferredDisplayId;
+            result = 31 * result + (mPreferredTaskDisplayArea != null
+                    ? mPreferredTaskDisplayArea.hashCode() : 0);
             result = 31 * result + mWindowingMode;
             return result;
         }
diff --git a/services/core/java/com/android/server/wm/LaunchParamsPersister.java b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
index 9371c0e..a974332 100644
--- a/services/core/java/com/android/server/wm/LaunchParamsPersister.java
+++ b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
@@ -318,7 +318,9 @@
         final DisplayContent display = mSupervisor.mRootWindowContainer.getDisplayContent(
                 persistableParams.mDisplayUniqueId);
         if (display != null) {
-            outParams.mPreferredDisplayId =  display.mDisplayId;
+            // TODO(b/153764726): Investigate if task display area needs to be persisted vs
+            // always choosing the default one.
+            outParams.mPreferredTaskDisplayArea = display.getDefaultTaskDisplayArea();
         }
         outParams.mWindowingMode = persistableParams.mWindowingMode;
         outParams.mBounds.set(persistableParams.mBounds);
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java
index 9b30103..09700c5 100644
--- a/services/core/java/com/android/server/wm/RecentTasks.java
+++ b/services/core/java/com/android/server/wm/RecentTasks.java
@@ -1398,10 +1398,9 @@
             return false;
         }
 
-        // Trim tasks that are in stacks that are behind the home stack
+        // Trim tasks that are behind the home task.
         final TaskDisplayArea taskDisplayArea = stack.getDisplayArea();
-        return taskDisplayArea.getIndexOf(stack) < taskDisplayArea.getIndexOf(
-                taskDisplayArea.getRootHomeTask());
+        return task.compareTo(taskDisplayArea.getRootHomeTask()) < 0;
     }
 
     /** Remove the tasks that user may not be able to return. */
diff --git a/services/core/java/com/android/server/wm/RecentsAnimation.java b/services/core/java/com/android/server/wm/RecentsAnimation.java
index 0a9878d..bded651 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimation.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimation.java
@@ -165,17 +165,6 @@
         ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "startRecentsActivity(): intent=%s", mTargetIntent);
         Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "RecentsAnimation#startRecentsActivity");
 
-        // TODO(multi-display) currently only support recents animation in default display.
-        final DisplayContent dc =
-                mService.mRootWindowContainer.getDefaultDisplay().mDisplayContent;
-        if (!mWindowManager.canStartRecentsAnimation()) {
-            notifyAnimationCancelBeforeStart(recentsAnimationRunner);
-            ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
-                    "Can't start recents animation, nextAppTransition=%s",
-                        dc.mAppTransition.getAppTransition());
-            return;
-        }
-
         // If the activity is associated with the recents stack, then try and get that first
         ActivityStack targetStack = mDefaultTaskDisplayArea.getStack(WINDOWING_MODE_UNDEFINED,
                 mTargetActivityType);
@@ -313,7 +302,7 @@
                     // Prefer to use the original target activity instead of top activity because
                     // we may have moved another task to top (starting 3p launcher).
                     final ActivityRecord targetActivity = targetStack != null
-                            ? targetStack.isInStackLocked(mLaunchedTargetActivity)
+                            ? targetStack.isInTask(mLaunchedTargetActivity)
                             : null;
                     ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
                             "onAnimationFinished(): targetStack=%s targetActivity=%s "
diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java
index 54210ae..2ce10a7 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimationController.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java
@@ -898,11 +898,11 @@
         TaskAnimationAdapter(Task task, boolean isRecentTaskInvisible) {
             mTask = task;
             mIsRecentTaskInvisible = isRecentTaskInvisible;
-            mBounds.set(mTask.getDisplayedBounds());
+            mBounds.set(mTask.getBounds());
 
             mLocalBounds.set(mBounds);
             Point tmpPos = new Point();
-            mTask.getRelativeDisplayedPosition(tmpPos);
+            mTask.getRelativePosition(tmpPos);
             mLocalBounds.offsetTo(tmpPos.x, tmpPos.y);
         }
 
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 1a70de7..7bdd9c9 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -139,6 +139,7 @@
 import android.view.DisplayInfo;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
+import android.window.WindowContainerToken;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.ResolverActivity;
@@ -1519,8 +1520,7 @@
         if (taskDisplayArea == getDefaultTaskDisplayArea()) {
             homeIntent = mService.getHomeIntent();
             aInfo = resolveHomeActivity(userId, homeIntent);
-        } else if (taskDisplayArea.getDisplayId() == DEFAULT_DISPLAY
-                || shouldPlaceSecondaryHomeOnDisplay(taskDisplayArea.getDisplayId())) {
+        } else if (shouldPlaceSecondaryHomeOnDisplayArea(taskDisplayArea)) {
             Pair<ActivityInfo, Intent> info = resolveSecondaryHomeActivity(userId, taskDisplayArea);
             aInfo = info.first;
             homeIntent = info.second;
@@ -1529,7 +1529,7 @@
             return false;
         }
 
-        if (!canStartHomeOnDisplay(aInfo, taskDisplayArea.getDisplayId(), allowInstrumenting)) {
+        if (!canStartHomeOnDisplayArea(aInfo, taskDisplayArea, allowInstrumenting)) {
             return false;
         }
 
@@ -1625,8 +1625,7 @@
         }
 
         if (aInfo != null) {
-            if (!canStartHomeOnDisplay(aInfo, taskDisplayArea.getDisplayId(),
-                    false /* allowInstrumenting */)) {
+            if (!canStartHomeOnDisplayArea(aInfo, taskDisplayArea, false /* allowInstrumenting */)) {
                 aInfo = null;
             }
         }
@@ -1683,19 +1682,19 @@
     }
 
     /**
-     * Check if the display is valid for secondary home activity.
-     * @param displayId The id of the target display.
+     * Check if the display area is valid for secondary home activity.
+     * @param taskDisplayArea The target display area.
      * @return {@code true} if allow to launch, {@code false} otherwise.
      */
-    boolean shouldPlaceSecondaryHomeOnDisplay(int displayId) {
-        if (displayId == DEFAULT_DISPLAY) {
+    boolean shouldPlaceSecondaryHomeOnDisplayArea(TaskDisplayArea taskDisplayArea) {
+        if (getDefaultTaskDisplayArea() == taskDisplayArea) {
             throw new IllegalArgumentException(
-                    "shouldPlaceSecondaryHomeOnDisplay: Should not be DEFAULT_DISPLAY");
-        } else if (displayId == INVALID_DISPLAY) {
+                    "shouldPlaceSecondaryHomeOnDisplay: Should not be on default task container");
+        } else if (taskDisplayArea == null) {
             return false;
         }
 
-        if (!mService.mSupportsMultiDisplay) {
+        if (taskDisplayArea.getDisplayId() != DEFAULT_DISPLAY && !mService.mSupportsMultiDisplay) {
             // Can't launch home on secondary display if device does not support multi-display.
             return false;
         }
@@ -1704,16 +1703,16 @@
                 mService.mContext.getContentResolver(),
                 Settings.Global.DEVICE_PROVISIONED, 0) != 0;
         if (!deviceProvisioned) {
-            // Can't launch home on secondary display before device is provisioned.
+            // Can't launch home on secondary display areas before device is provisioned.
             return false;
         }
 
         if (!StorageManager.isUserKeyUnlocked(mCurrentUser)) {
-            // Can't launch home on secondary displays if device is still locked.
+            // Can't launch home on secondary display areas if device is still locked.
             return false;
         }
 
-        final DisplayContent display = getDisplayContent(displayId);
+        final DisplayContent display = taskDisplayArea.getDisplayContent();
         if (display == null || display.isRemoved() || !display.supportsSystemDecorations()) {
             // Can't launch home on display that doesn't support system decorations.
             return false;
@@ -1725,11 +1724,11 @@
     /**
      * Check if home activity start should be allowed on a display.
      * @param homeInfo {@code ActivityInfo} of the home activity that is going to be launched.
-     * @param displayId The id of the target display.
+     * @param taskDisplayArea The target display area.
      * @param allowInstrumenting Whether launching home should be allowed if being instrumented.
      * @return {@code true} if allow to launch, {@code false} otherwise.
      */
-    boolean canStartHomeOnDisplay(ActivityInfo homeInfo, int displayId,
+    boolean canStartHomeOnDisplayArea(ActivityInfo homeInfo, TaskDisplayArea taskDisplayArea,
             boolean allowInstrumenting) {
         if (mService.mFactoryTest == FactoryTest.FACTORY_TEST_LOW_LEVEL
                 && mService.mTopAction == null) {
@@ -1745,13 +1744,15 @@
             return false;
         }
 
+        final int displayId = taskDisplayArea != null ? taskDisplayArea.getDisplayId()
+                : INVALID_DISPLAY;
         if (displayId == DEFAULT_DISPLAY || (displayId != INVALID_DISPLAY
                 && displayId == mService.mVr2dDisplayId)) {
             // No restrictions to default display or vr 2d display.
             return true;
         }
 
-        if (!shouldPlaceSecondaryHomeOnDisplay(displayId)) {
+        if (!shouldPlaceSecondaryHomeOnDisplayArea(taskDisplayArea)) {
             return false;
         }
 
@@ -2147,13 +2148,11 @@
             return false;
         }
 
-        moveActivityToPinnedStack(r, null /* sourceBounds */, 0f /* aspectRatio */,
-                "moveTopActivityToPinnedStack");
+        moveActivityToPinnedStack(r, "moveTopActivityToPinnedStack");
         return true;
     }
 
-    void moveActivityToPinnedStack(ActivityRecord r, Rect sourceHintBounds, float aspectRatio,
-            String reason) {
+    void moveActivityToPinnedStack(ActivityRecord r, String reason) {
         mService.deferWindowLayout();
 
         final TaskDisplayArea taskDisplayArea = r.getDisplayArea();
@@ -2176,17 +2175,19 @@
             final ActivityStack stack;
             if (singleActivity) {
                 stack = r.getRootTask();
-                stack.setWindowingMode(WINDOWING_MODE_PINNED);
             } else {
                 // In the case of multiple activities, we will create a new task for it and then
                 // move the PIP activity into the task.
-                stack = taskDisplayArea.createStack(WINDOWING_MODE_PINNED, r.getActivityType(),
+                stack = taskDisplayArea.createStack(WINDOWING_MODE_UNDEFINED, r.getActivityType(),
                         ON_TOP, r.info, r.intent, false /* createdByOrganizer */);
 
                 // There are multiple activities in the task and moving the top activity should
                 // reveal/leave the other activities in their original task.
-                r.reparent(stack, MAX_VALUE, "moveActivityToStack");
+                // On the other hand, ActivityRecord#onParentChanged takes care of setting the
+                // up-to-dated pinned stack information on this newly created stack.
+                r.reparent(stack, MAX_VALUE, reason);
             }
+            stack.setWindowingMode(WINDOWING_MODE_PINNED);
 
             // Reset the state that indicates it can enter PiP while pausing after we've moved it
             // to the pinned stack
@@ -2208,15 +2209,14 @@
         }
     }
 
-    ActivityRecord findTask(ActivityRecord r, int preferredDisplayId) {
+    ActivityRecord findTask(ActivityRecord r, TaskDisplayArea preferredTaskDisplayArea) {
         if (DEBUG_TASKS) Slog.d(TAG_TASKS, "Looking for task of " + r);
         mTmpFindTaskResult.clear();
 
-        // Looking up task on preferred display first
-        final DisplayContent preferredDisplay = getDisplayContent(preferredDisplayId);
-        if (preferredDisplay != null) {
-            preferredDisplay.getDefaultTaskDisplayArea().findTaskLocked(r,
-                    true /* isPreferredDisplay */, mTmpFindTaskResult);
+        // Looking up task on preferred display area first
+        if (preferredTaskDisplayArea != null) {
+            preferredTaskDisplayArea.findTaskLocked(r, true /* isPreferredDisplay */,
+                    mTmpFindTaskResult);
             if (mTmpFindTaskResult.mIdealMatch) {
                 return mTmpFindTaskResult.mRecord;
             }
@@ -2224,14 +2224,17 @@
 
         for (int displayNdx = getChildCount() - 1; displayNdx >= 0; --displayNdx) {
             final DisplayContent display = getChildAt(displayNdx);
-            if (display.mDisplayId == preferredDisplayId) {
-                continue;
-            }
+            for (int tdaNdx = display.getTaskDisplayAreaCount() - 1; tdaNdx >= 0; --tdaNdx) {
+                final TaskDisplayArea taskDisplayArea = display.getTaskDisplayAreaAt(tdaNdx);
+                if (taskDisplayArea == preferredTaskDisplayArea) {
+                    continue;
+                }
 
-            display.getDefaultTaskDisplayArea().findTaskLocked(r, false /* isPreferredDisplay */,
-                    mTmpFindTaskResult);
-            if (mTmpFindTaskResult.mIdealMatch) {
-                return mTmpFindTaskResult.mRecord;
+                taskDisplayArea.findTaskLocked(r, false /* isPreferredDisplay */,
+                        mTmpFindTaskResult);
+                if (mTmpFindTaskResult.mIdealMatch) {
+                    return mTmpFindTaskResult.mRecord;
+                }
             }
         }
 
@@ -2422,6 +2425,7 @@
         info.userId = stack.mCurrentUser;
         info.visible = stack.shouldBeVisible(null);
         // A stack might be not attached to a display.
+        // TODO: Can be removed since no one is using it.
         info.position = taskDisplayArea != null ? taskDisplayArea.getIndexOf(stack) : 0;
         info.configuration.setTo(stack.getConfiguration());
 
@@ -2823,11 +2827,15 @@
             int realCallingUid) {
         int taskId = INVALID_TASK_ID;
         int displayId = INVALID_DISPLAY;
+        TaskDisplayArea taskDisplayArea = null;
 
         // We give preference to the launch preference in activity options.
         if (options != null) {
             taskId = options.getLaunchTaskId();
             displayId = options.getLaunchDisplayId();
+            final WindowContainerToken daToken = options.getLaunchTaskDisplayArea();
+            taskDisplayArea = daToken != null
+                    ? (TaskDisplayArea) WindowContainer.fromBinder(daToken.asBinder()) : null;
         }
 
         // First preference for stack goes to the task Id set in the activity options. Use the stack
@@ -2846,30 +2854,34 @@
         final int activityType = resolveActivityType(r, options, candidateTask);
         ActivityStack stack = null;
 
-        // Next preference for stack goes to the display Id set the candidate display.
-        if (launchParams != null && launchParams.mPreferredDisplayId != INVALID_DISPLAY) {
-            displayId = launchParams.mPreferredDisplayId;
+        // Next preference for stack goes to the taskDisplayArea candidate.
+        if (launchParams != null && launchParams.mPreferredTaskDisplayArea != null) {
+            taskDisplayArea = launchParams.mPreferredTaskDisplayArea;
         }
-        final boolean canLaunchOnDisplayFromStartRequest =
-                realCallingPid != 0 && realCallingUid > 0 && r != null
-                        && mStackSupervisor.canPlaceEntityOnDisplay(displayId, realCallingPid,
-                        realCallingUid, r.info);
-        // Checking if the activity's launch caller, or the realCallerId of the activity from
-        // start request (i.e. entity that invokes PendingIntent) is allowed to launch on the
-        // display.
-        if (displayId != INVALID_DISPLAY && (canLaunchOnDisplay(r, displayId)
-                || canLaunchOnDisplayFromStartRequest)) {
-            if (r != null) {
-                stack = getValidLaunchStackOnDisplay(displayId, r, candidateTask, options,
-                        launchParams);
-                if (stack != null) {
-                    return stack;
-                }
+
+        if (taskDisplayArea == null && displayId != INVALID_DISPLAY) {
+            final DisplayContent displayContent = getDisplayContent(displayId);
+            if (displayContent != null) {
+                taskDisplayArea = displayContent.getDefaultTaskDisplayArea();
             }
-            final DisplayContent display = getDisplayContentOrCreate(displayId);
-            if (display != null) {
+        }
+
+        if (taskDisplayArea != null) {
+            final int tdaDisplayId = taskDisplayArea.getDisplayId();
+            final boolean canLaunchOnDisplayFromStartRequest =
+                    realCallingPid != 0 && realCallingUid > 0 && r != null
+                            && mStackSupervisor.canPlaceEntityOnDisplay(tdaDisplayId,
+                            realCallingPid, realCallingUid, r.info);
+            if (canLaunchOnDisplayFromStartRequest || canLaunchOnDisplay(r, tdaDisplayId)) {
+                if (r != null) {
+                    final ActivityStack result = getValidLaunchStackInTaskDisplayArea(
+                            taskDisplayArea, r, candidateTask, options, launchParams);
+                    if (result != null) {
+                        return result;
+                    }
+                }
                 // Falling back to default task container
-                final TaskDisplayArea taskDisplayArea = display.getDefaultTaskDisplayArea();
+                taskDisplayArea = taskDisplayArea.mDisplayContent.getDefaultTaskDisplayArea();
                 stack = taskDisplayArea.getOrCreateStack(r, options, candidateTask, activityType,
                         onTop);
                 if (stack != null) {
@@ -2936,40 +2948,37 @@
     }
 
     /**
-     * Get a topmost stack on the display, that is a valid launch stack for specified activity.
+     * Get a topmost stack on the display area, that is a valid launch stack for specified activity.
      * If there is no such stack, new dynamic stack can be created.
-     * @param displayId Target display.
+     * @param taskDisplayArea Target display area.
      * @param r Activity that should be launched there.
      * @param candidateTask The possible task the activity might be put in.
      * @return Existing stack if there is a valid one, new dynamic stack if it is valid or null.
      */
     @VisibleForTesting
-    ActivityStack getValidLaunchStackOnDisplay(int displayId, @NonNull ActivityRecord r,
-            @Nullable Task candidateTask, @Nullable ActivityOptions options,
+    ActivityStack getValidLaunchStackInTaskDisplayArea(@NonNull TaskDisplayArea taskDisplayArea,
+            @NonNull ActivityRecord r, @Nullable Task candidateTask,
+            @Nullable ActivityOptions options,
             @Nullable LaunchParamsController.LaunchParams launchParams) {
-        final DisplayContent displayContent = getDisplayContentOrCreate(displayId);
-        if (displayContent == null) {
-            throw new IllegalArgumentException(
-                    "Display with displayId=" + displayId + " not found.");
-        }
-
-        if (!r.canBeLaunchedOnDisplay(displayId)) {
+        if (!r.canBeLaunchedOnDisplay(taskDisplayArea.getDisplayId())) {
             return null;
         }
 
-        // If {@code r} is already in target display and its task is the same as the candidate task,
-        // the intention should be getting a launch stack for the reusable activity, so we can use
-        // the existing stack.
+        // If {@code r} is already in target display area and its task is the same as the candidate
+        // task, the intention should be getting a launch stack for the reusable activity, so we can
+        // use the existing stack.
         if (candidateTask != null && (r.getTask() == null || r.getTask() == candidateTask)) {
-            final int attachedDisplayId = r.getDisplayId();
-            if (attachedDisplayId == INVALID_DISPLAY || attachedDisplayId == displayId) {
+            // TODO(b/153920825): Fix incorrect evaluation of attached state
+            final TaskDisplayArea attachedTaskDisplayArea = r.getTask() != null
+                    ? r.getTask().getDisplayArea() : r.getDisplayArea();
+            if (attachedTaskDisplayArea == null || attachedTaskDisplayArea == taskDisplayArea) {
                 return candidateTask.getStack();
             }
             // Or the candidate task is already a root task that can be reused by reparenting
             // it to the target display.
             if (candidateTask.isRootTask()) {
                 final ActivityStack stack = candidateTask.getStack();
-                stack.reparent(displayContent.getDefaultTaskDisplayArea(), true /* onTop */);
+                stack.reparent(taskDisplayArea, true /* onTop */);
                 return stack;
             }
         }
@@ -2984,39 +2993,30 @@
             windowingMode = options != null ? options.getLaunchWindowingMode()
                     : r.getWindowingMode();
         }
+        windowingMode = taskDisplayArea.validateWindowingMode(windowingMode, r, candidateTask,
+                r.getActivityType());
 
         // Return the topmost valid stack on the display.
-        for (int tdaNdx = displayContent.getTaskDisplayAreaCount() - 1; tdaNdx >= 0; --tdaNdx) {
-            final TaskDisplayArea taskDisplayArea = displayContent.getTaskDisplayAreaAt(tdaNdx);
-            final int validatedWindowingMode = taskDisplayArea
-                    .validateWindowingMode(windowingMode, r, candidateTask, r.getActivityType());
-            for (int sNdx = taskDisplayArea.getStackCount() - 1; sNdx >= 0; --sNdx) {
-                final ActivityStack stack = taskDisplayArea.getStackAt(sNdx);
-                if (isValidLaunchStack(stack, r, validatedWindowingMode)) {
-                    return stack;
-                }
+        for (int i = taskDisplayArea.getStackCount() - 1; i >= 0; --i) {
+            final ActivityStack stack = taskDisplayArea.getStackAt(i);
+            if (isValidLaunchStack(stack, r, windowingMode)) {
+                return stack;
             }
         }
 
-        // If there is no valid stack on the external display - check if new dynamic stack will do.
-        if (displayId != DEFAULT_DISPLAY) {
+        // If there is no valid stack on the secondary display area - check if new dynamic stack
+        // will do.
+        if (taskDisplayArea != getDisplayContent(taskDisplayArea.getDisplayId())
+                .getDefaultTaskDisplayArea()) {
             final int activityType =
                     options != null && options.getLaunchActivityType() != ACTIVITY_TYPE_UNDEFINED
                             ? options.getLaunchActivityType() : r.getActivityType();
-            final TaskDisplayArea taskDisplayArea = displayContent.getDefaultTaskDisplayArea();
             return taskDisplayArea.createStack(windowingMode, activityType, true /*onTop*/);
         }
 
         return null;
     }
 
-    ActivityStack getValidLaunchStackOnDisplay(int displayId, @NonNull ActivityRecord r,
-            @Nullable ActivityOptions options,
-            @Nullable LaunchParamsController.LaunchParams launchParams) {
-        return getValidLaunchStackOnDisplay(displayId, r, null /* candidateTask */, options,
-                launchParams);
-    }
-
     // TODO: Can probably be consolidated into getLaunchStack()...
     private boolean isValidLaunchStack(ActivityStack stack, ActivityRecord r, int windowingMode) {
         switch (stack.getActivityType()) {
diff --git a/services/core/java/com/android/server/wm/SafeActivityOptions.java b/services/core/java/com/android/server/wm/SafeActivityOptions.java
index a7b5368..b71ecbb 100644
--- a/services/core/java/com/android/server/wm/SafeActivityOptions.java
+++ b/services/core/java/com/android/server/wm/SafeActivityOptions.java
@@ -18,10 +18,11 @@
 
 import static android.Manifest.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS;
 import static android.Manifest.permission.START_TASKS_FROM_RECENTS;
+import static android.app.ActivityTaskManager.INVALID_TASK_ID;
 import static android.content.pm.PackageManager.PERMISSION_DENIED;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.view.Display.INVALID_DISPLAY;
-import static android.app.ActivityTaskManager.INVALID_TASK_ID;
+
 import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
 import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
 
@@ -36,6 +37,7 @@
 import android.os.UserHandle;
 import android.util.Slog;
 import android.view.RemoteAnimationAdapter;
+import android.window.WindowContainerToken;
 
 import com.android.internal.annotations.VisibleForTesting;
 
@@ -206,8 +208,20 @@
                 throw new SecurityException(msg);
             }
         }
-        // Check if someone tries to launch an activity on a private display with a different
-        // owner.
+        // Check if the caller is allowed to launch on the specified display area.
+        final WindowContainerToken daToken = options.getLaunchTaskDisplayArea();
+        final TaskDisplayArea taskDisplayArea = daToken != null
+                ? (TaskDisplayArea) WindowContainer.fromBinder(daToken.asBinder()) : null;
+        if (aInfo != null && taskDisplayArea != null
+                && !supervisor.isCallerAllowedToLaunchOnTaskDisplayArea(callingPid, callingUid,
+                taskDisplayArea, aInfo)) {
+            final String msg = "Permission Denial: starting " + getIntentString(intent)
+                    + " from " + callerApp + " (pid=" + callingPid
+                    + ", uid=" + callingUid + ") with launchTaskDisplayArea=" + taskDisplayArea;
+            Slog.w(TAG, msg);
+            throw new SecurityException(msg);
+        }
+        // Check if the caller is allowed to launch on the specified display.
         final int launchDisplayId = options.getLaunchDisplayId();
         if (aInfo != null && launchDisplayId != INVALID_DISPLAY
                 && !supervisor.isCallerAllowedToLaunchOnDisplay(callingPid, callingUid,
diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
index b92ead1..5f33ea1 100644
--- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
+++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
@@ -41,7 +41,6 @@
 import android.os.Trace;
 import android.util.Slog;
 import android.util.proto.ProtoOutputStream;
-import android.view.Display;
 import android.view.DisplayInfo;
 import android.view.Surface;
 import android.view.Surface.OutOfResourcesException;
@@ -117,8 +116,9 @@
     private BlackFrame mEnteringBlackFrame;
     private int mWidth, mHeight;
 
-    private int mOriginalRotation;
-    private int mOriginalWidth, mOriginalHeight;
+    private final int mOriginalRotation;
+    private final int mOriginalWidth;
+    private final int mOriginalHeight;
     private int mCurRotation;
 
     private Rect mOriginalDisplayRect = new Rect();
@@ -140,20 +140,18 @@
     /** Intensity of light/whiteness of the layout after rotation occurs. */
     private float mEndLuma;
 
-    public ScreenRotationAnimation(Context context, DisplayContent displayContent,
-            boolean fixedToUserRotation, boolean isSecure, WindowManagerService service) {
-        mService = service;
-        mContext = context;
+    ScreenRotationAnimation(DisplayContent displayContent, @Surface.Rotation int originalRotation) {
+        mService = displayContent.mWmService;
+        mContext = mService.mContext;
         mDisplayContent = displayContent;
         displayContent.getBounds(mOriginalDisplayRect);
 
         // Screenshot does NOT include rotation!
-        final Display display = displayContent.getDisplay();
-        int originalRotation = display.getRotation();
+        final DisplayInfo displayInfo = displayContent.getDisplayInfo();
+        final int realOriginalRotation = displayInfo.rotation;
         final int originalWidth;
         final int originalHeight;
-        DisplayInfo displayInfo = displayContent.getDisplayInfo();
-        if (fixedToUserRotation) {
+        if (displayContent.getDisplayRotation().isFixedToUserRotation()) {
             // Emulated orientation.
             mForceDefaultOrientation = true;
             originalWidth = displayContent.mBaseDisplayWidth;
@@ -163,8 +161,8 @@
             originalWidth = displayInfo.logicalWidth;
             originalHeight = displayInfo.logicalHeight;
         }
-        if (originalRotation == Surface.ROTATION_90
-                || originalRotation == Surface.ROTATION_270) {
+        if (realOriginalRotation == Surface.ROTATION_90
+                || realOriginalRotation == Surface.ROTATION_270) {
             mWidth = originalHeight;
             mHeight = originalWidth;
         } else {
@@ -173,10 +171,18 @@
         }
 
         mOriginalRotation = originalRotation;
-        mOriginalWidth = originalWidth;
-        mOriginalHeight = originalHeight;
+        // If the delta is not zero, the rotation of display may not change, but we still want to
+        // apply rotation animation because there should be a top app shown as rotated. So the
+        // specified original rotation customizes the direction of animation to have better look
+        // when restoring the rotated app to the same rotation as current display.
+        final int delta = DisplayContent.deltaRotation(originalRotation, realOriginalRotation);
+        final boolean flipped = delta == Surface.ROTATION_90 || delta == Surface.ROTATION_270;
+        mOriginalWidth = flipped ? originalHeight : originalWidth;
+        mOriginalHeight = flipped ? originalWidth : originalHeight;
         mSurfaceRotationAnimationController = new SurfaceRotationAnimationController();
 
+        // Check whether the current screen contains any secure content.
+        final boolean isSecure = displayContent.hasSecureWindowOnScreen();
         final SurfaceControl.Transaction t = mService.mTransactionFactory.get();
         try {
             mBackColorSurface = displayContent.makeChildSurface(null)
@@ -202,7 +208,7 @@
             t2.apply(true /* sync */);
 
             // Capture a screenshot into the surface we just created.
-            final int displayId = display.getDisplayId();
+            final int displayId = displayContent.getDisplayId();
             final Surface surface = mService.mSurfaceFactory.get();
             surface.copyFrom(mScreenshotLayer);
             SurfaceControl.ScreenshotGraphicBuffer gb =
@@ -242,7 +248,7 @@
 
         ProtoLog.i(WM_SHOW_SURFACE_ALLOC,
                     "  FREEZE %s: CREATE", mScreenshotLayer);
-        setRotation(t, originalRotation);
+        setRotation(t, realOriginalRotation);
         t.apply();
     }
 
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index f8ee09b..66ca0ac 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -52,7 +52,6 @@
 import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE_DEPRECATED;
 import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
-import static android.content.res.Configuration.EMPTY;
 import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
 import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
 import static android.content.res.Configuration.ORIENTATION_UNDEFINED;
@@ -66,6 +65,9 @@
 import static com.android.internal.policy.DecorView.DECOR_SHADOW_UNFOCUSED_HEIGHT_IN_DIP;
 import static com.android.server.wm.ActivityRecord.STARTING_WINDOW_SHOWN;
 import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
+import static com.android.server.wm.ActivityStack.STACK_VISIBILITY_INVISIBLE;
+import static com.android.server.wm.ActivityStack.STACK_VISIBILITY_VISIBLE;
+import static com.android.server.wm.ActivityStack.STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
 import static com.android.server.wm.ActivityStackSupervisor.ON_TOP;
 import static com.android.server.wm.ActivityStackSupervisor.PRESERVE_WINDOWS;
 import static com.android.server.wm.ActivityStackSupervisor.REMOVE_FROM_RECENTS;
@@ -212,7 +214,6 @@
     static final int INVALID_MIN_SIZE = -1;
     private float mShadowRadius = 0;
     private final Rect mLastSurfaceCrop = new Rect();
-    private static final boolean ENABLE_FREEFORM_COMPOSITOR_SHADOWS = false;
 
     /**
      * The modes to control how the stack is moved to the front when calling {@link Task#reparent}.
@@ -354,10 +355,6 @@
     final Rect mPreparedFrozenBounds = new Rect();
     final Configuration mPreparedFrozenMergedConfig = new Configuration();
 
-    // If non-empty, bounds used to display the task during animations/interactions.
-    // TODO(b/119687367): This member is temporary.
-    private final Rect mOverrideDisplayedBounds = new Rect();
-
     // Id of the previous display the stack was on.
     int mPrevDisplayId = INVALID_DISPLAY;
 
@@ -439,7 +436,6 @@
     static final int FLAG_FORCE_HIDDEN_FOR_TASK_ORG = 1 << 1;
     private int mForceHiddenFlags = 0;
 
-
     SurfaceControl.Transaction mMainWindowSizeChangeTransaction;
 
     private final FindRootHelper mFindRootHelper = new FindRootHelper();
@@ -1379,6 +1375,9 @@
     void addChild(WindowContainer child, int index) {
         // If this task had any child before we added this one.
         boolean hadChild = hasChild();
+        // getActivityType() looks at the top child, so we need to read the type before adding
+        // a new child in case the new child is on top and UNDEFINED.
+        final int activityType = getActivityType();
 
         index = getAdjustedChildPosition(child, index);
         super.addChild(child, index);
@@ -1419,7 +1418,7 @@
                     ActivityTaskManager.getMaxAppRecentsLimitStatic());
         } else {
             // Otherwise make all added activities match this one.
-            r.setActivityType(getActivityType());
+            r.setActivityType(activityType);
         }
 
         updateEffectiveIntent();
@@ -2350,7 +2349,9 @@
         int windowingMode =
                 getResolvedOverrideConfiguration().windowConfiguration.getWindowingMode();
         if (getActivityType() == ACTIVITY_TYPE_HOME && windowingMode == WINDOWING_MODE_UNDEFINED) {
-            windowingMode = inSplitScreenWindowingMode() ? WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
+            final int parentWindowingMode = newParentConfig.windowConfiguration.getWindowingMode();
+            windowingMode = parentWindowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
+                    ? WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
                     : WINDOWING_MODE_FULLSCREEN;
             getResolvedOverrideConfiguration().windowConfiguration.setWindowingMode(windowingMode);
         }
@@ -2578,6 +2579,80 @@
         return currentCount[0];
     }
 
+    /**
+     * Find next proper focusable stack and make it focused.
+     * @return The stack that now got the focus, {@code null} if none found.
+     */
+    ActivityStack adjustFocusToNextFocusableTask(String reason) {
+        return adjustFocusToNextFocusableTask(reason, false /* allowFocusSelf */,
+                true /* moveParentsToTop */);
+    }
+
+    /** Return the next focusable task by looking from the siblings and parent tasks */
+    private Task getNextFocusableTask(boolean allowFocusSelf) {
+        final WindowContainer parent = getParent();
+        if (parent == null) {
+            return null;
+        }
+
+        final Task focusableTask = parent.getTask((task) -> (allowFocusSelf || task != this)
+                && ((ActivityStack) task).isFocusableAndVisible());
+        if (focusableTask == null && parent.asTask() != null) {
+            return parent.asTask().getNextFocusableTask(allowFocusSelf);
+        } else {
+            return focusableTask;
+        }
+    }
+
+    /**
+     * Find next proper focusable task and make it focused.
+     * @param reason The reason of making the adjustment.
+     * @param allowFocusSelf Is the focus allowed to remain on the same task.
+     * @param moveParentsToTop Whether to move parents to top while making the task focused.
+     * @return The root task that now got the focus, {@code null} if none found.
+     */
+    ActivityStack adjustFocusToNextFocusableTask(String reason, boolean allowFocusSelf,
+            boolean moveParentsToTop) {
+        ActivityStack focusableTask = (ActivityStack) getNextFocusableTask(allowFocusSelf);
+        if (focusableTask == null) {
+            focusableTask = mRootWindowContainer.getNextFocusableStack((ActivityStack) this,
+                    !allowFocusSelf);
+        }
+        if (focusableTask == null) {
+            return null;
+        }
+
+        final String myReason = reason + " adjustFocusToNextFocusableStack";
+        final ActivityRecord top = focusableTask.topRunningActivity();
+        final ActivityStack rootTask = (ActivityStack) focusableTask.getRootTask();
+        if (focusableTask.isActivityTypeHome() && (top == null || !top.mVisibleRequested)) {
+            // If we will be focusing on the home stack next and its current top activity isn't
+            // visible, then use the move the home stack task to top to make the activity visible.
+            focusableTask.getDisplayArea().moveHomeActivityToTop(myReason);
+            return rootTask;
+        }
+
+        if (!moveParentsToTop) {
+            // Only move the next stack to top in its task container.
+            WindowContainer parent = focusableTask.getParent();
+            parent.positionChildAt(POSITION_TOP, focusableTask, false /* includingParents */);
+            return rootTask;
+        }
+
+        // Move the entire hierarchy to top with updating global top resumed activity
+        // and focused application if needed.
+        focusableTask.moveToFront(myReason);
+        // Top display focused stack is changed, update top resumed activity if needed.
+        if (rootTask.mResumedActivity != null) {
+            mStackSupervisor.updateTopResumedActivityIfNeeded();
+            // Set focused app directly because if the next focused activity is already resumed
+            // (e.g. the next top activity is on a different display), there won't have activity
+            // state change to update it.
+            mAtmService.setResumedActivityUncheckLocked(rootTask.mResumedActivity, reason);
+        }
+        return rootTask;
+    }
+
     /** Calculate the minimum possible position for a task that can be shown to the user.
      *  The minimum position will be above all other tasks that can't be shown.
      *  @param minPosition The minimum position the caller is suggesting.
@@ -2729,10 +2804,8 @@
     }
 
     private void updateSurfaceCrop() {
-        // TODO(b/149585281) remove when root task has the correct bounds for freeform
         // Only update the crop if we are drawing shadows on the task.
-        if (mSurfaceControl == null || !mWmService.mRenderShadowsInCompositor
-                || !isRootTask() || !ENABLE_FREEFORM_COMPOSITOR_SHADOWS) {
+        if (mSurfaceControl == null || !mWmService.mRenderShadowsInCompositor || !isRootTask()) {
             return;
         }
 
@@ -2798,29 +2871,6 @@
         }
     }
 
-    /**
-     * Displayed bounds are used to set where the task is drawn at any given time. This is
-     * separate from its actual bounds so that the app doesn't see any meaningful configuration
-     * changes during transitionary periods.
-     */
-    void setOverrideDisplayedBounds(Rect overrideDisplayedBounds) {
-        if (overrideDisplayedBounds != null) {
-            adjustForMinimalTaskDimensions(overrideDisplayedBounds, mOverrideDisplayedBounds);
-            mOverrideDisplayedBounds.set(overrideDisplayedBounds);
-        } else {
-            mOverrideDisplayedBounds.setEmpty();
-        }
-        updateSurfacePosition();
-    }
-
-    /**
-     * Gets the bounds that override where the task is displayed. See
-     * {@link android.app.IActivityTaskManager#resizeDockedStack} why this is needed.
-     */
-    Rect getOverrideDisplayedBounds() {
-        return mOverrideDisplayedBounds;
-    }
-
     boolean isResizeable(boolean checkSupportsPip) {
         return (mAtmService.mForceResizableActivities || ActivityInfo.isResizeableMode(mResizeMode)
                 || (checkSupportsPip && mSupportsPictureInPicture));
@@ -2854,49 +2904,6 @@
         mPreparedFrozenMergedConfig.setTo(getConfiguration());
     }
 
-    /**
-     * Align the task to the adjusted bounds.
-     *
-     * @param adjustedBounds Adjusted bounds to which the task should be aligned.
-     * @param tempInsetBounds Insets bounds for the task.
-     * @param alignBottom True if the task's bottom should be aligned to the adjusted
-     *                    bounds's bottom; false if the task's top should be aligned
-     *                    the adjusted bounds's top.
-     */
-    void alignToAdjustedBounds(Rect adjustedBounds, Rect tempInsetBounds, boolean alignBottom) {
-        if (!isResizeable() || EMPTY.equals(getRequestedOverrideConfiguration())) {
-            return;
-        }
-
-        getBounds(mTmpRect2);
-        if (alignBottom) {
-            int offsetY = adjustedBounds.bottom - mTmpRect2.bottom;
-            mTmpRect2.offset(0, offsetY);
-        } else {
-            mTmpRect2.offsetTo(adjustedBounds.left, adjustedBounds.top);
-        }
-        if (tempInsetBounds == null || tempInsetBounds.isEmpty()) {
-            setOverrideDisplayedBounds(null);
-            setBounds(mTmpRect2);
-        } else {
-            setOverrideDisplayedBounds(mTmpRect2);
-            setBounds(tempInsetBounds);
-        }
-    }
-
-    /**
-     * Gets the current overridden displayed bounds. These will be empty if the task is not
-     * currently overriding where it is displayed.
-     */
-    @Override
-    public Rect getDisplayedBounds() {
-        if (mOverrideDisplayedBounds.isEmpty()) {
-            return super.getDisplayedBounds();
-        } else {
-            return mOverrideDisplayedBounds;
-        }
-    }
-
     @Override
     void getAnimationFrames(Rect outFrame, Rect outInsets, Rect outStableInsets,
             Rect outSurfaceInsets) {
@@ -3072,6 +3079,7 @@
         mForceShowForAllUsers = forceShowForAllUsers;
     }
 
+    @Override
     public boolean isAttached() {
         final TaskDisplayArea taskDisplayArea = getDisplayArea();
         return taskDisplayArea != null && !taskDisplayArea.isRemoved();
@@ -3209,6 +3217,52 @@
         return activity != null ? activity.findMainWindow() : null;
     }
 
+    ActivityRecord topRunningActivity() {
+        return topRunningActivity(false /* focusableOnly */);
+    }
+
+    ActivityRecord topRunningActivity(boolean focusableOnly) {
+        // Split into 2 to avoid object creation due to variable capture.
+        if (focusableOnly) {
+            return getActivity((r) -> r.canBeTopRunning() && r.isFocusable());
+        } else {
+            return getActivity(ActivityRecord::canBeTopRunning);
+        }
+    }
+
+    ActivityRecord topRunningNonDelayedActivityLocked(ActivityRecord notTop) {
+        final PooledPredicate p = PooledLambda.obtainPredicate(Task::isTopRunningNonDelayed
+                , PooledLambda.__(ActivityRecord.class), notTop);
+        final ActivityRecord r = getActivity(p);
+        p.recycle();
+        return r;
+    }
+
+    private static boolean isTopRunningNonDelayed(ActivityRecord r, ActivityRecord notTop) {
+        return !r.delayedResume && r != notTop && r.canBeTopRunning();
+    }
+
+    /**
+     * This is a simplified version of topRunningActivity that provides a number of
+     * optional skip-over modes.  It is intended for use with the ActivityController hook only.
+     *
+     * @param token If non-null, any history records matching this token will be skipped.
+     * @param taskId If non-zero, we'll attempt to skip over records with the same task ID.
+     *
+     * @return Returns the HistoryRecord of the next activity on the stack.
+     */
+    ActivityRecord topRunningActivity(IBinder token, int taskId) {
+        final PooledPredicate p = PooledLambda.obtainPredicate(Task::isTopRunning,
+                PooledLambda.__(ActivityRecord.class), taskId, token);
+        final ActivityRecord r = getActivity(p);
+        p.recycle();
+        return r;
+    }
+
+    private static boolean isTopRunning(ActivityRecord r, int taskId, IBinder notTop) {
+        return r.getTask().mTaskId != taskId && r.appToken != notTop && r.canBeTopRunning();
+    }
+
     ActivityRecord getTopFullscreenActivity() {
         return getActivity((r) -> {
             final WindowState win = r.findMainWindow();
@@ -3433,7 +3487,6 @@
         pw.println(prefix + "taskId=" + mTaskId);
         pw.println(doublePrefix + "mBounds=" + getBounds().toShortString());
         pw.println(doublePrefix + "appTokens=" + mChildren);
-        pw.println(doublePrefix + "mDisplayedBounds=" + mOverrideDisplayedBounds.toShortString());
 
         final String triplePrefix = doublePrefix + "  ";
         final String quadruplePrefix = triplePrefix + "  ";
@@ -3459,7 +3512,9 @@
         final Intent baseIntent = getBaseIntent();
         // Make a copy of base intent because this is like a snapshot info.
         // Besides, {@link RecentTasks#getRecentTasksImpl} may modify it.
+        final int baseIntentFlags = baseIntent == null ? 0 : baseIntent.getFlags();
         info.baseIntent = baseIntent == null ? new Intent() : baseIntent.cloneFilter();
+        info.baseIntent.setFlags(baseIntentFlags);
         info.baseActivity = mReuseActivitiesReport.base != null
                 ? mReuseActivitiesReport.base.intent.getComponent()
                 : null;
@@ -3510,9 +3565,169 @@
         return this;
     }
 
-    // TODO(task-merge): Figure-out how this should work with hierarchy tasks.
+    /**
+     * Returns true if the task should be visible.
+     *
+     * @param starting The currently starting activity or null if there is none.
+     */
     boolean shouldBeVisible(ActivityRecord starting) {
-        return true;
+        return getVisibility(starting) != STACK_VISIBILITY_INVISIBLE;
+    }
+
+    /**
+     * Returns true if the task should be visible.
+     *
+     * @param starting The currently starting activity or null if there is none.
+     */
+    @ActivityStack.StackVisibility
+    int getVisibility(ActivityRecord starting) {
+        if (!isAttached() || isForceHidden()) {
+            return STACK_VISIBILITY_INVISIBLE;
+        }
+
+        boolean gotSplitScreenStack = false;
+        boolean gotOpaqueSplitScreenPrimary = false;
+        boolean gotOpaqueSplitScreenSecondary = false;
+        boolean gotTranslucentFullscreen = false;
+        boolean gotTranslucentSplitScreenPrimary = false;
+        boolean gotTranslucentSplitScreenSecondary = false;
+        boolean shouldBeVisible = true;
+
+        // This stack is only considered visible if all its parent stacks are considered visible,
+        // so check the visibility of all ancestor stacks first.
+        final WindowContainer parent = getParent();
+        if (parent.asTask() != null) {
+            final int parentVisibility = parent.asTask().getVisibility(starting);
+            if (parentVisibility == STACK_VISIBILITY_INVISIBLE) {
+                // Can't be visible if parent isn't visible
+                return STACK_VISIBILITY_INVISIBLE;
+            } else if (parentVisibility == STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT) {
+                // Parent is behind a translucent container so the highest visibility this container
+                // can get is that.
+                gotTranslucentFullscreen = true;
+            }
+        }
+
+        final int windowingMode = getWindowingMode();
+        final boolean isAssistantType = isActivityTypeAssistant();
+        for (int i = parent.getChildCount() - 1; i >= 0; --i) {
+            final WindowContainer wc = parent.getChildAt(i);
+            final Task other = wc.asTask();
+            if (other == null) continue;
+
+            final boolean hasRunningActivities = other.topRunningActivity() != null;
+            if (other == this) {
+                // Should be visible if there is no other stack occluding it, unless it doesn't
+                // have any running activities, not starting one and not home stack.
+                shouldBeVisible = hasRunningActivities || isInTask(starting) != null
+                        || isActivityTypeHome();
+                break;
+            }
+
+            if (!hasRunningActivities) {
+                continue;
+            }
+
+            final int otherWindowingMode = other.getWindowingMode();
+
+            if (otherWindowingMode == WINDOWING_MODE_FULLSCREEN) {
+                // In this case the home stack isn't resizeable even though we are in split-screen
+                // mode. We still want the primary splitscreen stack to be visible as there will be
+                // a slight hint of it in the status bar area above the non-resizeable home
+                // activity. In addition, if the fullscreen assistant is over primary splitscreen
+                // stack, the stack should still be visible in the background as long as the recents
+                // animation is running.
+                final int activityType = other.getActivityType();
+                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
+                    if (activityType == ACTIVITY_TYPE_HOME
+                            || (activityType == ACTIVITY_TYPE_ASSISTANT
+                            && mWmService.getRecentsAnimationController() != null)) {
+                        break;
+                    }
+                }
+                if (other.isTranslucent(starting)) {
+                    // Can be visible behind a translucent fullscreen stack.
+                    gotTranslucentFullscreen = true;
+                    continue;
+                }
+                return STACK_VISIBILITY_INVISIBLE;
+            } else if (otherWindowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
+                    && !gotOpaqueSplitScreenPrimary) {
+                gotSplitScreenStack = true;
+                gotTranslucentSplitScreenPrimary = other.isTranslucent(starting);
+                gotOpaqueSplitScreenPrimary = !gotTranslucentSplitScreenPrimary;
+                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
+                        && gotOpaqueSplitScreenPrimary) {
+                    // Can not be visible behind another opaque stack in split-screen-primary mode.
+                    return STACK_VISIBILITY_INVISIBLE;
+                }
+            } else if (otherWindowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
+                    && !gotOpaqueSplitScreenSecondary) {
+                gotSplitScreenStack = true;
+                gotTranslucentSplitScreenSecondary = other.isTranslucent(starting);
+                gotOpaqueSplitScreenSecondary = !gotTranslucentSplitScreenSecondary;
+                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
+                        && gotOpaqueSplitScreenSecondary) {
+                    // Can not be visible behind another opaque stack in split-screen-secondary mode.
+                    return STACK_VISIBILITY_INVISIBLE;
+                }
+            }
+            if (gotOpaqueSplitScreenPrimary && gotOpaqueSplitScreenSecondary) {
+                // Can not be visible if we are in split-screen windowing mode and both halves of
+                // the screen are opaque.
+                return STACK_VISIBILITY_INVISIBLE;
+            }
+            if (isAssistantType && gotSplitScreenStack) {
+                // Assistant stack can't be visible behind split-screen. In addition to this not
+                // making sense, it also works around an issue here we boost the z-order of the
+                // assistant window surfaces in window manager whenever it is visible.
+                return STACK_VISIBILITY_INVISIBLE;
+            }
+        }
+
+        if (!shouldBeVisible) {
+            return STACK_VISIBILITY_INVISIBLE;
+        }
+
+        // Handle cases when there can be a translucent split-screen stack on top.
+        switch (windowingMode) {
+            case WINDOWING_MODE_FULLSCREEN:
+                if (gotTranslucentSplitScreenPrimary || gotTranslucentSplitScreenSecondary) {
+                    // At least one of the split-screen stacks that covers this one is translucent.
+                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
+                }
+                break;
+            case WINDOWING_MODE_SPLIT_SCREEN_PRIMARY:
+                if (gotTranslucentSplitScreenPrimary) {
+                    // Covered by translucent primary split-screen on top.
+                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
+                }
+                break;
+            case WINDOWING_MODE_SPLIT_SCREEN_SECONDARY:
+                if (gotTranslucentSplitScreenSecondary) {
+                    // Covered by translucent secondary split-screen on top.
+                    return STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
+                }
+                break;
+        }
+
+        // Lastly - check if there is a translucent fullscreen stack on top.
+        return gotTranslucentFullscreen ? STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT
+                : STACK_VISIBILITY_VISIBLE;
+    }
+
+    ActivityRecord isInTask(ActivityRecord r) {
+        if (r == null) {
+            return null;
+        }
+        final Task task = r.getRootTask();
+        if (task != null && r.isDescendantOf(task)) {
+            if (task != this) Slog.w(TAG, "Illegal state! task does not point to stack it is in. "
+                    + "stack=" + this + " task=" + task + " r=" + r
+                    + " callers=" + Debug.getCallers(15, "\n"));
+            return r;
+        }
+        return null;
     }
 
     void dump(PrintWriter pw, String prefix) {
@@ -4272,8 +4487,7 @@
         // Get elevation for a specific windowing mode.
         if (inPinnedWindowingMode()) {
             elevation = PINNED_WINDOWING_MODE_ELEVATION_IN_DIP;
-        } else if (ENABLE_FREEFORM_COMPOSITOR_SHADOWS && inFreeformWindowingMode()) {
-            // TODO(b/149585281) remove when root task has the correct bounds for freeform
+        } else if (inFreeformWindowingMode()) {
             elevation = taskIsFocused
                     ? DECOR_SHADOW_FOCUSED_HEIGHT_IN_DIP : DECOR_SHADOW_UNFOCUSED_HEIGHT_IN_DIP;
         } else {
@@ -4333,7 +4547,7 @@
 
     void setActivityWindowingMode(int windowingMode) {
         PooledConsumer c = PooledLambda.obtainConsumer(ActivityRecord::setWindowingMode,
-            PooledLambda.__(ActivityRecord.class), windowingMode);
+                PooledLambda.__(ActivityRecord.class), windowingMode);
         forAllActivities(c);
         c.recycle();
     }
diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java
index ea9a362..25791c7 100644
--- a/services/core/java/com/android/server/wm/TaskDisplayArea.java
+++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java
@@ -184,6 +184,7 @@
         return count > 0 ? getChildAt(count - 1) : null;
     }
 
+    // TODO: Figure-out a way to remove since it might be a source of confusion.
     int getIndexOf(ActivityStack stack) {
         return mChildren.indexOf(stack);
     }
@@ -266,16 +267,14 @@
 
     @Override
     void addChild(ActivityStack stack, int position) {
+        if (DEBUG_STACK) Slog.d(TAG_WM, "Set stack=" + stack + " on taskDisplayArea=" + this);
         addStackReferenceIfNeeded(stack);
         position = findPositionForStack(position, stack, true /* adding */);
 
         super.addChild(stack, position);
         mAtmService.updateSleepIfNeededLocked();
 
-        // The reparenting case is handled in WindowContainer.
-        if (!stack.mReparenting) {
-            mDisplayContent.setLayoutNeeded();
-        }
+        positionStackAt(stack, position);
     }
 
     @Override
@@ -637,12 +636,6 @@
         }
     }
 
-    void addStack(ActivityStack stack, int position) {
-        if (DEBUG_STACK) Slog.d(TAG_WM, "Set stack=" + stack + " on taskDisplayArea=" + this);
-        addChild(stack, position);
-        positionStackAt(stack, position);
-    }
-
     void onStackRemoved(ActivityStack stack) {
         if (ActivityTaskManagerDebugConfig.DEBUG_STACK) {
             Slog.v(TAG_STACK, "removeStack: detaching " + stack + " from displayId="
@@ -690,7 +683,7 @@
         //       the position internally, also update the logic here
         final ActivityStack prevFocusedStack = updateLastFocusedStackReason != null
                 ? getFocusedStack() : null;
-        final boolean wasContained = getIndexOf(stack) >= 0;
+        final boolean wasContained = mChildren.contains(stack);
         if (mDisplayContent.mSingleTaskInstance && getStackCount() == 1 && !wasContained) {
             throw new IllegalStateException(
                     "positionStackAt: Can only have one task on display=" + this);
@@ -786,7 +779,7 @@
                 }
             } else if (stack.getDisplayArea() != this || !stack.isRootTask()) {
                 if (stack.getParent() == null) {
-                    addStack(stack, position);
+                    addChild(stack, position);
                 } else {
                     stack.reparent(this, onTop);
                 }
@@ -879,6 +872,11 @@
                     + windowingMode);
         }
 
+        if (windowingMode == WINDOWING_MODE_PINNED && getRootPinnedTask() != null) {
+            // Only 1 stack can be PINNED at a time, so dismiss the existing one
+            getRootPinnedTask().dismissPip();
+        }
+
         final int stackId = getNextStackId();
         return createStackUnchecked(windowingMode, activityType, stackId, onTop, info, intent,
                 createdByOrganizer);
@@ -937,7 +935,7 @@
                 positionStackAtTop((ActivityStack) launchRootTask, false /* includingParents */);
             }
         } else {
-            addStack(stack, onTop ? POSITION_TOP : POSITION_BOTTOM);
+            addChild(stack, onTop ? POSITION_TOP : POSITION_BOTTOM);
             stack.setWindowingMode(windowingMode, true /* creating */);
         }
         return stack;
diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
index da4401a..11c20b6 100644
--- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
+++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
@@ -48,6 +48,7 @@
 import android.util.Slog;
 import android.view.Gravity;
 import android.view.View;
+import android.window.WindowContainerToken;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.wm.LaunchParamsController.LaunchParams;
@@ -134,13 +135,15 @@
             return RESULT_SKIP;
         }
 
-        // STEP 1: Determine the display to launch the activity/task.
-        final int displayId = getPreferredLaunchDisplay(task, options, source, currentParams);
-        outParams.mPreferredDisplayId = displayId;
-        DisplayContent display = mSupervisor.mRootWindowContainer.getDisplayContent(displayId);
+        // STEP 1: Determine the display area to launch the activity/task.
+        final TaskDisplayArea taskDisplayArea = getPreferredLaunchTaskDisplayArea(task,
+                options, source, currentParams);
+        outParams.mPreferredTaskDisplayArea = taskDisplayArea;
+        // TODO(b/152116619): Update the usages of display to use taskDisplayArea below.
+        final DisplayContent display = taskDisplayArea.mDisplayContent;
         if (DEBUG) {
-            appendLog("display-id=" + outParams.mPreferredDisplayId + " display-windowing-mode="
-                    + display.getWindowingMode());
+            appendLog("task-display-area=" + outParams.mPreferredTaskDisplayArea
+                    + " display-area-windowing-mode=" + taskDisplayArea.getWindowingMode());
         }
 
         if (phase == PHASE_DISPLAY) {
@@ -210,8 +213,8 @@
         // layout and display conditions are not contradictory to their suggestions. It's important
         // to carry over their values because LaunchParamsController doesn't automatically do that.
         if (!currentParams.isEmpty() && !hasInitialBounds
-                && (!currentParams.hasPreferredDisplay()
-                    || displayId == currentParams.mPreferredDisplayId)) {
+                && (currentParams.mPreferredTaskDisplayArea == null
+                    || currentParams.mPreferredTaskDisplayArea == taskDisplayArea)) {
             // Only set windowing mode if display is in freeform. If the display is in fullscreen
             // mode we should only launch a task in fullscreen mode.
             if (currentParams.hasWindowingMode() && display.inFreeformWindowingMode()) {
@@ -270,19 +273,19 @@
                 : display.getWindowingMode();
         if (fullyResolvedCurrentParam) {
             if (resolvedMode == WINDOWING_MODE_FREEFORM) {
-                // Make sure bounds are in the display if it's possibly in a different display.
-                if (currentParams.mPreferredDisplayId != displayId) {
+                // Make sure bounds are in the display if it's possibly in a different display/area.
+                if (currentParams.mPreferredTaskDisplayArea != taskDisplayArea) {
                     adjustBoundsToFitInDisplay(display, outParams.mBounds);
                 }
                 // Even though we want to keep original bounds, we still don't want it to stomp on
                 // an existing task.
                 adjustBoundsToAvoidConflictInDisplay(display, outParams.mBounds);
             }
-        } else if (display.inFreeformWindowingMode()) {
+        } else if (taskDisplayArea.inFreeformWindowingMode()) {
             if (source != null && source.inFreeformWindowingMode()
                     && resolvedMode == WINDOWING_MODE_FREEFORM
                     && outParams.mBounds.isEmpty()
-                    && source.getDisplayId() == display.getDisplayId()) {
+                    && source.getDisplayArea() == taskDisplayArea) {
                 // Set bounds to be not very far from source activity.
                 cascadeBounds(source.getConfiguration().windowConfiguration.getBounds(),
                         display, outParams.mBounds);
@@ -293,54 +296,87 @@
         return RESULT_CONTINUE;
     }
 
-    private int getPreferredLaunchDisplay(@Nullable Task task,
+    private TaskDisplayArea getPreferredLaunchTaskDisplayArea(@Nullable Task task,
             @Nullable ActivityOptions options, ActivityRecord source, LaunchParams currentParams) {
-        if (!mSupervisor.mService.mSupportsMultiDisplay) {
-            return DEFAULT_DISPLAY;
+        TaskDisplayArea taskDisplayArea = null;
+
+        final WindowContainerToken optionLaunchTaskDisplayAreaToken = options != null
+                ? options.getLaunchTaskDisplayArea() : null;
+        if (optionLaunchTaskDisplayAreaToken != null) {
+            taskDisplayArea = (TaskDisplayArea) WindowContainer.fromBinder(
+                    optionLaunchTaskDisplayAreaToken.asBinder());
+            if (DEBUG) appendLog("display-area-from-option=" + taskDisplayArea);
         }
 
-        int displayId = INVALID_DISPLAY;
-        final int optionLaunchId = options != null ? options.getLaunchDisplayId() : INVALID_DISPLAY;
-        if (optionLaunchId != INVALID_DISPLAY) {
-            if (DEBUG) appendLog("display-from-option=" + optionLaunchId);
-            displayId = optionLaunchId;
+        // If task display area is not specified in options - try display id
+        if (taskDisplayArea == null) {
+            final int optionLaunchId =
+                    options != null ? options.getLaunchDisplayId() : INVALID_DISPLAY;
+            if (optionLaunchId != INVALID_DISPLAY) {
+                final DisplayContent dc = mSupervisor.mRootWindowContainer
+                        .getDisplayContent(optionLaunchId);
+                if (dc != null) {
+                    taskDisplayArea = dc.getDefaultTaskDisplayArea();
+                    if (DEBUG) appendLog("display-from-option=" + optionLaunchId);
+                }
+            }
         }
 
-        // If the source activity is a no-display activity, pass on the launch display id from
-        // source activity as currently preferred.
-        if (displayId == INVALID_DISPLAY && source != null && source.noDisplay) {
-            displayId = source.mHandoverLaunchDisplayId;
-            if (DEBUG) appendLog("display-from-no-display-source=" + displayId);
+        // If the source activity is a no-display activity, pass on the launch display area token
+        // from source activity as currently preferred.
+        if (taskDisplayArea == null && source != null
+                && source.noDisplay) {
+            taskDisplayArea = source.mHandoverTaskDisplayArea;
+            if (taskDisplayArea != null) {
+                if (DEBUG) appendLog("display-area-from-no-display-source=" + taskDisplayArea);
+            } else {
+                // Try handover display id
+                final int displayId = source.mHandoverLaunchDisplayId;
+                final DisplayContent dc =
+                        mSupervisor.mRootWindowContainer.getDisplayContent(displayId);
+                if (dc != null) {
+                    taskDisplayArea = dc.getDefaultTaskDisplayArea();
+                    if (DEBUG) appendLog("display-from-no-display-source=" + displayId);
+                }
+            }
         }
 
-        ActivityStack stack =
-                (displayId == INVALID_DISPLAY && task != null) ? task.getStack() : null;
+        ActivityStack stack = (taskDisplayArea == null && task != null)
+                ? task.getStack() : null;
         if (stack != null) {
             if (DEBUG) appendLog("display-from-task=" + stack.getDisplayId());
-            displayId = stack.getDisplayId();
+            taskDisplayArea = stack.getDisplayArea();
         }
 
-        if (displayId == INVALID_DISPLAY && source != null) {
-            final int sourceDisplayId = source.getDisplayId();
-            if (DEBUG) appendLog("display-from-source=" + sourceDisplayId);
-            displayId = sourceDisplayId;
+        if (taskDisplayArea == null && source != null) {
+            final TaskDisplayArea sourceDisplayArea = source.getDisplayArea();
+            if (DEBUG) appendLog("display-area-from-source=" + sourceDisplayArea);
+            taskDisplayArea = sourceDisplayArea;
         }
 
-        if (displayId == INVALID_DISPLAY && options != null) {
+        if (taskDisplayArea == null && options != null) {
             final int callerDisplayId = options.getCallerDisplayId();
-            if (DEBUG) appendLog("display-from-caller=" + callerDisplayId);
-            displayId = callerDisplayId;
+            final DisplayContent dc =
+                    mSupervisor.mRootWindowContainer.getDisplayContent(callerDisplayId);
+            if (dc != null) {
+                taskDisplayArea = dc.getDefaultTaskDisplayArea();
+                if (DEBUG) appendLog("display-from-caller=" + callerDisplayId);
+            }
         }
 
-        if (displayId != INVALID_DISPLAY
-                && mSupervisor.mRootWindowContainer.getDisplayContent(displayId) == null) {
-            displayId = currentParams.mPreferredDisplayId;
+        if (taskDisplayArea == null) {
+            taskDisplayArea = currentParams.mPreferredTaskDisplayArea;
         }
-        displayId = (displayId == INVALID_DISPLAY) ? currentParams.mPreferredDisplayId : displayId;
 
-        return (displayId != INVALID_DISPLAY
-                && mSupervisor.mRootWindowContainer.getDisplayContent(displayId) != null)
-                ? displayId : DEFAULT_DISPLAY;
+        // Fallback to default display if the device didn't declare support for multi-display
+        if (taskDisplayArea != null && !mSupervisor.mService.mSupportsMultiDisplay
+                && taskDisplayArea.getDisplayId() != DEFAULT_DISPLAY) {
+            taskDisplayArea = mSupervisor.mRootWindowContainer.getDefaultTaskDisplayArea();
+        }
+
+        return (taskDisplayArea != null)
+                ? taskDisplayArea
+                : mSupervisor.mRootWindowContainer.getDefaultTaskDisplayArea();
     }
 
     private boolean canInheritWindowingModeFromSource(@NonNull DisplayContent display,
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
index 14e5c6c..24cd7d1 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
@@ -217,6 +217,7 @@
                     = topFullscreenOpaqueWindow.mAttrs.insetsFlags.behavior;
             layoutParams.insetsFlags.appearance
                     = topFullscreenOpaqueWindow.mAttrs.insetsFlags.appearance;
+            layoutParams.layoutInDisplayCutoutMode = attrs.layoutInDisplayCutoutMode;
             layoutParams.setFitInsetsTypes(attrs.getFitInsetsTypes());
             layoutParams.setFitInsetsSides(attrs.getFitInsetsSides());
             layoutParams.setFitInsetsIgnoringVisibility(attrs.isFitInsetsIgnoringVisibility());
@@ -374,15 +375,15 @@
             frame = calculateSnapshotFrame(crop);
             mTransaction.setWindowCrop(mChildSurfaceControl, crop);
             mTransaction.setPosition(mChildSurfaceControl, frame.left, frame.top);
+            mTmpSnapshotSize.set(crop);
             mTmpDstFrame.set(frame);
         } else {
             frame = null;
+            mTmpSnapshotSize.set(0, 0, buffer.getWidth(), buffer.getHeight());
             mTmpDstFrame.set(mFrame);
         }
-        mTmpDstFrame.offsetTo(0, 0);
 
         // Scale the mismatch dimensions to fill the task bounds
-        mTmpSnapshotSize.set(0, 0, buffer.getWidth(), buffer.getHeight());
         mSnapshotMatrix.setRectToRect(mTmpSnapshotSize, mTmpDstFrame, Matrix.ScaleToFit.FILL);
         mTransaction.setMatrix(mChildSurfaceControl, mSnapshotMatrix, mTmpFloat9);
 
@@ -435,16 +436,11 @@
                 (float) mSnapshot.getSnapshot().getHeight() / mSnapshot.getTaskSize().y;
 
         // Rescale the frame from snapshot to window coordinate space
-        final Rect frame = new Rect(
-                (int) (crop.left / scaleX + 0.5f),
-                (int) (crop.top / scaleY + 0.5f),
-                (int) (crop.right / scaleX + 0.5f),
-                (int) (crop.bottom / scaleY + 0.5f)
+        final Rect frame = new Rect(0, 0,
+                (int) (crop.width() / scaleX + 0.5f),
+                (int) (crop.height() / scaleY + 0.5f)
         );
 
-        // By default, offset it to to top/left corner
-        frame.offsetTo((int) (-crop.left / scaleX), (int) (-crop.top / scaleY));
-
         // However, we also need to make space for the navigation bar on the left side.
         final int colorViewLeftInset = getColorViewLeftInset(mStableInsets.left,
                 mContentInsets.left);
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java
index fba22dd..f3e2992 100644
--- a/services/core/java/com/android/server/wm/WindowContainer.java
+++ b/services/core/java/com/android/server/wm/WindowContainer.java
@@ -662,9 +662,11 @@
                 //       position that takes into account the removed child (if the index of the
                 //       child < position, then the position should be adjusted). We should consider
                 //       doing this adjustment here and remove any adjustments in the callers.
-                mChildren.remove(child);
-                mChildren.add(position, child);
-                onChildPositionChanged(child);
+                if (mChildren.indexOf(child) != position) {
+                    mChildren.remove(child);
+                    mChildren.add(position, child);
+                    onChildPositionChanged(child);
+                }
         }
     }
 
@@ -737,6 +739,10 @@
         return parent != null ? parent.getDisplayArea() : null;
     }
 
+    boolean isAttached() {
+        return getDisplayArea() != null;
+    }
+
     void setWaitingForDrawnIfResizingChanged() {
         for (int i = mChildren.size() - 1; i >= 0; --i) {
             final WindowContainer wc = mChildren.get(i);
@@ -2058,7 +2064,7 @@
     // TODO: Remove this and use #getBounds() instead once we set an app transition animation
     // on TaskStack.
     Rect getAnimationBounds(int appStackClipMode) {
-        return getDisplayedBounds();
+        return getBounds();
     }
 
     /**
@@ -2120,7 +2126,7 @@
         // Separate position and size for use in animators.
         mTmpRect.set(getAnimationBounds(appStackClipMode));
         if (sHierarchicalAnimations) {
-            getRelativeDisplayedPosition(mTmpPoint);
+            getRelativePosition(mTmpPoint);
         } else {
             mTmpPoint.set(mTmpRect.left, mTmpRect.top);
         }
@@ -2300,14 +2306,18 @@
         }
     }
 
+    void resetSurfacePositionForAnimationLeash(Transaction t) {
+        t.setPosition(mSurfaceControl, 0, 0);
+        mLastSurfacePosition.set(0, 0);
+    }
+
     @Override
     public void onAnimationLeashCreated(Transaction t, SurfaceControl leash) {
         mLastLayer = -1;
         reassignLayer(t);
 
         // Leash is now responsible for position, so set our position to 0.
-        t.setPosition(mSurfaceControl, 0, 0);
-        mLastSurfacePosition.set(0, 0);
+        resetSurfacePositionForAnimationLeash(t);
     }
 
     @Override
@@ -2391,7 +2401,7 @@
             return;
         }
 
-        getRelativeDisplayedPosition(mTmpPos);
+        getRelativePosition(mTmpPos);
         if (mTmpPos.equals(mLastSurfacePosition)) {
             return;
         }
@@ -2406,16 +2416,6 @@
     }
 
     /**
-     * Displayed bounds specify where to display this container at. It differs from bounds during
-     * certain operations (like animation or interactive dragging).
-     *
-     * @return the bounds to display this container at.
-     */
-    Rect getDisplayedBounds() {
-        return getBounds();
-    }
-
-    /**
      * The {@code outFrame} retrieved by this method specifies where the animation will finish
      * the entrance animation, as the next frame will display the window at these coordinates. In
      * case of exit animation, this is where the animation will start, as the frame before the
@@ -2435,7 +2435,7 @@
         outSurfaceInsets.setEmpty();
     }
 
-    void getRelativeDisplayedPosition(Point outPos) {
+    void getRelativePosition(Point outPos) {
         // In addition to updateSurfacePosition, we keep other code that sets
         // position from fighting with the organizer
         if (isOrganized()) {
@@ -2443,11 +2443,11 @@
             return;
         }
 
-        final Rect dispBounds = getDisplayedBounds();
+        final Rect dispBounds = getBounds();
         outPos.set(dispBounds.left, dispBounds.top);
         final WindowContainer parent = getParent();
         if (parent != null) {
-            final Rect parentBounds = parent.getDisplayedBounds();
+            final Rect parentBounds = parent.getBounds();
             outPos.offset(-parentBounds.left, -parentBounds.top);
         }
     }
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 9d87976..f55a1b3 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -29,6 +29,7 @@
 import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
 import static android.app.AppOpsManager.OP_SYSTEM_ALERT_WINDOW;
 import static android.app.StatusBarManager.DISABLE_MASK;
+import static android.app.WindowConfiguration.ROTATION_UNDEFINED;
 import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED;
 import static android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT;
 import static android.content.pm.PackageManager.FEATURE_PC;
@@ -1696,15 +1697,14 @@
             }
             displayContent.getInputMonitor().updateInputWindowsLw(false /*force*/);
 
-            getInsetsSourceControls(win, outActiveControls);
-
             ProtoLog.v(WM_DEBUG_ADD_REMOVE, "addWindow: New client %s"
                     + ": window=%s Callers=%s", client.asBinder(), win, Debug.getCallers(5));
 
-
             if (win.isVisibleOrAdding() && displayContent.updateOrientation()) {
                 displayContent.sendNewConfiguration();
             }
+
+            getInsetsSourceControls(win, outActiveControls);
         }
 
         Binder.restoreCallingIdentity(origId);
@@ -2400,7 +2400,6 @@
             outCutout.set(win.getWmDisplayCutout().getDisplayCutout());
             outBackdropFrame.set(win.getBackdropFrame(win.getFrameLw()));
             outInsetsState.set(win.getInsetsState(), win.isClientLocal());
-            getInsetsSourceControls(win, outActiveControls);
             if (DEBUG) {
                 Slog.v(TAG_WM, "Relayout given client " + client.asBinder()
                         + ", requestedWidth=" + requestedWidth
@@ -2431,6 +2430,7 @@
                 outSurfaceSize.set(winAnimator.mSurfaceController.getWidth(),
                                          winAnimator.mSurfaceController.getHeight());
             }
+            getInsetsSourceControls(win, outActiveControls);
         }
 
         Binder.restoreCallingIdentity(origId);
@@ -2445,8 +2445,17 @@
             if (controls != null) {
                 final int length = Math.min(controls.length, outControls.length);
                 for (int i = 0; i < length; i++) {
-                    outControls[i] = win.isClientLocal()
-                            ? new InsetsSourceControl(controls[i]) : controls[i];
+                    final InsetsSourceControl control = controls[i];
+
+                    // Check if we are sending invalid leashes.
+                    final SurfaceControl leash = control != null ? control.getLeash() : null;
+                    if (leash != null && !leash.isValid()) {
+                        Slog.wtf(TAG, leash + " is not valid before sending to " + win,
+                                leash.getReleaseStack());
+                    }
+
+                    outControls[i] = win.isClientLocal() && control != null
+                            ? new InsetsSourceControl(control) : control;
                 }
             }
         }
@@ -2788,18 +2797,6 @@
         return mRecentsAnimationController;
     }
 
-    /**
-     * @return Whether the next recents animation can continue to start. Called from
-     *         {@link RecentsAnimation#startRecentsActivity}.
-     */
-    boolean canStartRecentsAnimation() {
-        // TODO(multi-display): currently only default display support recent activity
-        if (getDefaultDisplayContentLocked().mAppTransition.isTransitionSet()) {
-            return false;
-        }
-        return true;
-    }
-
     void cancelRecentsAnimation(
             @RecentsAnimationController.ReorderMode int reorderMode, String reason) {
         if (mRecentsAnimationController != null) {
@@ -2941,7 +2938,7 @@
                 mClientFreezingScreen = true;
                 final long origId = Binder.clearCallingIdentity();
                 try {
-                    startFreezingDisplayLocked(exitAnim, enterAnim);
+                    startFreezingDisplay(exitAnim, enterAnim);
                     mH.removeMessages(H.CLIENT_FREEZE_TIMEOUT);
                     mH.sendEmptyMessageDelayed(H.CLIENT_FREEZE_TIMEOUT, 5000);
                 } finally {
@@ -5479,13 +5476,17 @@
         return changed;
     }
 
-    void startFreezingDisplayLocked(int exitAnim, int enterAnim) {
-        startFreezingDisplayLocked(exitAnim, enterAnim,
-                getDefaultDisplayContentLocked());
+    void startFreezingDisplay(int exitAnim, int enterAnim) {
+        startFreezingDisplay(exitAnim, enterAnim, getDefaultDisplayContentLocked());
     }
 
-    void startFreezingDisplayLocked(int exitAnim, int enterAnim,
-            DisplayContent displayContent) {
+    void startFreezingDisplay(int exitAnim, int enterAnim, DisplayContent displayContent) {
+        startFreezingDisplay(exitAnim, enterAnim, displayContent,
+                ROTATION_UNDEFINED /* overrideOriginalRotation */);
+    }
+
+    void startFreezingDisplay(int exitAnim, int enterAnim, DisplayContent displayContent,
+            int overrideOriginalRotation) {
         if (mDisplayFrozen || displayContent.getDisplayRotation().isRotatingSeamlessly()) {
             return;
         }
@@ -5529,14 +5530,12 @@
             screenRotationAnimation.kill();
         }
 
-        // Check whether the current screen contains any secure content.
-        boolean isSecure = displayContent.hasSecureWindowOnScreen();
-
         displayContent.updateDisplayInfo();
-        screenRotationAnimation = new ScreenRotationAnimation(mContext, displayContent,
-                displayContent.getDisplayRotation().isFixedToUserRotation(), isSecure,
-                this);
-        displayContent.setRotationAnimation(screenRotationAnimation);
+        final int originalRotation = overrideOriginalRotation != ROTATION_UNDEFINED
+                ? overrideOriginalRotation
+                : displayContent.getDisplayInfo().rotation;
+        displayContent.setRotationAnimation(new ScreenRotationAnimation(displayContent,
+                originalRotation));
     }
 
     void stopFreezingDisplayLocked() {
@@ -6104,10 +6103,15 @@
         mRoot.forAllDisplays(dc -> {
             final int displayId = dc.getDisplayId();
             final WindowState inputMethodTarget = dc.mInputMethodTarget;
+            final WindowState inputMethodInputTarget = dc.mInputMethodInputTarget;
             if (inputMethodTarget != null) {
                 pw.print("  mInputMethodTarget in display# "); pw.print(displayId);
                 pw.print(' '); pw.println(inputMethodTarget);
             }
+            if (inputMethodInputTarget != null) {
+                pw.print("  mInputMethodInputTarget in display# "); pw.print(displayId);
+                pw.print(' '); pw.println(inputMethodInputTarget);
+            }
             if (mAccessibilityController != null) {
                 final Region magnificationRegion = new Region();
                 mAccessibilityController.getMagnificationRegionLocked(displayId,
@@ -7359,7 +7363,7 @@
             synchronized (mGlobalLock) {
                 final WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
                 if (imeTarget != null) {
-                    imeTarget.getDisplayContent().updateImeControlTarget(imeTarget);
+                    imeTarget.getDisplayContent().setInputMethodInputTarget(imeTarget);
                 }
             }
         }
diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java
index 86bc013..160978d 100644
--- a/services/core/java/com/android/server/wm/WindowOrganizerController.java
+++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java
@@ -129,6 +129,10 @@
                         final Map.Entry<IBinder, WindowContainerTransaction.Change> entry =
                                 entries.next();
                         final WindowContainer wc = WindowContainer.fromBinder(entry.getKey());
+                        if (!wc.isAttached()) {
+                            Slog.e(TAG, "Attempt to operate on detached container: " + wc);
+                            continue;
+                        }
                         int containerEffect = applyWindowContainerChange(wc, entry.getValue());
                         effects |= containerEffect;
 
@@ -146,6 +150,10 @@
                     for (int i = 0, n = hops.size(); i < n; ++i) {
                         final WindowContainerTransaction.HierarchyOp hop = hops.get(i);
                         final WindowContainer wc = WindowContainer.fromBinder(hop.getContainer());
+                        if (!wc.isAttached()) {
+                            Slog.e(TAG, "Attempt to operate on detached container: " + wc);
+                            continue;
+                        }
                         effects |= sanitizeAndApplyHierarchyOp(wc, hop);
                     }
                     if ((effects & TRANSACT_EFFECTS_LIFECYCLE) != 0) {
@@ -178,12 +186,7 @@
         return syncId;
     }
 
-    private int sanitizeAndApplyChange(WindowContainer container,
-            WindowContainerTransaction.Change change) {
-        if (!(container instanceof Task)) {
-            throw new RuntimeException("Invalid token in task transaction");
-        }
-        final Task task = (Task) container;
+    private int applyChanges(WindowContainer container, WindowContainerTransaction.Change change) {
         // The "client"-facing API should prevent bad changes; however, just in case, sanitize
         // masks here.
         final int configMask = change.getConfigSetMask() & CONTROLLABLE_CONFIGS;
@@ -203,11 +206,38 @@
                 effects |= TRANSACT_EFFECTS_LIFECYCLE;
             }
         }
-        if ((change.getChangeMask() & WindowContainerTransaction.Change.CHANGE_HIDDEN) != 0) {
-            if (task.setForceHidden(FLAG_FORCE_HIDDEN_FOR_TASK_ORG, change.getHidden())) {
-                effects |= TRANSACT_EFFECTS_LIFECYCLE;
+
+        final int windowingMode = change.getWindowingMode();
+        if (windowingMode > -1) {
+            container.setWindowingMode(windowingMode);
+        }
+        return effects;
+    }
+
+    private int applyTaskChanges(Task tr, WindowContainerTransaction.Change c) {
+        int effects = 0;
+        final SurfaceControl.Transaction t = c.getBoundsChangeTransaction();
+
+        if ((c.getChangeMask() & WindowContainerTransaction.Change.CHANGE_HIDDEN) != 0) {
+            if (tr.setForceHidden(FLAG_FORCE_HIDDEN_FOR_TASK_ORG, c.getHidden())) {
+                effects = TRANSACT_EFFECTS_LIFECYCLE;
             }
         }
+
+        final int childWindowingMode = c.getActivityWindowingMode();
+        if (childWindowingMode > -1) {
+            tr.setActivityWindowingMode(childWindowingMode);
+        }
+
+        if (t != null) {
+            tr.setMainWindowSizeChangeTransaction(t);
+        }
+
+        Rect enterPipBounds = c.getEnterPipBounds();
+        if (enterPipBounds != null) {
+            mService.mStackSupervisor.updatePictureInPictureMode(tr, enterPipBounds, true);
+        }
+
         return effects;
     }
 
@@ -275,30 +305,20 @@
         return TRANSACT_EFFECTS_LIFECYCLE;
     }
 
+    private void sanitizeWindowContainer(WindowContainer wc) {
+        if (!(wc instanceof Task) && !(wc instanceof DisplayArea)) {
+            throw new RuntimeException("Invalid token in task or displayArea transaction");
+        }
+    }
+
     private int applyWindowContainerChange(WindowContainer wc,
             WindowContainerTransaction.Change c) {
-        int effects = sanitizeAndApplyChange(wc, c);
+        sanitizeWindowContainer(wc);
 
-        final Task tr = wc.asTask();
+        int effects = applyChanges(wc, c);
 
-        final SurfaceControl.Transaction t = c.getBoundsChangeTransaction();
-        if (t != null) {
-            tr.setMainWindowSizeChangeTransaction(t);
-        }
-
-        Rect enterPipBounds = c.getEnterPipBounds();
-        if (enterPipBounds != null) {
-            mService.mStackSupervisor.updatePictureInPictureMode(tr,
-                    enterPipBounds, true);
-        }
-
-        final int windowingMode = c.getWindowingMode();
-        if (windowingMode > -1) {
-            tr.setWindowingMode(windowingMode);
-        }
-        final int childWindowingMode = c.getActivityWindowingMode();
-        if (childWindowingMode > -1) {
-            tr.setActivityWindowingMode(childWindowingMode);
+        if (wc instanceof Task) {
+            effects |= applyTaskChanges(wc.asTask(), c);
         }
 
         return effects;
@@ -312,7 +332,7 @@
             final ActivityStack stack = (ActivityStack) container;
             if (stack.inPinnedWindowingMode()) {
                 stack.resize(config.windowConfiguration.getBounds(),
-                        null /* configBounds */, PRESERVE_WINDOWS, true /* deferResume */);
+                        PRESERVE_WINDOWS, true /* deferResume */);
             }
         }
     }
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index c11c29b5..83e7ad5 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -999,18 +999,6 @@
         frame.inset(left, top, right, bottom);
     }
 
-    @Override
-    public Rect getDisplayedBounds() {
-        final Task task = getTask();
-        if (task != null) {
-            Rect bounds = task.getOverrideDisplayedBounds();
-            if (!bounds.isEmpty()) {
-                return bounds;
-            }
-        }
-        return super.getDisplayedBounds();
-    }
-
     void computeFrame(DisplayFrames displayFrames) {
         getLayoutingWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
         computeFrameLw();
@@ -1065,7 +1053,7 @@
             layoutXDiff = 0;
             layoutYDiff = 0;
         } else {
-            windowFrames.mContainingFrame.set(getDisplayedBounds());
+            windowFrames.mContainingFrame.set(getBounds());
             if (mActivityRecord != null && !mActivityRecord.mFrozenBounds.isEmpty()) {
 
                 // If the bounds are frozen, we still want to translate the window freely and only
@@ -1223,7 +1211,7 @@
             parentLeft = ((WindowState) parent).mWindowFrames.mFrame.left;
             parentTop = ((WindowState) parent).mWindowFrames.mFrame.top;
         } else if (parent != null) {
-            final Rect parentBounds = parent.getDisplayedBounds();
+            final Rect parentBounds = parent.getBounds();
             parentLeft = parentBounds.left;
             parentTop = parentBounds.top;
         }
@@ -1469,6 +1457,11 @@
 
     @Override
     void onDisplayChanged(DisplayContent dc) {
+        if (dc != null && mDisplayContent != null && dc != mDisplayContent
+                && mDisplayContent.mInputMethodInputTarget == this) {
+            dc.setInputMethodInputTarget(mDisplayContent.mInputMethodInputTarget);
+            mDisplayContent.mInputMethodInputTarget = null;
+        }
         super.onDisplayChanged(dc);
         // Window was not laid out for this display yet, so make sure mLayoutSeq does not match.
         if (dc != null && mInputWindowHandle.displayId != dc.getDisplayId()) {
@@ -3539,7 +3532,7 @@
             mClient.insetsControlChanged(getInsetsState(),
                     stateController.getControlsForDispatch(this));
         } catch (RemoteException e) {
-            Slog.w(TAG, "Failed to deliver inset state change", e);
+            Slog.w(TAG, "Failed to deliver inset state change to w=" + this, e);
         }
     }
 
@@ -5245,16 +5238,6 @@
     }
 
     @Override
-    public void onAnimationLeashCreated(Transaction t, SurfaceControl leash) {
-        super.onAnimationLeashCreated(t, leash);
-    }
-
-    @Override
-    public void onAnimationLeashLost(Transaction t) {
-        super.onAnimationLeashLost(t);
-    }
-
-    @Override
     @VisibleForTesting
     void updateSurfacePosition(Transaction t) {
         if (mSurfaceControl == null) {
@@ -5295,7 +5278,7 @@
             outPoint.offset(-parent.mWindowFrames.mFrame.left + mTmpPoint.x,
                     -parent.mWindowFrames.mFrame.top + mTmpPoint.y);
         } else if (parentWindowContainer != null) {
-            final Rect parentBounds = parentWindowContainer.getDisplayedBounds();
+            final Rect parentBounds = parentWindowContainer.getBounds();
             outPoint.offset(-parentBounds.left, -parentBounds.top);
         }
 
@@ -5347,7 +5330,9 @@
             // this promotion.
             final WindowState imeTarget = getDisplayContent().mInputMethodTarget;
             boolean inTokenWithAndAboveImeTarget = imeTarget != null && imeTarget != this
-                    && imeTarget.mToken == mToken && imeTarget.compareTo(this) <= 0;
+                    && imeTarget.mToken == mToken
+                    && getParent() != null
+                    && imeTarget.compareTo(this) <= 0;
             return inTokenWithAndAboveImeTarget;
         }
         return false;
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index d4470f8..9957707 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1030,7 +1030,7 @@
                         mTmpPos.x = 0;
                         mTmpPos.y = 0;
                         if (stack != null) {
-                            stack.getRelativeDisplayedPosition(mTmpPos);
+                            stack.getRelativePosition(mTmpPos);
                         }
 
                         xOffset = -mTmpPos.x;
diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java
index e34b816..21c7687 100644
--- a/services/core/java/com/android/server/wm/WindowToken.java
+++ b/services/core/java/com/android/server/wm/WindowToken.java
@@ -422,14 +422,17 @@
         if (!shouldReportToClient()) {
             return;
         }
+        if (mLastReportedConfig == null) {
+            mLastReportedConfig = new Configuration();
+        }
         final Configuration config = getConfiguration();
         final int displayId = getDisplayContent().getDisplayId();
-        if (config.equals(mLastReportedConfig) && displayId == mLastReportedDisplay) {
+        if (config.diff(mLastReportedConfig) == 0 && displayId == mLastReportedDisplay) {
             // No changes since last reported time.
             return;
         }
 
-        mLastReportedConfig = config;
+        mLastReportedConfig.setTo(config);
         mLastReportedDisplay = displayId;
 
         IWindowToken windowTokenClient = IWindowToken.Stub.asInterface(token);
@@ -595,7 +598,17 @@
             // The window may be detached or detaching.
             return;
         }
+        final int originalRotation = getWindowConfiguration().getRotation();
         onConfigurationChanged(parent.getConfiguration());
+        onCancelFixedRotationTransform(originalRotation);
+    }
+
+    /**
+     * It is called when the window is using fixed rotation transform, and before display applies
+     * the same rotation, the rotation change for display is canceled, e.g. the orientation from
+     * sensor is updated to previous direction.
+     */
+    void onCancelFixedRotationTransform(int originalDisplayRotation) {
     }
 
     @Override
@@ -619,6 +632,15 @@
         }
     }
 
+    @Override
+    void resetSurfacePositionForAnimationLeash(SurfaceControl.Transaction t) {
+        // Keep the transformed position to animate because the surface will show in different
+        // rotation than the animator of leash.
+        if (!isFixedRotationTransforming()) {
+            super.resetSurfacePositionForAnimationLeash(t);
+        }
+    }
+
     /**
      * Gives a chance to this {@link WindowToken} to adjust the {@link
      * android.view.WindowManager.LayoutParams} of its windows.
diff --git a/services/core/jni/com_android_server_power_PowerManagerService.cpp b/services/core/jni/com_android_server_power_PowerManagerService.cpp
index d19398c..4698383 100644
--- a/services/core/jni/com_android_server_power_PowerManagerService.cpp
+++ b/services/core/jni/com_android_server_power_PowerManagerService.cpp
@@ -114,7 +114,7 @@
             gPowerHalAidl_ = waitForVintfService<IPowerAidl>();
         }
         if (gPowerHalAidl_) {
-            ALOGI("Successfully connected to Power HAL AIDL service.");
+            ALOGV("Successfully connected to Power HAL AIDL service.");
             return HalVersion::AIDL;
         } else {
             gPowerHalAidlExists = false;
@@ -123,14 +123,14 @@
     if (gPowerHalHidlExists && gPowerHalHidlV1_0_ == nullptr) {
         gPowerHalHidlV1_0_ = IPowerV1_0::getService();
         if (gPowerHalHidlV1_0_) {
-            ALOGI("Successfully connected to Power HAL HIDL 1.0 service.");
+            ALOGV("Successfully connected to Power HAL HIDL 1.0 service.");
             // Try cast to powerHAL HIDL V1_1
             gPowerHalHidlV1_1_ = IPowerV1_1::castFrom(gPowerHalHidlV1_0_);
             if (gPowerHalHidlV1_1_) {
-                ALOGI("Successfully connected to Power HAL HIDL 1.1 service.");
+                ALOGV("Successfully connected to Power HAL HIDL 1.1 service.");
             }
         } else {
-            ALOGI("Couldn't load power HAL HIDL service");
+            ALOGV("Couldn't load power HAL HIDL service");
             gPowerHalHidlExists = false;
             return HalVersion::NONE;
         }
diff --git a/services/core/jni/com_android_server_tv_GamepadKeys.h b/services/core/jni/com_android_server_tv_GamepadKeys.h
index 11fc903..127010f 100644
--- a/services/core/jni/com_android_server_tv_GamepadKeys.h
+++ b/services/core/jni/com_android_server_tv_GamepadKeys.h
@@ -1,77 +1,104 @@
 #ifndef ANDROIDTVREMOTE_SERVICE_JNI_GAMEPAD_KEYS_H_
 #define ANDROIDTVREMOTE_SERVICE_JNI_GAMEPAD_KEYS_H_
 
+#include <android/input.h>
+#include <android/keycodes.h>
 #include <linux/input.h>
 
 namespace android {
 
-// Follows the W3 spec for gamepad buttons and their corresponding mapping into
-// Linux keycodes. Note that gamepads are generally not very well standardized
-// and various controllers will result in different buttons. This mapping tries
-// to be reasonable.
+// The constant array below defines a mapping between "Android" IDs (key code
+// within events) and what is being sent through /dev/uinput.
 //
-// W3 Button spec: https://www.w3.org/TR/gamepad/#remapping
+// The translation back from uinput key codes into android key codes is done through
+// the corresponding key layout files. This file and
 //
-// Standard gamepad keycodes are added plus 2 additional buttons (e.g. Stadia
-// has "Assistant" and "Share", PS4 has the touchpad button).
+//    data/keyboards/Vendor_18d1_Product_0200.kl
 //
-// To generate this list, PS4, XBox, Stadia and Nintendo Switch Pro were tested.
-static const int GAMEPAD_KEY_CODES[19] = {
-        // Right-side buttons. A/B/X/Y or circle/triangle/square/X or similar
-        BTN_A, // "South", A, GAMEPAD and SOUTH have the same constant
-        BTN_B, // "East", BTN_B, BTN_EAST have the same constant
-        BTN_X, // "West", Note that this maps to X and NORTH in constants
-        BTN_Y, // "North", Note that this maps to Y and WEST in constants
+// MUST be kept in sync.
+//
+// see https://source.android.com/devices/input/key-layout-files for documentation.
 
-        BTN_TL, // "Left Bumper" / "L1" - Nintendo sends BTN_WEST instead
-        BTN_TR, // "Right Bumper" / "R1" - Nintendo sends BTN_Z instead
-
-        // For triggers, gamepads vary:
-        //   - Stadia sends analog values over ABS_GAS/ABS_BRAKE and sends
-        //     TriggerHappy3/4 as digital presses
-        //   - PS4 and Xbox send analog values as ABS_Z/ABS_RZ
-        //   - Nintendo Pro sends BTN_TL/BTN_TR (since bumpers behave differently)
-        // As placeholders we chose the stadia trigger-happy values since TL/TR are
-        // sent for bumper button presses
-        BTN_TRIGGER_HAPPY4, // "Left Trigger" / "L2"
-        BTN_TRIGGER_HAPPY3, // "Right Trigger" / "R2"
-
-        BTN_SELECT, // "Select/Back". Often "options" or similar
-        BTN_START,  // "Start/forward". Often "hamburger" icon
-
-        BTN_THUMBL, // "Left Joystick Pressed"
-        BTN_THUMBR, // "Right Joystick Pressed"
-
-        // For DPads, gamepads generally only send axis changes
-        // on ABS_HAT0X and ABS_HAT0Y.
-        KEY_UP,    // "Digital Pad up"
-        KEY_DOWN,  // "Digital Pad down"
-        KEY_LEFT,  // "Digital Pad left"
-        KEY_RIGHT, // "Digital Pad right"
-
-        BTN_MODE, // "Main button" (Stadia/PS/XBOX/Home)
-
-        BTN_TRIGGER_HAPPY1, // Extra button: "Assistant" for Stadia
-        BTN_TRIGGER_HAPPY2, // Extra button: "Share" for Stadia
+// Defines axis mapping information between android and
+// uinput axis.
+struct GamepadKey {
+    int32_t androidKeyCode;
+    int linuxUinputKeyCode;
 };
 
-// Defines information for an axis.
-struct Axis {
-    int number;
-    int rangeMin;
-    int rangeMax;
+static const GamepadKey GAMEPAD_KEYS[] = {
+        // Right-side buttons. A/B/X/Y or circle/triangle/square/X or similar
+        {AKEYCODE_BUTTON_A, BTN_A},
+        {AKEYCODE_BUTTON_B, BTN_B},
+        {AKEYCODE_BUTTON_X, BTN_X},
+        {AKEYCODE_BUTTON_Y, BTN_Y},
+
+        // Bumper buttons and digital triggers. Triggers generally have
+        // both analog versions (GAS and BRAKE output) and digital ones
+        {AKEYCODE_BUTTON_L1, BTN_TL2},
+        {AKEYCODE_BUTTON_L2, BTN_TL},
+        {AKEYCODE_BUTTON_R1, BTN_TR2},
+        {AKEYCODE_BUTTON_R2, BTN_TR},
+
+        // general actions for controllers
+        {AKEYCODE_BUTTON_SELECT, BTN_SELECT}, // Options or "..."
+        {AKEYCODE_BUTTON_START, BTN_START},   // Menu/Hamburger menu
+        {AKEYCODE_BUTTON_MODE, BTN_MODE},     // "main" button
+
+        // Pressing on the joyticks themselves
+        {AKEYCODE_BUTTON_THUMBL, BTN_THUMBL},
+        {AKEYCODE_BUTTON_THUMBR, BTN_THUMBR},
+
+        // DPAD digital keys. HAT axis events are generally also sent.
+        {AKEYCODE_DPAD_UP, KEY_UP},
+        {AKEYCODE_DPAD_DOWN, KEY_DOWN},
+        {AKEYCODE_DPAD_LEFT, KEY_LEFT},
+        {AKEYCODE_DPAD_RIGHT, KEY_RIGHT},
+
+        // "Extra" controller buttons: some devices have "share" and "assistant"
+        {AKEYCODE_BUTTON_1, BTN_TRIGGER_HAPPY1},
+        {AKEYCODE_BUTTON_2, BTN_TRIGGER_HAPPY2},
+        {AKEYCODE_BUTTON_3, BTN_TRIGGER_HAPPY3},
+        {AKEYCODE_BUTTON_4, BTN_TRIGGER_HAPPY4},
+        {AKEYCODE_BUTTON_5, BTN_TRIGGER_HAPPY5},
+        {AKEYCODE_BUTTON_6, BTN_TRIGGER_HAPPY6},
+        {AKEYCODE_BUTTON_7, BTN_TRIGGER_HAPPY7},
+        {AKEYCODE_BUTTON_8, BTN_TRIGGER_HAPPY8},
+        {AKEYCODE_BUTTON_9, BTN_TRIGGER_HAPPY9},
+        {AKEYCODE_BUTTON_10, BTN_TRIGGER_HAPPY10},
+        {AKEYCODE_BUTTON_11, BTN_TRIGGER_HAPPY11},
+        {AKEYCODE_BUTTON_12, BTN_TRIGGER_HAPPY12},
+        {AKEYCODE_BUTTON_13, BTN_TRIGGER_HAPPY13},
+        {AKEYCODE_BUTTON_14, BTN_TRIGGER_HAPPY14},
+        {AKEYCODE_BUTTON_15, BTN_TRIGGER_HAPPY15},
+        {AKEYCODE_BUTTON_16, BTN_TRIGGER_HAPPY16},
+
+        // Assignment to support global assistant for devices that support it.
+        {AKEYCODE_ASSIST, KEY_ASSISTANT},
+        {AKEYCODE_VOICE_ASSIST, KEY_VOICECOMMAND},
+};
+
+// Defines axis mapping information between android and
+// uinput axis.
+struct GamepadAxis {
+    int32_t androidAxis;
+    float androidRangeMin;
+    float androidRangeMax;
+    int linuxUinputAxis;
+    int linuxUinputRangeMin;
+    int linuxUinputRangeMax;
 };
 
 // List of all axes supported by a gamepad
-static const Axis GAMEPAD_AXES[] = {
-        {ABS_X, 0, 254},    // Left joystick X
-        {ABS_Y, 0, 254},    // Left joystick Y
-        {ABS_RX, 0, 254},   // Right joystick X
-        {ABS_RY, 0, 254},   // Right joystick Y
-        {ABS_Z, 0, 254},    // Left trigger
-        {ABS_RZ, 0, 254},   // Right trigger
-        {ABS_HAT0X, -1, 1}, // DPad X
-        {ABS_HAT0Y, -1, 1}, // DPad Y
+static const GamepadAxis GAMEPAD_AXES[] = {
+        {AMOTION_EVENT_AXIS_X, -1, 1, ABS_X, 0, 254},           // Left joystick X
+        {AMOTION_EVENT_AXIS_Y, -1, 1, ABS_Y, 0, 254},           // Left joystick Y
+        {AMOTION_EVENT_AXIS_Z, -1, 1, ABS_Z, 0, 254},           // Right joystick X
+        {AMOTION_EVENT_AXIS_RZ, -1, 1, ABS_RZ, 0, 254},         // Right joystick Y
+        {AMOTION_EVENT_AXIS_LTRIGGER, 0, 1, ABS_GAS, 0, 254},   // Left trigger
+        {AMOTION_EVENT_AXIS_RTRIGGER, 0, 1, ABS_BRAKE, 0, 254}, // Right trigger
+        {AMOTION_EVENT_AXIS_HAT_X, -1, 1, ABS_HAT0X, -1, 1},    // DPad X
+        {AMOTION_EVENT_AXIS_HAT_Y, -1, 1, ABS_HAT0Y, -1, 1},    // DPad Y
 };
 
 } // namespace android
diff --git a/services/core/jni/com_android_server_tv_TvUinputBridge.cpp b/services/core/jni/com_android_server_tv_TvUinputBridge.cpp
index 0e96bd7..6e2e2c5 100644
--- a/services/core/jni/com_android_server_tv_TvUinputBridge.cpp
+++ b/services/core/jni/com_android_server_tv_TvUinputBridge.cpp
@@ -31,27 +31,38 @@
 #include <utils/String8.h>
 
 #include <ctype.h>
-#include <linux/input.h>
-#include <unistd.h>
-#include <sys/time.h>
-#include <time.h>
-#include <stdint.h>
-#include <map>
 #include <fcntl.h>
+#include <linux/input.h>
 #include <linux/uinput.h>
 #include <signal.h>
+#include <stdint.h>
 #include <sys/inotify.h>
 #include <sys/stat.h>
+#include <sys/time.h>
 #include <sys/types.h>
+#include <time.h>
+#include <unistd.h>
+#include <unordered_map>
 
 #define SLOT_UNKNOWN -1
 
 namespace android {
 
-static std::map<int32_t,int> keysMap;
-static std::map<int32_t,int32_t> slotsMap;
+#define GOOGLE_VENDOR_ID 0x18d1
+
+#define GOOGLE_VIRTUAL_REMOTE_PRODUCT_ID 0x0100
+#define GOOGLE_VIRTUAL_GAMEPAD_PROUCT_ID 0x0200
+
+static std::unordered_map<int32_t, int> keysMap;
+static std::unordered_map<int32_t, int32_t> slotsMap;
 static BitSet32 mtSlots;
 
+// Maps android key code to linux key code.
+static std::unordered_map<int32_t, int> gamepadAndroidToLinuxKeyMap;
+
+// Maps an android gamepad axis to the index within the GAMEPAD_AXES array.
+static std::unordered_map<int32_t, int> gamepadAndroidAxisToIndexMap;
+
 static void initKeysMap() {
     if (keysMap.empty()) {
         for (size_t i = 0; i < NELEM(KEYS); i++) {
@@ -60,16 +71,49 @@
     }
 }
 
+static void initGamepadKeyMap() {
+    if (gamepadAndroidToLinuxKeyMap.empty()) {
+        for (size_t i = 0; i < NELEM(GAMEPAD_KEYS); i++) {
+            gamepadAndroidToLinuxKeyMap[GAMEPAD_KEYS[i].androidKeyCode] =
+                    GAMEPAD_KEYS[i].linuxUinputKeyCode;
+        }
+    }
+
+    if (gamepadAndroidAxisToIndexMap.empty()) {
+        for (size_t i = 0; i < NELEM(GAMEPAD_AXES); i++) {
+            gamepadAndroidAxisToIndexMap[GAMEPAD_AXES[i].androidAxis] = i;
+        }
+    }
+}
+
 static int32_t getLinuxKeyCode(int32_t androidKeyCode) {
-    std::map<int,int>::iterator it = keysMap.find(androidKeyCode);
+    std::unordered_map<int, int>::iterator it = keysMap.find(androidKeyCode);
     if (it != keysMap.end()) {
         return it->second;
     }
     return KEY_UNKNOWN;
 }
 
+static int getGamepadkeyCode(int32_t androidKeyCode) {
+    std::unordered_map<int32_t, int>::iterator it =
+            gamepadAndroidToLinuxKeyMap.find(androidKeyCode);
+    if (it != gamepadAndroidToLinuxKeyMap.end()) {
+        return it->second;
+    }
+    return KEY_UNKNOWN;
+}
+
+static const GamepadAxis* getGamepadAxis(int32_t androidAxisCode) {
+    std::unordered_map<int32_t, int>::iterator it =
+            gamepadAndroidAxisToIndexMap.find(androidAxisCode);
+    if (it == gamepadAndroidToLinuxKeyMap.end()) {
+        return nullptr;
+    }
+    return &GAMEPAD_AXES[it->second];
+}
+
 static int findSlot(int32_t pointerId) {
-    std::map<int,int>::iterator it = slotsMap.find(pointerId);
+    std::unordered_map<int, int>::iterator it = slotsMap.find(pointerId);
     if (it != slotsMap.end()) {
         return it->second;
     }
@@ -107,7 +151,7 @@
 
     // Open /dev/uinput and prepare to register
     // the device with the given name and unique Id
-    bool Open(const char* name, const char* uniqueId);
+    bool Open(const char* name, const char* uniqueId, uint16_t product);
 
     // Checks if the current file descriptor is valid
     bool IsValid() const { return mFd != kInvalidFileDescriptor; }
@@ -141,7 +185,7 @@
     return fd;
 }
 
-bool UInputDescriptor::Open(const char* name, const char* uniqueId) {
+bool UInputDescriptor::Open(const char* name, const char* uniqueId, uint16_t product) {
     if (IsValid()) {
         ALOGE("UInput device already open");
         return false;
@@ -161,6 +205,8 @@
     strlcpy(mUinputDescriptor.name, name, UINPUT_MAX_NAME_SIZE);
     mUinputDescriptor.id.version = 1;
     mUinputDescriptor.id.bustype = BUS_VIRTUAL;
+    mUinputDescriptor.id.vendor = GOOGLE_VENDOR_ID;
+    mUinputDescriptor.id.product = product;
 
     // All UInput devices we use process keys
     ioctl(mFd, UI_SET_EVBIT, EV_KEY);
@@ -258,7 +304,7 @@
     initKeysMap();
 
     UInputDescriptor descriptor;
-    if (!descriptor.Open(name, uniqueId)) {
+    if (!descriptor.Open(name, uniqueId, GOOGLE_VIRTUAL_REMOTE_PRODUCT_ID)) {
         return nullptr;
     }
 
@@ -277,21 +323,24 @@
 NativeConnection* NativeConnection::openGamepad(const char* name, const char* uniqueId) {
     ALOGI("Registering uinput device %s: gamepad", name);
 
+    initGamepadKeyMap();
+
     UInputDescriptor descriptor;
-    if (!descriptor.Open(name, uniqueId)) {
+    if (!descriptor.Open(name, uniqueId, GOOGLE_VIRTUAL_GAMEPAD_PROUCT_ID)) {
         return nullptr;
     }
 
     // set the keys mapped for gamepads
-    for (size_t i = 0; i < NELEM(GAMEPAD_KEY_CODES); i++) {
-        descriptor.EnableKey(GAMEPAD_KEY_CODES[i]);
+    for (size_t i = 0; i < NELEM(GAMEPAD_KEYS); i++) {
+        descriptor.EnableKey(GAMEPAD_KEYS[i].linuxUinputKeyCode);
     }
 
     // define the axes that are required
     descriptor.EnableAxesEvents();
     for (size_t i = 0; i < NELEM(GAMEPAD_AXES); i++) {
-        const Axis& axis = GAMEPAD_AXES[i];
-        descriptor.EnableAxis(axis.number, axis.rangeMin, axis.rangeMax);
+        const GamepadAxis& axis = GAMEPAD_AXES[i];
+        descriptor.EnableAxis(axis.linuxUinputAxis, axis.linuxUinputRangeMin,
+                              axis.linuxUinputRangeMax);
     }
 
     if (!descriptor.Create()) {
@@ -350,7 +399,7 @@
     }
 }
 
-static void nativeSendGamepadKey(JNIEnv* env, jclass clazz, jlong ptr, jint keyIndex,
+static void nativeSendGamepadKey(JNIEnv* env, jclass clazz, jlong ptr, jint keyCode,
                                  jboolean down) {
     NativeConnection* connection = reinterpret_cast<NativeConnection*>(ptr);
 
@@ -359,16 +408,16 @@
         return;
     }
 
-    if ((keyIndex < 0) || (keyIndex >= NELEM(GAMEPAD_KEY_CODES))) {
-        ALOGE("Invalid gamepad key index: %d", keyIndex);
+    int linuxKeyCode = getGamepadkeyCode(keyCode);
+    if (linuxKeyCode == KEY_UNKNOWN) {
+        ALOGE("Gamepad: received an unknown keycode of %d.", keyCode);
         return;
     }
-
-    connection->sendEvent(EV_KEY, GAMEPAD_KEY_CODES[keyIndex], down ? 1 : 0);
+    connection->sendEvent(EV_KEY, linuxKeyCode, down ? 1 : 0);
 }
 
 static void nativeSendGamepadAxisValue(JNIEnv* env, jclass clazz, jlong ptr, jint axis,
-                                       jint value) {
+                                       jfloat value) {
     NativeConnection* connection = reinterpret_cast<NativeConnection*>(ptr);
 
     if (!connection->IsGamepad()) {
@@ -376,7 +425,25 @@
         return;
     }
 
-    connection->sendEvent(EV_ABS, axis, value);
+    const GamepadAxis* axisInfo = getGamepadAxis(axis);
+    if (axisInfo == nullptr) {
+        ALOGE("Invalid axis: %d", axis);
+        return;
+    }
+
+    if (value > axisInfo->androidRangeMax) {
+        value = axisInfo->androidRangeMax;
+    } else if (value < axisInfo->androidRangeMin) {
+        value = axisInfo->androidRangeMin;
+    }
+
+    // Converts the android range into the device range
+    float movementPercent = (value - axisInfo->androidRangeMin) /
+            (axisInfo->androidRangeMax - axisInfo->androidRangeMin);
+    int axisRawValue = axisInfo->linuxUinputRangeMin +
+            movementPercent * (axisInfo->linuxUinputRangeMax - axisInfo->linuxUinputRangeMin);
+
+    connection->sendEvent(EV_ABS, axisInfo->linuxUinputAxis, axisRawValue);
 }
 
 static void nativeSendPointerDown(JNIEnv* env, jclass clazz, jlong ptr,
@@ -441,18 +508,20 @@
             }
         }
     } else {
-        for (size_t i = 0; i < NELEM(GAMEPAD_KEY_CODES); i++) {
-            connection->sendEvent(EV_KEY, GAMEPAD_KEY_CODES[i], 0);
+        for (size_t i = 0; i < NELEM(GAMEPAD_KEYS); i++) {
+            connection->sendEvent(EV_KEY, GAMEPAD_KEYS[i].linuxUinputKeyCode, 0);
         }
 
         for (size_t i = 0; i < NELEM(GAMEPAD_AXES); i++) {
-            const Axis& axis = GAMEPAD_AXES[i];
-            if ((axis.number == ABS_Z) || (axis.number == ABS_RZ)) {
+            const GamepadAxis& axis = GAMEPAD_AXES[i];
+
+            if ((axis.linuxUinputAxis == ABS_Z) || (axis.linuxUinputAxis == ABS_RZ)) {
                 // Mark triggers unpressed
-                connection->sendEvent(EV_ABS, axis.number, 0);
+                connection->sendEvent(EV_ABS, axis.linuxUinputAxis, axis.linuxUinputRangeMin);
             } else {
                 // Joysticks and dpad rests on center
-                connection->sendEvent(EV_ABS, axis.number, (axis.rangeMin + axis.rangeMax) / 2);
+                connection->sendEvent(EV_ABS, axis.linuxUinputAxis,
+                                      (axis.linuxUinputRangeMin + axis.linuxUinputRangeMax) / 2);
             }
         }
     }
@@ -475,7 +544,7 @@
         {"nativeClear", "(J)V", (void*)nativeClear},
         {"nativeSendPointerSync", "(J)V", (void*)nativeSendPointerSync},
         {"nativeSendGamepadKey", "(JIZ)V", (void*)nativeSendGamepadKey},
-        {"nativeSendGamepadAxisValue", "(JII)V", (void*)nativeSendGamepadAxisValue},
+        {"nativeSendGamepadAxisValue", "(JIF)V", (void*)nativeSendGamepadAxisValue},
 };
 
 int register_android_server_tv_TvUinputBridge(JNIEnv* env) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 1da0740..2c0d4c0 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -4733,33 +4733,13 @@
         if (!parent && isSeparateProfileChallengeEnabled(userHandle)) {
             // If this user has a separate challenge, only return its restrictions.
             return getUserDataUnchecked(userHandle).mAdminList;
-        } else {
-            // Return all admins for this user and the profiles that are visible from this
-            // user that do not use a separate work challenge.
-            ArrayList<ActiveAdmin> admins = new ArrayList<ActiveAdmin>();
-            for (UserInfo userInfo : mUserManager.getProfiles(userHandle)) {
-                DevicePolicyData policy = getUserData(userInfo.id);
-                if (!userInfo.isManagedProfile()) {
-                    admins.addAll(policy.mAdminList);
-                } else {
-                    // For managed profiles, we always include the policies set on the parent
-                    // profile. Additionally, we include the ones set on the managed profile
-                    // if no separate challenge is in place.
-                    boolean hasSeparateChallenge = isSeparateProfileChallengeEnabled(userInfo.id);
-                    final int N = policy.mAdminList.size();
-                    for (int i = 0; i < N; i++) {
-                        ActiveAdmin admin = policy.mAdminList.get(i);
-                        if (admin.hasParentActiveAdmin()) {
-                            admins.add(admin.getParentActiveAdmin());
-                        }
-                        if (!hasSeparateChallenge) {
-                            admins.add(admin);
-                        }
-                    }
-                }
-            }
-            return admins;
         }
+        // Either parent == true, or isSeparateProfileChallengeEnabled == false
+        // If parent is true, query the parent user of userHandle by definition,
+        // If isSeparateProfileChallengeEnabled is false, userHandle points to a managed profile
+        // with unified challenge so also need to query the parent user who owns the credential.
+        return getActiveAdminsForUserAndItsManagedProfilesLocked(getProfileParentId(userHandle),
+                (user) -> !mLockPatternUtils.isSeparateProfileChallengeEnabled(user.id));
     }
 
     /**
@@ -4777,6 +4757,19 @@
         if (isManagedProfile(userHandle)) {
             return getUserDataUnchecked(userHandle).mAdminList;
         }
+        return getActiveAdminsForUserAndItsManagedProfilesLocked(userHandle,
+                /* shouldIncludeProfileAdmins */ (user) -> false);
+    }
+
+    /**
+     * Returns the list of admins on the given user, as well as parent admins for each managed
+     * profile associated with the given user. Optionally also include the admin of each managed
+     * profile.
+     * <p> Should not be called on a profile user.
+     */
+    @GuardedBy("getLockObject()")
+    private List<ActiveAdmin> getActiveAdminsForUserAndItsManagedProfilesLocked(int userHandle,
+            Predicate<UserInfo> shouldIncludeProfileAdmins) {
         ArrayList<ActiveAdmin> admins = new ArrayList<>();
         mInjector.binderWithCleanCallingIdentity(() -> {
             for (UserInfo userInfo : mUserManager.getProfiles(userHandle)) {
@@ -4784,12 +4777,14 @@
                 if (userInfo.id == userHandle) {
                     admins.addAll(policy.mAdminList);
                 } else if (userInfo.isManagedProfile()) {
-                    // For managed profiles, policies set on the parent profile will be included
                     for (int i = 0; i < policy.mAdminList.size(); i++) {
                         ActiveAdmin admin = policy.mAdminList.get(i);
                         if (admin.hasParentActiveAdmin()) {
                             admins.add(admin.getParentActiveAdmin());
                         }
+                        if (shouldIncludeProfileAdmins.test(userInfo)) {
+                            admins.add(admin);
+                        }
                     }
                 } else {
                     Slog.w(LOG_TAG, "Unknown user type: " + userInfo);
@@ -5366,6 +5361,32 @@
         }
     }
 
+    @Override
+    public boolean isPasswordSufficientAfterProfileUnification(int userHandle, int profileUser) {
+        if (!mHasFeature) {
+            return true;
+        }
+        enforceFullCrossUsersPermission(userHandle);
+        enforceNotManagedProfile(userHandle, "check password sufficiency");
+        enforceUserUnlocked(userHandle);
+
+        synchronized (getLockObject()) {
+            PasswordMetrics metrics = mLockSettingsInternal.getUserPasswordMetrics(userHandle);
+
+            // Combine password policies across the user and its profiles. Profile admins are
+            // included if the profile is to be unified or currently has unified challenge
+            List<ActiveAdmin> admins = getActiveAdminsForUserAndItsManagedProfilesLocked(userHandle,
+                    /* shouldIncludeProfileAdmins */ (user) -> user.id == profileUser
+                    || !mLockPatternUtils.isSeparateProfileChallengeEnabled(user.id));
+            ArrayList<PasswordMetrics> adminMetrics = new ArrayList<>(admins.size());
+            for (ActiveAdmin admin : admins) {
+                adminMetrics.add(admin.mPasswordPolicy.getMinMetrics());
+            }
+            return PasswordMetrics.validatePasswordMetrics(PasswordMetrics.merge(adminMetrics),
+                    PASSWORD_COMPLEXITY_NONE, false, metrics).isEmpty();
+        }
+    }
+
     private boolean isActivePasswordSufficientForUserLocked(
             boolean passwordValidAtLastCheckpoint, @Nullable PasswordMetrics metrics,
             int userHandle, boolean parent) {
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index 149dfa6..79699bb 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -160,7 +160,8 @@
 
 IncrementalService::IncFsMount::~IncFsMount() {
     if (dataLoaderStub) {
-        dataLoaderStub->destroy();
+        dataLoaderStub->cleanupResources();
+        dataLoaderStub = {};
     }
     LOG(INFO) << "Unmounting and cleaning up mount " << mountId << " with root '" << root << '\'';
     for (auto&& [target, _] : bindPoints) {
@@ -258,10 +259,6 @@
     mountExistingImages();
 }
 
-FileId IncrementalService::idFromMetadata(std::span<const uint8_t> metadata) {
-    return IncFs_FileIdFromMetadata({(const char*)metadata.data(), metadata.size()});
-}
-
 IncrementalService::~IncrementalService() {
     {
         std::lock_guard lock(mJobMutex);
@@ -302,16 +299,7 @@
         dprintf(fd, "\t\troot: %s\n", mnt.root.c_str());
         dprintf(fd, "\t\tnextStorageDirNo: %d\n", mnt.nextStorageDirNo.load());
         if (mnt.dataLoaderStub) {
-            const auto& dataLoaderStub = *mnt.dataLoaderStub;
-            dprintf(fd, "\t\tdataLoaderStatus: %d\n", dataLoaderStub.status());
-            dprintf(fd, "\t\tdataLoaderStartRequested: %s\n",
-                    dataLoaderStub.startRequested() ? "true" : "false");
-            const auto& params = dataLoaderStub.params();
-            dprintf(fd, "\t\tdataLoaderParams:\n");
-            dprintf(fd, "\t\t\ttype: %s\n", toString(params.type).c_str());
-            dprintf(fd, "\t\t\tpackageName: %s\n", params.packageName.c_str());
-            dprintf(fd, "\t\t\tclassName: %s\n", params.className.c_str());
-            dprintf(fd, "\t\t\targuments: %s\n", params.arguments.c_str());
+            mnt.dataLoaderStub->onDump(fd);
         }
         dprintf(fd, "\t\tstorages (%d):\n", int(mnt.storages.size()));
         for (auto&& [storageId, storage] : mnt.storages) {
@@ -360,12 +348,7 @@
     std::thread([this, mounts = std::move(mounts)]() {
         mJni->initializeForCurrentThread();
         for (auto&& ifs : mounts) {
-            if (ifs->dataLoaderStub->create()) {
-                LOG(INFO) << "Successfully started data loader for mount " << ifs->mountId;
-            } else {
-                // TODO(b/133435829): handle data loader start failures
-                LOG(WARNING) << "Failed to start data loader for mount " << ifs->mountId;
-            }
+            ifs->dataLoaderStub->requestStart();
         }
     }).detach();
 }
@@ -525,7 +508,7 @@
     mountIt->second = std::move(ifs);
     l.unlock();
 
-    if (mSystemReady.load(std::memory_order_relaxed) && !dataLoaderStub->create()) {
+    if (mSystemReady.load(std::memory_order_relaxed) && !dataLoaderStub->requestCreate()) {
         // failed to create data loader
         LOG(ERROR) << "initializeDataLoader() failed";
         deleteStorage(dataLoaderStub->id());
@@ -1016,7 +999,8 @@
             return false;
         }
     }
-    return dataLoaderStub->start();
+    dataLoaderStub->requestStart();
+    return true;
 }
 
 void IncrementalService::mountExistingImages() {
@@ -1337,13 +1321,13 @@
     std::vector<IncFsDataBlock> instructions(numBlocks);
     auto remainingData = std::span(libData.get(), entry.uncompressed_length);
     for (int i = 0; i < numBlocks; i++) {
-        const auto blockSize = std::min<uint16_t>(constants().blockSize, remainingData.size());
+        const auto blockSize = std::min<long>(constants().blockSize, remainingData.size());
         instructions[i] = IncFsDataBlock{
                 .fileFd = writeFd.get(),
                 .pageIndex = static_cast<IncFsBlockIndex>(i),
                 .compression = INCFS_COMPRESSION_KIND_NONE,
                 .kind = INCFS_BLOCK_KIND_DATA,
-                .dataSize = blockSize,
+                .dataSize = static_cast<uint32_t>(blockSize),
                 .data = reinterpret_cast<const char*>(remainingData.data()),
         };
         remainingData = remainingData.subspan(blockSize);
@@ -1474,10 +1458,54 @@
     }
 }
 
-IncrementalService::DataLoaderStub::~DataLoaderStub() {
-    CHECK(mStatus == -1 || mStatus == IDataLoaderStatusListener::DATA_LOADER_DESTROYED)
-            << "Dataloader has to be destroyed prior to destructor: " << mId
-            << ", status: " << mStatus;
+IncrementalService::DataLoaderStub::DataLoaderStub(IncrementalService& service, MountId id,
+                                                   DataLoaderParamsParcel&& params,
+                                                   FileSystemControlParcel&& control,
+                                                   const DataLoaderStatusListener* externalListener)
+      : mService(service),
+        mId(id),
+        mParams(std::move(params)),
+        mControl(std::move(control)),
+        mListener(externalListener ? *externalListener : DataLoaderStatusListener()) {
+}
+
+IncrementalService::DataLoaderStub::~DataLoaderStub() = default;
+
+void IncrementalService::DataLoaderStub::cleanupResources() {
+    requestDestroy();
+    mParams = {};
+    mControl = {};
+    waitForStatus(IDataLoaderStatusListener::DATA_LOADER_DESTROYED, std::chrono::seconds(60));
+    mListener = {};
+    mId = kInvalidStorageId;
+}
+
+bool IncrementalService::DataLoaderStub::requestCreate() {
+    return setTargetStatus(IDataLoaderStatusListener::DATA_LOADER_CREATED);
+}
+
+bool IncrementalService::DataLoaderStub::requestStart() {
+    return setTargetStatus(IDataLoaderStatusListener::DATA_LOADER_STARTED);
+}
+
+bool IncrementalService::DataLoaderStub::requestDestroy() {
+    return setTargetStatus(IDataLoaderStatusListener::DATA_LOADER_DESTROYED);
+}
+
+bool IncrementalService::DataLoaderStub::setTargetStatus(int status) {
+    {
+        std::unique_lock lock(mStatusMutex);
+        mTargetStatus = status;
+        mTargetStatusTs = Clock::now();
+    }
+    return fsmStep();
+}
+
+bool IncrementalService::DataLoaderStub::waitForStatus(int status, Clock::duration duration) {
+    auto now = Clock::now();
+    std::unique_lock lock(mStatusMutex);
+    return mStatusCondition.wait_until(lock, now + duration,
+                                       [this, status] { return mCurrentStatus == status; });
 }
 
 bool IncrementalService::DataLoaderStub::create() {
@@ -1492,93 +1520,113 @@
 }
 
 bool IncrementalService::DataLoaderStub::start() {
-    if (mStatus != IDataLoaderStatusListener::DATA_LOADER_CREATED) {
-        mStartRequested = true;
-        return true;
-    }
-
     sp<IDataLoader> dataloader;
     auto status = mService.mDataLoaderManager->getDataLoader(mId, &dataloader);
     if (!status.isOk()) {
+        LOG(ERROR) << "Failed to get dataloader: " << status.toString8();
         return false;
     }
     if (!dataloader) {
+        LOG(ERROR) << "DataLoader is null: " << status.toString8();
         return false;
     }
     status = dataloader->start(mId);
     if (!status.isOk()) {
+        LOG(ERROR) << "Failed to start DataLoader: " << status.toString8();
         return false;
     }
     return true;
 }
 
-void IncrementalService::DataLoaderStub::destroy() {
-    mDestroyRequested = true;
+bool IncrementalService::DataLoaderStub::destroy() {
     mService.mDataLoaderManager->destroyDataLoader(mId);
+    return true;
+}
+
+bool IncrementalService::DataLoaderStub::fsmStep() {
+    if (!isValid()) {
+        return false;
+    }
+
+    int currentStatus;
+    int targetStatus;
+    {
+        std::unique_lock lock(mStatusMutex);
+        currentStatus = mCurrentStatus;
+        targetStatus = mTargetStatus;
+    }
+
+    if (currentStatus == targetStatus) {
+        return true;
+    }
+
+    switch (targetStatus) {
+        case IDataLoaderStatusListener::DATA_LOADER_DESTROYED: {
+            return destroy();
+        }
+        case IDataLoaderStatusListener::DATA_LOADER_STARTED: {
+            switch (currentStatus) {
+                case IDataLoaderStatusListener::DATA_LOADER_CREATED:
+                case IDataLoaderStatusListener::DATA_LOADER_STOPPED:
+                    return start();
+            }
+            // fallthrough
+        }
+        case IDataLoaderStatusListener::DATA_LOADER_CREATED:
+            switch (currentStatus) {
+                case IDataLoaderStatusListener::DATA_LOADER_DESTROYED:
+                    return create();
+            }
+            break;
+        default:
+            LOG(ERROR) << "Invalid target status: " << targetStatus
+                       << ", current status: " << currentStatus;
+            break;
+    }
+    return false;
 }
 
 binder::Status IncrementalService::DataLoaderStub::onStatusChanged(MountId mountId, int newStatus) {
-    if (mStatus == newStatus) {
-        return binder::Status::ok();
+    if (!isValid()) {
+        return binder::Status::
+                fromServiceSpecificError(-EINVAL, "onStatusChange came to invalid DataLoaderStub");
     }
-
-    if (mListener) {
-        // Give an external listener a chance to act before we destroy something.
-        mListener->onStatusChanged(mountId, newStatus);
+    if (mId != mountId) {
+        LOG(ERROR) << "Mount ID mismatch: expected " << mId << ", but got: " << mountId;
+        return binder::Status::fromServiceSpecificError(-EPERM, "Mount ID mismatch.");
     }
 
     {
-        std::unique_lock l(mService.mLock);
-        const auto& ifs = mService.getIfsLocked(mountId);
-        if (!ifs) {
-            LOG(WARNING) << "Received data loader status " << int(newStatus)
-                         << " for unknown mount " << mountId;
+        std::unique_lock lock(mStatusMutex);
+        if (mCurrentStatus == newStatus) {
             return binder::Status::ok();
         }
-        mStatus = newStatus;
-
-        if (!mDestroyRequested && newStatus == IDataLoaderStatusListener::DATA_LOADER_DESTROYED) {
-            mService.deleteStorageLocked(*ifs, std::move(l));
-            return binder::Status::ok();
-        }
+        mCurrentStatus = newStatus;
     }
 
-    switch (newStatus) {
-        case IDataLoaderStatusListener::DATA_LOADER_CREATED: {
-            if (mStartRequested) {
-                start();
-            }
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_DESTROYED: {
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_STARTED: {
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_STOPPED: {
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_IMAGE_READY: {
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_IMAGE_NOT_READY: {
-            break;
-        }
-        case IDataLoaderStatusListener::DATA_LOADER_UNRECOVERABLE: {
-            // Nothing for now. Rely on externalListener to handle this.
-            break;
-        }
-        default: {
-            LOG(WARNING) << "Unknown data loader status: " << newStatus
-                         << " for mount: " << mountId;
-            break;
-        }
+    if (mListener) {
+        mListener->onStatusChanged(mountId, newStatus);
     }
 
+    fsmStep();
+
     return binder::Status::ok();
 }
 
+void IncrementalService::DataLoaderStub::onDump(int fd) {
+    dprintf(fd, "\t\tdataLoader:");
+    dprintf(fd, "\t\t\tcurrentStatus: %d\n", mCurrentStatus);
+    dprintf(fd, "\t\t\ttargetStatus: %d\n", mTargetStatus);
+    dprintf(fd, "\t\t\ttargetStatusTs: %lldmcs\n",
+            (long long)(elapsedMcs(mTargetStatusTs, Clock::now())));
+    const auto& params = mParams;
+    dprintf(fd, "\t\t\tdataLoaderParams:\n");
+    dprintf(fd, "\t\t\t\ttype: %s\n", toString(params.type).c_str());
+    dprintf(fd, "\t\t\t\tpackageName: %s\n", params.packageName.c_str());
+    dprintf(fd, "\t\t\t\tclassName: %s\n", params.className.c_str());
+    dprintf(fd, "\t\t\t\targuments: %s\n", params.arguments.c_str());
+}
+
 void IncrementalService::AppOpsListener::opChanged(int32_t, const String16&) {
     incrementalService.onAppOpChanged(packageName);
 }
@@ -1589,4 +1637,8 @@
     return binder::Status::ok();
 }
 
+FileId IncrementalService::idFromMetadata(std::span<const uint8_t> metadata) {
+    return IncFs_FileIdFromMetadata({(const char*)metadata.data(), metadata.size()});
+}
+
 } // namespace android::incremental
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h
index c016bab..bd01d77 100644
--- a/services/incremental/IncrementalService.h
+++ b/services/incremental/IncrementalService.h
@@ -171,36 +171,46 @@
     public:
         DataLoaderStub(IncrementalService& service, MountId id, DataLoaderParamsParcel&& params,
                        FileSystemControlParcel&& control,
-                       const DataLoaderStatusListener* externalListener)
-              : mService(service),
-                mId(id),
-                mParams(std::move(params)),
-                mControl(std::move(control)),
-                mListener(externalListener ? *externalListener : DataLoaderStatusListener()) {}
+                       const DataLoaderStatusListener* externalListener);
         ~DataLoaderStub();
+        // Cleans up the internal state and invalidates DataLoaderStub. Any subsequent calls will
+        // result in an error.
+        void cleanupResources();
 
-        bool create();
-        bool start();
-        void destroy();
+        bool requestCreate();
+        bool requestStart();
+        bool requestDestroy();
 
-        // accessors
+        void onDump(int fd);
+
         MountId id() const { return mId; }
         const DataLoaderParamsParcel& params() const { return mParams; }
-        int status() const { return mStatus.load(); }
-        bool startRequested() const { return mStartRequested; }
 
     private:
         binder::Status onStatusChanged(MountId mount, int newStatus) final;
 
-        IncrementalService& mService;
-        MountId const mId;
-        DataLoaderParamsParcel const mParams;
-        FileSystemControlParcel const mControl;
-        DataLoaderStatusListener const mListener;
+        bool isValid() const { return mId != kInvalidStorageId; }
 
-        std::atomic<int> mStatus = -1;
-        bool mStartRequested = false;
-        bool mDestroyRequested = false;
+        bool create();
+        bool start();
+        bool destroy();
+
+        bool setTargetStatus(int status);
+        bool waitForStatus(int status, Clock::duration duration);
+
+        bool fsmStep();
+
+        IncrementalService& mService;
+        MountId mId = kInvalidStorageId;
+        DataLoaderParamsParcel mParams;
+        FileSystemControlParcel mControl;
+        DataLoaderStatusListener mListener;
+
+        std::mutex mStatusMutex;
+        std::condition_variable mStatusCondition;
+        int mCurrentStatus = IDataLoaderStatusListener::DATA_LOADER_DESTROYED;
+        int mTargetStatus = IDataLoaderStatusListener::DATA_LOADER_DESTROYED;
+        TimePoint mTargetStatusTs = {};
     };
     using DataLoaderStubPtr = sp<DataLoaderStub>;
 
diff --git a/services/incremental/test/IncrementalServiceTest.cpp b/services/incremental/test/IncrementalServiceTest.cpp
index 117dca8..bfe92f4 100644
--- a/services/incremental/test/IncrementalServiceTest.cpp
+++ b/services/incremental/test/IncrementalServiceTest.cpp
@@ -103,25 +103,86 @@
     TemporaryFile logFile;
 };
 
-class FakeDataLoader : public IDataLoader {
+class MockDataLoader : public IDataLoader {
 public:
+    MockDataLoader() {
+        ON_CALL(*this, create(_, _, _, _)).WillByDefault(Invoke(this, &MockDataLoader::createOk));
+        ON_CALL(*this, start(_)).WillByDefault(Invoke(this, &MockDataLoader::startOk));
+        ON_CALL(*this, stop(_)).WillByDefault(Invoke(this, &MockDataLoader::stopOk));
+        ON_CALL(*this, destroy(_)).WillByDefault(Invoke(this, &MockDataLoader::destroyOk));
+        ON_CALL(*this, prepareImage(_, _, _))
+                .WillByDefault(Invoke(this, &MockDataLoader::prepareImageOk));
+    }
     IBinder* onAsBinder() override { return nullptr; }
-    binder::Status create(int32_t, const DataLoaderParamsParcel&, const FileSystemControlParcel&,
-                          const sp<IDataLoaderStatusListener>&) override {
+    MOCK_METHOD4(create,
+                 binder::Status(int32_t id, const DataLoaderParamsParcel& params,
+                                const FileSystemControlParcel& control,
+                                const sp<IDataLoaderStatusListener>& listener));
+    MOCK_METHOD1(start, binder::Status(int32_t id));
+    MOCK_METHOD1(stop, binder::Status(int32_t id));
+    MOCK_METHOD1(destroy, binder::Status(int32_t id));
+    MOCK_METHOD3(prepareImage,
+                 binder::Status(int32_t id, const std::vector<InstallationFileParcel>& addedFiles,
+                                const std::vector<std::string>& removedFiles));
+
+    void initializeCreateOkNoStatus() {
+        ON_CALL(*this, create(_, _, _, _))
+                .WillByDefault(Invoke(this, &MockDataLoader::createOkNoStatus));
+    }
+
+    binder::Status createOk(int32_t id, const content::pm::DataLoaderParamsParcel&,
+                            const content::pm::FileSystemControlParcel&,
+                            const sp<content::pm::IDataLoaderStatusListener>& listener) {
+        mListener = listener;
+        if (mListener) {
+            mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_CREATED);
+        }
         return binder::Status::ok();
     }
-    binder::Status start(int32_t) override { return binder::Status::ok(); }
-    binder::Status stop(int32_t) override { return binder::Status::ok(); }
-    binder::Status destroy(int32_t) override { return binder::Status::ok(); }
-    binder::Status prepareImage(int32_t,
-                                const std::vector<InstallationFileParcel>&,
-                                const std::vector<std::string>&) override {
+    binder::Status createOkNoStatus(int32_t id, const content::pm::DataLoaderParamsParcel&,
+                                    const content::pm::FileSystemControlParcel&,
+                                    const sp<content::pm::IDataLoaderStatusListener>& listener) {
+        mListener = listener;
         return binder::Status::ok();
     }
+    binder::Status startOk(int32_t id) {
+        if (mListener) {
+            mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_STARTED);
+        }
+        return binder::Status::ok();
+    }
+    binder::Status stopOk(int32_t id) {
+        if (mListener) {
+            mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_STOPPED);
+        }
+        return binder::Status::ok();
+    }
+    binder::Status destroyOk(int32_t id) {
+        if (mListener) {
+            mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_DESTROYED);
+        }
+        mListener = nullptr;
+        return binder::Status::ok();
+    }
+    binder::Status prepareImageOk(int32_t id,
+                                  const ::std::vector<content::pm::InstallationFileParcel>&,
+                                  const ::std::vector<::std::string>&) {
+        if (mListener) {
+            mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_IMAGE_READY);
+        }
+        return binder::Status::ok();
+    }
+
+private:
+    sp<IDataLoaderStatusListener> mListener;
 };
 
 class MockDataLoaderManager : public DataLoaderManagerWrapper {
 public:
+    MockDataLoaderManager(sp<IDataLoader> dataLoader) : mDataLoaderHolder(std::move(dataLoader)) {
+        EXPECT_TRUE(mDataLoaderHolder != nullptr);
+    }
+
     MOCK_CONST_METHOD5(initializeDataLoader,
                        binder::Status(int32_t mountId, const DataLoaderParamsParcel& params,
                                       const FileSystemControlParcel& control,
@@ -144,9 +205,9 @@
         ON_CALL(*this, getDataLoader(_, _))
                 .WillByDefault(Invoke(this, &MockDataLoaderManager::getDataLoaderOk));
     }
-    void destroyDataLoaderOk() {
+    void destroyDataLoaderSuccess() {
         ON_CALL(*this, destroyDataLoader(_))
-                .WillByDefault(Invoke(this, &MockDataLoaderManager::setDataLoaderStatusDestroyed));
+                .WillByDefault(Invoke(this, &MockDataLoaderManager::destroyDataLoaderOk));
     }
     binder::Status initializeDataLoaderOk(int32_t mountId, const DataLoaderParamsParcel& params,
                                           const FileSystemControlParcel& control,
@@ -155,20 +216,30 @@
         mId = mountId;
         mListener = listener;
         mServiceConnector = control.service;
+        mDataLoader = mDataLoaderHolder;
         *_aidl_return = true;
-        return binder::Status::ok();
+        return mDataLoader->create(mountId, params, control, listener);
     }
     binder::Status getDataLoaderOk(int32_t mountId, sp<IDataLoader>* _aidl_return) {
         *_aidl_return = mDataLoader;
         return binder::Status::ok();
     }
-    void setDataLoaderStatusNotReady() {
-        mListener->onStatusChanged(mId, IDataLoaderStatusListener::DATA_LOADER_DESTROYED);
-    }
-    void setDataLoaderStatusReady() {
+    void setDataLoaderStatusCreated() {
         mListener->onStatusChanged(mId, IDataLoaderStatusListener::DATA_LOADER_CREATED);
     }
-    binder::Status setDataLoaderStatusDestroyed(int32_t id) {
+    void setDataLoaderStatusStarted() {
+        mListener->onStatusChanged(mId, IDataLoaderStatusListener::DATA_LOADER_STARTED);
+    }
+    void setDataLoaderStatusDestroyed() {
+        mListener->onStatusChanged(mId, IDataLoaderStatusListener::DATA_LOADER_DESTROYED);
+    }
+    binder::Status destroyDataLoaderOk(int32_t id) {
+        if (mDataLoader) {
+            if (auto status = mDataLoader->destroy(id); !status.isOk()) {
+                return status;
+            }
+            mDataLoader = nullptr;
+        }
         if (mListener) {
             mListener->onStatusChanged(id, IDataLoaderStatusListener::DATA_LOADER_DESTROYED);
         }
@@ -185,7 +256,8 @@
     int mId;
     sp<IDataLoaderStatusListener> mListener;
     sp<IIncrementalServiceConnector> mServiceConnector;
-    sp<IDataLoader> mDataLoader = sp<IDataLoader>(new FakeDataLoader());
+    sp<IDataLoader> mDataLoader;
+    sp<IDataLoader> mDataLoaderHolder;
 };
 
 class MockIncFs : public IncFsWrapper {
@@ -303,7 +375,9 @@
     void SetUp() override {
         auto vold = std::make_unique<NiceMock<MockVoldService>>();
         mVold = vold.get();
-        auto dataloaderManager = std::make_unique<NiceMock<MockDataLoaderManager>>();
+        sp<NiceMock<MockDataLoader>> dataLoader{new NiceMock<MockDataLoader>};
+        mDataLoader = dataLoader.get();
+        auto dataloaderManager = std::make_unique<NiceMock<MockDataLoaderManager>>(dataLoader);
         mDataLoaderManager = dataloaderManager.get();
         auto incFs = std::make_unique<NiceMock<MockIncFs>>();
         mIncFs = incFs.get();
@@ -321,7 +395,7 @@
                                                      mRootDir.path);
         mDataLoaderParcel.packageName = "com.test";
         mDataLoaderParcel.arguments = "uri";
-        mDataLoaderManager->destroyDataLoaderOk();
+        mDataLoaderManager->destroyDataLoaderSuccess();
         mIncrementalService->onSystemReady();
     }
 
@@ -352,6 +426,7 @@
     NiceMock<MockDataLoaderManager>* mDataLoaderManager;
     NiceMock<MockAppOpsManager>* mAppOpsManager;
     NiceMock<MockJniWrapper>* mJni;
+    NiceMock<MockDataLoader>* mDataLoader;
     std::unique_ptr<IncrementalService> mIncrementalService;
     TemporaryDir mRootDir;
     DataLoaderParamsParcel mDataLoaderParcel;
@@ -410,7 +485,11 @@
     mIncFs->makeFileSuccess();
     mVold->bindMountSuccess();
     mDataLoaderManager->initializeDataLoaderFails();
-    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(1);
+    EXPECT_CALL(*mDataLoaderManager, initializeDataLoader(_, _, _, _, _)).Times(1);
+    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(0);
+    EXPECT_CALL(*mDataLoader, create(_, _, _, _)).Times(0);
+    EXPECT_CALL(*mDataLoader, start(_)).Times(0);
+    EXPECT_CALL(*mDataLoader, destroy(_)).Times(0);
     EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
     TemporaryDir tempDir;
     int storageId =
@@ -424,7 +503,11 @@
     mIncFs->makeFileSuccess();
     mVold->bindMountSuccess();
     mDataLoaderManager->initializeDataLoaderSuccess();
+    EXPECT_CALL(*mDataLoaderManager, initializeDataLoader(_, _, _, _, _)).Times(1);
     EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, create(_, _, _, _)).Times(1);
+    EXPECT_CALL(*mDataLoader, start(_)).Times(0);
+    EXPECT_CALL(*mDataLoader, destroy(_)).Times(1);
     EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
     TemporaryDir tempDir;
     int storageId =
@@ -434,36 +517,70 @@
     mIncrementalService->deleteStorage(storageId);
 }
 
-TEST_F(IncrementalServiceTest, testOnStatusNotReady) {
-    mVold->mountIncFsSuccess();
-    mIncFs->makeFileSuccess();
-    mVold->bindMountSuccess();
-    mDataLoaderManager->initializeDataLoaderSuccess();
-    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_));
-    EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
-    TemporaryDir tempDir;
-    int storageId =
-            mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel), {},
-                                               IncrementalService::CreateOptions::CreateNew);
-    ASSERT_GE(storageId, 0);
-    mDataLoaderManager->setDataLoaderStatusNotReady();
-}
-
-TEST_F(IncrementalServiceTest, testStartDataLoaderSuccess) {
+TEST_F(IncrementalServiceTest, testDataLoaderDestroyed) {
     mVold->mountIncFsSuccess();
     mIncFs->makeFileSuccess();
     mVold->bindMountSuccess();
     mDataLoaderManager->initializeDataLoaderSuccess();
     mDataLoaderManager->getDataLoaderSuccess();
-    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_));
+    EXPECT_CALL(*mDataLoaderManager, initializeDataLoader(_, _, _, _, _)).Times(2);
+    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, create(_, _, _, _)).Times(2);
+    EXPECT_CALL(*mDataLoader, start(_)).Times(0);
+    EXPECT_CALL(*mDataLoader, destroy(_)).Times(1);
     EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
     TemporaryDir tempDir;
     int storageId =
             mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel), {},
                                                IncrementalService::CreateOptions::CreateNew);
     ASSERT_GE(storageId, 0);
-    mDataLoaderManager->setDataLoaderStatusReady();
+    // Simulated crash/other connection breakage.
+    mDataLoaderManager->setDataLoaderStatusDestroyed();
+}
+
+TEST_F(IncrementalServiceTest, testStartDataLoaderCreate) {
+    mVold->mountIncFsSuccess();
+    mIncFs->makeFileSuccess();
+    mVold->bindMountSuccess();
+    mDataLoader->initializeCreateOkNoStatus();
+    mDataLoaderManager->initializeDataLoaderSuccess();
+    mDataLoaderManager->getDataLoaderSuccess();
+    EXPECT_CALL(*mDataLoaderManager, initializeDataLoader(_, _, _, _, _)).Times(1);
+    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, create(_, _, _, _)).Times(1);
+    EXPECT_CALL(*mDataLoader, start(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, destroy(_)).Times(1);
+    EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
+    TemporaryDir tempDir;
+    int storageId =
+            mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel), {},
+                                               IncrementalService::CreateOptions::CreateNew);
+    ASSERT_GE(storageId, 0);
+    mDataLoaderManager->setDataLoaderStatusCreated();
     ASSERT_TRUE(mIncrementalService->startLoading(storageId));
+    mDataLoaderManager->setDataLoaderStatusStarted();
+}
+
+TEST_F(IncrementalServiceTest, testStartDataLoaderPendingStart) {
+    mVold->mountIncFsSuccess();
+    mIncFs->makeFileSuccess();
+    mVold->bindMountSuccess();
+    mDataLoader->initializeCreateOkNoStatus();
+    mDataLoaderManager->initializeDataLoaderSuccess();
+    mDataLoaderManager->getDataLoaderSuccess();
+    EXPECT_CALL(*mDataLoaderManager, initializeDataLoader(_, _, _, _, _)).Times(2);
+    EXPECT_CALL(*mDataLoaderManager, destroyDataLoader(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, create(_, _, _, _)).Times(2);
+    EXPECT_CALL(*mDataLoader, start(_)).Times(1);
+    EXPECT_CALL(*mDataLoader, destroy(_)).Times(1);
+    EXPECT_CALL(*mVold, unmountIncFs(_)).Times(2);
+    TemporaryDir tempDir;
+    int storageId =
+            mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel), {},
+                                               IncrementalService::CreateOptions::CreateNew);
+    ASSERT_GE(storageId, 0);
+    ASSERT_TRUE(mIncrementalService->startLoading(storageId));
+    mDataLoaderManager->setDataLoaderStatusCreated();
 }
 
 TEST_F(IncrementalServiceTest, testSetIncFsMountOptionsSuccess) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index e2a2473..289d79d 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -21,6 +21,8 @@
 import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_HIGH;
 import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_NORMAL;
 import static android.os.IServiceManager.DUMP_FLAG_PROTO;
+import static android.os.Process.SYSTEM_UID;
+import static android.os.Process.myPid;
 import static android.view.Display.DEFAULT_DISPLAY;
 
 import static com.android.server.utils.TimingsTraceAndSlog.SYSTEM_SERVER_TIMING_TAG;
@@ -29,6 +31,7 @@
 import android.annotation.StringRes;
 import android.app.ActivityThread;
 import android.app.AppCompatCallbacks;
+import android.app.ApplicationErrorReport;
 import android.app.INotificationManager;
 import android.app.SystemServiceRegistry;
 import android.app.usage.UsageStatsManagerInternal;
@@ -53,6 +56,7 @@
 import android.os.Environment;
 import android.os.FactoryTest;
 import android.os.FileUtils;
+import android.os.IBinder;
 import android.os.IIncidentManager;
 import android.os.Looper;
 import android.os.Message;
@@ -67,16 +71,19 @@
 import android.os.storage.IStorageManager;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
+import android.server.ServerProtoEnums;
 import android.sysprop.VoldProperties;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.EventLog;
+import android.util.Pair;
 import android.util.Slog;
 import android.view.contentcapture.ContentCaptureManager;
 
 import com.android.internal.R;
 import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.os.BinderInternal;
+import com.android.internal.os.RuntimeInit;
 import com.android.internal.util.ConcurrentUtils;
 import com.android.internal.util.EmergencyAffordanceManager;
 import com.android.internal.util.FrameworkStatsLog;
@@ -112,6 +119,7 @@
 import com.android.server.inputmethod.MultiClientInputMethodManagerService;
 import com.android.server.integrity.AppIntegrityManagerService;
 import com.android.server.lights.LightsService;
+import com.android.server.location.LocationManagerService;
 import com.android.server.media.MediaResourceMonitorService;
 import com.android.server.media.MediaRouterService;
 import com.android.server.media.MediaSessionService;
@@ -178,6 +186,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.LinkedList;
 import java.util.Locale;
 import java.util.Timer;
 import java.util.concurrent.CountDownLatch;
@@ -357,6 +366,11 @@
     private Future<?> mBlobStoreServiceStart;
 
     /**
+     * The pending WTF to be logged into dropbox.
+     */
+    private static LinkedList<Pair<String, ApplicationErrorReport.CrashInfo>> sPendingWtfs;
+
+    /**
      * Start the sensor service. This is a blocking call and can take time.
      */
     private static native void startSensorService();
@@ -567,6 +581,9 @@
             t.traceEnd();  // InitBeforeStartServices
         }
 
+        // Setup the default WTF handler
+        RuntimeInit.setDefaultApplicationWtfHandler(SystemServer::handleEarlySystemWtf);
+
         // Start services.
         try {
             t.traceBegin("StartServices");
@@ -2113,6 +2130,14 @@
         }
         t.traceEnd();
 
+        // Emit any pending system_server WTFs
+        synchronized (SystemService.class) {
+            if (sPendingWtfs != null) {
+                mActivityManagerService.schedulePendingSystemServerWtfs(sPendingWtfs);
+                sPendingWtfs = null;
+            }
+        }
+
         if (safeMode) {
             mActivityManagerService.showSafeModeOverlay();
         }
@@ -2502,4 +2527,29 @@
         context.startServiceAsUser(intent, UserHandle.SYSTEM);
         windowManager.onSystemUiStarted();
     }
+
+    /**
+     * Handle the serious errors during early system boot, used by {@link Log} via
+     * {@link com.android.internal.os.RuntimeInit}.
+     */
+    private static boolean handleEarlySystemWtf(final IBinder app, final String tag, boolean system,
+            final ApplicationErrorReport.ParcelableCrashInfo crashInfo, int immediateCallerPid) {
+        final String processName = "system_server";
+        final int myPid = myPid();
+
+        com.android.server.am.EventLogTags.writeAmWtf(UserHandle.getUserId(SYSTEM_UID), myPid,
+                processName, -1, tag, crashInfo.exceptionMessage);
+
+        FrameworkStatsLog.write(FrameworkStatsLog.WTF_OCCURRED, SYSTEM_UID, tag, processName,
+                myPid, ServerProtoEnums.SYSTEM_SERVER);
+
+        synchronized (SystemServer.class) {
+            if (sPendingWtfs == null) {
+                sPendingWtfs = new LinkedList<>();
+            }
+            sPendingWtfs.add(new Pair<>(tag, crashInfo));
+        }
+        return false;
+    }
+
 }
diff --git a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
index 8b2f15c..fea61aa 100644
--- a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
@@ -85,6 +85,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -519,6 +520,23 @@
         expectThrows(SecurityException.class, backupManagerService::getCurrentTransportComponent);
     }
 
+    /**
+     * Test verifying that {@link UserBackupManagerService#excludeKeysFromRestore(String, List)}
+     * throws a {@link SecurityException} if the caller does not have backup permission.
+     */
+    @Test
+    public void testExcludeKeysFromRestore_withoutPermission() throws Exception {
+        mShadowContext.denyPermissions(android.Manifest.permission.BACKUP);
+        UserBackupManagerService backupManagerService = createUserBackupManagerServiceAndRunTasks();
+
+        expectThrows(
+                SecurityException.class,
+                () ->
+                        backupManagerService.excludeKeysFromRestore(
+                                PACKAGE_1,
+                                new ArrayList<String>(){}));
+    }
+
     /* Tests for updating transport attributes */
 
     private static final int PACKAGE_UID = 10;
diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml
index 109c119..270a3b5 100644
--- a/services/tests/servicestests/AndroidManifest.xml
+++ b/services/tests/servicestests/AndroidManifest.xml
@@ -78,6 +78,7 @@
     <uses-permission android:name="android.permission.DUMP"/>
     <uses-permission android:name="android.permission.READ_DREAM_STATE"/>
     <uses-permission android:name="android.permission.WRITE_DREAM_STATE"/>
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
 
     <!-- Uses API introduced in O (26) -->
     <uses-sdk android:minSdkVersion="1"
diff --git a/services/tests/servicestests/src/com/android/server/adb/AdbDebuggingManagerTest.java b/services/tests/servicestests/src/com/android/server/adb/AdbDebuggingManagerTest.java
index 757a2b1..cffff66 100644
--- a/services/tests/servicestests/src/com/android/server/adb/AdbDebuggingManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/adb/AdbDebuggingManagerTest.java
@@ -721,6 +721,98 @@
                 isKeyInFile(TEST_KEY_2, mAdbKeyFile));
     }
 
+    @Test
+    public void testIsValidMdnsServiceName() {
+        // Longer than 15 characters
+        assertFalse(isValidMdnsServiceName("abcd1234abcd1234"));
+
+        // Contains invalid characters
+        assertFalse(isValidMdnsServiceName("a*a"));
+        assertFalse(isValidMdnsServiceName("a_a"));
+        assertFalse(isValidMdnsServiceName("_a"));
+
+        // Does not begin or end with letter or digit
+        assertFalse(isValidMdnsServiceName(""));
+        assertFalse(isValidMdnsServiceName("-"));
+        assertFalse(isValidMdnsServiceName("-a"));
+        assertFalse(isValidMdnsServiceName("-1"));
+        assertFalse(isValidMdnsServiceName("a-"));
+        assertFalse(isValidMdnsServiceName("1-"));
+
+        // Contains consecutive hyphens
+        assertFalse(isValidMdnsServiceName("a--a"));
+
+        // Does not contain at least one letter
+        assertFalse(isValidMdnsServiceName("1"));
+        assertFalse(isValidMdnsServiceName("12"));
+        assertFalse(isValidMdnsServiceName("1-2"));
+
+        // letter not within [a-zA-Z]
+        assertFalse(isValidMdnsServiceName("aés"));
+
+        // Some valid names
+        assertTrue(isValidMdnsServiceName("a"));
+        assertTrue(isValidMdnsServiceName("a1"));
+        assertTrue(isValidMdnsServiceName("1A"));
+        assertTrue(isValidMdnsServiceName("aZ"));
+        assertTrue(isValidMdnsServiceName("a-Z"));
+        assertTrue(isValidMdnsServiceName("a-b-Z"));
+        assertTrue(isValidMdnsServiceName("abc-def-123-456"));
+    }
+
+    @Test
+    public void testPairingThread_MdnsServiceName_RFC6335() {
+        assertTrue(isValidMdnsServiceName(AdbDebuggingManager.PairingThread.SERVICE_PROTOCOL));
+    }
+
+    private boolean isValidMdnsServiceName(String name) {
+        // The rules for Service Names [RFC6335] state that they may be no more
+        // than fifteen characters long (not counting the mandatory underscore),
+        // consisting of only letters, digits, and hyphens, must begin and end
+        // with a letter or digit, must not contain consecutive hyphens, and
+        // must contain at least one letter.
+        // No more than 15 characters long
+        final int len = name.length();
+        if (name.isEmpty() || len > 15) {
+            return false;
+        }
+
+        boolean hasAtLeastOneLetter = false;
+        boolean sawHyphen = false;
+        for (int i = 0; i < len; ++i) {
+            // Must contain at least one letter
+            // Only contains letters, digits and hyphens
+            char c = name.charAt(i);
+            if (c == '-') {
+                // Cannot be at beginning or end
+                if (i == 0 || i == len - 1) {
+                    return false;
+                }
+                if (sawHyphen) {
+                    // Consecutive hyphen found
+                    return false;
+                }
+                sawHyphen = true;
+                continue;
+            }
+
+            sawHyphen = false;
+            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
+                hasAtLeastOneLetter = true;
+                continue;
+            }
+
+            if (c >= '0' && c <= '9') {
+                continue;
+            }
+
+            // Invalid character
+            return false;
+        }
+
+        return hasAtLeastOneLetter;
+    }
+
     /**
      * Runs an adb test with the provided configuration.
      *
diff --git a/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java b/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java
index 73a191d..22f8b9c 100644
--- a/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java
+++ b/services/tests/servicestests/src/com/android/server/audio/AudioDeviceBrokerTest.java
@@ -66,7 +66,7 @@
         mContext = InstrumentationRegistry.getTargetContext();
 
         mMockAudioService = mock(AudioService.class);
-        mSpyAudioSystem = spy(AudioSystemAdapter.getAlwaysOkAdapter());
+        mSpyAudioSystem = spy(AudioSystemAdapter.getConfigurableAdapter());
         mSpyDevInventory = spy(new AudioDeviceInventory(mSpyAudioSystem));
         mAudioDeviceBroker = new AudioDeviceBroker(mContext, mMockAudioService, mSpyDevInventory);
         mSpyDevInventory.setDeviceBroker(mAudioDeviceBroker);
diff --git a/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java b/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java
new file mode 100644
index 0000000..6185ae6
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright 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.server.audio;
+
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.os.Looper;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.MediumTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Spy;
+
+@MediumTest
+@RunWith(AndroidJUnit4.class)
+public class AudioServiceTest {
+    private static final String TAG = "AudioServiceTest";
+
+    private static final int MAX_MESSAGE_HANDLING_DELAY_MS = 100;
+
+    private Context mContext;
+    private AudioSystemAdapter mAudioSystem;
+    @Spy private SystemServerAdapter mSpySystemServer;
+    // the class being unit-tested here
+    private AudioService mAudioService;
+
+    private static boolean sLooperPrepared = false;
+
+    @Before
+    public void setUp() throws Exception {
+        if (!sLooperPrepared) {
+            Looper.prepare();
+            sLooperPrepared = true;
+        }
+        mContext = InstrumentationRegistry.getTargetContext();
+        mAudioSystem = AudioSystemAdapter.getConfigurableAdapter();
+        mSpySystemServer = spy(SystemServerAdapter.getNoOpAdapter());
+        mAudioService = new AudioService(mContext, mAudioSystem, mSpySystemServer);
+    }
+
+    /**
+     * Test muting the mic reports the expected value, and the corresponding intent was fired
+     * @throws Exception
+     */
+    @Test
+    public void testMuteMicrophone() throws Exception {
+        Log.i(TAG, "running testMuteMicrophone");
+        Assert.assertNotNull(mAudioService);
+        final AudioSystemAdapter.AudioSystemConfigurableAdapter testAudioSystem =
+                (AudioSystemAdapter.AudioSystemConfigurableAdapter) mAudioSystem;
+        testAudioSystem.configureMuteMicrophoneToFail(false);
+        for (boolean muted : new boolean[] { true, false}) {
+            testAudioSystem.configureIsMicrophoneMuted(!muted);
+            mAudioService.setMicrophoneMute(muted, mContext.getOpPackageName(),
+                    UserHandle.getCallingUserId());
+            Assert.assertEquals("mic mute reporting wrong value",
+                    muted, mAudioService.isMicrophoneMuted());
+            // verify the intent for mic mute changed is supposed to be fired
+            Thread.sleep(MAX_MESSAGE_HANDLING_DELAY_MS);
+            verify(mSpySystemServer, times(1))
+                    .sendMicrophoneMuteChangedIntent();
+            reset(mSpySystemServer);
+        }
+    }
+
+    /**
+     * Test muting the mic with simulated failure reports the expected value, and the corresponding
+     * intent was fired
+     * @throws Exception
+     */
+    @Test
+    public void testMuteMicrophoneWhenFail() throws Exception {
+        Log.i(TAG, "running testMuteMicrophoneWhenFail");
+        Assert.assertNotNull(mAudioService);
+        final AudioSystemAdapter.AudioSystemConfigurableAdapter testAudioSystem =
+                (AudioSystemAdapter.AudioSystemConfigurableAdapter) mAudioSystem;
+        testAudioSystem.configureMuteMicrophoneToFail(true);
+        for (boolean muted : new boolean[] { true, false}) {
+            testAudioSystem.configureIsMicrophoneMuted(!muted);
+            mAudioService.setMicrophoneMute(muted, mContext.getOpPackageName(),
+                    UserHandle.getCallingUserId());
+            Assert.assertEquals("mic mute reporting wrong value",
+                    !muted, mAudioService.isMicrophoneMuted());
+            // verify the intent for mic mute changed is supposed to be fired
+            Thread.sleep(MAX_MESSAGE_HANDLING_DELAY_MS);
+            verify(mSpySystemServer, times(1))
+                    .sendMicrophoneMuteChangedIntent();
+            reset(mSpySystemServer);
+        }
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index fe224ce..09d1d3a 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -1986,29 +1986,32 @@
             Sets.newSet(
                     UserManager.DISALLOW_CONFIG_DATE_TIME,
                     UserManager.DISALLOW_ADD_USER,
-                    UserManager.DISALLOW_BLUETOOTH,
                     UserManager.DISALLOW_BLUETOOTH_SHARING,
-                    UserManager.DISALLOW_CONFIG_BLUETOOTH,
                     UserManager.DISALLOW_CONFIG_CELL_BROADCASTS,
-                    UserManager.DISALLOW_CONFIG_LOCATION,
                     UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS,
                     UserManager.DISALLOW_CONFIG_PRIVATE_DNS,
                     UserManager.DISALLOW_CONFIG_TETHERING,
-                    UserManager.DISALLOW_CONFIG_WIFI,
-                    UserManager.DISALLOW_CONTENT_CAPTURE,
-                    UserManager.DISALLOW_CONTENT_SUGGESTIONS,
                     UserManager.DISALLOW_DATA_ROAMING,
-                    UserManager.DISALLOW_DEBUGGING_FEATURES,
                     UserManager.DISALLOW_SAFE_BOOT,
-                    UserManager.DISALLOW_SHARE_LOCATION,
                     UserManager.DISALLOW_SMS,
                     UserManager.DISALLOW_USB_FILE_TRANSFER,
                     UserManager.DISALLOW_AIRPLANE_MODE,
                     UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
-                    UserManager.DISALLOW_OUTGOING_CALLS,
                     UserManager.DISALLOW_UNMUTE_MICROPHONE
             );
 
+    private static final Set<String> PROFILE_OWNER_ORGANIZATION_OWNED_LOCAL_RESTRICTIONS =
+            Sets.newSet(
+                    UserManager.DISALLOW_CONFIG_BLUETOOTH,
+                    UserManager.DISALLOW_CONFIG_LOCATION,
+                    UserManager.DISALLOW_CONFIG_WIFI,
+                    UserManager.DISALLOW_CONTENT_CAPTURE,
+                    UserManager.DISALLOW_CONTENT_SUGGESTIONS,
+                    UserManager.DISALLOW_DEBUGGING_FEATURES,
+                    UserManager.DISALLOW_SHARE_LOCATION,
+                    UserManager.DISALLOW_OUTGOING_CALLS
+            );
+
     public void testSetUserRestriction_asPoOfOrgOwnedDevice() throws Exception {
         final int MANAGED_PROFILE_ADMIN_UID =
                 UserHandle.getUid(DpmMockContext.CALLER_USER_HANDLE, DpmMockContext.SYSTEM_UID);
@@ -2021,7 +2024,10 @@
                 .thenReturn(new UserInfo(UserHandle.USER_SYSTEM, "user system", 0));
 
         for (String restriction : PROFILE_OWNER_ORGANIZATION_OWNED_GLOBAL_RESTRICTIONS) {
-            addAndRemoveUserRestrictionOnParentDpm(restriction);
+            addAndRemoveGlobalUserRestrictionOnParentDpm(restriction);
+        }
+        for (String restriction : PROFILE_OWNER_ORGANIZATION_OWNED_LOCAL_RESTRICTIONS) {
+            addAndRemoveLocalUserRestrictionOnParentDpm(restriction);
         }
 
         parentDpm.setCameraDisabled(admin1, true);
@@ -2047,7 +2053,7 @@
         reset(getServices().userManagerInternal);
     }
 
-    private void addAndRemoveUserRestrictionOnParentDpm(String restriction) {
+    private void addAndRemoveGlobalUserRestrictionOnParentDpm(String restriction) {
         parentDpm.addUserRestriction(admin1, restriction);
         verify(getServices().userManagerInternal).setDevicePolicyUserRestrictions(
                 eq(DpmMockContext.CALLER_USER_HANDLE),
@@ -2063,6 +2069,22 @@
         );
     }
 
+    private void addAndRemoveLocalUserRestrictionOnParentDpm(String restriction) {
+        parentDpm.addUserRestriction(admin1, restriction);
+        verify(getServices().userManagerInternal).setDevicePolicyUserRestrictions(
+                eq(DpmMockContext.CALLER_USER_HANDLE),
+                MockUtils.checkUserRestrictions(),
+                MockUtils.checkUserRestrictions(UserHandle.USER_SYSTEM, restriction),
+                eq(false));
+        parentDpm.clearUserRestriction(admin1, restriction);
+        DpmTestUtils.assertRestrictions(
+                DpmTestUtils.newRestrictions(),
+                dpms.getProfileOwnerAdminLocked(DpmMockContext.CALLER_USER_HANDLE)
+                        .getParentActiveAdmin()
+                        .getEffectiveRestrictions()
+        );
+    }
+
     public void testNoDefaultEnabledUserRestrictions() throws Exception {
         mContext.callerPermissions.add(permission.MANAGE_DEVICE_ADMINS);
         mContext.callerPermissions.add(permission.MANAGE_USERS);
@@ -4841,6 +4863,33 @@
         assertFalse(dpm.isActivePasswordSufficient());
     }
 
+    public void testIsPasswordSufficientAfterProfileUnification() throws Exception {
+        final int managedProfileUserId = DpmMockContext.CALLER_USER_HANDLE;
+        final int managedProfileAdminUid =
+                UserHandle.getUid(managedProfileUserId, DpmMockContext.SYSTEM_UID);
+        mContext.binder.callingUid = managedProfileAdminUid;
+
+        addManagedProfile(admin1, managedProfileAdminUid, admin1);
+        doReturn(true).when(getServices().lockPatternUtils)
+                .isSeparateProfileChallengeEnabled(managedProfileUserId);
+
+        dpm.setPasswordQuality(admin1, DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
+        parentDpm.setPasswordQuality(admin1, DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
+
+        when(getServices().lockSettingsInternal.getUserPasswordMetrics(UserHandle.USER_SYSTEM))
+                .thenReturn(computeForPassword("1234".getBytes()));
+
+        // Numeric password is compliant with current requirement (QUALITY_NUMERIC set explicitly
+        // on the parent admin)
+        assertTrue(dpm.isPasswordSufficientAfterProfileUnification(UserHandle.USER_SYSTEM,
+                UserHandle.USER_NULL));
+        // Numeric password is not compliant if profile is to be unified: the profile has a
+        // QUALITY_ALPHABETIC policy on itself which will be enforced on the password after
+        // unification.
+        assertFalse(dpm.isPasswordSufficientAfterProfileUnification(UserHandle.USER_SYSTEM,
+                managedProfileUserId));
+    }
+
     private void setActivePasswordState(PasswordMetrics passwordMetrics)
             throws Exception {
         final int userHandle = UserHandle.getUserId(mContext.binder.callingUid);
diff --git a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
index 7ad39b4..b1f3871 100644
--- a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
@@ -26,6 +26,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.PropertyInvalidatedCache;
 import android.content.Context;
 import android.hardware.display.BrightnessConfiguration;
 import android.hardware.display.Curve;
@@ -120,6 +121,9 @@
         LocalServices.addService(LightsManager.class, mMockLightsManager);
 
         mContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+
+        // Disable binder caches in this process.
+        PropertyInvalidatedCache.disableForTestMode();
     }
 
     @Test
diff --git a/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java b/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
index e5741ee..9c2ef4f 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
@@ -489,8 +489,17 @@
     }
 
     @Test
+    public void getWhitelistedRuleProviders_returnsEmptyForNonSystemApps() throws Exception {
+        whitelistUsAsRuleProvider();
+        makeUsSystemApp(false);
+
+        assertThat(mService.getWhitelistedRuleProviders()).isEmpty();
+    }
+
+    @Test
     public void getWhitelistedRuleProviders() throws Exception {
         whitelistUsAsRuleProvider();
+        makeUsSystemApp();
 
         assertThat(mService.getWhitelistedRuleProviders()).containsExactly(TEST_FRAMEWORK_PACKAGE);
     }
@@ -535,6 +544,7 @@
                                 TEST_FRAMEWORK_PACKAGE, PackageManager.GET_SIGNING_CERTIFICATES);
         doReturn(packageInfo).when(mSpyPackageManager).getPackageInfo(eq(INSTALLER), anyInt());
         doReturn(1).when(mSpyPackageManager).getPackageUid(eq(INSTALLER), anyInt());
+        doReturn(new String[]{INSTALLER}).when(mSpyPackageManager).getPackagesForUid(anyInt());
         return makeVerificationIntent(INSTALLER);
     }
 
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java
index 07d7830..12b144f 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTests.java
@@ -209,6 +209,26 @@
     }
 
     @Test
+    public void testManagedProfileChallengeUnification_parentUserNoPassword() throws Exception {
+        // Start with a profile with unified challenge, parent user has not password
+        mService.setSeparateProfileChallengeEnabled(MANAGED_PROFILE_USER_ID, false, null);
+        assertEquals(0, mGateKeeperService.getSecureUserId(MANAGED_PROFILE_USER_ID));
+        assertEquals(CREDENTIAL_TYPE_NONE, mService.getCredentialType(MANAGED_PROFILE_USER_ID));
+
+        // Set a separate challenge on the profile
+        assertTrue(mService.setLockCredential(
+                newPassword("12345678"), nonePassword(), MANAGED_PROFILE_USER_ID));
+        assertNotEquals(0, mGateKeeperService.getSecureUserId(MANAGED_PROFILE_USER_ID));
+        assertEquals(CREDENTIAL_TYPE_PASSWORD, mService.getCredentialType(MANAGED_PROFILE_USER_ID));
+
+        // Now unify again, profile should become passwordless again
+        mService.setSeparateProfileChallengeEnabled(MANAGED_PROFILE_USER_ID, false,
+                newPassword("12345678"));
+        assertEquals(0, mGateKeeperService.getSecureUserId(MANAGED_PROFILE_USER_ID));
+        assertEquals(CREDENTIAL_TYPE_NONE, mService.getCredentialType(MANAGED_PROFILE_USER_ID));
+    }
+
+    @Test
     public void testSetLockCredential_forPrimaryUser_sendsCredentials() throws Exception {
         assertTrue(mService.setLockCredential(
                 newPassword("password"),
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStrongAuthTest.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStrongAuthTest.java
new file mode 100644
index 0000000..c9dbdd2
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStrongAuthTest.java
@@ -0,0 +1,252 @@
+/*
+ * 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.server.locksettings;
+
+import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_NOT_REQUIRED;
+import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_NON_STRONG_BIOMETRICS_TIMEOUT;
+import static com.android.server.locksettings.LockSettingsStrongAuth.DEFAULT_NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_MS;
+import static com.android.server.locksettings.LockSettingsStrongAuth.DEFAULT_NON_STRONG_BIOMETRIC_TIMEOUT_MS;
+import static com.android.server.locksettings.LockSettingsStrongAuth.NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_ALARM_TAG;
+import static com.android.server.locksettings.LockSettingsStrongAuth.NON_STRONG_BIOMETRIC_TIMEOUT_ALARM_TAG;
+import static com.android.server.locksettings.LockSettingsStrongAuth.STRONG_AUTH_TIMEOUT_ALARM_TAG;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertNull;
+import static junit.framework.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.AlarmManager;
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+
+import com.android.server.locksettings.LockSettingsStrongAuth.NonStrongBiometricIdleTimeoutAlarmListener;
+import com.android.server.locksettings.LockSettingsStrongAuth.NonStrongBiometricTimeoutAlarmListener;
+import com.android.server.locksettings.LockSettingsStrongAuth.StrongAuthTimeoutAlarmListener;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class LockSettingsStrongAuthTest {
+
+    private static final String TAG = LockSettingsStrongAuthTest.class.getSimpleName();
+
+    private static final int PRIMARY_USER_ID = 0;
+
+    private LockSettingsStrongAuth mStrongAuth;
+    private final int mDefaultStrongAuthFlags = STRONG_AUTH_NOT_REQUIRED;
+    private final boolean mDefaultIsNonStrongBiometricAllowed = true;
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private LockSettingsStrongAuth.Injector mInjector;
+    @Mock
+    private AlarmManager mAlarmManager;
+    @Mock
+    private DevicePolicyManager mDPM;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mInjector.getAlarmManager(mContext)).thenReturn(mAlarmManager);
+        when(mInjector.getDefaultStrongAuthFlags(mContext)).thenReturn(mDefaultStrongAuthFlags);
+        when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE)).thenReturn(mDPM);
+
+        mStrongAuth = new LockSettingsStrongAuth(mContext, mInjector);
+    }
+
+    @Test
+    public void testScheduleNonStrongBiometricIdleTimeout() {
+        final long nextAlarmTime = 1000;
+        when(mInjector.getNextAlarmTimeMs(DEFAULT_NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_MS))
+                .thenReturn(nextAlarmTime);
+        mStrongAuth.scheduleNonStrongBiometricIdleTimeout(PRIMARY_USER_ID);
+
+        waitForIdle();
+        NonStrongBiometricIdleTimeoutAlarmListener alarm = mStrongAuth
+                .mNonStrongBiometricIdleTimeoutAlarmListener.get(PRIMARY_USER_ID);
+        // verify that a new alarm for idle timeout is added for the user
+        assertNotNull(alarm);
+        // verify that the alarm is scheduled
+        verifyAlarm(nextAlarmTime, NON_STRONG_BIOMETRIC_IDLE_TIMEOUT_ALARM_TAG, alarm);
+    }
+
+    @Test
+    public void testSetIsNonStrongBiometricAllowed_disallowed() {
+        mStrongAuth.setIsNonStrongBiometricAllowed(false /* allowed */, PRIMARY_USER_ID);
+
+        waitForIdle();
+        // verify that unlocking with non-strong biometrics is not allowed
+        assertFalse(mStrongAuth.mIsNonStrongBiometricAllowedForUser
+                .get(PRIMARY_USER_ID, mDefaultIsNonStrongBiometricAllowed));
+    }
+
+    @Test
+    public void testReportSuccessfulBiometricUnlock_nonStrongBiometric_fallbackTimeout() {
+        final long nextAlarmTime = 1000;
+        when(mInjector.getNextAlarmTimeMs(DEFAULT_NON_STRONG_BIOMETRIC_TIMEOUT_MS))
+                .thenReturn(nextAlarmTime);
+        mStrongAuth.reportSuccessfulBiometricUnlock(false /* isStrongBiometric */, PRIMARY_USER_ID);
+
+        waitForIdle();
+        NonStrongBiometricTimeoutAlarmListener alarm =
+                mStrongAuth.mNonStrongBiometricTimeoutAlarmListener.get(PRIMARY_USER_ID);
+        // verify that a new alarm for fallback timeout is added for the user
+        assertNotNull(alarm);
+        // verify that the alarm is scheduled
+        verifyAlarm(nextAlarmTime, NON_STRONG_BIOMETRIC_TIMEOUT_ALARM_TAG, alarm);
+    }
+
+    @Test
+    public void testRequireStrongAuth_nonStrongBiometric_fallbackTimeout() {
+        mStrongAuth.requireStrongAuth(
+                STRONG_AUTH_REQUIRED_AFTER_NON_STRONG_BIOMETRICS_TIMEOUT /* strongAuthReason */,
+                PRIMARY_USER_ID);
+
+        waitForIdle();
+        // verify that the StrongAuthFlags for the user contains the expected flag
+        final int expectedFlag = STRONG_AUTH_REQUIRED_AFTER_NON_STRONG_BIOMETRICS_TIMEOUT;
+        verifyStrongAuthFlags(expectedFlag, PRIMARY_USER_ID);
+    }
+
+    @Test
+    public void testReportSuccessfulBiometricUnlock_nonStrongBiometric_cancelIdleTimeout() {
+        // lock device and schedule an alarm for non-strong biometric idle timeout
+        mStrongAuth.scheduleNonStrongBiometricIdleTimeout(PRIMARY_USER_ID);
+        // unlock with non-strong biometric
+        mStrongAuth.reportSuccessfulBiometricUnlock(false /* isStrongBiometric */, PRIMARY_USER_ID);
+
+        waitForIdle();
+
+        // verify that the current alarm for idle timeout is cancelled after a successful unlock
+        verify(mAlarmManager).cancel(any(NonStrongBiometricIdleTimeoutAlarmListener.class));
+    }
+
+    @Test
+    public void testReportSuccessfulBiometricUnlock_strongBio_cancelAlarmsAndAllowNonStrongBio() {
+        setupAlarms(PRIMARY_USER_ID);
+        mStrongAuth.reportSuccessfulBiometricUnlock(true /* isStrongBiometric */, PRIMARY_USER_ID);
+
+        waitForIdle();
+        // verify that unlocking with strong biometric cancels alarms for fallback and idle timeout
+        // and re-allow unlocking with non-strong biometric
+        verifyAlarmsCancelledAndNonStrongBiometricAllowed(PRIMARY_USER_ID);
+    }
+
+    @Test
+    public void testReportSuccessfulStrongAuthUnlock_schedulePrimaryAuthTimeout() {
+        final long nextAlarmTime = 1000;
+        when(mInjector.getNextAlarmTimeMs(mDPM.getRequiredStrongAuthTimeout(null, PRIMARY_USER_ID)))
+                .thenReturn(nextAlarmTime);
+        mStrongAuth.reportSuccessfulStrongAuthUnlock(PRIMARY_USER_ID);
+
+        waitForIdle();
+        StrongAuthTimeoutAlarmListener alarm =
+                mStrongAuth.mStrongAuthTimeoutAlarmListenerForUser.get(PRIMARY_USER_ID);
+        // verify that a new alarm for primary auth timeout is added for the user
+        assertNotNull(alarm);
+        // verify that the alarm is scheduled
+        verifyAlarm(nextAlarmTime, STRONG_AUTH_TIMEOUT_ALARM_TAG, alarm);
+    }
+
+    @Test
+    public void testReportSuccessfulStrongAuthUnlock_cancelAlarmsAndAllowNonStrongBio() {
+        setupAlarms(PRIMARY_USER_ID);
+        mStrongAuth.reportSuccessfulStrongAuthUnlock(PRIMARY_USER_ID);
+
+        waitForIdle();
+        // verify that unlocking with primary auth (PIN/pattern/password) cancels alarms
+        // for fallback and idle timeout and re-allow unlocking with non-strong biometric
+        verifyAlarmsCancelledAndNonStrongBiometricAllowed(PRIMARY_USER_ID);
+    }
+
+    @Test
+    public void testFallbackTimeout_convenienceBiometric_weakBiometric() {
+        // assume that unlock with convenience biometric
+        mStrongAuth.reportSuccessfulBiometricUnlock(false /* isStrongBiometric */, PRIMARY_USER_ID);
+        // assume that unlock again with weak biometric
+        mStrongAuth.reportSuccessfulBiometricUnlock(false /* isStrongBiometric */, PRIMARY_USER_ID);
+
+        waitForIdle();
+        // verify that the fallback alarm scheduled when unlocking with convenience biometric is
+        // not affected when unlocking again with weak biometric
+        verify(mAlarmManager, never()).cancel(any(NonStrongBiometricTimeoutAlarmListener.class));
+        assertNotNull(mStrongAuth.mNonStrongBiometricTimeoutAlarmListener.get(PRIMARY_USER_ID));
+    }
+
+    private void verifyAlarm(long when, String tag, AlarmManager.OnAlarmListener alarm) {
+        verify(mAlarmManager).set(
+                eq(AlarmManager.ELAPSED_REALTIME),
+                eq(when),
+                eq(tag),
+                eq(alarm),
+                eq(mStrongAuth.mHandler));
+    }
+
+    private void verifyStrongAuthFlags(int reason, int userId) {
+        final int flags = mStrongAuth.mStrongAuthForUser.get(userId, mDefaultStrongAuthFlags);
+        Log.d(TAG, "verifyStrongAuthFlags:"
+                + " reason=" + Integer.toHexString(reason)
+                + " userId=" + userId
+                + " flags=" + Integer.toHexString(flags));
+        assertTrue(containsFlag(flags, reason));
+    }
+
+    private void setupAlarms(int userId) {
+        // schedule (a) an alarm for non-strong biometric fallback timeout and (b) an alarm for
+        // non-strong biometric idle timeout, so later we can verify that unlocking with
+        // strong biometric or primary auth will cancel those alarms
+        mStrongAuth.reportSuccessfulBiometricUnlock(false /* isStrongBiometric */, PRIMARY_USER_ID);
+        mStrongAuth.scheduleNonStrongBiometricIdleTimeout(PRIMARY_USER_ID);
+    }
+
+    private void verifyAlarmsCancelledAndNonStrongBiometricAllowed(int userId) {
+        // verify that the current alarm for non-strong biometric fallback timeout is cancelled and
+        // removed
+        verify(mAlarmManager).cancel(any(NonStrongBiometricTimeoutAlarmListener.class));
+        assertNull(mStrongAuth.mNonStrongBiometricTimeoutAlarmListener.get(userId));
+
+        // verify that the current alarm for non-strong biometric idle timeout is cancelled
+        verify(mAlarmManager).cancel(any(NonStrongBiometricIdleTimeoutAlarmListener.class));
+
+        // verify that unlocking with non-strong biometrics is allowed
+        assertTrue(mStrongAuth.mIsNonStrongBiometricAllowedForUser
+                .get(userId, mDefaultIsNonStrongBiometricAllowed));
+    }
+
+    private static boolean containsFlag(int haystack, int needle) {
+        return (haystack & needle) != 0;
+    }
+
+    private static void waitForIdle() {
+        InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/om/TEST_MAPPING b/services/tests/servicestests/src/com/android/server/om/TEST_MAPPING
new file mode 100644
index 0000000..8070bd1
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/om/TEST_MAPPING
@@ -0,0 +1,12 @@
+{
+  "presubmit": [
+    {
+      "name": "FrameworksServicesTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.om."
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserSystemPackageInstallerTest.java b/services/tests/servicestests/src/com/android/server/pm/UserSystemPackageInstallerTest.java
index ce21099..c55df51 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserSystemPackageInstallerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserSystemPackageInstallerTest.java
@@ -35,6 +35,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import android.app.PropertyInvalidatedCache;
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
@@ -98,6 +99,9 @@
         if (Looper.myLooper() == null) {
             Looper.prepare();
         }
+        // Disable binder caches in this process.
+        PropertyInvalidatedCache.disableForTestMode();
+
         LocalServices.removeServiceForTest(UserManagerInternal.class);
         UserManagerService ums = new UserManagerService(InstrumentationRegistry.getContext());
 
diff --git a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java
index 62589eb..22020ad 100644
--- a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java
+++ b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java
@@ -54,6 +54,7 @@
         assertFalse(opt.isForce());
         assertFalse(opt.isDexoptIdleBackgroundJob());
         assertFalse(opt.isDexoptInstallWithDexMetadata());
+        assertFalse(opt.isDexoptInstallForRestore());
     }
 
     @Test
@@ -67,7 +68,8 @@
                 DexoptOptions.DEXOPT_DOWNGRADE  |
                 DexoptOptions.DEXOPT_AS_SHARED_LIBRARY |
                 DexoptOptions.DEXOPT_IDLE_BACKGROUND_JOB |
-                DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE;
+                DexoptOptions.DEXOPT_INSTALL_WITH_DEX_METADATA_FILE |
+                DexoptOptions.DEXOPT_FOR_RESTORE;
 
         DexoptOptions opt = new DexoptOptions(mPackageName, mCompilerFilter, flags);
         assertEquals(mPackageName, opt.getPackageName());
@@ -82,6 +84,7 @@
         assertTrue(opt.isDexoptAsSharedLibrary());
         assertTrue(opt.isDexoptIdleBackgroundJob());
         assertTrue(opt.isDexoptInstallWithDexMetadata());
+        assertTrue(opt.isDexoptInstallForRestore());
     }
 
     @Test
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java b/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java
index af89761..939b7a0 100644
--- a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java
@@ -35,6 +35,7 @@
 import android.os.Bundle;
 import android.os.FileUtils;
 import android.platform.test.annotations.Presubmit;
+import android.util.SparseIntArray;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
@@ -542,7 +543,12 @@
 
     @Test
     public void testUsesSdk() throws Exception {
-        parsePackage("install_uses_sdk.apk_r0", R.raw.install_uses_sdk_r0, x -> x);
+        ParsedPackage pkg =
+                parsePackage("install_uses_sdk.apk_r0", R.raw.install_uses_sdk_r0, x -> x);
+        SparseIntArray minExtVers = pkg.getMinExtensionVersions();
+        assertEquals(1, minExtVers.size());
+        assertEquals(0, minExtVers.get(10000, -1));
+
         try {
             parsePackage("install_uses_sdk.apk_r5", R.raw.install_uses_sdk_r5, x -> x);
             fail("Expected parsing exception due to incompatible extension SDK version");
diff --git a/services/tests/servicestests/src/com/android/server/tv/TvRemoteProviderWatcherTest.java b/services/tests/servicestests/src/com/android/server/tv/TvRemoteProviderWatcherTest.java
index 0a2bb62..d64ad93 100644
--- a/services/tests/servicestests/src/com/android/server/tv/TvRemoteProviderWatcherTest.java
+++ b/services/tests/servicestests/src/com/android/server/tv/TvRemoteProviderWatcherTest.java
@@ -29,6 +29,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
+import android.os.Handler;
 import android.os.Looper;
 
 import androidx.test.filters.SmallTest;
@@ -84,6 +85,32 @@
     }
 
     @Test
+    public void acceptsValidCsvPackageName() {
+        // Test intentionally includes empty spacing for a more complex test
+        when(mMockResources.getString(com.android.internal.R.string.config_tvRemoteServicePackage))
+            .thenReturn(",,foo,  " + TV_REMOTE_SERVICE_PACKAGE_NAME + ",bar, baz,,");
+
+        // Re-create the object since package name is loaded in the constructor
+        TvRemoteProviderWatcher watcher =
+                new TvRemoteProviderWatcher(
+                        mMockContext, new Object(), new Handler(Looper.getMainLooper()));
+        assertTrue(watcher.verifyServiceTrusted(createTvServiceInfo()));
+    }
+
+    @Test
+    public void rejectsInvalidCsvPackageName() {
+        // Checks include empty strings to validate that processing as well
+        when(mMockResources.getString(com.android.internal.R.string.config_tvRemoteServicePackage))
+            .thenReturn(",,foo,,  ,bar,   baz,,");
+
+        // Re-create the object since package name is loaded in the constructor
+        TvRemoteProviderWatcher watcher =
+                new TvRemoteProviderWatcher(
+                        mMockContext, new Object(), new Handler(Looper.getMainLooper()));
+        assertFalse(watcher.verifyServiceTrusted(createTvServiceInfo()));
+    }
+
+    @Test
     public void tvServiceIsTrusted() {
         assertTrue(mTvRemoteProviderWatcher.verifyServiceTrusted(createTvServiceInfo()));
     }
@@ -123,14 +150,9 @@
     public void whitelistingPackageNameIsRequired() {
         reset(mMockResources);
         when(mMockResources.getString(anyInt())).thenReturn("");
-
-        // Create a new watcher, as the resources are read in the constructor of the class
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
         TvRemoteProviderWatcher watcher =
-                new TvRemoteProviderWatcher(mMockContext, new Object());
+                new TvRemoteProviderWatcher(
+                        mMockContext, new Object(), new Handler(Looper.getMainLooper()));
         assertFalse(watcher.verifyServiceTrusted(createTvServiceInfo()));
     }
 
diff --git a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
index fcbd507..965304f 100644
--- a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
@@ -32,6 +32,7 @@
 import android.media.tv.tunerresourcemanager.TunerDescramblerRequest;
 import android.media.tv.tunerresourcemanager.TunerFrontendInfo;
 import android.media.tv.tunerresourcemanager.TunerFrontendRequest;
+import android.media.tv.tunerresourcemanager.TunerLnbRequest;
 import android.media.tv.tunerresourcemanager.TunerResourceManager;
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
@@ -49,6 +50,7 @@
 import org.mockito.MockitoAnnotations;
 
 import java.util.Arrays;
+import java.util.HashSet;
 import java.util.Map;
 
 /**
@@ -96,13 +98,6 @@
             }
         };
 
-    private static int getResourceIdFromHandle(int resourceHandle) {
-        if (resourceHandle == TunerResourceManager.INVALID_RESOURCE_HANDLE) {
-            return resourceHandle;
-        }
-        return (resourceHandle & 0x00ff0000) >> 16;
-    }
-
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
@@ -247,7 +242,7 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0]))
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
                 .isEqualTo(TunerResourceManager.INVALID_RESOURCE_HANDLE);
     }
 
@@ -275,7 +270,7 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0]))
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
                 .isEqualTo(TunerResourceManager.INVALID_RESOURCE_HANDLE);
     }
 
@@ -307,7 +302,8 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(0);
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(0);
     }
 
     @Test
@@ -344,7 +340,8 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(infos[0].getId());
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(infos[0].getId());
 
         request =
                 new TunerFrontendRequest(clientId0[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
@@ -354,7 +351,8 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(infos[1].getId());
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(infos[1].getId());
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[1].getId())
                 .isInUse()).isTrue();
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[2].getId())
@@ -464,7 +462,11 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(infos[0].getId());
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(infos[0].getId());
+        assertThat(mTunerResourceManagerService.getClientProfile(clientId0[0])
+                .getInUseFrontendIds()).isEqualTo(
+                        new HashSet<Integer>(Arrays.asList(infos[0].getId(), infos[1].getId())));
 
         request =
                 new TunerFrontendRequest(clientId1[0] /*clientId*/, FrontendSettings.TYPE_DVBS);
@@ -474,7 +476,8 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(infos[1].getId());
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(infos[1].getId());
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[0].getId())
                 .isInUse()).isTrue();
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[1].getId())
@@ -487,6 +490,143 @@
     }
 
     @Test
+    public void releaseFrontendTest_UnderTheSameExclusiveGroup() {
+        // Register clients
+        ResourceClientProfile[] profiles = new ResourceClientProfile[1];
+        profiles[0] = new ResourceClientProfile("0" /*sessionId*/,
+                TvInputService.PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK);
+        int[] clientId = new int[1];
+        TestResourcesReclaimListener listener = new TestResourcesReclaimListener();
+        mTunerResourceManagerService.registerClientProfileInternal(profiles[0], listener, clientId);
+        assertThat(clientId[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
+
+        // Init frontend resources.
+        TunerFrontendInfo[] infos = new TunerFrontendInfo[2];
+        infos[0] =
+                new TunerFrontendInfo(0 /*id*/, FrontendSettings.TYPE_DVBT, 1 /*exclusiveGroupId*/);
+        infos[1] =
+                new TunerFrontendInfo(1 /*id*/, FrontendSettings.TYPE_DVBS, 1 /*exclusiveGroupId*/);
+        mTunerResourceManagerService.setFrontendInfoListInternal(infos);
+
+        TunerFrontendRequest request =
+                new TunerFrontendRequest(clientId[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
+        int[] frontendHandle = new int[1];
+        try {
+            assertThat(mTunerResourceManagerService
+                    .requestFrontendInternal(request, frontendHandle)).isTrue();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+        int frontendId = mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]);
+        assertThat(frontendId).isEqualTo(infos[0].getId());
+        assertThat(mTunerResourceManagerService
+                .getFrontendResource(infos[1].getId()).isInUse()).isTrue();
+
+        // Release frontend
+        mTunerResourceManagerService.releaseFrontendInternal(mTunerResourceManagerService
+                .getFrontendResource(frontendId));
+        assertThat(mTunerResourceManagerService
+                .getFrontendResource(frontendId).isInUse()).isFalse();
+        assertThat(mTunerResourceManagerService
+                .getFrontendResource(infos[1].getId()).isInUse()).isFalse();
+        assertThat(mTunerResourceManagerService
+                .getClientProfile(clientId[0]).getInUseFrontendIds().size()).isEqualTo(0);
+    }
+
+    @Test
+    public void requestLnbTest_NoLnbAvailable_RequestWithHigherPriority() {
+        // Register clients
+        ResourceClientProfile[] profiles = new ResourceClientProfile[2];
+        profiles[0] = new ResourceClientProfile("0" /*sessionId*/,
+                TvInputService.PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK);
+        profiles[1] = new ResourceClientProfile("1" /*sessionId*/,
+                TvInputService.PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK);
+        int[] clientPriorities = {100, 500};
+        int[] clientId0 = new int[1];
+        int[] clientId1 = new int[1];
+        TestResourcesReclaimListener listener = new TestResourcesReclaimListener();
+        mTunerResourceManagerService.registerClientProfileInternal(
+                profiles[0], listener, clientId0);
+        assertThat(clientId0[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
+        mTunerResourceManagerService.getClientProfile(clientId0[0])
+                .setPriority(clientPriorities[0]);
+        mTunerResourceManagerService.registerClientProfileInternal(
+                profiles[1], new TestResourcesReclaimListener(), clientId1);
+        assertThat(clientId1[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
+        mTunerResourceManagerService.getClientProfile(clientId1[0])
+                .setPriority(clientPriorities[1]);
+
+        // Init lnb resources.
+        int[] lnbIds = {1};
+        mTunerResourceManagerService.setLnbInfoListInternal(lnbIds);
+
+        TunerLnbRequest request = new TunerLnbRequest(clientId0[0]);
+        int[] lnbHandle = new int[1];
+        try {
+            assertThat(mTunerResourceManagerService
+                    .requestLnbInternal(request, lnbHandle)).isTrue();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(lnbHandle[0]))
+                .isEqualTo(lnbIds[0]);
+        assertThat(mTunerResourceManagerService.getClientProfile(clientId0[0])
+                .getInUseLnbIds()).isEqualTo(new HashSet<Integer>(Arrays.asList(lnbIds[0])));
+
+        request = new TunerLnbRequest(clientId1[0]);
+        try {
+            assertThat(mTunerResourceManagerService
+                    .requestLnbInternal(request, lnbHandle)).isTrue();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(lnbHandle[0]))
+                .isEqualTo(lnbIds[0]);
+        assertThat(mTunerResourceManagerService.getLnbResource(lnbIds[0])
+                .isInUse()).isTrue();
+        assertThat(mTunerResourceManagerService.getLnbResource(lnbIds[0])
+                .getOwnerClientId()).isEqualTo(clientId1[0]);
+        assertThat(listener.isRelaimed()).isTrue();
+        assertThat(mTunerResourceManagerService.getClientProfile(clientId0[0])
+                .getInUseLnbIds().size()).isEqualTo(0);
+    }
+
+    @Test
+    public void releaseLnbTest() {
+        // Register clients
+        ResourceClientProfile[] profiles = new ResourceClientProfile[1];
+        profiles[0] = new ResourceClientProfile("0" /*sessionId*/,
+                TvInputService.PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK);
+        int[] clientId = new int[1];
+        TestResourcesReclaimListener listener = new TestResourcesReclaimListener();
+        mTunerResourceManagerService.registerClientProfileInternal(profiles[0], listener, clientId);
+        assertThat(clientId[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
+
+        // Init lnb resources.
+        int[] lnbIds = {0};
+        mTunerResourceManagerService.setLnbInfoListInternal(lnbIds);
+
+        TunerLnbRequest request = new TunerLnbRequest(clientId[0]);
+        int[] lnbHandle = new int[1];
+        try {
+            assertThat(mTunerResourceManagerService
+                    .requestLnbInternal(request, lnbHandle)).isTrue();
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+        int lnbId = mTunerResourceManagerService.getResourceIdFromHandle(lnbHandle[0]);
+        assertThat(lnbId).isEqualTo(lnbIds[0]);
+
+        // Release lnb
+        mTunerResourceManagerService.releaseLnbInternal(mTunerResourceManagerService
+                .getLnbResource(lnbId));
+        assertThat(mTunerResourceManagerService
+                .getLnbResource(lnbId).isInUse()).isFalse();
+        assertThat(mTunerResourceManagerService
+                .getClientProfile(clientId[0]).getInUseLnbIds().size()).isEqualTo(0);
+    }
+
+    @Test
     public void unregisterClientTest_usingFrontend() {
         // Register client
         ResourceClientProfile profile = new ResourceClientProfile("0" /*sessionId*/,
@@ -513,7 +653,8 @@
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        assertThat(getResourceIdFromHandle(frontendHandle[0])).isEqualTo(infos[0].getId());
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(frontendHandle[0]))
+                .isEqualTo(infos[0].getId());
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[0].getId())
                 .isInUse()).isTrue();
         assertThat(mTunerResourceManagerService.getFrontendResource(infos[1].getId())
@@ -543,7 +684,8 @@
         TunerDemuxRequest request = new TunerDemuxRequest(clientId[0]);
         assertThat(mTunerResourceManagerService.requestDemuxInternal(request, demuxHandle))
                 .isTrue();
-        assertThat(getResourceIdFromHandle(demuxHandle[0])).isEqualTo(0);
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(demuxHandle[0]))
+                .isEqualTo(0);
     }
 
     @Test
@@ -560,6 +702,6 @@
         TunerDescramblerRequest request = new TunerDescramblerRequest(clientId[0]);
         assertThat(mTunerResourceManagerService.requestDescramblerInternal(request, desHandle))
                 .isTrue();
-        assertThat(getResourceIdFromHandle(desHandle[0])).isEqualTo(0);
+        assertThat(mTunerResourceManagerService.getResourceIdFromHandle(desHandle[0])).isEqualTo(0);
     }
 }
diff --git a/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
new file mode 100644
index 0000000..cf1978e
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
@@ -0,0 +1,355 @@
+/*
+ * 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.server.uri;
+
+import static com.android.server.uri.UriGrantsMockContext.FLAG_PERSISTABLE;
+import static com.android.server.uri.UriGrantsMockContext.FLAG_PREFIX;
+import static com.android.server.uri.UriGrantsMockContext.FLAG_READ;
+import static com.android.server.uri.UriGrantsMockContext.PKG_CAMERA;
+import static com.android.server.uri.UriGrantsMockContext.PKG_COMPLEX;
+import static com.android.server.uri.UriGrantsMockContext.PKG_SOCIAL;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_CAMERA;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_COMPLEX;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_PRIVATE;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_PUBLIC;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_SOCIAL;
+import static com.android.server.uri.UriGrantsMockContext.UID_SECONDARY_CAMERA;
+import static com.android.server.uri.UriGrantsMockContext.UID_SECONDARY_SOCIAL;
+import static com.android.server.uri.UriGrantsMockContext.URI_PHOTO_1;
+import static com.android.server.uri.UriGrantsMockContext.URI_PRIVATE;
+import static com.android.server.uri.UriGrantsMockContext.URI_PUBLIC;
+import static com.android.server.uri.UriGrantsMockContext.USER_PRIMARY;
+import static com.android.server.uri.UriGrantsMockContext.USER_SECONDARY;
+
+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.junit.Assert.fail;
+
+import android.content.ClipData;
+import android.content.Intent;
+import android.content.pm.ProviderInfo;
+import android.net.Uri;
+import android.util.ArraySet;
+
+import androidx.test.InstrumentationRegistry;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Set;
+
+public class UriGrantsManagerServiceTest {
+    private UriGrantsMockContext mContext;
+    private UriGrantsManagerService mService;
+    private UriGrantsManagerInternal mLocalService;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = new UriGrantsMockContext(InstrumentationRegistry.getContext());
+        mService = UriGrantsManagerService.createForTest(mContext.getFilesDir());
+        mLocalService = mService.getLocalService();
+    }
+
+    @Test
+    public void testNeeded_normal() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
+        final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+
+        final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null,
+                USER_PRIMARY);
+        assertEquals(PKG_SOCIAL, needed.targetPkg);
+        assertEquals(UID_PRIMARY_SOCIAL, needed.targetUid);
+        assertEquals(FLAG_READ, needed.flags);
+        assertEquals(asSet(expectedGrant), needed.uris);
+    }
+
+    /**
+     * No need to issue grants for public authorities.
+     */
+    @Test
+    public void testNeeded_public() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PUBLIC).addFlags(FLAG_READ);
+        final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_PUBLIC, PKG_SOCIAL, intent, intent.getFlags(), null,
+                USER_PRIMARY);
+        assertNull(needed);
+    }
+
+    /**
+     * But we're willing to issue grants to public authorities when crossing
+     * user boundaries.
+     */
+    @Test
+    public void testNeeded_public_differentUser() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PUBLIC).addFlags(FLAG_READ);
+        final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PUBLIC, FLAG_READ);
+
+        final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_PUBLIC, PKG_SOCIAL, intent, intent.getFlags(), null, USER_SECONDARY);
+        assertEquals(PKG_SOCIAL, needed.targetPkg);
+        assertEquals(UID_SECONDARY_SOCIAL, needed.targetUid);
+        assertEquals(FLAG_READ, needed.flags);
+        assertEquals(asSet(expectedGrant), needed.uris);
+    }
+
+    /**
+     * Refuse to issue grants for private authorities.
+     */
+    @Test
+    public void testNeeded_private() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PRIVATE).addFlags(FLAG_READ);
+        try {
+            mService.checkGrantUriPermissionFromIntent(
+                    UID_PRIMARY_PRIVATE, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY);
+            fail();
+        } catch (SecurityException expected) {
+        }
+    }
+
+    /**
+     * Verify that we can't grant permissions to top level of a provider with
+     * complex permission model.
+     */
+    @Test
+    public void testNeeded_complex_top() {
+        final Uri uri = Uri.parse("content://" + PKG_COMPLEX + "/");
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ);
+            assertNull(mService.checkGrantUriPermissionFromIntent(UID_PRIMARY_COMPLEX, PKG_SOCIAL,
+                    intent, intent.getFlags(), null, USER_PRIMARY));
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PREFIX);
+            try {
+                mService.checkGrantUriPermissionFromIntent(UID_PRIMARY_COMPLEX, PKG_SOCIAL,
+                        intent, intent.getFlags(), null, USER_PRIMARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PERSISTABLE);
+            try {
+                mService.checkGrantUriPermissionFromIntent(UID_PRIMARY_COMPLEX, PKG_SOCIAL,
+                        intent, intent.getFlags(), null, USER_PRIMARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+    }
+
+    /**
+     * Verify that we allow special cross-user grants to top level of a provider
+     * that normally wouldn't allow it. Only basic permission modes are allowed;
+     * advanced modes throw.
+     */
+    @Test
+    public void testNeeded_complex_top_differentUser() {
+        final Uri uri = Uri.parse("content://" + PKG_COMPLEX + "/");
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ);
+            final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                    UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null,
+                    USER_SECONDARY);
+            assertEquals(FLAG_READ, needed.flags);
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PREFIX);
+            try {
+                mService.checkGrantUriPermissionFromIntent(
+                        UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null,
+                        USER_SECONDARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PERSISTABLE);
+            try {
+                mService.checkGrantUriPermissionFromIntent(
+                        UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null,
+                        USER_SECONDARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+    }
+
+    /**
+     * Verify that we can grant permissions to middle level of a provider with
+     * complex permission model.
+     */
+    @Test
+    public void testNeeded_complex_middle() {
+        final Uri uri = Uri.parse("content://" + PKG_COMPLEX + "/secure/12");
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ);
+            final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                    UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY);
+            assertEquals(asSet(new GrantUri(USER_PRIMARY, uri, 0)), needed.uris);
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PREFIX);
+            final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                    UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY);
+            assertEquals(asSet(new GrantUri(USER_PRIMARY, uri, FLAG_PREFIX)), needed.uris);
+        }
+        {
+            final Intent intent = new Intent(Intent.ACTION_VIEW, uri)
+                    .addFlags(FLAG_READ | FLAG_PERSISTABLE);
+            final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                    UID_PRIMARY_COMPLEX, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY);
+            assertEquals(asSet(new GrantUri(USER_PRIMARY, uri, 0)), needed.uris);
+        }
+    }
+
+    /**
+     * Verify that when we try sending a list of mixed items that the actual
+     * grants are verified based on the capabilities of the caller.
+     */
+    @Test
+    public void testNeeded_mixedPersistable() {
+        final ClipData clip = ClipData.newRawUri("test", URI_PHOTO_1);
+        clip.addItem(new ClipData.Item(URI_PUBLIC));
+
+        final Intent intent = new Intent(Intent.ACTION_VIEW);
+        intent.addFlags(FLAG_READ | FLAG_PERSISTABLE);
+        intent.setClipData(clip);
+
+        {
+            // When granting towards primary, persistable can't be honored so
+            // the entire grant fails
+            try {
+                mService.checkGrantUriPermissionFromIntent(UID_PRIMARY_CAMERA, PKG_SOCIAL, intent,
+                        intent.getFlags(), null, USER_PRIMARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+        {
+            // When granting towards secondary, persistable can't be honored so
+            // the entire grant fails
+            try {
+                mService.checkGrantUriPermissionFromIntent(UID_PRIMARY_CAMERA, PKG_SOCIAL, intent,
+                        intent.getFlags(), null, USER_SECONDARY);
+                fail();
+            } catch (SecurityException expected) {
+            }
+        }
+    }
+
+    /**
+     * Verify that two overlapping owners require separate grants and that they
+     * don't interfere with each other.
+     */
+    @Test
+    public void testGrant_overlap() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
+
+        final UriPermissionOwner activity = new UriPermissionOwner(mLocalService, "activity");
+        final UriPermissionOwner service = new UriPermissionOwner(mLocalService, "service");
+
+        final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+
+        // Grant read via activity and write via service
+        mService.grantUriPermissionUncheckedFromIntent(mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY),
+                activity);
+        mService.grantUriPermissionUncheckedFromIntent(mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY),
+                service);
+
+        // Verify that everything is good with the world
+        assertTrue(mService.checkUriPermission(expectedGrant, UID_PRIMARY_SOCIAL, FLAG_READ));
+
+        // Finish activity; service should hold permission
+        activity.removeUriPermissions();
+        assertTrue(mService.checkUriPermission(expectedGrant, UID_PRIMARY_SOCIAL, FLAG_READ));
+
+        // And finishing service should wrap things up
+        service.removeUriPermissions();
+        assertFalse(mService.checkUriPermission(expectedGrant, UID_PRIMARY_SOCIAL, FLAG_READ));
+    }
+
+    @Test
+    public void testCheckAuthorityGrants() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
+        final UriPermissionOwner owner = new UriPermissionOwner(mLocalService, "primary");
+
+        final ProviderInfo cameraInfo = mContext.mPmInternal.resolveContentProvider(
+                PKG_CAMERA, 0, USER_PRIMARY);
+
+        // By default no social can see any camera
+        assertFalse(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+
+        // Granting primary camera to primary social
+        mService.grantUriPermissionUncheckedFromIntent(mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY),
+                owner);
+        assertTrue(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+
+        // Granting secondary camera to primary social
+        mService.grantUriPermissionUncheckedFromIntent(mService.checkGrantUriPermissionFromIntent(
+                UID_SECONDARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null, USER_PRIMARY),
+                owner);
+        assertTrue(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertTrue(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_SECONDARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+
+        // And releasing the grant means we lose access
+        owner.removeUriPermissions();
+        assertFalse(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_PRIMARY, true));
+        assertFalse(mService.checkAuthorityGrants(UID_PRIMARY_SOCIAL,
+                cameraInfo, USER_SECONDARY, true));
+    }
+
+    private static <T> Set<T> asSet(T... values) {
+        return new ArraySet<T>(Arrays.asList(values));
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/uri/UriGrantsMockContext.java b/services/tests/servicestests/src/com/android/server/uri/UriGrantsMockContext.java
new file mode 100644
index 0000000..989928d
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/uri/UriGrantsMockContext.java
@@ -0,0 +1,207 @@
+/*
+ * 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.server.uri;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.annotation.NonNull;
+import android.app.ActivityManagerInternal;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManagerInternal;
+import android.content.pm.PathPermission;
+import android.content.pm.ProviderInfo;
+import android.net.Uri;
+import android.os.FileUtils;
+import android.os.PatternMatcher;
+import android.os.UserHandle;
+import android.test.mock.MockContentResolver;
+import android.test.mock.MockPackageManager;
+
+import com.android.server.LocalServices;
+
+import java.io.File;
+
+public class UriGrantsMockContext extends ContextWrapper {
+    static final String TAG = "UriGrants";
+
+    static final int FLAG_READ = Intent.FLAG_GRANT_READ_URI_PERMISSION;
+    static final int FLAG_WRITE = Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
+    static final int FLAG_PERSISTABLE = Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION;
+    static final int FLAG_PREFIX = Intent.FLAG_GRANT_PREFIX_URI_PERMISSION;
+
+    static final int USER_PRIMARY = 10;
+    static final int USER_SECONDARY = 11;
+
+    /** Typical social network app */
+    static final String PKG_SOCIAL = "com.example.social";
+    /** Typical camera app that allows grants */
+    static final String PKG_CAMERA = "com.example.camera";
+    /** Completely private app/provider that offers no grants */
+    static final String PKG_PRIVATE = "com.example.private";
+    /** Completely public app/provider that needs no grants */
+    static final String PKG_PUBLIC = "com.example.public";
+    /** Complex provider that offers nested grants */
+    static final String PKG_COMPLEX = "com.example.complex";
+
+    private static final int UID_SOCIAL = android.os.Process.LAST_APPLICATION_UID - 1;
+    private static final int UID_CAMERA = android.os.Process.LAST_APPLICATION_UID - 2;
+    private static final int UID_PRIVATE = android.os.Process.LAST_APPLICATION_UID - 3;
+    private static final int UID_PUBLIC = android.os.Process.LAST_APPLICATION_UID - 4;
+    private static final int UID_COMPLEX = android.os.Process.LAST_APPLICATION_UID - 5;
+
+    static final int UID_PRIMARY_SOCIAL = UserHandle.getUid(USER_PRIMARY, UID_SOCIAL);
+    static final int UID_PRIMARY_CAMERA = UserHandle.getUid(USER_PRIMARY, UID_CAMERA);
+    static final int UID_PRIMARY_PRIVATE = UserHandle.getUid(USER_PRIMARY, UID_PRIVATE);
+    static final int UID_PRIMARY_PUBLIC = UserHandle.getUid(USER_PRIMARY, UID_PUBLIC);
+    static final int UID_PRIMARY_COMPLEX = UserHandle.getUid(USER_PRIMARY, UID_COMPLEX);
+
+    static final int UID_SECONDARY_SOCIAL = UserHandle.getUid(USER_SECONDARY, UID_SOCIAL);
+    static final int UID_SECONDARY_CAMERA = UserHandle.getUid(USER_SECONDARY, UID_CAMERA);
+    static final int UID_SECONDARY_PRIVATE = UserHandle.getUid(USER_SECONDARY, UID_PRIVATE);
+    static final int UID_SECONDARY_PUBLIC = UserHandle.getUid(USER_SECONDARY, UID_PUBLIC);
+    static final int UID_SECONDARY_COMPLEX = UserHandle.getUid(USER_PRIMARY, UID_COMPLEX);
+
+    static final Uri URI_PHOTO_1 = Uri.parse("content://" + PKG_CAMERA + "/1");
+    static final Uri URI_PHOTO_2 = Uri.parse("content://" + PKG_CAMERA + "/2");
+    static final Uri URI_PRIVATE = Uri.parse("content://" + PKG_PRIVATE + "/42");
+    static final Uri URI_PUBLIC = Uri.parse("content://" + PKG_PUBLIC + "/42");
+
+    private final File mDir;
+
+    private final MockPackageManager mPackage;
+    private final MockContentResolver mResolver;
+
+    final ActivityManagerInternal mAmInternal;
+    final PackageManagerInternal mPmInternal;
+
+    public UriGrantsMockContext(@NonNull Context base) {
+        super(base);
+        mDir = new File(base.getFilesDir(), TAG);
+        mDir.mkdirs();
+        FileUtils.deleteContents(mDir);
+
+        mPackage = new MockPackageManager();
+        mResolver = new MockContentResolver(this);
+
+        mAmInternal = mock(ActivityManagerInternal.class);
+        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
+        LocalServices.addService(ActivityManagerInternal.class, mAmInternal);
+
+        mPmInternal = mock(PackageManagerInternal.class);
+        LocalServices.removeServiceForTest(PackageManagerInternal.class);
+        LocalServices.addService(PackageManagerInternal.class, mPmInternal);
+
+        for (int userId : new int[] { USER_PRIMARY, USER_SECONDARY }) {
+            when(mPmInternal.getPackageUidInternal(eq(PKG_SOCIAL), anyInt(), eq(userId)))
+                    .thenReturn(UserHandle.getUid(userId, UID_SOCIAL));
+            when(mPmInternal.getPackageUidInternal(eq(PKG_CAMERA), anyInt(), eq(userId)))
+                    .thenReturn(UserHandle.getUid(userId, UID_CAMERA));
+            when(mPmInternal.getPackageUidInternal(eq(PKG_PRIVATE), anyInt(), eq(userId)))
+                    .thenReturn(UserHandle.getUid(userId, UID_PRIVATE));
+            when(mPmInternal.getPackageUidInternal(eq(PKG_PUBLIC), anyInt(), eq(userId)))
+                    .thenReturn(UserHandle.getUid(userId, UID_PUBLIC));
+            when(mPmInternal.getPackageUidInternal(eq(PKG_COMPLEX), anyInt(), eq(userId)))
+                    .thenReturn(UserHandle.getUid(userId, UID_COMPLEX));
+
+            when(mPmInternal.resolveContentProvider(eq(PKG_CAMERA), anyInt(), eq(userId)))
+                    .thenReturn(buildCameraProvider(userId));
+            when(mPmInternal.resolveContentProvider(eq(PKG_PRIVATE), anyInt(), eq(userId)))
+                    .thenReturn(buildPrivateProvider(userId));
+            when(mPmInternal.resolveContentProvider(eq(PKG_PUBLIC), anyInt(), eq(userId)))
+                    .thenReturn(buildPublicProvider(userId));
+            when(mPmInternal.resolveContentProvider(eq(PKG_COMPLEX), anyInt(), eq(userId)))
+                    .thenReturn(buildComplexProvider(userId));
+        }
+    }
+
+    private static ProviderInfo buildCameraProvider(int userId) {
+        final ProviderInfo pi = new ProviderInfo();
+        pi.packageName = PKG_CAMERA;
+        pi.authority = PKG_CAMERA;
+        pi.readPermission = android.Manifest.permission.READ_EXTERNAL_STORAGE;
+        pi.writePermission = android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
+        pi.grantUriPermissions = true;
+        pi.applicationInfo = new ApplicationInfo();
+        pi.applicationInfo.uid = UserHandle.getUid(userId, UID_CAMERA);
+        return pi;
+    }
+
+    private static ProviderInfo buildPrivateProvider(int userId) {
+        final ProviderInfo pi = new ProviderInfo();
+        pi.packageName = PKG_PRIVATE;
+        pi.authority = PKG_PRIVATE;
+        pi.exported = false;
+        pi.grantUriPermissions = false;
+        pi.applicationInfo = new ApplicationInfo();
+        pi.applicationInfo.uid = UserHandle.getUid(userId, UID_PRIVATE);
+        return pi;
+    }
+
+    private static ProviderInfo buildPublicProvider(int userId) {
+        final ProviderInfo pi = new ProviderInfo();
+        pi.packageName = PKG_PUBLIC;
+        pi.authority = PKG_PUBLIC;
+        pi.exported = true;
+        pi.grantUriPermissions = false;
+        pi.applicationInfo = new ApplicationInfo();
+        pi.applicationInfo.uid = UserHandle.getUid(userId, UID_PUBLIC);
+        return pi;
+    }
+
+    private static ProviderInfo buildComplexProvider(int userId) {
+        final ProviderInfo pi = new ProviderInfo();
+        pi.packageName = PKG_COMPLEX;
+        pi.authority = PKG_COMPLEX;
+        pi.exported = true;
+        pi.grantUriPermissions = true;
+        pi.applicationInfo = new ApplicationInfo();
+        pi.applicationInfo.uid = UserHandle.getUid(userId, UID_COMPLEX);
+        pi.pathPermissions = new PathPermission[] {
+                new PathPermission("/secure", PathPermission.PATTERN_PREFIX,
+                        android.Manifest.permission.READ_EXTERNAL_STORAGE,
+                        android.Manifest.permission.WRITE_EXTERNAL_STORAGE),
+        };
+        pi.uriPermissionPatterns = new PatternMatcher[] {
+                new PatternMatcher("/secure", PathPermission.PATTERN_PREFIX),
+                new PatternMatcher("/insecure", PathPermission.PATTERN_PREFIX),
+        };
+        return pi;
+    }
+
+    @Override
+    public PackageManager getPackageManager() {
+        return mPackage;
+    }
+
+    @Override
+    public ContentResolver getContentResolver() {
+        return mResolver;
+    }
+
+    @Override
+    public File getFilesDir() {
+        return mDir;
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/uri/UriPermissionTest.java b/services/tests/servicestests/src/com/android/server/uri/UriPermissionTest.java
new file mode 100644
index 0000000..07005a9
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/uri/UriPermissionTest.java
@@ -0,0 +1,170 @@
+/*
+ * 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.server.uri;
+
+import static com.android.server.uri.UriGrantsMockContext.FLAG_PERSISTABLE;
+import static com.android.server.uri.UriGrantsMockContext.FLAG_READ;
+import static com.android.server.uri.UriGrantsMockContext.FLAG_WRITE;
+import static com.android.server.uri.UriGrantsMockContext.PKG_CAMERA;
+import static com.android.server.uri.UriGrantsMockContext.PKG_SOCIAL;
+import static com.android.server.uri.UriGrantsMockContext.UID_PRIMARY_SOCIAL;
+import static com.android.server.uri.UriGrantsMockContext.URI_PHOTO_1;
+import static com.android.server.uri.UriGrantsMockContext.URI_PHOTO_2;
+import static com.android.server.uri.UriGrantsMockContext.USER_PRIMARY;
+import static com.android.server.uri.UriPermission.INVALID_TIME;
+import static com.android.server.uri.UriPermission.STRENGTH_GLOBAL;
+import static com.android.server.uri.UriPermission.STRENGTH_NONE;
+import static com.android.server.uri.UriPermission.STRENGTH_OWNED;
+import static com.android.server.uri.UriPermission.STRENGTH_PERSISTABLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class UriPermissionTest {
+    @Mock
+    private UriGrantsManagerInternal mService;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void testNone() {
+        final GrantUri grant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+        final UriPermission perm = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant);
+        assertEquals(STRENGTH_NONE, perm.getStrength(FLAG_READ));
+    }
+
+    @Test
+    public void testGlobal() {
+        final GrantUri grant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+        final UriPermission perm = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant);
+
+        assertFalse(perm.grantModes(FLAG_READ, null));
+        assertEquals(STRENGTH_GLOBAL, perm.getStrength(FLAG_READ));
+
+        assertFalse(perm.revokeModes(FLAG_READ, true));
+        assertEquals(STRENGTH_NONE, perm.getStrength(FLAG_READ));
+    }
+
+    @Test
+    public void testOwned() {
+        final GrantUri grant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+        final UriPermission perm = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant);
+        final UriPermissionOwner owner = new UriPermissionOwner(mService, "test");
+
+        assertFalse(perm.grantModes(FLAG_READ, owner));
+        assertEquals(STRENGTH_OWNED, perm.getStrength(FLAG_READ));
+
+        assertFalse(perm.revokeModes(FLAG_READ, false));
+        assertEquals(STRENGTH_OWNED, perm.getStrength(FLAG_READ));
+
+        assertFalse(perm.revokeModes(FLAG_READ, true));
+        assertEquals(STRENGTH_NONE, perm.getStrength(FLAG_READ));
+    }
+
+    @Test
+    public void testOverlap() {
+        final GrantUri grant1 = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+        final GrantUri grant2 = new GrantUri(USER_PRIMARY, URI_PHOTO_2, FLAG_READ);
+
+        final UriPermission photo1 = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant1);
+        final UriPermission photo2 = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant2);
+
+        // Verify behavior when we have multiple owners within the same app
+        final UriPermissionOwner activity = new UriPermissionOwner(mService, "activity");
+        final UriPermissionOwner service = new UriPermissionOwner(mService, "service");
+
+        photo1.grantModes(FLAG_READ | FLAG_WRITE, activity);
+        photo1.grantModes(FLAG_READ, service);
+        photo2.grantModes(FLAG_READ, activity);
+        photo2.grantModes(FLAG_WRITE, null);
+
+        assertEquals(FLAG_READ | FLAG_WRITE, photo1.modeFlags);
+        assertEquals(FLAG_READ | FLAG_WRITE, photo2.modeFlags);
+
+        // Shutting down activity should only trim away write access
+        activity.removeUriPermissions();
+        assertEquals(FLAG_READ, photo1.modeFlags);
+        assertEquals(FLAG_WRITE, photo2.modeFlags);
+
+        // Shutting down service should bring everything else down
+        service.removeUriPermissions();
+        assertEquals(0, photo1.modeFlags);
+        assertEquals(FLAG_WRITE, photo2.modeFlags);
+    }
+
+    @Test
+    public void testPersist() {
+        final GrantUri grant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+        final UriPermission perm = new UriPermission(PKG_CAMERA,
+                PKG_SOCIAL, UID_PRIMARY_SOCIAL, grant);
+
+        assertFalse(perm.grantModes(FLAG_READ, null));
+        assertFalse(perm.grantModes(FLAG_WRITE | FLAG_PERSISTABLE, null));
+        assertEquals(STRENGTH_GLOBAL, perm.getStrength(FLAG_READ));
+        assertEquals(STRENGTH_PERSISTABLE, perm.getStrength(FLAG_WRITE));
+
+        // Verify behavior of non-persistable mode; nothing happens
+        {
+            assertFalse(perm.takePersistableModes(FLAG_READ));
+            assertEquals(0, perm.persistedModeFlags);
+
+            assertFalse(perm.releasePersistableModes(FLAG_READ));
+            assertEquals(0, perm.persistedModeFlags);
+        }
+
+        // Verify behavior of persistable mode
+        {
+            assertEquals(FLAG_WRITE, perm.persistableModeFlags);
+            assertEquals(0, perm.persistedModeFlags);
+            assertTrue(perm.takePersistableModes(FLAG_WRITE));
+            assertEquals(FLAG_WRITE, perm.persistableModeFlags);
+            assertEquals(FLAG_WRITE, perm.persistedModeFlags);
+
+            // Attempting to take a second time should be a no-op
+            final long createTime = perm.persistedCreateTime;
+            assertFalse(perm.takePersistableModes(FLAG_WRITE));
+            assertEquals(createTime, perm.persistedCreateTime);
+
+            assertTrue(perm.releasePersistableModes(FLAG_WRITE));
+            assertEquals(FLAG_WRITE, perm.persistableModeFlags);
+            assertEquals(0, perm.persistedModeFlags);
+            assertEquals(INVALID_TIME, perm.persistedCreateTime);
+
+            // Attempting to release a second time should be a no-op
+            assertFalse(perm.releasePersistableModes(FLAG_WRITE));
+
+            // We should still be able to take again
+            assertTrue(perm.takePersistableModes(FLAG_WRITE));
+            assertEquals(FLAG_WRITE, perm.persistableModeFlags);
+            assertEquals(FLAG_WRITE, perm.persistedModeFlags);
+        }
+    }
+}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ArchiveTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ArchiveTest.java
new file mode 100644
index 0000000..c69ef8d
--- /dev/null
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ArchiveTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.server.notification;
+
+import static android.os.UserHandle.USER_CURRENT;
+import static android.os.UserHandle.USER_SYSTEM;
+import static android.service.notification.NotificationListenerService.REASON_CANCEL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Notification;
+import android.os.UserHandle;
+import android.service.notification.StatusBarNotification;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.server.UiServiceTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ArchiveTest extends UiServiceTestCase {
+    private static final int SIZE = 5;
+
+    private NotificationManagerService.Archive mArchive;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mArchive = new NotificationManagerService.Archive(SIZE);
+        mArchive.updateHistoryEnabled(USER_SYSTEM, true);
+        mArchive.updateHistoryEnabled(USER_CURRENT, true);
+    }
+
+    private StatusBarNotification getNotification(String pkg, int id, UserHandle user) {
+        Notification n = new Notification.Builder(getContext(), "test")
+                .setContentTitle("A")
+                .setWhen(1205)
+                .build();
+        return  new StatusBarNotification(
+                pkg, pkg, id, null, 0, 0, n, user, null, System.currentTimeMillis());
+    }
+
+
+    @Test
+    public void testRecordAndRead() {
+        List<String> expected = new ArrayList<>();
+        for (int i = 0; i < SIZE; i++) {
+            StatusBarNotification sbn = getNotification("pkg" + i, i,
+                    UserHandle.of(i % 2 ==0 ? USER_SYSTEM : USER_CURRENT));
+            expected.add(sbn.getKey());
+            mArchive.record(sbn, REASON_CANCEL);
+        }
+
+        List<StatusBarNotification> actual = Arrays.asList(mArchive.getArray(SIZE, true));
+        assertThat(actual).hasSize(expected.size());
+        for (StatusBarNotification sbn : actual) {
+            assertThat(expected).contains(sbn.getKey());
+        }
+    }
+
+    @Test
+    public void testRecordAndRead_overLimit() {
+        List<String> expected = new ArrayList<>();
+        for (int i = 0; i < (SIZE * 2); i++) {
+            StatusBarNotification sbn = getNotification("pkg" + i, i, UserHandle.of(USER_SYSTEM));
+            mArchive.record(sbn, REASON_CANCEL);
+            if (i >= SIZE) {
+                expected.add(sbn.getKey());
+            }
+        }
+
+        List<StatusBarNotification> actual = Arrays.asList(mArchive.getArray((SIZE * 2), true));
+        assertThat(actual).hasSize(expected.size());
+        for (StatusBarNotification sbn : actual) {
+            assertThat(expected).contains(sbn.getKey());
+        }
+    }
+
+    @Test
+    public void testDoesNotRecordIfHistoryDisabled() {
+        mArchive.updateHistoryEnabled(USER_CURRENT, false);
+        List<String> expected = new ArrayList<>();
+        for (int i = 0; i < SIZE; i++) {
+            StatusBarNotification sbn = getNotification("pkg" + i, i,
+                    UserHandle.of(i % 2 ==0 ? USER_SYSTEM : USER_CURRENT));
+            mArchive.record(sbn, REASON_CANCEL);
+            if (i % 2 ==0) {
+                expected.add(sbn.getKey());
+            }
+        }
+
+        List<StatusBarNotification> actual = Arrays.asList(mArchive.getArray(SIZE, true));
+        assertThat(actual).hasSize(expected.size());
+        for (StatusBarNotification sbn : actual) {
+            assertThat(expected).contains(sbn.getKey());
+        }
+    }
+
+    @Test
+    public void testRemovesEntriesWhenHistoryDisabled() {
+        mArchive.updateHistoryEnabled(USER_CURRENT, true);
+        List<String> expected = new ArrayList<>();
+        for (int i = 0; i < SIZE; i++) {
+            StatusBarNotification sbn = getNotification("pkg" + i, i,
+                    UserHandle.of(i % 2 ==0 ? USER_SYSTEM : USER_CURRENT));
+            mArchive.record(sbn, REASON_CANCEL);
+            if (i % 2 ==0) {
+                expected.add(sbn.getKey());
+            }
+        }
+        mArchive.updateHistoryEnabled(USER_CURRENT, false);
+
+        List<StatusBarNotification> actual = Arrays.asList(mArchive.getArray(SIZE, true));
+        assertThat(actual).hasSize(expected.size());
+        for (StatusBarNotification sbn : actual) {
+            assertThat(expected).contains(sbn.getKey());
+        }
+    }
+}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/BubbleCheckerTest.java b/services/tests/uiservicestests/src/com/android/server/notification/BubbleCheckerTest.java
deleted file mode 100644
index 2578ca8..0000000
--- a/services/tests/uiservicestests/src/com/android/server/notification/BubbleCheckerTest.java
+++ /dev/null
@@ -1,261 +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.server.notification;
-
-import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
-import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
-
-import static junit.framework.Assert.assertTrue;
-
-import static org.junit.Assert.assertFalse;
-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.when;
-
-import android.app.ActivityManager;
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.PendingIntent;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ShortcutInfo;
-import android.os.UserHandle;
-import android.service.notification.StatusBarNotification;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.server.UiServiceTestCase;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class BubbleCheckerTest extends UiServiceTestCase {
-
-    private static final String SHORTCUT_ID = "shortcut";
-    private static final String PKG = "pkg";
-    private static final String KEY = "key";
-    private static final int USER_ID = 1;
-
-    @Mock
-    ActivityManager mActivityManager;
-    @Mock
-    RankingConfig mRankingConfig;
-    @Mock
-    ShortcutHelper mShortcutHelper;
-
-    @Mock
-    NotificationRecord mNr;
-    @Mock
-    UserHandle mUserHandle;
-    @Mock
-    Notification mNotif;
-    @Mock
-    StatusBarNotification mSbn;
-    @Mock
-    NotificationChannel mChannel;
-    @Mock
-    Notification.BubbleMetadata mBubbleMetadata;
-    @Mock
-    PendingIntent mPendingIntent;
-    @Mock
-    Intent mIntent;
-
-    BubbleExtractor.BubbleChecker mBubbleChecker;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        when(mNr.getKey()).thenReturn(KEY);
-        when(mNr.getSbn()).thenReturn(mSbn);
-        when(mNr.getUser()).thenReturn(mUserHandle);
-        when(mUserHandle.getIdentifier()).thenReturn(USER_ID);
-        when(mNr.getChannel()).thenReturn(mChannel);
-        when(mSbn.getPackageName()).thenReturn(PKG);
-        when(mSbn.getUser()).thenReturn(mUserHandle);
-        when(mNr.getNotification()).thenReturn(mNotif);
-        when(mNotif.getBubbleMetadata()).thenReturn(mBubbleMetadata);
-
-        mBubbleChecker = new BubbleExtractor.BubbleChecker(mContext,
-                mShortcutHelper,
-                mRankingConfig,
-                mActivityManager);
-    }
-
-    void setUpIntentBubble() {
-        when(mPendingIntent.getIntent()).thenReturn(mIntent);
-        when(mBubbleMetadata.getIntent()).thenReturn(mPendingIntent);
-        when(mBubbleMetadata.getShortcutId()).thenReturn(null);
-    }
-
-    void setUpShortcutBubble(boolean isValid) {
-        when(mBubbleMetadata.getShortcutId()).thenReturn(SHORTCUT_ID);
-        ShortcutInfo info = mock(ShortcutInfo.class);
-        when(info.getId()).thenReturn(SHORTCUT_ID);
-        when(mShortcutHelper.getValidShortcutInfo(SHORTCUT_ID, PKG, mUserHandle))
-                .thenReturn(isValid ? info : null);
-        when(mBubbleMetadata.getIntent()).thenReturn(null);
-    }
-
-    void setUpBubblesEnabled(boolean feature, boolean app, boolean channel) {
-        when(mRankingConfig.bubblesEnabled()).thenReturn(feature);
-        when(mRankingConfig.areBubblesAllowed(PKG, USER_ID)).thenReturn(app);
-        when(mChannel.canBubble()).thenReturn(channel);
-    }
-
-    void setUpActivityIntent(boolean isResizable) {
-        when(mPendingIntent.getIntent()).thenReturn(mIntent);
-        ActivityInfo info = new ActivityInfo();
-        info.resizeMode = isResizable
-                ? RESIZE_MODE_RESIZEABLE
-                : RESIZE_MODE_UNRESIZEABLE;
-        when(mIntent.resolveActivityInfo(any(), anyInt())).thenReturn(info);
-    }
-
-    //
-    // canBubble
-    //
-
-    @Test
-    public void testCanBubble_true_intentBubble() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        setUpIntentBubble();
-        setUpActivityIntent(true /* isResizable */);
-        when(mActivityManager.isLowRamDevice()).thenReturn(false);
-        assertTrue(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_true_shortcutBubble() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        setUpShortcutBubble(true /* isValid */);
-        assertTrue(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_false_noIntentInvalidShortcut() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        setUpShortcutBubble(false /* isValid */);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_false_noIntentNoShortcut() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        when(mBubbleMetadata.getIntent()).thenReturn(null);
-        when(mBubbleMetadata.getShortcutId()).thenReturn(null);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubbble_false_noMetadata() {
-        setUpBubblesEnabled(true/* feature */, true /* app */, true /* channel */);
-        when(mNotif.getBubbleMetadata()).thenReturn(null);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_false_bubblesNotEnabled() {
-        setUpBubblesEnabled(false /* feature */, true /* app */, true /* channel */);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_false_packageNotAllowed() {
-        setUpBubblesEnabled(true /* feature */, false /* app */, true /* channel */);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    @Test
-    public void testCanBubble_false_channelNotAllowed() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, false /* channel */);
-        assertFalse(mBubbleChecker.canBubble(mNr, PKG, USER_ID));
-    }
-
-    //
-    // canLaunchInActivityView
-    //
-
-    @Test
-    public void testCanLaunchInActivityView_true() {
-        setUpActivityIntent(true /* resizable */);
-        assertTrue(mBubbleChecker.canLaunchInActivityView(mContext, mPendingIntent, PKG));
-    }
-
-    @Test
-    public void testCanLaunchInActivityView_false_noIntent() {
-        when(mPendingIntent.getIntent()).thenReturn(null);
-        assertFalse(mBubbleChecker.canLaunchInActivityView(mContext, mPendingIntent, PKG));
-    }
-
-    @Test
-    public void testCanLaunchInActivityView_false_noInfo() {
-        when(mPendingIntent.getIntent()).thenReturn(mIntent);
-        when(mIntent.resolveActivityInfo(any(), anyInt())).thenReturn(null);
-        assertFalse(mBubbleChecker.canLaunchInActivityView(mContext, mPendingIntent, PKG));
-    }
-
-    @Test
-    public void testCanLaunchInActivityView_false_notResizable() {
-        setUpActivityIntent(false  /* resizable */);
-        assertFalse(mBubbleChecker.canLaunchInActivityView(mContext, mPendingIntent, PKG));
-    }
-
-    //
-    // isNotificationAppropriateToBubble
-    //
-
-    @Test
-    public void testIsNotifAppropriateToBubble_true() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        setUpIntentBubble();
-        when(mActivityManager.isLowRamDevice()).thenReturn(false);
-        setUpActivityIntent(true /* resizable */);
-        doReturn(Notification.MessagingStyle.class).when(mNotif).getNotificationStyle();
-
-        assertTrue(mBubbleChecker.isNotificationAppropriateToBubble(mNr));
-    }
-
-    @Test
-    public void testIsNotifAppropriateToBubble_false_lowRam() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        when(mActivityManager.isLowRamDevice()).thenReturn(true);
-        setUpActivityIntent(true /* resizable */);
-        doReturn(Notification.MessagingStyle.class).when(mNotif).getNotificationStyle();
-
-        assertFalse(mBubbleChecker.isNotificationAppropriateToBubble(mNr));
-    }
-
-    @Test
-    public void testIsNotifAppropriateToBubble_false_notMessageStyle() {
-        setUpBubblesEnabled(true /* feature */, true /* app */, true /* channel */);
-        when(mActivityManager.isLowRamDevice()).thenReturn(false);
-        setUpActivityIntent(true /* resizable */);
-        doReturn(Notification.BigPictureStyle.class).when(mNotif).getNotificationStyle();
-
-        assertFalse(mBubbleChecker.isNotificationAppropriateToBubble(mNr));
-    }
-
-}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/BubbleExtractorTest.java b/services/tests/uiservicestests/src/com/android/server/notification/BubbleExtractorTest.java
index 0dbbbaa..3c376c9 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/BubbleExtractorTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/BubbleExtractorTest.java
@@ -15,12 +15,19 @@
  */
 package com.android.server.notification;
 
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+import static android.app.NotificationChannel.USER_LOCKED_ALLOW_BUBBLE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
 
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -28,6 +35,12 @@
 import android.app.Notification;
 import android.app.Notification.Builder;
 import android.app.NotificationChannel;
+import android.app.PendingIntent;
+import android.app.Person;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ShortcutInfo;
+import android.os.SystemClock;
 import android.os.UserHandle;
 import android.service.notification.StatusBarNotification;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -46,16 +59,32 @@
 @RunWith(AndroidJUnit4.class)
 public class BubbleExtractorTest extends UiServiceTestCase {
 
-    @Mock RankingConfig mConfig;
-    @Mock BubbleExtractor.BubbleChecker mBubbleChecker;
+    private static final String SHORTCUT_ID = "shortcut";
+    private static final String PKG = "com.android.server.notification";
+    private static final String TAG = null;
+    private static final int ID = 1001;
+    private static final int UID = 1000;
+    private static final int PID = 2000;
+    UserHandle mUser = UserHandle.of(ActivityManager.getCurrentUser());
+
     BubbleExtractor mBubbleExtractor;
 
-    private String mPkg = "com.android.server.notification";
-    private int mId = 1001;
-    private String mTag = null;
-    private int mUid = 1000;
-    private int mPid = 2000;
-    private UserHandle mUser = UserHandle.of(ActivityManager.getCurrentUser());
+    @Mock
+    RankingConfig mConfig;
+    @Mock
+    NotificationChannel mChannel;
+    @Mock
+    Notification.BubbleMetadata mBubbleMetadata;
+    @Mock
+    PendingIntent mPendingIntent;
+    @Mock
+    Intent mIntent;
+    @Mock
+    ShortcutInfo mShortcutInfo;
+    @Mock
+    ShortcutHelper mShortcutHelper;
+    @Mock
+    ActivityManager mActivityManager;
 
     @Before
     public void setUp() {
@@ -63,58 +92,103 @@
         mBubbleExtractor = new BubbleExtractor();
         mBubbleExtractor.initialize(mContext, mock(NotificationUsageStats.class));
         mBubbleExtractor.setConfig(mConfig);
-        mBubbleExtractor.setShortcutHelper(mock(ShortcutHelper.class));
+        mBubbleExtractor.setShortcutHelper(mShortcutHelper);
+        mBubbleExtractor.setActivityManager(mActivityManager);
+
+        when(mConfig.getNotificationChannel(PKG, UID, "a", false)).thenReturn(mChannel);
+        when(mShortcutInfo.getId()).thenReturn(SHORTCUT_ID);
     }
 
-    private NotificationRecord getNotificationRecord(boolean allow, int importanceHigh) {
-        NotificationChannel channel = new NotificationChannel("a", "a", importanceHigh);
-        channel.setAllowBubbles(allow);
-        when(mConfig.getNotificationChannel(mPkg, mUid, "a", false)).thenReturn(channel);
-
+    /* NotificationRecord that fulfills conversation requirements (message style + shortcut) */
+    private NotificationRecord getNotificationRecord(boolean addBubble) {
         final Builder builder = new Builder(getContext())
                 .setContentTitle("foo")
                 .setSmallIcon(android.R.drawable.sym_def_app_icon)
                 .setPriority(Notification.PRIORITY_HIGH)
                 .setDefaults(Notification.DEFAULT_SOUND);
-
+        Person person = new Person.Builder()
+                .setName("bubblebot")
+                .build();
+        builder.setShortcutId(SHORTCUT_ID);
+        builder.setStyle(new Notification.MessagingStyle(person)
+                .setConversationTitle("Bubble Chat")
+                .addMessage("Hello?",
+                        SystemClock.currentThreadTimeMillis() - 300000, person)
+                .addMessage("Is it me you're looking for?",
+                        SystemClock.currentThreadTimeMillis(), person));
         Notification n = builder.build();
-        StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, mId, mTag, mUid,
-                mPid, n, mUser, null, System.currentTimeMillis());
-        NotificationRecord r = new NotificationRecord(getContext(), sbn, channel);
+        if (addBubble) {
+            n.setBubbleMetadata(mBubbleMetadata);
+        }
+        StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, ID, TAG, UID,
+                PID, n, mUser, null, System.currentTimeMillis());
+        NotificationRecord r = new NotificationRecord(getContext(), sbn, mChannel);
+        r.setShortcutInfo(mShortcutInfo);
         return r;
     }
 
+    void setUpIntentBubble(boolean isValid) {
+        when(mPendingIntent.getIntent()).thenReturn(mIntent);
+        when(mBubbleMetadata.getIntent()).thenReturn(mPendingIntent);
+        when(mBubbleMetadata.getShortcutId()).thenReturn(null);
+
+        when(mPendingIntent.getIntent()).thenReturn(mIntent);
+        ActivityInfo info = new ActivityInfo();
+        info.resizeMode = isValid
+                ? RESIZE_MODE_RESIZEABLE
+                : RESIZE_MODE_UNRESIZEABLE;
+        when(mIntent.resolveActivityInfo(any(), anyInt())).thenReturn(info);
+    }
+
+    void setUpShortcutBubble(boolean isValid) {
+        when(mBubbleMetadata.getShortcutId()).thenReturn(SHORTCUT_ID);
+        when(mBubbleMetadata.getIntent()).thenReturn(null);
+        ShortcutInfo answer = isValid ? mShortcutInfo : null;
+        when(mShortcutHelper.getValidShortcutInfo(SHORTCUT_ID, PKG, mUser)).thenReturn(answer);
+    }
+
+    void setUpBubblesEnabled(boolean feature, int app, boolean channel) {
+        when(mConfig.bubblesEnabled()).thenReturn(feature);
+        when(mConfig.getBubblePreference(anyString(), anyInt())).thenReturn(app);
+        when(mChannel.canBubble()).thenReturn(channel);
+    }
+
     //
-    // Tests
+    // Tests for the record being allowed to bubble.
     //
 
     @Test
     public void testAppYesChannelNo() {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(true);
-        NotificationRecord r = getNotificationRecord(false, IMPORTANCE_UNSPECIFIED);
-
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                false /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        when(mChannel.getUserLockedFields()).thenReturn(USER_LOCKED_ALLOW_BUBBLE);
         mBubbleExtractor.process(r);
 
         assertFalse(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
     }
 
     @Test
     public void testAppNoChannelYes() throws Exception {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(false);
-        NotificationRecord r = getNotificationRecord(true, IMPORTANCE_HIGH);
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_NONE /* app */,
+                true /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
 
         mBubbleExtractor.process(r);
 
         assertFalse(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
     }
 
     @Test
     public void testAppYesChannelYes() {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(true);
-        NotificationRecord r = getNotificationRecord(true, IMPORTANCE_UNSPECIFIED);
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
 
         mBubbleExtractor.process(r);
 
@@ -123,34 +197,85 @@
 
     @Test
     public void testAppNoChannelNo() {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(false);
-        NotificationRecord r = getNotificationRecord(false, IMPORTANCE_UNSPECIFIED);
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_NONE /* app */,
+                false /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
 
         mBubbleExtractor.process(r);
 
         assertFalse(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
     }
 
     @Test
     public void testAppYesChannelYesUserNo() {
-        when(mConfig.bubblesEnabled()).thenReturn(false);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(true);
-        NotificationRecord r = getNotificationRecord(true, IMPORTANCE_HIGH);
+        setUpBubblesEnabled(false /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
 
         mBubbleExtractor.process(r);
 
         assertFalse(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
     }
 
     @Test
-    public void testFlagBubble_true() {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(true);
-        NotificationRecord r = getNotificationRecord(true, IMPORTANCE_UNSPECIFIED);
+    public void testAppSelectedChannelNo() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_SELECTED /* app */,
+                false /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
 
-        mBubbleExtractor.setBubbleChecker(mBubbleChecker);
-        when(mBubbleChecker.isNotificationAppropriateToBubble(r)).thenReturn(true);
+        mBubbleExtractor.process(r);
+
+        assertFalse(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testAppSeletedChannelYes() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_SELECTED /* app */,
+                true /* channel */);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        when(mChannel.getUserLockedFields()).thenReturn(USER_LOCKED_ALLOW_BUBBLE);
+
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+    }
+
+    //
+    // Tests for flagging it as a bubble.
+    //
+
+    @Test
+    public void testFlagBubble_false_previouslyRemoved() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        r.setFlagBubbleRemoved(true);
+
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_true_shortcutBubble() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+        setUpShortcutBubble(true /* isValid */);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
         mBubbleExtractor.process(r);
 
         assertTrue(r.canBubble());
@@ -158,14 +283,142 @@
     }
 
     @Test
-    public void testFlagBubble_noFlag_previouslyRemoved() {
-        when(mConfig.bubblesEnabled()).thenReturn(true);
-        when(mConfig.areBubblesAllowed(mPkg, mUid)).thenReturn(true);
-        NotificationRecord r = getNotificationRecord(true, IMPORTANCE_UNSPECIFIED);
-        r.setFlagBubbleRemoved(true);
+    public void testFlagBubble_true_intentBubble() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+        setUpIntentBubble(true /* isValid */);
 
-        mBubbleExtractor.setBubbleChecker(mBubbleChecker);
-        when(mBubbleChecker.isNotificationAppropriateToBubble(r)).thenReturn(true);
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertTrue(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_noIntentInvalidShortcut() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+        setUpShortcutBubble(false /* isValid */);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        r.setShortcutInfo(null);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_invalidIntentNoShortcut() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+        setUpIntentBubble(false /* isValid */);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        r.setShortcutInfo(null);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_noIntentNoShortcut() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+
+        // Shortcut here is for the notification not the bubble
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_noMetadata() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+
+        NotificationRecord r = getNotificationRecord(false /* bubble */);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_notConversation() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(false);
+        setUpIntentBubble(true /* isValid */);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        // No longer a conversation:
+        r.setShortcutInfo(null);
+        r.getNotification().extras.putString(Notification.EXTRA_TEMPLATE, null);
+
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_lowRamDevice() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(true);
+        setUpIntentBubble(true /* isValid */);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_noIntent() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(true);
+        setUpIntentBubble(true /* isValid */);
+        when(mPendingIntent.getIntent()).thenReturn(null);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
+        mBubbleExtractor.process(r);
+
+        assertTrue(r.canBubble());
+        assertFalse(r.getNotification().isBubbleNotification());
+    }
+
+    @Test
+    public void testFlagBubble_false_noActivityInfo() {
+        setUpBubblesEnabled(true /* feature */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+        when(mActivityManager.isLowRamDevice()).thenReturn(true);
+        setUpIntentBubble(true /* isValid */);
+        when(mPendingIntent.getIntent()).thenReturn(mIntent);
+        when(mIntent.resolveActivityInfo(any(), anyInt())).thenReturn(null);
+
+        NotificationRecord r = getNotificationRecord(true /* bubble */);
         mBubbleExtractor.process(r);
 
         assertTrue(r.canBubble());
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
index 7b7470c..99433a6 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
@@ -77,6 +77,7 @@
 import java.io.ByteArrayOutputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -96,6 +97,10 @@
 
     UserInfo mZero = new UserInfo(0, "zero", 0);
     UserInfo mTen = new UserInfo(10, "ten", 0);
+    private String mDefaultsString;
+    private String mVersionString;
+    private final Set<ComponentName> mDefaults = new ArraySet();
+    private ManagedServices mService;
 
     private static final String SETTING = "setting";
     private static final String SECONDARY_SETTING = "secondary_setting";
@@ -106,8 +111,8 @@
     private ArrayMap<Integer, String> mExpectedSecondaryComponentNames;
 
     // type : user : list of approved
-    private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedPrimary = new ArrayMap<>();
-    private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedSecondary = new ArrayMap<>();
+    private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedPrimary;
+    private ArrayMap<Integer, ArrayMap<Integer, String>> mExpectedSecondary;
 
     @Before
     public void setUp() throws Exception {
@@ -132,6 +137,9 @@
         profileIds.add(12);
         when(mUserProfiles.getCurrentProfileIds()).thenReturn(profileIds);
 
+        mVersionString = "2";
+        mExpectedPrimary = new ArrayMap<>();
+        mExpectedSecondary = new ArrayMap<>();
         mExpectedPrimaryPackages = new ArrayMap<>();
         mExpectedPrimaryPackages.put(0, "this.is.a.package.name:another.package");
         mExpectedPrimaryPackages.put(10, "this.is.another.package");
@@ -155,6 +163,8 @@
                 "this.is.another.package:component:package");
         mExpectedSecondary.put(APPROVAL_BY_PACKAGE, mExpectedSecondaryPackages);
         mExpectedSecondary.put(APPROVAL_BY_COMPONENT, mExpectedSecondaryComponentNames);
+        mService = new TestManagedServices(getContext(), mLock, mUserProfiles,
+                mIpm, APPROVAL_BY_COMPONENT);
     }
 
     @Test
@@ -962,7 +972,7 @@
         when(service.asBinder()).thenReturn(mock(IBinder.class));
         ManagedServices services = new TestManagedServices(getContext(), mLock, mUserProfiles,
                 mIpm, APPROVAL_BY_PACKAGE);
-        services.registerService(service, null, 10);
+        services.registerSystemService(service, null, 10);
         ManagedServices.ManagedServiceInfo info = services.checkServiceTokenLocked(service);
         info.isSystem = true;
 
@@ -1178,9 +1188,99 @@
         }
     }
 
+    @Test
+    public void loadDefaults_noVersionNoDefaults() throws Exception {
+        resetComponentsAndPackages();
+        loadXml(mService);
+        assertEquals(mService.getDefaultComponents().size(), 0);
+    }
+
+    @Test
+    public void loadDefaults_noVersionNoDefaultsOneActive() throws Exception {
+        resetComponentsAndPackages();
+        mService.addDefaultComponentOrPackage("package/class");
+        loadXml(mService);
+        assertEquals(1, mService.getDefaultComponents().size());
+        assertTrue(mService.getDefaultComponents()
+                .contains(ComponentName.unflattenFromString("package/class")));
+    }
+
+    @Test
+    public void loadDefaults_noVersionWithDefaults() throws Exception {
+        resetComponentsAndPackages();
+        mDefaults.add(new ComponentName("default", "class"));
+        loadXml(mService);
+        assertEquals(mService.getDefaultComponents(), mDefaults);
+    }
+
+    @Test
+    public void loadDefaults_versionOneWithDefaultsWithActive() throws Exception {
+        resetComponentsAndPackages();
+        mDefaults.add(new ComponentName("default", "class"));
+        mExpectedPrimaryComponentNames.put(0, "package/class");
+        mVersionString = "1";
+        loadXml(mService);
+        assertEquals(mService.getDefaultComponents(),
+                new ArraySet(Arrays.asList(new ComponentName("package", "class"))));
+    }
+
+    @Test
+    public void loadDefaults_versionTwoWithDefaultsWithActive() throws Exception {
+        resetComponentsAndPackages();
+        mDefaults.add(new ComponentName("default", "class"));
+        mDefaultsString = "default/class";
+        mExpectedPrimaryComponentNames.put(0, "package/class");
+        mVersionString = "2";
+        loadXml(mService);
+        assertEquals(1, mService.getDefaultComponents().size());
+        mDefaults.forEach(pkg -> {
+            assertTrue(mService.getDefaultComponents().contains(pkg));
+        });
+    }
+
+    @Test
+    public void loadDefaults_versionOneWithXMLDefaultsWithActive() throws Exception {
+        resetComponentsAndPackages();
+        mDefaults.add(new ComponentName("default", "class"));
+        mDefaultsString = "xml/class";
+        mExpectedPrimaryComponentNames.put(0, "package/class");
+        mVersionString = "1";
+        loadXml(mService);
+        assertEquals(mService.getDefaultComponents(),
+                new ArraySet(Arrays.asList(new ComponentName("xml", "class"))));
+    }
+
+    @Test
+    public void loadDefaults_versionTwoWithXMLDefaultsWithActive() throws Exception {
+        resetComponentsAndPackages();
+        mDefaults.add(new ComponentName("default", "class"));
+        mDefaultsString = "xml/class";
+        mExpectedPrimaryComponentNames.put(0, "package/class");
+        mVersionString = "2";
+        loadXml(mService);
+        assertEquals(mService.getDefaultComponents(),
+                new ArraySet(Arrays.asList(new ComponentName("xml", "class"))));
+    }
+
+    private void resetComponentsAndPackages() {
+        ArrayMap<Integer, ArrayMap<Integer, String>> empty = new ArrayMap(1);
+        ArrayMap<Integer, String> emptyPkgs = new ArrayMap(0);
+        empty.append(mService.mApprovalLevel, emptyPkgs);
+        mExpectedPrimary = empty;
+        mExpectedPrimaryComponentNames = emptyPkgs;
+        mExpectedPrimaryPackages = emptyPkgs;
+        mExpectedSecondary = empty;
+        mExpectedSecondaryComponentNames = emptyPkgs;
+        mExpectedSecondaryPackages = emptyPkgs;
+    }
+
     private void loadXml(ManagedServices service) throws Exception {
         final StringBuffer xml = new StringBuffer();
-        xml.append("<" + service.getConfig().xmlTag + ">\n");
+        String xmlTag = service.getConfig().xmlTag;
+        xml.append("<" + xmlTag
+                + (mDefaultsString != null ? " defaults=\"" + mDefaultsString + "\" " : "")
+                + (mVersionString != null ? " version=\"" + mVersionString + "\" " : "")
+                + ">\n");
         for (int userId : mExpectedPrimary.get(service.mApprovalLevel).keySet()) {
             xml.append(getXmlEntry(
                     mExpectedPrimary.get(service.mApprovalLevel).get(userId), userId, true));
@@ -1197,7 +1297,7 @@
                 + ManagedServices.ATT_USER_ID + "=\"98\" "
                 + ManagedServices.ATT_IS_PRIMARY + "=\"false\" "
                 + ManagedServices.ATT_APPROVED_LIST + "=\"98\" />\n");
-        xml.append("</" + service.getConfig().xmlTag + ">");
+        xml.append("</" + xmlTag + ">");
 
         XmlPullParser parser = Xml.newPullParser();
         parser.setInput(new BufferedInputStream(
@@ -1224,6 +1324,7 @@
 
     private void addExpectedServices(final ManagedServices service, final List<String> packages,
             int userId) {
+        ManagedServices.Config config = service.getConfig();
         when(mPm.queryIntentServicesAsUser(any(), anyInt(), eq(userId))).
                 thenAnswer(new Answer<List<ResolveInfo>>() {
                     @Override
@@ -1233,7 +1334,7 @@
                         Intent invocationIntent = (Intent) args[0];
                         if (invocationIntent != null) {
                             if (invocationIntent.getAction().equals(
-                                    service.getConfig().serviceInterface)
+                                    config.serviceInterface)
                                     && packages.contains(invocationIntent.getPackage())) {
                                 List<ResolveInfo> dummyServices = new ArrayList<>();
                                 for (int i = 1; i <= 3; i ++) {
@@ -1431,6 +1532,11 @@
         }
 
         @Override
+        protected void loadDefaultsFromConfig() {
+            mDefaultComponents.addAll(mDefaults);
+        }
+
+        @Override
         protected String getRequiredPermission() {
             return null;
         }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
index 88186cd..ab4dc47 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
@@ -72,13 +72,13 @@
 
     Object mLock = new Object();
 
+
     UserInfo mZero = new UserInfo(0, "zero", 0);
     UserInfo mTen = new UserInfo(10, "ten", 0);
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
-
         getContext().setMockPackageManager(mPm);
         getContext().addMockSystemService(Context.USER_SERVICE, mUm);
         mAssistants = spy(mNm.new NotificationAssistants(getContext(), mLock, mUserProfiles, miPm));
@@ -122,7 +122,7 @@
 
     @Test
     public void testXmlUpgradeExistingApprovedComponents() throws Exception {
-        String xml = "<enabled_assistants>"
+        String xml = "<enabled_assistants version=\"2\" defaults=\"b\\b\">"
                 + "<service_listing approved=\"b/b\" user=\"10\" primary=\"true\" />"
                 + "</enabled_assistants>";
 
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index 15220e1..ecdd9e5 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -21,6 +21,10 @@
 import static android.app.Notification.FLAG_AUTO_CANCEL;
 import static android.app.Notification.FLAG_BUBBLE;
 import static android.app.Notification.FLAG_FOREGROUND_SERVICE;
+import static android.app.NotificationChannel.USER_LOCKED_ALLOW_BUBBLE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 import static android.app.NotificationManager.EXTRA_BLOCKED_STATE;
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
 import static android.app.NotificationManager.IMPORTANCE_HIGH;
@@ -39,6 +43,7 @@
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
 import static android.content.pm.PackageManager.FEATURE_WATCH;
 import static android.content.pm.PackageManager.PERMISSION_DENIED;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
@@ -101,12 +106,14 @@
 import android.content.ContentUris;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.LauncherApps;
 import android.content.pm.PackageManager;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutServiceInternal;
 import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.graphics.Color;
@@ -204,7 +211,6 @@
     private TestableNotificationManagerService mService;
     private INotificationManager mBinderService;
     private NotificationManagerInternal mInternalService;
-    private TestableBubbleChecker mTestableBubbleChecker;
     private ShortcutHelper mShortcutHelper;
     @Mock
     private IPackageManager mPackageManager;
@@ -229,6 +235,8 @@
     @Mock
     private LauncherApps mLauncherApps;
     @Mock
+    private ShortcutServiceInternal mShortcutServiceInternal;
+    @Mock
     ActivityManager mActivityManager;
     @Mock
     Resources mResources;
@@ -347,21 +355,6 @@
         }
     }
 
-    private class TestableBubbleChecker extends BubbleExtractor.BubbleChecker {
-
-        TestableBubbleChecker(Context context, ShortcutHelper helper, RankingConfig config,
-                ActivityManager manager) {
-            super(context, helper, config, manager);
-        }
-
-        @Override
-        protected boolean canLaunchInActivityView(Context context, PendingIntent pendingIntent,
-                String packageName) {
-            // Tests for this not being true are in CTS NotificationManagerTest
-            return true;
-        }
-    }
-
     private class TestableToastCallback extends ITransientNotification.Stub {
         @Override
         public void show(IBinder windowToken) {
@@ -476,13 +469,12 @@
 
         mShortcutHelper = mService.getShortcutHelper();
         mShortcutHelper.setLauncherApps(mLauncherApps);
+        mShortcutHelper.setShortcutServiceInternal(mShortcutServiceInternal);
 
         // Set the testable bubble extractor
         RankingHelper rankingHelper = mService.getRankingHelper();
         BubbleExtractor extractor = rankingHelper.findExtractor(BubbleExtractor.class);
-        mTestableBubbleChecker = new TestableBubbleChecker(mContext, mShortcutHelper,
-                mService.mPreferencesHelper, mActivityManager);
-        extractor.setBubbleChecker(mTestableBubbleChecker);
+        extractor.setActivityManager(mActivityManager);
 
         // Tests call directly into the Binder.
         mBinderService = mService.getBinderService();
@@ -544,13 +536,13 @@
     }
 
     private void setUpPrefsForBubbles(String pkg, int uid, boolean globalEnabled,
-            boolean pkgEnabled, boolean channelEnabled) {
+            int pkgPref, boolean channelEnabled) {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.NOTIFICATION_BUBBLES, globalEnabled ? 1 : 0);
         mService.mPreferencesHelper.updateBubblesEnabled();
         assertEquals(globalEnabled, mService.mPreferencesHelper.bubblesEnabled());
         try {
-            mBinderService.setBubblesAllowed(pkg, uid, pkgEnabled);
+            mBinderService.setBubblesAllowed(pkg, uid, pkgPref);
         } catch (RemoteException e) {
             e.printStackTrace();
         }
@@ -687,19 +679,12 @@
                 false);
     }
 
-    private Notification.BubbleMetadata.Builder getBubbleMetadataBuilder() {
-        PendingIntent pi = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
-        return new Notification.BubbleMetadata.Builder(pi,
-                Icon.createWithResource(mContext, android.R.drawable.sym_def_app_icon));
-    }
-
     private Notification.Builder getMessageStyleNotifBuilder(boolean addBubbleMetadata,
             String groupKey, boolean isSummary) {
         // Give it a person
         Person person = new Person.Builder()
                 .setName("bubblebot")
                 .build();
-        // It needs remote input to be bubble-able
         RemoteInput remoteInput = new RemoteInput.Builder("reply_key").setLabel("reply").build();
         PendingIntent inputIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
         Icon icon = Icon.createWithResource(mContext, android.R.drawable.sym_def_app_icon);
@@ -724,11 +709,26 @@
             nb.setGroup(groupKey);
         }
         if (addBubbleMetadata) {
-            nb.setBubbleMetadata(getBubbleMetadataBuilder().build());
+            nb.setBubbleMetadata(getBubbleMetadata());
         }
         return nb;
     }
 
+    private Notification.BubbleMetadata getBubbleMetadata() {
+        PendingIntent pendingIntent = mock(PendingIntent.class);
+        Intent intent = mock(Intent.class);
+        when(pendingIntent.getIntent()).thenReturn(intent);
+
+        ActivityInfo info = new ActivityInfo();
+        info.resizeMode = RESIZE_MODE_RESIZEABLE;
+        when(intent.resolveActivityInfo(any(), anyInt())).thenReturn(info);
+
+        return new Notification.BubbleMetadata.Builder(
+                pendingIntent,
+                Icon.createWithResource(mContext, android.R.drawable.sym_def_app_icon))
+                .build();
+    }
+
     private NotificationRecord addGroupWithBubblesAndValidateAdded(boolean summaryAutoCancel)
             throws RemoteException {
 
@@ -786,33 +786,16 @@
         userInfos.add(new UserInfo(0, "", 0));
         final ArraySet<ComponentName> validAssistants = new ArraySet<>();
         validAssistants.add(ComponentName.unflattenFromString(testComponent));
-        final String originalComponent = DeviceConfig.getProperty(
-                DeviceConfig.NAMESPACE_SYSTEMUI,
-                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE
-        );
-        DeviceConfig.setProperty(
-                DeviceConfig.NAMESPACE_SYSTEMUI,
-                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE,
-                testComponent,
-                false
-        );
         when(mActivityManager.isLowRamDevice()).thenReturn(false);
         when(mAssistants.queryPackageForServices(isNull(), anyInt(), anyInt()))
                 .thenReturn(validAssistants);
-        when(mAssistants.getDefaultComponents()).thenReturn(new ArraySet<>());
+        when(mAssistants.getDefaultComponents()).thenReturn(validAssistants);
         when(mUm.getEnabledProfiles(anyInt())).thenReturn(userInfos);
 
         mService.setDefaultAssistantForUser(userId);
 
         verify(mAssistants).setPackageOrComponentEnabled(
                 eq(testComponent), eq(userId), eq(true), eq(true));
-
-        DeviceConfig.setProperty(
-                DeviceConfig.NAMESPACE_SYSTEMUI,
-                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE,
-                originalComponent,
-                false
-        );
     }
 
     @Test
@@ -4483,24 +4466,31 @@
 
     @Test
     public void testBubble() throws Exception {
-        mBinderService.setBubblesAllowed(PKG, mUid, false);
-        assertFalse(mBinderService.areBubblesAllowedForPackage(PKG, mUid));
+        mBinderService.setBubblesAllowed(PKG, mUid, BUBBLE_PREFERENCE_NONE);
+        assertFalse(mBinderService.areBubblesAllowed(PKG));
+        assertEquals(mBinderService.getBubblePreferenceForPackage(PKG, mUid),
+                BUBBLE_PREFERENCE_NONE);
     }
 
     @Test
-    public void testUserApprovedBubblesForPackage() throws Exception {
-        assertFalse(mBinderService.hasUserApprovedBubblesForPackage(PKG, mUid));
-        mBinderService.setBubblesAllowed(PKG, mUid, true);
-        assertTrue(mBinderService.hasUserApprovedBubblesForPackage(PKG, mUid));
-        assertTrue(mBinderService.areBubblesAllowedForPackage(PKG, mUid));
+    public void testUserApprovedBubblesForPackageSelected() throws Exception {
+        mBinderService.setBubblesAllowed(PKG, mUid, BUBBLE_PREFERENCE_SELECTED);
+        assertEquals(mBinderService.getBubblePreferenceForPackage(PKG, mUid),
+                BUBBLE_PREFERENCE_SELECTED);
+    }
+
+    @Test
+    public void testUserApprovedBubblesForPackageAll() throws Exception {
+        mBinderService.setBubblesAllowed(PKG, mUid, BUBBLE_PREFERENCE_ALL);
+        assertTrue(mBinderService.areBubblesAllowed(PKG));
+        assertEquals(mBinderService.getBubblePreferenceForPackage(PKG, mUid),
+                BUBBLE_PREFERENCE_ALL);
     }
 
     @Test
     public void testUserRejectsBubblesForPackage() throws Exception {
-        assertFalse(mBinderService.hasUserApprovedBubblesForPackage(PKG, mUid));
-        mBinderService.setBubblesAllowed(PKG, mUid, false);
-        assertTrue(mBinderService.hasUserApprovedBubblesForPackage(PKG, mUid));
-        assertFalse(mBinderService.areBubblesAllowedForPackage(PKG, mUid));
+        mBinderService.setBubblesAllowed(PKG, mUid, BUBBLE_PREFERENCE_NONE);
+        assertFalse(mBinderService.areBubblesAllowed(PKG));
     }
 
     @Test
@@ -5166,8 +5156,10 @@
 
     @Test
     public void testFlagBubble() throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nr =
                 generateMessageBubbleNotifRecord(mTestNotificationChannel, "testFlagBubble");
@@ -5185,8 +5177,10 @@
 
     @Test
     public void testFlagBubble_noFlag_appNotAllowed() throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, false /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_NONE /* app */,
+                true /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                         "testFlagBubble_noFlag_appNotAllowed");
@@ -5204,15 +5198,17 @@
 
     @Test
     public void testFlagBubbleNotifs_noFlag_whenAppForeground() throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Notif with bubble metadata but not our other misc requirements
         Notification.Builder nb = new Notification.Builder(mContext,
                 mTestNotificationChannel.getId())
                 .setContentTitle("foo")
                 .setSmallIcon(android.R.drawable.sym_def_app_icon)
-                .setBubbleMetadata(getBubbleMetadataBuilder().build());
+                .setBubbleMetadata(getBubbleMetadata());
         StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 1, "tag", mUid, 0,
                 nb.build(), new UserHandle(mUid), null, 0);
         NotificationRecord nr = new NotificationRecord(mContext, sbn, mTestNotificationChannel);
@@ -5232,8 +5228,10 @@
 
     @Test
     public void testFlagBubbleNotifs_flag_messaging() throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testFlagBubbleNotifs_flag_messaging");
@@ -5249,8 +5247,10 @@
 
     @Test
     public void testFlagBubbleNotifs_noFlag_messaging_appNotAllowed() throws RemoteException {
-        // Bubbles are NOT allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, false /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_NONE /* app */,
+                true /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testFlagBubbleNotifs_noFlag_messaging_appNotAllowed");
@@ -5267,8 +5267,10 @@
 
     @Test
     public void testFlagBubbleNotifs_noFlag_notBubble() throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Messaging notif WITHOUT bubble metadata
         Notification.Builder nb = getMessageStyleNotifBuilder(false /* addBubbleMetadata */,
@@ -5291,11 +5293,14 @@
 
     @Test
     public void testFlagBubbleNotifs_noFlag_messaging_channelNotAllowed() throws RemoteException {
-        // Bubbles are allowed except on this channel
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, false /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                false /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testFlagBubbleNotifs_noFlag_messaging_channelNotAllowed");
+        nr.getChannel().lockFields(USER_LOCKED_ALLOW_BUBBLE);
 
         // Post the notification
         mBinderService.enqueueNotificationWithTag(PKG, PKG, nr.getSbn().getTag(),
@@ -5488,7 +5493,7 @@
     @Test
     public void testAreBubblesAllowedForPackage_crossUser() throws Exception {
         try {
-            mBinderService.areBubblesAllowedForPackage(mContext.getPackageName(),
+            mBinderService.getBubblePreferenceForPackage(mContext.getPackageName(),
                     mUid + UserHandle.PER_USER_RANGE);
             fail("Cannot call cross user without permission");
         } catch (SecurityException e) {
@@ -5497,7 +5502,7 @@
 
         // cross user, with permission, no problem
         enableInteractAcrossUsers();
-        mBinderService.areBubblesAllowedForPackage(mContext.getPackageName(),
+        mBinderService.getBubblePreferenceForPackage(mContext.getPackageName(),
                 mUid + UserHandle.PER_USER_RANGE);
     }
 
@@ -5508,8 +5513,10 @@
 
     @Test
     public void testNotificationBubbleChanged_false() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Notif with bubble metadata
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
@@ -5528,7 +5535,7 @@
         assertTrue((notifsBefore[0].getNotification().flags & FLAG_BUBBLE) != 0);
 
         // Notify we're not a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false, 0);
         waitForIdle();
 
         // Make sure we are not a bubble
@@ -5539,8 +5546,10 @@
 
     @Test
     public void testNotificationBubbleChanged_true() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Notif that is not a bubble
         NotificationRecord nr = generateNotificationRecord(mTestNotificationChannel,
@@ -5565,7 +5574,7 @@
         reset(mListeners);
 
         // Notify we are now a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true, 0);
         waitForIdle();
 
         // Make sure we are a bubble
@@ -5576,8 +5585,10 @@
 
     @Test
     public void testNotificationBubbleChanged_true_notAllowed() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Notif that is not a bubble
         NotificationRecord nr = generateNotificationRecord(mTestNotificationChannel);
@@ -5594,7 +5605,7 @@
         assertEquals((notifsBefore[0].getNotification().flags & FLAG_BUBBLE), 0);
 
         // Notify we are now a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true, 0);
         waitForIdle();
 
         // We still wouldn't be a bubble because the notification didn't meet requirements
@@ -5605,8 +5616,11 @@
 
     @Test
     public void testNotificationBubbleIsFlagRemoved_resetOnUpdate() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+
         // Notif with bubble metadata
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testNotificationBubbleIsFlagRemoved_resetOnUpdate");
@@ -5619,7 +5633,7 @@
         assertFalse(recordToCheck.isFlagBubbleRemoved());
 
         // Notify we're not a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false, 0);
         waitForIdle();
         // Flag should be modified
         recordToCheck = mService.getNotificationRecord(nr.getSbn().getKey());
@@ -5637,8 +5651,11 @@
 
     @Test
     public void testNotificationBubbleIsFlagRemoved_resetOnBubbleChangedTrue() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+
         // Notif with bubble metadata
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testNotificationBubbleIsFlagRemoved_trueOnBubbleChangedTrue");
@@ -5651,14 +5668,14 @@
         assertFalse(recordToCheck.isFlagBubbleRemoved());
 
         // Notify we're not a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), false, 0);
         waitForIdle();
         // Flag should be modified
         recordToCheck = mService.getNotificationRecord(nr.getSbn().getKey());
         assertTrue(recordToCheck.isFlagBubbleRemoved());
 
         // Notify we are a bubble
-        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true);
+        mService.mNotificationDelegate.onNotificationBubbleChanged(nr.getKey(), true, 0);
         waitForIdle();
         // And the flag is reset
         assertFalse(recordToCheck.isFlagBubbleRemoved());
@@ -5666,16 +5683,14 @@
 
     @Test
     public void testOnBubbleNotificationSuppressionChanged() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // Bubble notification
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel, "tag");
 
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, nr.getSbn().getUserId(), true /* global */,
-                true /* app */, true /* channel */);
-
         mBinderService.enqueueNotificationWithTag(PKG, PKG, nr.getSbn().getTag(),
                 nr.getSbn().getId(), nr.getSbn().getNotification(), nr.getSbn().getUserId());
         waitForIdle();
@@ -5888,8 +5903,10 @@
 
     @Test
     public void testNotificationBubbles_disabled_lowRamDevice() throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         // And we are low ram
         when(mActivityManager.isLowRamDevice()).thenReturn(true);
@@ -5972,8 +5989,10 @@
     @Test
     public void testNotificationBubbles_flagAutoExpandForeground_fails_notForeground()
             throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testNotificationBubbles_flagAutoExpandForeground_fails_notForeground");
@@ -6002,8 +6021,10 @@
     @Test
     public void testNotificationBubbles_flagAutoExpandForeground_succeeds_foreground()
             throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel,
                 "testNotificationBubbles_flagAutoExpandForeground_succeeds_foreground");
@@ -6032,8 +6053,10 @@
     @Test
     public void testNotificationBubbles_flagRemoved_whenShortcutRemoved()
             throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         ArgumentCaptor<LauncherApps.Callback> launcherAppsCallback =
                 ArgumentCaptor.forClass(LauncherApps.Callback.class);
@@ -6052,8 +6075,11 @@
         List<ShortcutInfo> shortcutInfos = new ArrayList<>();
         ShortcutInfo info = mock(ShortcutInfo.class);
         when(info.isLongLived()).thenReturn(true);
+        when(info.isEnabled()).thenReturn(true);
         shortcutInfos.add(info);
         when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcutInfos);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
 
         // Test: Send the bubble notification
         mBinderService.enqueueNotificationWithTag(PKG, PKG, nr.getSbn().getTag(),
@@ -6090,8 +6116,10 @@
     @Test
     public void testNotificationBubbles_shortcut_stopListeningWhenNotifRemoved()
             throws RemoteException {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         ArgumentCaptor<LauncherApps.Callback> launcherAppsCallback =
                 ArgumentCaptor.forClass(LauncherApps.Callback.class);
@@ -6110,8 +6138,11 @@
         List<ShortcutInfo> shortcutInfos = new ArrayList<>();
         ShortcutInfo info = mock(ShortcutInfo.class);
         when(info.isLongLived()).thenReturn(true);
+        when(info.isEnabled()).thenReturn(true);
         shortcutInfos.add(info);
         when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcutInfos);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
 
         // Test: Send the bubble notification
         mBinderService.enqueueNotificationWithTag(PKG, PKG, nr.getSbn().getTag(),
@@ -6141,8 +6172,10 @@
     @Test
     public void testNotificationBubbles_bubbleChildrenStay_whenGroupSummaryDismissed()
             throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nrSummary = addGroupWithBubblesAndValidateAdded(
                 true /* summaryAutoCancel */);
@@ -6165,8 +6198,10 @@
     @Test
     public void testNotificationBubbles_bubbleChildrenStay_whenGroupSummaryClicked()
             throws Exception {
-        // Bubbles are allowed!
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
 
         NotificationRecord nrSummary = addGroupWithBubblesAndValidateAdded(
                 true /* summaryAutoCancel */);
@@ -6197,8 +6232,12 @@
     @Test
     public void testNotificationBubbles_bubbleStays_whenClicked()
             throws Exception {
+        setUpPrefsForBubbles(PKG, mUid,
+                true /* global */,
+                BUBBLE_PREFERENCE_ALL /* app */,
+                true /* channel */);
+
         // GIVEN a notification that has the auto cancels flag (cancel on click) and is a bubble
-        setUpPrefsForBubbles(PKG, mUid, true /* global */, true /* app */, true /* channel */);
         final NotificationRecord nr = generateNotificationRecord(mTestNotificationChannel);
         nr.getSbn().getNotification().flags |= FLAG_BUBBLE | FLAG_AUTO_CANCEL;
         mService.addNotification(nr);
@@ -6243,7 +6282,7 @@
 
         mService.loadDefaultApprovedServices(USER_SYSTEM);
 
-        verify(mConditionProviders, times(1)).addDefaultComponentOrPackage("test");
+        verify(mConditionProviders, times(1)).loadDefaultsFromConfig();
     }
 
     // TODO: add tests for the rest of the non-empty cases
@@ -6332,7 +6371,7 @@
         assertEquals("friend", friendChannel.getConversationId());
         assertEquals(null, original.getConversationId());
         assertEquals(original.canShowBadge(), friendChannel.canShowBadge());
-        assertEquals(original.canBubble(), friendChannel.canBubble());
+        assertFalse(friendChannel.canBubble()); // can't be modified by app
         assertFalse(original.getId().equals(friendChannel.getId()));
         assertNotNull(friendChannel.getId());
     }
@@ -6446,7 +6485,10 @@
         ShortcutInfo si = mock(ShortcutInfo.class);
         when(si.getShortLabel()).thenReturn("Hello");
         when(si.isLongLived()).thenReturn(true);
+        when(si.isEnabled()).thenReturn(true);
         when(mLauncherApps.getShortcuts(any(), any())).thenReturn(Arrays.asList(si));
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
 
         List<ConversationChannelWrapper> conversations =
                 mBinderService.getConversationsForPackage(PKG_P, mUid).getList();
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 ed5ec6a..ac51750 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java
@@ -15,7 +15,13 @@
  */
 package com.android.server.notification;
 
+import static android.app.AppOpsManager.MODE_ALLOWED;
+import static android.app.AppOpsManager.MODE_DEFAULT;
+import static android.app.AppOpsManager.OP_SYSTEM_ALERT_WINDOW;
 import static android.app.NotificationChannel.CONVERSATION_CHANNEL_ID_FORMAT;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
+import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
 import static android.app.NotificationManager.IMPORTANCE_HIGH;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
@@ -23,6 +29,7 @@
 import static android.app.NotificationManager.IMPORTANCE_NONE;
 import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
 
+import static com.android.server.notification.PreferencesHelper.DEFAULT_BUBBLE_PREFERENCE;
 import static com.android.server.notification.PreferencesHelper.NOTIFICATION_CHANNEL_COUNT_LIMIT;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -46,6 +53,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.AppOpsManager;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
@@ -128,6 +136,7 @@
     @Spy IContentProvider mTestIContentProvider = new MockIContentProvider();
     @Mock Context mContext;
     @Mock ZenModeHelper mMockZenModeHelper;
+    @Mock AppOpsManager mAppOpsManager;
 
     private NotificationManager.Policy mTestNotificationPolicy;
 
@@ -183,7 +192,10 @@
         mTestNotificationPolicy = new NotificationManager.Policy(0, 0, 0, 0,
                 NotificationManager.Policy.STATE_CHANNELS_BYPASSING_DND, 0);
         when(mMockZenModeHelper.getNotificationPolicy()).thenReturn(mTestNotificationPolicy);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        when(mAppOpsManager.noteOpNoThrow(anyInt(), anyInt(),
+                anyString(), eq(null), anyString())).thenReturn(MODE_DEFAULT);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         resetZenModeHelper();
 
         mAudioAttributes = new AudioAttributes.Builder()
@@ -1094,7 +1106,7 @@
                         .getUserLockedFields());
 
         final NotificationChannel update = getChannel();
-        update.setAllowBubbles(false);
+        update.setAllowBubbles(true);
         mHelper.updateNotificationChannel(PKG_N_MR1, UID_N_MR1, update, true);
         assertEquals(NotificationChannel.USER_LOCKED_ALLOW_BUBBLE,
                 mHelper.getNotificationChannel(PKG_N_MR1, UID_N_MR1, update.getId(), false)
@@ -1460,7 +1472,8 @@
         mTestNotificationPolicy = new NotificationManager.Policy(0, 0, 0, 0,
                 NotificationManager.Policy.STATE_CHANNELS_BYPASSING_DND, 0);
         when(mMockZenModeHelper.getNotificationPolicy()).thenReturn(mTestNotificationPolicy);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         assertFalse(mHelper.areChannelsBypassingDnd());
         verify(mMockZenModeHelper, times(1)).setNotificationPolicy(any());
         resetZenModeHelper();
@@ -1471,7 +1484,8 @@
         // start notification policy off with mAreChannelsBypassingDnd = false
         mTestNotificationPolicy = new NotificationManager.Policy(0, 0, 0, 0, 0, 0);
         when(mMockZenModeHelper.getNotificationPolicy()).thenReturn(mTestNotificationPolicy);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         assertFalse(mHelper.areChannelsBypassingDnd());
         verify(mMockZenModeHelper, never()).setNotificationPolicy(any());
         resetZenModeHelper();
@@ -1734,14 +1748,14 @@
         mHelper.updateDefaultApps(UserHandle.getUserId(UID_O), null, pkgPair);
         mHelper.setNotificationDelegate(PKG_O, UID_O, "", 1);
         mHelper.setImportance(PKG_O, UID_O, IMPORTANCE_NONE);
-        mHelper.setBubblesAllowed(PKG_O, UID_O, false);
+        mHelper.setBubblesAllowed(PKG_O, UID_O, DEFAULT_BUBBLE_PREFERENCE);
         mHelper.setShowBadge(PKG_O, UID_O, false);
         mHelper.setAppImportanceLocked(PKG_O, UID_O);
 
         mHelper.clearData(PKG_O, UID_O);
 
         assertEquals(IMPORTANCE_UNSPECIFIED, mHelper.getImportance(PKG_O, UID_O));
-        assertTrue(mHelper.areBubblesAllowed(PKG_O, UID_O));
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), DEFAULT_BUBBLE_PREFERENCE);
         assertTrue(mHelper.canShowBadge(PKG_O, UID_O));
         assertNull(mHelper.getNotificationDelegate(PKG_O, UID_O));
         assertEquals(0, mHelper.getAppLockedFields(PKG_O, UID_O));
@@ -2237,7 +2251,8 @@
                 + "content_type=\"4\" flags=\"0\" show_badge=\"true\" />\n"
                 + "</package>\n"
                 + "</ranking>\n";
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadByteArrayXml(preQXml.getBytes(), true, UserHandle.USER_SYSTEM);
 
         assertEquals(PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS,
@@ -2249,7 +2264,8 @@
         mHelper.setHideSilentStatusIcons(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         assertEquals(!PreferencesHelper.DEFAULT_HIDE_SILENT_STATUS_BAR_ICONS,
@@ -2345,7 +2361,8 @@
         mHelper.setImportance(PKG_O, UID_O, IMPORTANCE_UNSPECIFIED);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         assertNull(mHelper.getNotificationDelegate(PKG_O, UID_O));
@@ -2356,7 +2373,8 @@
         mHelper.setNotificationDelegate(PKG_O, UID_O, "other", 53);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         assertEquals("other", mHelper.getNotificationDelegate(PKG_O, UID_O));
@@ -2368,7 +2386,8 @@
         mHelper.revokeNotificationDelegate(PKG_O, UID_O);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         assertNull(mHelper.getNotificationDelegate(PKG_O, UID_O));
@@ -2380,7 +2399,8 @@
         mHelper.toggleNotificationDelegate(PKG_O, UID_O, false);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         // appears disabled
@@ -2398,7 +2418,8 @@
         mHelper.revokeNotificationDelegate(PKG_O, UID_O);
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
         // appears disabled
@@ -2412,29 +2433,87 @@
     }
 
     @Test
-    public void testAllowBubbles_defaults() throws Exception {
-        assertTrue(mHelper.areBubblesAllowed(PKG_O, UID_O));
+    public void testBubblePreference_defaults() throws Exception {
+        assertEquals(BUBBLE_PREFERENCE_NONE, mHelper.getBubblePreference(PKG_O, UID_O));
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
-        assertTrue(mHelper.areBubblesAllowed(PKG_O, UID_O));
+        assertEquals(BUBBLE_PREFERENCE_NONE, mHelper.getBubblePreference(PKG_O, UID_O));
         assertEquals(0, mHelper.getAppLockedFields(PKG_O, UID_O));
     }
 
     @Test
-    public void testAllowBubbles_xml() throws Exception {
-        mHelper.setBubblesAllowed(PKG_O, UID_O, false);
-        assertFalse(mHelper.areBubblesAllowed(PKG_O, UID_O));
+    public void testBubblePreference_upgradeWithSAWPermission() throws Exception {
+        when(mAppOpsManager.noteOpNoThrow(eq(OP_SYSTEM_ALERT_WINDOW), anyInt(),
+                anyString(), eq(null), anyString())).thenReturn(MODE_ALLOWED);
+
+        final String xml = "<ranking version=\"1\">\n"
+                + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\">\n"
+                + "<channel id=\"someId\" name=\"hi\""
+                + " importance=\"3\"/>"
+                + "</package>"
+                + "</ranking>";
+        XmlPullParser parser = Xml.newPullParser();
+        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);
+
+        final String xml = "<ranking version=\"1\">\n"
+                + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\">\n"
+                + "<channel id=\"someId\" name=\"hi\""
+                + " importance=\"3\"/>"
+                + "</package>"
+                + "</ranking>";
+        XmlPullParser parser = Xml.newPullParser();
+        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));
+
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_SELECTED);
+        assertEquals(BUBBLE_PREFERENCE_SELECTED, mHelper.getBubblePreference(PKG_O, UID_O));
         assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE,
                 mHelper.getAppLockedFields(PKG_O, UID_O));
 
         ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
         loadStreamXml(baos, false, UserHandle.USER_ALL);
 
-        assertFalse(mHelper.areBubblesAllowed(PKG_O, UID_O));
+        assertEquals(BUBBLE_PREFERENCE_SELECTED, mHelper.getBubblePreference(PKG_O, UID_O));
+        assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE,
+                mHelper.getAppLockedFields(PKG_O, UID_O));
+    }
+
+    @Test
+    public void testBubblePreference_xml() throws Exception {
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_NONE);
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_NONE);
+        assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE,
+                mHelper.getAppLockedFields(PKG_O, UID_O));
+
+        ByteArrayOutputStream baos = writeXmlAndPurge(PKG_O, UID_O, false, UserHandle.USER_ALL);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
+        loadStreamXml(baos, false, UserHandle.USER_ALL);
+
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_NONE);
         assertEquals(PreferencesHelper.LockableAppFields.USER_LOCKED_BUBBLE,
                 mHelper.getAppLockedFields(PKG_O, UID_O));
     }
@@ -2766,9 +2845,29 @@
     }
 
     @Test
-    public void testSetBubblesAllowed_false() {
-        mHelper.setBubblesAllowed(PKG_O, UID_O, false);
-        assertFalse(mHelper.areBubblesAllowed(PKG_O, UID_O));
+    public void testSetBubblesAllowed_none() {
+        // Change it to non-default first
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_ALL);
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_ALL);
+        verify(mHandler, times(1)).requestSort();
+        reset(mHandler);
+        // Now test
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_NONE);
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_NONE);
+        verify(mHandler, times(1)).requestSort();
+    }
+
+    @Test
+    public void testSetBubblesAllowed_all() {
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_ALL);
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_ALL);
+        verify(mHandler, times(1)).requestSort();
+    }
+
+    @Test
+    public void testSetBubblesAllowed_selected() {
+        mHelper.setBubblesAllowed(PKG_O, UID_O, BUBBLE_PREFERENCE_SELECTED);
+        assertEquals(mHelper.getBubblePreference(PKG_O, UID_O), BUBBLE_PREFERENCE_SELECTED);
         verify(mHandler, times(1)).requestSort();
     }
 
@@ -2925,7 +3024,8 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.REQUIRE_SHORTCUTS_FOR_CONVERSATIONS, 0);
 
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
 
         final String xml = "<ranking version=\"1\">\n"
                 + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\" >\n"
@@ -2945,7 +3045,8 @@
     public void testPlaceholderConversationId_shortcutRequired() throws Exception {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.REQUIRE_SHORTCUTS_FOR_CONVERSATIONS, 1);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
 
         final String xml = "<ranking version=\"1\">\n"
                 + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\" >\n"
@@ -2965,7 +3066,8 @@
     public void testNormalConversationId_shortcutRequired() throws Exception {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.REQUIRE_SHORTCUTS_FOR_CONVERSATIONS, 1);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
 
         final String xml = "<ranking version=\"1\">\n"
                 + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\" >\n"
@@ -2985,7 +3087,8 @@
     public void testNoConversationId_shortcutRequired() throws Exception {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.REQUIRE_SHORTCUTS_FOR_CONVERSATIONS, 1);
-        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger);
+        mHelper = new PreferencesHelper(getContext(), mPm, mHandler, mMockZenModeHelper, mLogger,
+                mAppOpsManager);
 
         final String xml = "<ranking version=\"1\">\n"
                 + "<package name=\"" + PKG_O + "\" uid=\"" + UID_O + "\" >\n"
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ShortcutHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ShortcutHelperTest.java
index 50fb9b4..f7304bd 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ShortcutHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ShortcutHelperTest.java
@@ -16,7 +16,11 @@
 
 package com.android.server.notification;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -25,6 +29,7 @@
 import android.app.Notification;
 import android.content.pm.LauncherApps;
 import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutServiceInternal;
 import android.os.UserHandle;
 import android.service.notification.StatusBarNotification;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -58,6 +63,8 @@
     @Mock
     ShortcutHelper.ShortcutListener mShortcutListener;
     @Mock
+    ShortcutServiceInternal mShortcutServiceInternal;
+    @Mock
     NotificationRecord mNr;
     @Mock
     Notification mNotif;
@@ -72,7 +79,8 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mShortcutHelper = new ShortcutHelper(mLauncherApps, mShortcutListener);
+        mShortcutHelper = new ShortcutHelper(
+                mLauncherApps, mShortcutListener, mShortcutServiceInternal);
         when(mNr.getKey()).thenReturn(KEY);
         when(mNr.getSbn()).thenReturn(mSbn);
         when(mSbn.getPackageName()).thenReturn(PKG);
@@ -138,4 +146,80 @@
         callback.onShortcutsChanged(PKG, shortcutInfos, mock(UserHandle.class));
         verify(mShortcutListener).onShortcutRemoved(mNr.getKey());
     }
+
+    @Test
+    public void testGetValidShortcutInfo_noMatchingShortcut() {
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(null);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isNull();
+    }
+
+    @Test
+    public void testGetValidShortcutInfo_nullShortcut() {
+        ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
+        shortcuts.add(null);
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isNull();
+    }
+
+    @Test
+    public void testGetValidShortcutInfo_notLongLived() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.isLongLived()).thenReturn(false);
+        when(si.isEnabled()).thenReturn(true);
+        ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
+        shortcuts.add(si);
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isNull();
+    }
+
+    @Test
+    public void testGetValidShortcutInfo_notSharingShortcut() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.isLongLived()).thenReturn(true);
+        when(si.isEnabled()).thenReturn(true);
+        ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
+        shortcuts.add(si);
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(false);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isNull();
+    }
+
+    @Test
+    public void testGetValidShortcutInfo_notEnabled() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.isLongLived()).thenReturn(true);
+        when(si.isEnabled()).thenReturn(false);
+        ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
+        shortcuts.add(si);
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isNull();
+    }
+
+    @Test
+    public void testGetValidShortcutInfo_isValid() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.isLongLived()).thenReturn(true);
+        when(si.isEnabled()).thenReturn(true);
+        ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
+        shortcuts.add(si);
+        when(mLauncherApps.getShortcuts(any(), any())).thenReturn(shortcuts);
+        when(mShortcutServiceInternal.isSharingShortcut(anyInt(), anyString(), anyString(),
+                anyString(), anyInt(), any())).thenReturn(true);
+
+        assertThat(mShortcutHelper.getValidShortcutInfo("a", "p", UserHandle.SYSTEM)).isSameAs(si);
+    }
 }
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 08f6409..6a28918 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -32,6 +32,7 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyBoolean;
 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.doReturn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset;
@@ -63,6 +64,7 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.never;
 
@@ -750,6 +752,31 @@
     }
 
     /**
+     * Verify that when finishing the top focused activity while root task was created by organizer,
+     * the stack order will be changed by adjusting focus.
+     */
+    @Test
+    public void testFinishActivityIfPossible_adjustStackOrderOrganizedRoot() {
+        // Make mStack be a the root task that created by task organizer
+        mStack.mCreatedByOrganizer = true;
+
+        // Have two tasks (topRootableTask and mTask) as the children of mStack.
+        ActivityRecord topActivity = new ActivityBuilder(mActivity.mAtmService)
+                .setCreateTask(true)
+                .setStack(mStack)
+                .build();
+        ActivityStack topRootableTask = (ActivityStack) topActivity.getTask();
+        topRootableTask.moveToFront("test");
+        assertTrue(mStack.isTopStackInDisplayArea());
+
+        // Finish top activity and verify the next focusable rootable task has adjusted to top.
+        topActivity.setState(RESUMED, "test");
+        topActivity.finishIfPossible(0 /* resultCode */, null /* resultData */, "test",
+                false /* oomAdj */);
+        assertEquals(mTask, mStack.getTopMostTask());
+    }
+
+    /**
      * Verify that resumed activity is paused due to finish request.
      */
     @Test
@@ -1024,6 +1051,38 @@
     }
 
     /**
+     * Verify that complete finish request for a show-when-locked activity must ensure the
+     * keyguard occluded state being updated.
+     */
+    @Test
+    public void testCompleteFinishing_showWhenLocked() {
+        // Make keyguard locked and set the top activity show-when-locked.
+        KeyguardController keyguardController = mActivity.mStackSupervisor.getKeyguardController();
+        doReturn(true).when(keyguardController).isKeyguardLocked();
+        final ActivityRecord topActivity = new ActivityBuilder(mService).setTask(mTask).build();
+        topActivity.mVisibleRequested = true;
+        topActivity.nowVisible = true;
+        topActivity.setState(RESUMED, "true");
+        doCallRealMethod().when(mRootWindowContainer).ensureActivitiesVisible(
+                any() /* starting */, anyInt() /* configChanges */,
+                anyBoolean() /* preserveWindows */, anyBoolean() /* notifyClients */);
+        topActivity.setShowWhenLocked(true);
+
+        // Verify the stack-top activity is occluded keyguard.
+        assertEquals(topActivity, mStack.topRunningActivity());
+        assertTrue(mStack.topActivityOccludesKeyguard());
+
+        // Finish the top activity
+        topActivity.setState(PAUSED, "true");
+        topActivity.finishing = true;
+        topActivity.completeFinishing("test");
+
+        // Verify new top activity does not occlude keyguard.
+        assertEquals(mActivity, mStack.topRunningActivity());
+        assertFalse(mStack.topActivityOccludesKeyguard());
+    }
+
+    /**
      * Verify destroy activity request completes successfully.
      */
     @Test
@@ -1273,6 +1332,48 @@
     }
 
     @Test
+    public void testActivityOnCancelFixedRotationTransform() {
+        mService.mWindowManager.mIsFixedRotationTransformEnabled = true;
+        final DisplayRotation displayRotation = mActivity.mDisplayContent.getDisplayRotation();
+        spyOn(displayRotation);
+
+        final DisplayContent display = mActivity.mDisplayContent;
+        final int originalRotation = display.getRotation();
+
+        // Make {@link DisplayContent#sendNewConfiguration} not apply rotation immediately.
+        doReturn(true).when(displayRotation).isWaitingForRemoteRotation();
+        doReturn((originalRotation + 1) % 4).when(displayRotation).rotationForOrientation(
+                anyInt() /* orientation */, anyInt() /* lastRotation */);
+        // Set to visible so the activity can freeze the screen.
+        mActivity.setVisibility(true);
+
+        display.rotateInDifferentOrientationIfNeeded(mActivity);
+        display.mFixedRotationLaunchingApp = mActivity;
+        displayRotation.updateRotationUnchecked(true /* forceUpdate */);
+
+        assertTrue(displayRotation.isRotatingSeamlessly());
+
+        // Simulate the rotation has been updated to previous one, e.g. sensor updates before the
+        // remote rotation is completed.
+        doReturn(originalRotation).when(displayRotation).rotationForOrientation(
+                anyInt() /* orientation */, anyInt() /* lastRotation */);
+        display.updateOrientation();
+
+        final DisplayInfo rotatedInfo = mActivity.getFixedRotationTransformDisplayInfo();
+        mActivity.finishFixedRotationTransform();
+        final ScreenRotationAnimation rotationAnim = display.getRotationAnimation();
+        rotationAnim.setRotation(display.getPendingTransaction(), originalRotation);
+
+        // Because the display doesn't rotate, the rotated activity needs to cancel the fixed
+        // rotation. There should be a rotation animation to cover the change of activity.
+        verify(mActivity).onCancelFixedRotationTransform(rotatedInfo.rotation);
+        assertTrue(mActivity.isFreezingScreen());
+        assertFalse(displayRotation.isRotatingSeamlessly());
+        assertNotNull(rotationAnim);
+        assertTrue(rotationAnim.isRotating());
+    }
+
+    @Test
     public void testActivityOnDifferentDisplayUpdatesProcessOverride() {
         final ActivityRecord secondaryDisplayActivity =
                 createActivityOnDisplay(false /* defaultDisplay */, null /* process */);
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java
index 3bed05f..93ded1b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStackTests.java
@@ -19,6 +19,7 @@
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_ASSISTANT;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
@@ -44,6 +45,7 @@
 import static com.android.server.wm.ActivityStack.STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT;
 import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_FREE_RESIZE;
 import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_WINDOWING_MODE_RESIZE;
+import static com.android.server.wm.Task.FLAG_FORCE_HIDDEN_FOR_TASK_ORG;
 import static com.android.server.wm.Task.REPARENT_MOVE_STACK_TO_FRONT;
 import static com.android.server.wm.TaskDisplayArea.getStackAbove;
 import static com.android.server.wm.WindowContainer.POSITION_TOP;
@@ -489,6 +491,55 @@
     }
 
     @Test
+    public void testGetVisibility_MultiLevel() {
+        final ActivityStack homeStack = createStackForShouldBeVisibleTest(
+                mDefaultTaskDisplayArea, WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_HOME,
+                true /* onTop */);
+        final ActivityStack splitPrimary = createStackForShouldBeVisibleTest(
+                mDefaultTaskDisplayArea, WINDOWING_MODE_SPLIT_SCREEN_PRIMARY,
+                ACTIVITY_TYPE_UNDEFINED, true /* onTop */);
+        final ActivityStack splitSecondary = createStackForShouldBeVisibleTest(
+                mDefaultTaskDisplayArea, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY,
+                ACTIVITY_TYPE_UNDEFINED, true /* onTop */);
+
+        doReturn(false).when(homeStack).isTranslucent(any());
+        doReturn(false).when(splitPrimary).isTranslucent(any());
+        doReturn(false).when(splitSecondary).isTranslucent(any());
+
+
+        // Re-parent home to split secondary.
+        homeStack.reparent(splitSecondary, POSITION_TOP);
+        // Current tasks should be visible.
+        assertEquals(STACK_VISIBILITY_VISIBLE, splitPrimary.getVisibility(null /* starting */));
+        assertEquals(STACK_VISIBILITY_VISIBLE, splitSecondary.getVisibility(null /* starting */));
+        // Home task should still be visible even though it is a child of another visible task.
+        assertEquals(STACK_VISIBILITY_VISIBLE, homeStack.getVisibility(null /* starting */));
+
+
+        // Add fullscreen translucent task that partially occludes split tasks
+        final ActivityStack translucentStack = createStandardStackForVisibilityTest(
+                WINDOWING_MODE_FULLSCREEN, true /* translucent */);
+        // Fullscreen translucent task should be visible
+        assertEquals(STACK_VISIBILITY_VISIBLE, translucentStack.getVisibility(null /* starting */));
+        // Split tasks should be visible behind translucent
+        assertEquals(STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT,
+                splitPrimary.getVisibility(null /* starting */));
+        assertEquals(STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT,
+                splitSecondary.getVisibility(null /* starting */));
+        // Home task should be visible behind translucent since its parent is visible behind
+        // translucent.
+        assertEquals(STACK_VISIBILITY_VISIBLE_BEHIND_TRANSLUCENT,
+                homeStack.getVisibility(null /* starting */));
+
+
+        // Hide split-secondary
+        splitSecondary.setForceHidden(FLAG_FORCE_HIDDEN_FOR_TASK_ORG, true /* set */);
+        // Home split secondary and home task should be invisible.
+        assertEquals(STACK_VISIBILITY_INVISIBLE, splitSecondary.getVisibility(null /* starting */));
+        assertEquals(STACK_VISIBILITY_INVISIBLE, homeStack.getVisibility(null /* starting */));
+    }
+
+    @Test
     public void testGetVisibility_FullscreenBehindTranslucent() {
         final ActivityStack bottomStack =
                 createStandardStackForVisibilityTest(WINDOWING_MODE_FULLSCREEN,
@@ -1145,7 +1196,7 @@
         mDefaultTaskDisplayArea.registerStackOrderChangedListener(listener);
         try {
             mStack.mReparenting = true;
-            mDefaultTaskDisplayArea.addStack(mStack, 0);
+            mDefaultTaskDisplayArea.addChild(mStack, 0);
         } finally {
             mDefaultTaskDisplayArea.unregisterStackOrderChangedListener(listener);
         }
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
index 97734ff..a84a0a2 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
@@ -426,7 +426,7 @@
 
         // Start activity and delivered new intent.
         starter.getIntent().setComponent(splitSecondReusableActivity.mActivityComponent);
-        doReturn(splitSecondReusableActivity).when(mRootWindowContainer).findTask(any(), anyInt());
+        doReturn(splitSecondReusableActivity).when(mRootWindowContainer).findTask(any(), any());
         final int result = starter.setReason("testSplitScreenDeliverToTop").execute();
 
         // Ensure result is delivering intent to top.
@@ -462,7 +462,7 @@
 
         // Start activity and delivered new intent.
         starter.getIntent().setComponent(splitSecondReusableActivity.mActivityComponent);
-        doReturn(splitSecondReusableActivity).when(mRootWindowContainer).findTask(any(), anyInt());
+        doReturn(splitSecondReusableActivity).when(mRootWindowContainer).findTask(any(), any());
         final int result = starter.setReason("testSplitScreenMoveToFront").execute();
 
         // Ensure result is moving task to front.
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
index 4532400..17dd26e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
@@ -89,13 +89,13 @@
     public void testOnPictureInPictureRequested() throws RemoteException {
         final ActivityStack stack = new StackBuilder(mRootWindowContainer).build();
         final ActivityRecord activity = stack.getBottomMostTask().getTopNonFinishingActivity();
-        ClientLifecycleManager lifecycleManager = mService.getLifecycleManager();
-        doNothing().when(lifecycleManager).scheduleTransaction(any());
+        final ClientLifecycleManager mockLifecycleManager = mock(ClientLifecycleManager.class);
+        doReturn(mockLifecycleManager).when(mService).getLifecycleManager();
         doReturn(true).when(activity).checkEnterPictureInPictureState(anyString(), anyBoolean());
 
         mService.requestPictureInPictureMode(activity.token);
 
-        verify(lifecycleManager).scheduleTransaction(mClientTransactionCaptor.capture());
+        verify(mockLifecycleManager).scheduleTransaction(mClientTransactionCaptor.capture());
         final ClientTransaction transaction = mClientTransactionCaptor.getValue();
         // Check that only an enter pip request item callback was scheduled.
         assertEquals(1, transaction.getCallbacks().size());
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 a901d1e..daff14992 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
@@ -65,6 +65,7 @@
 import static org.hamcrest.Matchers.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
@@ -84,12 +85,16 @@
 import android.util.DisplayMetrics;
 import android.view.DisplayCutout;
 import android.view.Gravity;
+import android.view.IDisplayWindowInsetsController;
 import android.view.IDisplayWindowRotationCallback;
 import android.view.IDisplayWindowRotationController;
 import android.view.ISystemGestureExclusionListener;
 import android.view.IWindowManager;
+import android.view.InsetsSourceControl;
+import android.view.InsetsState;
 import android.view.MotionEvent;
 import android.view.Surface;
+import android.view.SurfaceControl.Transaction;
 import android.view.ViewRootImpl;
 import android.view.WindowManager;
 import android.view.test.InsetsModeSession;
@@ -809,25 +814,19 @@
 
     @Test
     public void testComputeImeParent_app() throws Exception {
-        try (final InsetsModeSession session =
-                     new InsetsModeSession(ViewRootImpl.NEW_INSETS_MODE_IME)) {
-            final DisplayContent dc = createNewDisplay();
-            dc.mInputMethodTarget = createWindow(null, TYPE_BASE_APPLICATION, "app");
-            assertEquals(dc.mInputMethodTarget.mActivityRecord.getSurfaceControl(),
-                    dc.computeImeParent());
-        }
+        final DisplayContent dc = createNewDisplay();
+        dc.mInputMethodTarget = createWindow(null, TYPE_BASE_APPLICATION, "app");
+        assertEquals(dc.mInputMethodTarget.mActivityRecord.getSurfaceControl(),
+                dc.computeImeParent());
     }
 
     @Test
     public void testComputeImeParent_app_notFullscreen() throws Exception {
-        try (final InsetsModeSession session =
-                     new InsetsModeSession(ViewRootImpl.NEW_INSETS_MODE_IME)) {
-            final DisplayContent dc = createNewDisplay();
-            dc.mInputMethodTarget = createWindow(null, TYPE_STATUS_BAR, "app");
-            dc.mInputMethodTarget.setWindowingMode(
-                    WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
-            assertEquals(dc.getWindowingLayer(), dc.computeImeParent());
-        }
+        final DisplayContent dc = createNewDisplay();
+        dc.mInputMethodTarget = createWindow(null, TYPE_STATUS_BAR, "app");
+        dc.mInputMethodTarget.setWindowingMode(
+                WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+        assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
     }
 
     @Test
@@ -836,17 +835,67 @@
         doReturn(false).when(mAppWindow.mActivityRecord).matchParentBounds();
         mDisplayContent.mInputMethodTarget = mAppWindow;
         // The surface parent of IME should be the display instead of app window.
-        assertEquals(mDisplayContent.getWindowingLayer(), mDisplayContent.computeImeParent());
+        assertEquals(mDisplayContent.getImeContainer().getParentSurfaceControl(),
+                mDisplayContent.computeImeParent());
     }
 
     @Test
     public void testComputeImeParent_noApp() throws Exception {
-        try (final InsetsModeSession session =
-                     new InsetsModeSession(ViewRootImpl.NEW_INSETS_MODE_IME)) {
-            final DisplayContent dc = createNewDisplay();
-            dc.mInputMethodTarget = createWindow(null, TYPE_STATUS_BAR, "statusBar");
-            assertEquals(dc.getWindowingLayer(), dc.computeImeParent());
-        }
+        final DisplayContent dc = createNewDisplay();
+        dc.mInputMethodTarget = createWindow(null, TYPE_STATUS_BAR, "statusBar");
+        assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
+    }
+
+    @Test
+    public void testComputeImeControlTarget() throws Exception {
+        final DisplayContent dc = createNewDisplay();
+        dc.setRemoteInsetsController(createDisplayWindowInsetsController());
+        dc.mInputMethodInputTarget = createWindow(null, TYPE_BASE_APPLICATION, "app");
+        dc.mInputMethodTarget = dc.mInputMethodInputTarget;
+        assertEquals(dc.mInputMethodInputTarget, dc.computeImeControlTarget());
+    }
+
+    @Test
+    public void testComputeImeControlTarget_splitscreen() throws Exception {
+        final DisplayContent dc = createNewDisplay();
+        dc.mInputMethodInputTarget = createWindow(null, TYPE_BASE_APPLICATION, "app");
+        dc.mInputMethodInputTarget.setWindowingMode(
+                WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+        dc.mInputMethodTarget = dc.mInputMethodInputTarget;
+        dc.setRemoteInsetsController(createDisplayWindowInsetsController());
+        assertNotEquals(dc.mInputMethodInputTarget, dc.computeImeControlTarget());
+    }
+
+    @Test
+    public void testComputeImeControlTarget_notMatchParentBounds() throws Exception {
+        spyOn(mAppWindow.mActivityRecord);
+        doReturn(false).when(mAppWindow.mActivityRecord).matchParentBounds();
+        mDisplayContent.mInputMethodInputTarget = mAppWindow;
+        mDisplayContent.mInputMethodTarget = mDisplayContent.mInputMethodInputTarget;
+        mDisplayContent.setRemoteInsetsController(createDisplayWindowInsetsController());
+        assertEquals(mAppWindow, mDisplayContent.computeImeControlTarget());
+    }
+
+    private IDisplayWindowInsetsController createDisplayWindowInsetsController() {
+        return new IDisplayWindowInsetsController.Stub() {
+
+            @Override
+            public void insetsChanged(InsetsState insetsState) throws RemoteException {
+            }
+
+            @Override
+            public void insetsControlChanged(InsetsState insetsState,
+                    InsetsSourceControl[] insetsSourceControls) throws RemoteException {
+            }
+
+            @Override
+            public void showInsets(int i, boolean b) throws RemoteException {
+            }
+
+            @Override
+            public void hideInsets(int i, boolean b) throws RemoteException {
+            }
+        };
     }
 
     @Test
@@ -1039,6 +1088,12 @@
         assertEquals(config90.orientation, app.getConfiguration().orientation);
         assertEquals(config90.windowConfiguration.getBounds(), app.getBounds());
 
+        // Make wallaper laid out with the fixed rotation transform.
+        final WindowToken wallpaperToken = mWallpaperWindow.mToken;
+        wallpaperToken.linkFixedRotationTransform(app);
+        mWallpaperWindow.mLayoutNeeded = true;
+        performLayout(mDisplayContent);
+
         // Force the negative offset to verify it can be updated.
         mWallpaperWindow.mWinAnimator.mXOffset = mWallpaperWindow.mWinAnimator.mYOffset = -1;
         assertTrue(mDisplayContent.mWallpaperController.updateWallpaperOffset(mWallpaperWindow,
@@ -1046,6 +1101,13 @@
         assertThat(mWallpaperWindow.mWinAnimator.mXOffset).isGreaterThan(-1);
         assertThat(mWallpaperWindow.mWinAnimator.mYOffset).isGreaterThan(-1);
 
+        // The wallpaper need to animate with transformed position, so its surface position should
+        // not be reset.
+        final Transaction t = wallpaperToken.getPendingTransaction();
+        spyOn(t);
+        mWallpaperWindow.mToken.onAnimationLeashCreated(t, null /* leash */);
+        verify(t, never()).setPosition(any(), eq(0), eq(0));
+
         mDisplayContent.mAppTransition.notifyAppTransitionFinishedLocked(app.token);
 
         // The animation in old rotation should be cancelled.
diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
index 61b74b0..9f28f45 100644
--- a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
@@ -29,9 +29,11 @@
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.spy;
@@ -44,7 +46,6 @@
 import android.view.InsetsState;
 import android.view.test.InsetsModeSession;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import org.junit.AfterClass;
@@ -153,22 +154,24 @@
 
     @Test
     public void testStripForDispatch_belowIme() {
+        getController().getSourceProvider(ITYPE_IME).setWindow(mImeWindow, null, null);
+
         final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
-        final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
+        app.mBehindIme = true;
 
-        getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
-
-        assertNotNull(getController().getInsetsForDispatch(app).peekSource(ITYPE_IME));
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertTrue(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
     }
 
     @Test
     public void testStripForDispatch_aboveIme() {
-        final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
+        getController().getSourceProvider(ITYPE_IME).setWindow(mImeWindow, null, null);
+
         final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
+        app.mBehindIme = false;
 
-        getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
-
-        assertNull(getController().getInsetsForDispatch(app).peekSource(ITYPE_IME));
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertFalse(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
     }
 
     @Test
@@ -188,11 +191,11 @@
         // Adding FLAG_NOT_FOCUSABLE makes app above IME.
         app.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
         mDisplayContent.computeImeTarget(true);
-        mDisplayContent.setLayoutNeeded();
         mDisplayContent.applySurfaceChangesTransaction();
 
-        // app won't get IME insets while above IME.
-        assertNull(getController().getInsetsForDispatch(app).peekSource(ITYPE_IME));
+        // app won't get visible IME insets while above IME even when IME is visible.
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertFalse(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
 
         // Reset invocation counter.
         clearInvocations(app);
@@ -200,49 +203,49 @@
         // Removing FLAG_NOT_FOCUSABLE makes app below IME.
         app.mAttrs.flags &= ~FLAG_NOT_FOCUSABLE;
         mDisplayContent.computeImeTarget(true);
-        mDisplayContent.setLayoutNeeded();
         mDisplayContent.applySurfaceChangesTransaction();
 
         // Make sure app got notified.
         verify(app, atLeast(1)).notifyInsetsChanged();
 
-        // app will get IME insets while below IME.
-        assertNotNull(getController().getInsetsForDispatch(app).peekSource(ITYPE_IME));
+        // app will get visible IME insets while below IME when IME is visible.
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertTrue(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
     }
 
     @Test
     public void testStripForDispatch_childWindow_altFocusable() {
-        final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
+        getController().getSourceProvider(ITYPE_IME).setWindow(mImeWindow, null, null);
 
+        final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
         final WindowState child = createWindow(app, TYPE_APPLICATION, "child");
         child.mAttrs.flags |= FLAG_ALT_FOCUSABLE_IM;
 
-        final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
+        mDisplayContent.computeImeTarget(true);
+        mDisplayContent.setLayoutNeeded();
+        mDisplayContent.applySurfaceChangesTransaction();
 
-        // IME cannot be the IME target.
-        ime.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
-
-        getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
-
-        assertNull(getController().getInsetsForDispatch(child).peekSource(ITYPE_IME));
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertTrue(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
+        assertFalse(getController().getInsetsForDispatch(child).getSource(ITYPE_IME).isVisible());
     }
 
     @Test
     public void testStripForDispatch_childWindow_splitScreen() {
-        final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
+        getController().getSourceProvider(ITYPE_IME).setWindow(mImeWindow, null, null);
 
+        final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
         final WindowState child = createWindow(app, TYPE_APPLICATION, "child");
         child.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
         child.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
 
-        final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
+        mDisplayContent.computeImeTarget(true);
+        mDisplayContent.setLayoutNeeded();
+        mDisplayContent.applySurfaceChangesTransaction();
 
-        // IME cannot be the IME target.
-        ime.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
-
-        getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
-
-        assertNull(getController().getInsetsForDispatch(child).peekSource(ITYPE_IME));
+        getController().getRawInsetsState().setSourceVisible(ITYPE_IME, true);
+        assertTrue(getController().getInsetsForDispatch(app).getSource(ITYPE_IME).isVisible());
+        assertFalse(getController().getInsetsForDispatch(child).getSource(ITYPE_IME).isVisible());
     }
 
     @Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
index 8a9504d..61de7d8 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsControllerTests.java
@@ -19,7 +19,6 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
-import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.Display.INVALID_DISPLAY;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
@@ -112,7 +111,7 @@
         final ActivityRecord activity = new ActivityBuilder(mService).setComponent(name)
                 .setUid(userId).build();
         final LaunchParams expected = new LaunchParams();
-        expected.mPreferredDisplayId = 3;
+        expected.mPreferredTaskDisplayArea = mock(TaskDisplayArea.class);
         expected.mWindowingMode = WINDOWING_MODE_PINNED;
         expected.mBounds.set(200, 300, 400, 500);
 
@@ -183,7 +182,7 @@
         final LaunchParams params = new LaunchParams();
         params.mWindowingMode = WINDOWING_MODE_FREEFORM;
         params.mBounds.set(0, 0, 30, 20);
-        params.mPreferredDisplayId = 3;
+        params.mPreferredTaskDisplayArea = mock(TaskDisplayArea.class);
 
         final InstrumentedPositioner positioner2 = new InstrumentedPositioner(RESULT_CONTINUE,
                 params);
@@ -228,8 +227,8 @@
      */
     @Test
     public void testVrPreferredDisplay() {
-        final int vr2dDisplayId = 1;
-        mService.mVr2dDisplayId = vr2dDisplayId;
+        final TestDisplayContent vrDisplay = createNewDisplayContent();
+        mService.mVr2dDisplayId = vrDisplay.mDisplayId;
 
         final LaunchParams result = new LaunchParams();
         final ActivityRecord vrActivity = new ActivityBuilder(mService).build();
@@ -238,16 +237,17 @@
         // VR activities should always land on default display.
         mController.calculate(null /*task*/, null /*layout*/, vrActivity /*activity*/,
                 null /*source*/, null /*options*/, PHASE_BOUNDS, result);
-        assertEquals(DEFAULT_DISPLAY, result.mPreferredDisplayId);
+        assertEquals(mRootWindowContainer.getDefaultTaskDisplayArea(),
+                result.mPreferredTaskDisplayArea);
 
         // Otherwise, always lands on VR 2D display.
         final ActivityRecord vr2dActivity = new ActivityBuilder(mService).build();
         mController.calculate(null /*task*/, null /*layout*/, vr2dActivity /*activity*/,
                 null /*source*/, null /*options*/, PHASE_BOUNDS, result);
-        assertEquals(vr2dDisplayId, result.mPreferredDisplayId);
+        assertEquals(vrDisplay.getDefaultTaskDisplayArea(), result.mPreferredTaskDisplayArea);
         mController.calculate(null /*task*/, null /*layout*/, null /*activity*/, null /*source*/,
                 null /*options*/, PHASE_BOUNDS, result);
-        assertEquals(vr2dDisplayId, result.mPreferredDisplayId);
+        assertEquals(vrDisplay.getDefaultTaskDisplayArea(), result.mPreferredTaskDisplayArea);
 
         mService.mVr2dDisplayId = INVALID_DISPLAY;
     }
@@ -282,9 +282,7 @@
         final LaunchParams params = new LaunchParams();
         final TestDisplayContent display = createNewDisplayContent();
         final TaskDisplayArea preferredTaskDisplayArea = display.getDefaultTaskDisplayArea();
-        // TODO(b/152116619): Enable after complete switch to WindowContainerToken
-        //params.mPreferredWindowContainerToken = preferredTaskDisplayAreaToken;
-        params.mPreferredDisplayId = display.mDisplayId;
+        params.mPreferredTaskDisplayArea = preferredTaskDisplayArea;
         final InstrumentedPositioner positioner = new InstrumentedPositioner(RESULT_DONE, params);
         final Task task = new TaskBuilder(mService.mStackSupervisor).build();
 
@@ -433,7 +431,7 @@
         void saveTask(Task task, DisplayContent display) {
             final int userId = task.mUserId;
             final ComponentName realActivity = task.realActivity;
-            mTmpParams.mPreferredDisplayId = task.getDisplayId();
+            mTmpParams.mPreferredTaskDisplayArea = task.getDisplayArea();
             mTmpParams.mWindowingMode = task.getWindowingMode();
             if (task.mLastNonFullscreenBounds != null) {
                 mTmpParams.mBounds.set(task.mLastNonFullscreenBounds);
diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
index 6a71a7d..9bf86d2 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
@@ -19,7 +19,6 @@
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
-import static android.view.Display.INVALID_DISPLAY;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
@@ -27,6 +26,7 @@
 
 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.eq;
 import static org.mockito.Matchers.any;
@@ -163,7 +163,7 @@
 
         mTarget.getLaunchParams(mTestTask, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -177,7 +177,7 @@
 
         mTarget.getLaunchParams(null, activity, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -190,7 +190,7 @@
 
         mTarget.getLaunchParams(mTestTask, null, mResult);
 
-        assertEquals(INVALID_DISPLAY, mResult.mPreferredDisplayId);
+        assertNull(mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -223,7 +223,7 @@
         mTaskWithDifferentComponent.mWindowLayoutAffinity = TEST_WINDOW_LAYOUT_AFFINITY;
         mTarget.getLaunchParams(mTaskWithDifferentComponent, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -241,7 +241,7 @@
 
         mTarget.getLaunchParams(mTaskWithDifferentComponent, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -282,7 +282,7 @@
 
         target.getLaunchParams(mTestTask, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -301,7 +301,7 @@
         mTaskWithDifferentComponent.mWindowLayoutAffinity = TEST_WINDOW_LAYOUT_AFFINITY;
         target.getLaunchParams(mTaskWithDifferentComponent, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
@@ -328,7 +328,7 @@
 
         target.getLaunchParams(mTaskWithDifferentComponent, null, mResult);
 
-        assertEquals(mTestDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(mTestDisplay.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
         assertEquals(TEST_WINDOWING_MODE, mResult.mWindowingMode);
         assertEquals(TEST_BOUNDS, mResult.mBounds);
     }
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
index 1f6ba7a..44ca2cd 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java
@@ -79,7 +79,6 @@
         mService.mWindowManager.setRecentsAnimationController(mRecentsAnimationController);
         doNothing().when(mService.mWindowManager).initializeRecentsAnimation(
                 anyInt(), any(), any(), anyInt(), any(), any());
-        doReturn(true).when(mService.mWindowManager).canStartRecentsAnimation();
 
         final RecentTasks recentTasks = mService.getRecentTasks();
         spyOn(recentTasks);
diff --git a/services/tests/wmtests/src/com/android/server/wm/RootActivityContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/RootActivityContainerTests.java
index 7613655..5dba0045 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RootActivityContainerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RootActivityContainerTests.java
@@ -58,7 +58,6 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
-import android.graphics.Rect;
 import android.platform.test.annotations.Presubmit;
 import android.util.Pair;
 
@@ -126,9 +125,7 @@
         ensureStackPlacement(mFullscreenStack, firstActivity, secondActivity);
 
         // Move first activity to pinned stack.
-        final Rect sourceBounds = new Rect();
-        mRootWindowContainer.moveActivityToPinnedStack(firstActivity, sourceBounds,
-                0f /*aspectRatio*/, "initialMove");
+        mRootWindowContainer.moveActivityToPinnedStack(firstActivity, "initialMove");
 
         final TaskDisplayArea taskDisplayArea = mFullscreenStack.getDisplayArea();
         ActivityStack pinnedStack = taskDisplayArea.getRootPinnedTask();
@@ -137,8 +134,7 @@
         ensureStackPlacement(mFullscreenStack, secondActivity);
 
         // Move second activity to pinned stack.
-        mRootWindowContainer.moveActivityToPinnedStack(secondActivity, sourceBounds,
-                0f /*aspectRatio*/, "secondMove");
+        mRootWindowContainer.moveActivityToPinnedStack(secondActivity, "secondMove");
 
         // Need to get stacks again as a new instance might have been created.
         pinnedStack = taskDisplayArea.getRootPinnedTask();
@@ -541,8 +537,8 @@
 
         doReturn(true).when(mRootWindowContainer)
                 .ensureVisibilityAndConfig(any(), anyInt(), anyBoolean(), anyBoolean());
-        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplay(
-                any(), anyInt(), anyBoolean());
+        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplayArea(any(), any(),
+                anyBoolean());
 
         mRootWindowContainer.startHomeOnAllDisplays(0, "testStartHome");
 
@@ -582,17 +578,19 @@
 
         // Can not start home if we don't want to start home while home is being instrumented.
         doReturn(true).when(app).isInstrumenting();
-        assertFalse(mRootWindowContainer.canStartHomeOnDisplay(info, DEFAULT_DISPLAY,
+        final TaskDisplayArea defaultTaskDisplayArea = mRootWindowContainer
+                .getDefaultTaskDisplayArea();
+        assertFalse(mRootWindowContainer.canStartHomeOnDisplayArea(info, defaultTaskDisplayArea,
                 false /* allowInstrumenting*/));
 
         // Can start home for other cases.
-        assertTrue(mRootWindowContainer.canStartHomeOnDisplay(info, DEFAULT_DISPLAY,
+        assertTrue(mRootWindowContainer.canStartHomeOnDisplayArea(info, defaultTaskDisplayArea,
                 true /* allowInstrumenting*/));
 
         doReturn(false).when(app).isInstrumenting();
-        assertTrue(mRootWindowContainer.canStartHomeOnDisplay(info, DEFAULT_DISPLAY,
+        assertTrue(mRootWindowContainer.canStartHomeOnDisplayArea(info, defaultTaskDisplayArea,
                 false /* allowInstrumenting*/));
-        assertTrue(mRootWindowContainer.canStartHomeOnDisplay(info, DEFAULT_DISPLAY,
+        assertTrue(mRootWindowContainer.canStartHomeOnDisplayArea(info, defaultTaskDisplayArea,
                 true /* allowInstrumenting*/));
     }
 
@@ -698,8 +696,8 @@
         resolutions.add(resolveInfo);
         doReturn(resolutions).when(mRootWindowContainer).resolveActivities(anyInt(),
                 refEq(secondaryHomeIntent));
-        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplay(
-                any(), anyInt(), anyBoolean());
+        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplayArea(any(), any(),
+                anyBoolean());
 
         // Run the test.
         final Pair<ActivityInfo, Intent> resolvedInfo = mRootWindowContainer
@@ -751,8 +749,8 @@
         resolutions.add(infoFake2);
         doReturn(resolutions).when(mRootWindowContainer).resolveActivities(anyInt(), any());
 
-        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplay(
-                any(), anyInt(), anyBoolean());
+        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplayArea(any(), any(),
+                anyBoolean());
 
         // Run the test.
         final Pair<ActivityInfo, Intent> resolvedInfo = mRootWindowContainer
@@ -785,8 +783,8 @@
         resolutions.add(infoFake2);
         doReturn(resolutions).when(mRootWindowContainer).resolveActivities(anyInt(), any());
 
-        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplay(
-                any(), anyInt(), anyBoolean());
+        doReturn(true).when(mRootWindowContainer).canStartHomeOnDisplayArea(any(), any(),
+                anyBoolean());
 
         // Use the first one of matched activities in the same package as selected primary home.
         final Pair<ActivityInfo, Intent> resolvedInfo = mRootWindowContainer
@@ -840,8 +838,9 @@
                 .setTask(task).build();
 
         // Make sure the root task is valid and can be reused on default display.
-        final ActivityStack stack = mRootWindowContainer.getValidLaunchStackOnDisplay(
-                DEFAULT_DISPLAY, activity, task, null, null);
+        final ActivityStack stack = mRootWindowContainer.getValidLaunchStackInTaskDisplayArea(
+                mRootWindowContainer.getDefaultTaskDisplayArea(), activity, task, null,
+                null);
         assertEquals(task, stack);
     }
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java b/services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java
index ecb8015..5e8de87 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ScreenDecorWindowTests.java
@@ -25,6 +25,8 @@
 import static android.view.Gravity.LEFT;
 import static android.view.Gravity.RIGHT;
 import static android.view.Gravity.TOP;
+import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
+import static android.view.InsetsState.ITYPE_STATUS_BAR;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
@@ -60,7 +62,6 @@
 import android.view.WindowManager;
 import android.widget.TextView;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import org.junit.After;
@@ -78,8 +79,6 @@
  */
 // TODO: Add test for FLAG_FULLSCREEN which hides the status bar and also other flags.
 // TODO: Test non-Activity windows.
-@FlakyTest(detail = "TODO (b/145242835): Re-enable once type mapping is implemented for "
-        + "PRIVATE_FLAG_IS_SCREEN_DECOR")
 @SmallTest
 @Presubmit
 public class ScreenDecorWindowTests {
@@ -187,13 +186,24 @@
         assertTopInsetEquals(mTestActivity, initialInsets.getSystemWindowInsetTop());
     }
 
+    @Test
+    public void testProvidesInsetsTypes() {
+        int[] providesInsetsTypes = new int[]{ITYPE_STATUS_BAR};
+        final View win = createWindow("StatusBarSubPanel", TOP, MATCH_PARENT, mDecorThickness, RED,
+                FLAG_LAYOUT_IN_SCREEN, 0, providesInsetsTypes);
+
+        assertInsetGreaterOrEqual(mTestActivity, TOP, mDecorThickness);
+    }
+
     private View createDecorWindow(int gravity, int width, int height) {
+        int[] providesInsetsTypes =
+                new int[]{gravity == TOP ? ITYPE_STATUS_BAR : ITYPE_NAVIGATION_BAR};
         return createWindow("decorWindow", gravity, width, height, RED,
-                FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR);
+                FLAG_LAYOUT_IN_SCREEN, PRIVATE_FLAG_IS_SCREEN_DECOR, providesInsetsTypes);
     }
 
     private View createWindow(String name, int gravity, int width, int height, int color, int flags,
-            int privateFlags) {
+            int privateFlags, int[] providesInsetsTypes) {
 
         final View[] viewHolder = new View[1];
         final int finalFlag = flags
@@ -205,6 +215,7 @@
                     width, height, TYPE_APPLICATION_OVERLAY, finalFlag, PixelFormat.OPAQUE);
             lp.gravity = gravity;
             lp.privateFlags |= privateFlags;
+            lp.providesInsetsTypes = providesInsetsTypes;
 
             final TextView view = new TextView(mContext);
             view.setText("ScreenDecorWindowTests - " + name);
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
index a708533..52a5187 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
@@ -172,7 +172,7 @@
         assertGetOrCreateStack(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, type, candidateTask,
                 false /* reuseCandidate */);
         assertGetOrCreateStack(WINDOWING_MODE_PINNED, type, candidateTask,
-                false /* reuseCandidate */);
+                true /* reuseCandidate */);
 
         final int windowingMode = WINDOWING_MODE_FULLSCREEN;
         assertGetOrCreateStack(windowingMode, ACTIVITY_TYPE_HOME, candidateTask,
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java
index 1a38ff2..a69231b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java
@@ -30,6 +30,7 @@
 import static android.view.Display.DEFAULT_DISPLAY;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier.RESULT_CONTINUE;
 import static com.android.server.wm.LaunchParamsController.LaunchParamsModifier.RESULT_SKIP;
@@ -44,7 +45,6 @@
 import android.graphics.Rect;
 import android.os.Build;
 import android.platform.test.annotations.Presubmit;
-import android.view.Display;
 import android.view.Gravity;
 
 import androidx.test.filters.SmallTest;
@@ -106,53 +106,45 @@
     // Display ID Related Tests
     // =============================
     @Test
-    public void testDefaultToPrimaryDisplay() {
+    public void testDefaultToPrimaryDisplayArea() {
         createNewDisplayContent(WINDOWING_MODE_FREEFORM);
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, /* options */ null, mCurrent, mResult));
 
-        assertEquals(DEFAULT_DISPLAY, mResult.mPreferredDisplayId);
+        assertEquals(mRootWindowContainer.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
-    public void testUsesDefaultDisplayIfPreviousDisplayNotExists() {
-        mCurrent.mPreferredDisplayId = 19;
-
-        assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
-                mActivity, /* source */ null, /* options */ null, mCurrent, mResult));
-
-        assertEquals(DEFAULT_DISPLAY, mResult.mPreferredDisplayId);
-    }
-
-    @Test
-    public void testUsesPreviousDisplayIdIfSet() {
+    public void testUsesPreviousDisplayAreaIfSet() {
         createNewDisplayContent(WINDOWING_MODE_FREEFORM);
         final TestDisplayContent display = createNewDisplayContent(WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = display.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = display.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, /* options */ null, mCurrent, mResult));
 
-        assertEquals(display.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(display.getDefaultTaskDisplayArea(), mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
-    public void testUsesSourcesDisplayIdIfSet() {
+    public void testUsesSourcesDisplayAreaIfSet() {
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
         final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         ActivityRecord source = createSourceActivity(fullscreenDisplay);
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, source, /* options */ null, mCurrent, mResult));
 
-        assertEquals(fullscreenDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(fullscreenDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
@@ -162,7 +154,7 @@
         final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         ActivityRecord source = createSourceActivity(freeformDisplay);
 
         ActivityOptions options = ActivityOptions.makeBasic();
@@ -171,28 +163,51 @@
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, source, options, mCurrent, mResult));
 
-        assertEquals(fullscreenDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(fullscreenDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
-    public void testUsesTasksDisplayIdPriorToSourceIfSet() {
+    public void testUsesOptionsDisplayAreaTokenIfSet() {
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
         final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
+        ActivityRecord source = createSourceActivity(freeformDisplay);
+
+        ActivityOptions options = ActivityOptions.makeBasic();
+        options.setLaunchTaskDisplayArea(fullscreenDisplay.getDefaultTaskDisplayArea()
+                .mRemoteToken.toWindowContainerToken());
+
+        assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
+                mActivity, source, options, mCurrent, mResult));
+
+        assertEquals(fullscreenDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
+    }
+
+    @Test
+    public void testUsesTasksDisplayAreaIdPriorToSourceIfSet() {
+        final TestDisplayContent freeformDisplay = createNewDisplayContent(
+                WINDOWING_MODE_FREEFORM);
+        final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
+                WINDOWING_MODE_FULLSCREEN);
+
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         ActivityRecord reusableActivity = createSourceActivity(fullscreenDisplay);
         ActivityRecord source = createSourceActivity(freeformDisplay);
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(reusableActivity.getTask(),
                 /* layout */ null, mActivity, source, /* options */ null, mCurrent, mResult));
 
-        assertEquals(fullscreenDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(fullscreenDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
-    public void testUsesTaskDisplayIdIfSet() {
+    public void testUsesTaskDisplayAreaIdIfSet() {
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
         ActivityRecord source = createSourceActivity(freeformDisplay);
@@ -200,7 +215,8 @@
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(source.getTask(), null /* layout */,
                 null /* activity */, null /* source */, null /* options */, mCurrent, mResult));
 
-        assertEquals(freeformDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(freeformDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     @Test
@@ -210,7 +226,7 @@
         final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = fullscreenDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = fullscreenDisplay.getDefaultTaskDisplayArea();
         ActivityRecord reusableActivity = createSourceActivity(fullscreenDisplay);
         ActivityRecord source = createSourceActivity(freeformDisplay);
         source.mHandoverLaunchDisplayId = freeformDisplay.mDisplayId;
@@ -219,7 +235,28 @@
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(reusableActivity.getTask(),
                 null /* layout */, mActivity, source, null /* options */, mCurrent, mResult));
 
-        assertEquals(freeformDisplay.mDisplayId, mResult.mPreferredDisplayId);
+        assertEquals(freeformDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
+    }
+
+    @Test
+    public void testUsesNoDisplaySourceHandoverDisplayAreaIdIfSet() {
+        final TestDisplayContent freeformDisplay = createNewDisplayContent(
+                WINDOWING_MODE_FREEFORM);
+        final TestDisplayContent fullscreenDisplay = createNewDisplayContent(
+                WINDOWING_MODE_FULLSCREEN);
+
+        mCurrent.mPreferredTaskDisplayArea = fullscreenDisplay.getDefaultTaskDisplayArea();
+        ActivityRecord reusableActivity = createSourceActivity(fullscreenDisplay);
+        ActivityRecord source = createSourceActivity(freeformDisplay);
+        source.mHandoverTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
+        source.noDisplay = true;
+
+        assertEquals(RESULT_CONTINUE, mTarget.onCalculate(reusableActivity.getTask(),
+                null /* layout */, mActivity, source, null /* options */, mCurrent, mResult));
+
+        assertEquals(freeformDisplay.getDefaultTaskDisplayArea(),
+                mResult.mPreferredTaskDisplayArea);
     }
 
     // =====================================
@@ -233,7 +270,7 @@
         final ActivityOptions options = ActivityOptions.makeBasic();
         options.setLaunchBounds(new Rect(0, 0, 100, 100));
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -247,7 +284,7 @@
         final ActivityOptions options = ActivityOptions.makeBasic();
         options.setLaunchBounds(new Rect(0, 0, 100, 100));
 
-        mCurrent.mPreferredDisplayId = DEFAULT_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = mRootWindowContainer.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -278,7 +315,7 @@
         final ActivityOptions options = ActivityOptions.makeBasic();
         options.setLaunchWindowingMode(WINDOWING_MODE_PINNED);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -296,7 +333,7 @@
         options.setLaunchWindowingMode(WINDOWING_MODE_PINNED);
         options.setLaunchBounds(new Rect(0, 0, 100, 100));
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -310,7 +347,7 @@
         final ActivityOptions options = ActivityOptions.makeBasic();
         options.setLaunchWindowingMode(WINDOWING_MODE_FULLSCREEN);
 
-        mCurrent.mPreferredDisplayId = DEFAULT_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = mRootWindowContainer.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -324,7 +361,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).build();
@@ -341,7 +378,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.LEFT).build();
@@ -358,7 +395,7 @@
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).build();
 
-        mCurrent.mPreferredDisplayId = DEFAULT_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = mRootWindowContainer.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, layout, mActivity,
                 /* source */ null, /* options */ null, mCurrent, mResult));
@@ -369,7 +406,7 @@
 
     @Test
     public void testLaunchesFullscreenOnFullscreenDisplayWithFreeformHistory() {
-        mCurrent.mPreferredDisplayId = Display.INVALID_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = null;
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -385,7 +422,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FULLSCREEN;
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
@@ -400,7 +437,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -421,7 +458,7 @@
         options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
         options.setLaunchBounds(new Rect(0, 0, 200, 100));
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -446,7 +483,7 @@
         options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
         options.setLaunchBounds(expectedLaunchBounds);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(expectedLaunchBounds);
 
@@ -467,7 +504,7 @@
         options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
         options.setLaunchBounds(new Rect(0, 0, 200, 100));
 
-        mCurrent.mPreferredDisplayId = DEFAULT_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = mRootWindowContainer.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -568,7 +605,7 @@
         final Rect expected = new Rect(0, 0, 100, 100);
         options.setLaunchBounds(expected);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                 mActivity, /* source */ null, options, mCurrent, mResult));
@@ -598,7 +635,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.LEFT).build();
@@ -614,7 +651,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.TOP).build();
@@ -630,7 +667,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.TOP | Gravity.LEFT).build();
@@ -647,7 +684,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.RIGHT).build();
@@ -663,7 +700,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.BOTTOM).build();
@@ -679,7 +716,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setGravity(Gravity.BOTTOM | Gravity.RIGHT).build();
@@ -696,7 +733,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).build();
@@ -712,7 +749,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.LEFT).build();
@@ -728,7 +765,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.TOP).build();
@@ -744,7 +781,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.TOP | Gravity.LEFT).build();
@@ -760,7 +797,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.RIGHT).build();
@@ -776,7 +813,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.BOTTOM).build();
@@ -792,7 +829,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidth(120).setHeight(80).setGravity(Gravity.BOTTOM | Gravity.RIGHT).build();
@@ -808,7 +845,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
 
         final ActivityInfo.WindowLayout layout = new WindowLayoutBuilder()
                 .setWidthFraction(0.125f).setHeightFraction(0.1f).build();
@@ -824,7 +861,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -839,7 +876,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FULLSCREEN;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -1217,7 +1254,7 @@
 
     @Test
     public void returnsNonFullscreenBoundsOnFullscreenDisplayWithFreeformHistory() {
-        mCurrent.mPreferredDisplayId = Display.INVALID_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = null;
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -1233,7 +1270,7 @@
         final TestDisplayContent freeformDisplay = createNewDisplayContent(
                 WINDOWING_MODE_FREEFORM);
 
-        mCurrent.mPreferredDisplayId = Display.INVALID_DISPLAY;
+        mCurrent.mPreferredTaskDisplayArea = null;
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(-100, -200, 200, 100);
 
@@ -1253,7 +1290,7 @@
 
         addFreeformTaskTo(freeformDisplay, new Rect(0, 0, 200, 100));
 
-        mCurrent.mPreferredDisplayId = freeformDisplay.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = freeformDisplay.getDefaultTaskDisplayArea();
         mCurrent.mWindowingMode = WINDOWING_MODE_FREEFORM;
         mCurrent.mBounds.set(0, 0, 200, 100);
 
@@ -1284,13 +1321,14 @@
     public void testNoMultiDisplaySupports() {
         final boolean orgValue = mService.mSupportsMultiDisplay;
         final TestDisplayContent display = createNewDisplayContent(WINDOWING_MODE_FULLSCREEN);
-        mCurrent.mPreferredDisplayId = display.mDisplayId;
+        mCurrent.mPreferredTaskDisplayArea = display.getDefaultTaskDisplayArea();
 
         try {
             mService.mSupportsMultiDisplay = false;
             assertEquals(RESULT_CONTINUE, mTarget.onCalculate(/* task */ null, /* layout */ null,
                     mActivity, /* source */ null, /* options */ null, mCurrent, mResult));
-            assertEquals(DEFAULT_DISPLAY, mResult.mPreferredDisplayId);
+            assertEquals(mRootWindowContainer.getDefaultTaskDisplayArea(),
+                    mResult.mPreferredTaskDisplayArea);
         } finally {
             mService.mSupportsMultiDisplay = orgValue;
         }
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskSnapshotSurfaceTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskSnapshotSurfaceTest.java
index 67d4016..4907bdc 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskSnapshotSurfaceTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskSnapshotSurfaceTest.java
@@ -181,11 +181,17 @@
     }
 
     @Test
+    public void testCalculateSnapshotCrop_waterfall() {
+        setupSurface(100, 100, new Rect(5, 10, 5, 10), 0, 0, new Rect(0, 0, 100, 100));
+        assertEquals(new Rect(5, 0, 95, 90), mSurface.calculateSnapshotCrop());
+    }
+
+    @Test
     public void testCalculateSnapshotFrame() {
         setupSurface(100, 100);
         final Rect insets = new Rect(0, 10, 0, 10);
         mSurface.setFrames(new Rect(0, 0, 100, 100), insets, insets);
-        assertEquals(new Rect(0, -10, 100, 70),
+        assertEquals(new Rect(0, 0, 100, 80),
                 mSurface.calculateSnapshotFrame(new Rect(0, 10, 100, 90)));
     }
 
@@ -194,11 +200,20 @@
         setupSurface(100, 100);
         final Rect insets = new Rect(10, 10, 0, 0);
         mSurface.setFrames(new Rect(0, 0, 100, 100), insets, insets);
-        assertEquals(new Rect(0, -10, 90, 80),
+        assertEquals(new Rect(10, 0, 100, 90),
                 mSurface.calculateSnapshotFrame(new Rect(10, 10, 100, 100)));
     }
 
     @Test
+    public void testCalculateSnapshotFrame_waterfall() {
+        setupSurface(100, 100, new Rect(5, 10, 5, 10), 0, 0, new Rect(0, 0, 100, 100));
+        final Rect insets = new Rect(0, 10, 0, 10);
+        mSurface.setFrames(new Rect(5, 0, 95, 100), insets, insets);
+        assertEquals(new Rect(0, 0, 90, 90),
+                mSurface.calculateSnapshotFrame(new Rect(5, 0, 95, 90)));
+    }
+
+    @Test
     public void testDrawStatusBarBackground() {
         setupSurface(100, 100);
         final Rect insets = new Rect(0, 10, 10, 0);
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskStackTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskStackTests.java
index 413ae13..7cb5e84 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskStackTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskStackTests.java
@@ -208,4 +208,22 @@
         assertEquals(stackBounds.left - stackOutset, stack.getLastSurfacePosition().x);
         assertEquals(stackBounds.top - stackOutset, stack.getLastSurfacePosition().y);
     }
+
+    @Test
+    public void testActivityAndTaskGetsProperType() {
+        final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
+        final Task task1 = createTaskInStack(stack, 0 /* userId */);
+        ActivityRecord activity1 = WindowTestUtils.createTestActivityRecord(mDisplayContent);
+
+        // First activity should become standard
+        task1.addChild(activity1, 0);
+        assertEquals(WindowConfiguration.ACTIVITY_TYPE_STANDARD, activity1.getActivityType());
+        assertEquals(WindowConfiguration.ACTIVITY_TYPE_STANDARD, task1.getActivityType());
+
+        // Second activity should also become standard
+        ActivityRecord activity2 = WindowTestUtils.createTestActivityRecord(mDisplayContent);
+        task1.addChild(activity2, WindowContainer.POSITION_TOP);
+        assertEquals(WindowConfiguration.ACTIVITY_TYPE_STANDARD, activity2.getActivityType());
+        assertEquals(WindowConfiguration.ACTIVITY_TYPE_STANDARD, task1.getActivityType());
+    }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
index ec77be8..473c1c5 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskTests.java
@@ -145,9 +145,5 @@
         Rect bounds = new Rect(10, 10, 100, 200);
         task.setBounds(bounds);
         assertEquals(new Point(bounds.left, bounds.top), task.getLastSurfacePosition());
-
-        Rect dispBounds = new Rect(20, 30, 110, 220);
-        task.setOverrideDisplayedBounds(dispBounds);
-        assertEquals(new Point(dispBounds.left, dispBounds.top), task.getLastSurfacePosition());
     }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
index 7be05a3..eb2aa41 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
@@ -310,27 +310,6 @@
         assertContentFrame(w, new Rect(resolvedTaskBounds.left, resolvedTaskBounds.top,
                 resolvedTaskBounds.right - contentInsetRight,
                 resolvedTaskBounds.bottom - contentInsetBottom));
-
-        pf.set(0, 0, logicalWidth, logicalHeight);
-        // If we set displayed bounds, the insets will be computed with the main task bounds
-        // but the frame will be positioned according to the displayed bounds.
-        final int insetLeft = logicalWidth / 5;
-        final int insetTop = logicalHeight / 5;
-        final int insetRight = insetLeft + (resolvedTaskBounds.right - resolvedTaskBounds.left);
-        final int insetBottom = insetTop + (resolvedTaskBounds.bottom - resolvedTaskBounds.top);
-        task.setOverrideDisplayedBounds(resolvedTaskBounds);
-        task.setBounds(insetLeft, insetTop, insetRight, insetBottom);
-        windowFrames.setFrames(pf, pf, cf, cf, pf, cf);
-        w.computeFrameLw();
-        assertEquals(resolvedTaskBounds, w.getFrameLw());
-        assertEquals(0, w.getRelativeFrameLw().left);
-        assertEquals(0, w.getRelativeFrameLw().top);
-        contentInsetRight = insetRight - cfRight;
-        contentInsetBottom = insetBottom - cfBottom;
-        assertContentInset(w, 0, 0, contentInsetRight, contentInsetBottom);
-        assertContentFrame(w, new Rect(resolvedTaskBounds.left, resolvedTaskBounds.top,
-                resolvedTaskBounds.right - contentInsetRight,
-                resolvedTaskBounds.bottom - contentInsetBottom));
     }
 
     @Test
@@ -460,33 +439,6 @@
     }
 
     @Test
-    @FlakyTest(bugId = 130388666)
-    public void testDisplayCutout_tempDisplayedBounds() {
-        // Regular fullscreen task and window
-        WindowState w = createWindow();
-        final Task task = w.getTask();
-        task.setBounds(new Rect(0, 0, 1000, 2000));
-        task.setOverrideDisplayedBounds(new Rect(0, -500, 1000, 1500));
-        w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
-
-        final Rect pf = new Rect(0, -500, 1000, 1500);
-        // Create a display cutout of size 50x50, aligned top-center
-        final WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
-                fromBoundingRect(500, 0, 550, 50, BOUNDS_POSITION_TOP),
-                pf.width(), pf.height());
-
-        final WindowFrames windowFrames = w.getWindowFrames();
-        windowFrames.setFrames(pf, pf, pf, pf, pf, pf);
-        windowFrames.setDisplayCutout(cutout);
-        w.computeFrameLw();
-
-        assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetTop(), 50);
-        assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetBottom(), 0);
-        assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetLeft(), 0);
-        assertEquals(w.getWmDisplayCutout().getDisplayCutout().getSafeInsetRight(), 0);
-    }
-
-    @Test
     public void testFreeformContentInsets() {
         removeGlobalMinSizeRestriction();
         // fullscreen task doesn't use bounds for computeFrame
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java
similarity index 94%
rename from services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java
rename to services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java
index e41d4dc..53cc09b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java
@@ -39,6 +39,7 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.when;
+import static com.android.server.wm.DisplayArea.Type.ABOVE_TASKS;
 import static com.android.server.wm.WindowContainer.POSITION_TOP;
 
 import static org.junit.Assert.assertEquals;
@@ -70,7 +71,6 @@
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -87,7 +87,7 @@
 @SmallTest
 @Presubmit
 @RunWith(WindowTestRunner.class)
-public class TaskOrganizerTests extends WindowTestsBase {
+public class WindowOrganizerTests extends WindowTestsBase {
     private ITaskOrganizer registerMockOrganizer(int windowingMode) {
         final ITaskOrganizer organizer = mock(ITaskOrganizer.class);
         when(organizer.asBinder()).thenReturn(new Binder());
@@ -307,11 +307,7 @@
         final ActivityStack stack = new ActivityTestsBase.StackBuilder(mWm.mRoot)
                 .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
         final Task task = stack.getTopMostTask();
-        WindowContainerTransaction t = new WindowContainerTransaction();
-        Rect newBounds = new Rect(10, 10, 100, 100);
-        t.setBounds(task.mRemoteToken.toWindowContainerToken(), new Rect(10, 10, 100, 100));
-        mWm.mAtmService.mWindowOrganizerController.applyTransaction(t);
-        assertEquals(newBounds, task.getBounds());
+        testTransaction(task);
     }
 
     @Test
@@ -321,24 +317,41 @@
                 .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
         StackInfo info =
                 mWm.mAtmService.getStackInfo(WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD);
-        WindowContainerTransaction t = new WindowContainerTransaction();
         assertEquals(stack.mRemoteToken.toWindowContainerToken(), info.stackToken);
+        testTransaction(stack);
+    }
+
+    @Test
+    public void testDisplayAreaTransaction() {
+        removeGlobalMinSizeRestriction();
+        final DisplayArea displayArea = new DisplayArea<>(mWm, ABOVE_TASKS, "DisplayArea");
+        testTransaction(displayArea);
+    }
+
+    private void testTransaction(WindowContainer wc) {
+        WindowContainerTransaction t = new WindowContainerTransaction();
         Rect newBounds = new Rect(10, 10, 100, 100);
-        t.setBounds(info.stackToken, new Rect(10, 10, 100, 100));
+        t.setBounds(wc.mRemoteToken.toWindowContainerToken(), new Rect(10, 10, 100, 100));
         mWm.mAtmService.mWindowOrganizerController.applyTransaction(t);
-        assertEquals(newBounds, stack.getBounds());
+        assertEquals(newBounds, wc.getBounds());
     }
 
     @Test
     public void testSetWindowingMode() {
         final ActivityStack stack = new ActivityTestsBase.StackBuilder(mWm.mRoot)
-            .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+                .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+        testSetWindowingMode(stack);
+
+        final DisplayArea displayArea = new DisplayArea<>(mWm, ABOVE_TASKS, "DisplayArea");
+        displayArea.setWindowingMode(WINDOWING_MODE_FREEFORM);
+        testSetWindowingMode(displayArea);
+    }
+
+    private void testSetWindowingMode(WindowContainer wc) {
         final WindowContainerTransaction t = new WindowContainerTransaction();
-
-        t.setWindowingMode(stack.mRemoteToken.toWindowContainerToken(), WINDOWING_MODE_FULLSCREEN);
+        t.setWindowingMode(wc.mRemoteToken.toWindowContainerToken(), WINDOWING_MODE_FULLSCREEN);
         mWm.mAtmService.mWindowOrganizerController.applyTransaction(t);
-
-        assertEquals(WINDOWING_MODE_FULLSCREEN, stack.getWindowingMode());
+        assertEquals(WINDOWING_MODE_FULLSCREEN, wc.getWindowingMode());
     }
 
     @Test
@@ -400,7 +413,8 @@
         final int origScreenHDp = task.getConfiguration().screenHeightDp;
         t = new WindowContainerTransaction();
         // verify that setting config overrides on parent restricts children.
-        t.setScreenSizeDp(stack.mRemoteToken.toWindowContainerToken(), origScreenWDp, origScreenHDp);
+        t.setScreenSizeDp(stack.mRemoteToken
+                .toWindowContainerToken(), origScreenWDp, origScreenHDp);
         t.setBounds(task.mRemoteToken.toWindowContainerToken(), new Rect(10, 10, 150, 200));
         mWm.mAtmService.mWindowOrganizerController.applyTransaction(t);
         assertEquals(origScreenHDp, task.getConfiguration().screenHeightDp);
@@ -665,7 +679,7 @@
         BLASTSyncEngine bse = new BLASTSyncEngine();
 
         BLASTSyncEngine.TransactionReadyListener transactionListener =
-            mock(BLASTSyncEngine.TransactionReadyListener.class);
+                mock(BLASTSyncEngine.TransactionReadyListener.class);
 
         int id = bse.startSyncSet(transactionListener);
         bse.addToSyncSet(id, task);
@@ -689,7 +703,7 @@
         BLASTSyncEngine bse = new BLASTSyncEngine();
 
         BLASTSyncEngine.TransactionReadyListener transactionListener =
-            mock(BLASTSyncEngine.TransactionReadyListener.class);
+                mock(BLASTSyncEngine.TransactionReadyListener.class);
 
         int id = bse.startSyncSet(transactionListener);
         assertEquals(true, bse.addToSyncSet(id, task));
@@ -715,7 +729,7 @@
         BLASTSyncEngine bse = new BLASTSyncEngine();
 
         BLASTSyncEngine.TransactionReadyListener transactionListener =
-            mock(BLASTSyncEngine.TransactionReadyListener.class);
+                mock(BLASTSyncEngine.TransactionReadyListener.class);
 
         int id = bse.startSyncSet(transactionListener);
         bse.addToSyncSet(id, task);
@@ -738,7 +752,7 @@
         BLASTSyncEngine bse = new BLASTSyncEngine();
 
         BLASTSyncEngine.TransactionReadyListener transactionListener =
-            mock(BLASTSyncEngine.TransactionReadyListener.class);
+                mock(BLASTSyncEngine.TransactionReadyListener.class);
 
         int id = bse.startSyncSet(transactionListener);
         bse.addToSyncSet(id, task);
@@ -764,7 +778,7 @@
         BLASTSyncEngine bse = new BLASTSyncEngine();
 
         BLASTSyncEngine.TransactionReadyListener transactionListener =
-            mock(BLASTSyncEngine.TransactionReadyListener.class);
+                mock(BLASTSyncEngine.TransactionReadyListener.class);
 
         int id = bse.startSyncSet(transactionListener);
         assertEquals(true, bse.addToSyncSet(id, task));
@@ -817,8 +831,8 @@
         mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(o, WINDOWING_MODE_PINNED);
         final ActivityRecord record = makePipableActivity();
 
-        final PictureInPictureParams p =
-            new PictureInPictureParams.Builder().setAspectRatio(new Rational(1, 2)).build();
+        final PictureInPictureParams p = new PictureInPictureParams.Builder()
+                .setAspectRatio(new Rational(1, 2)).build();
         assertTrue(mWm.mAtmService.enterPictureInPictureMode(record.token, p));
         waitUntilHandlersIdle();
         assertNotNull(o.mInfo);
@@ -838,15 +852,15 @@
         mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(o, WINDOWING_MODE_PINNED);
 
         final ActivityRecord record = makePipableActivity();
-        final PictureInPictureParams p =
-            new PictureInPictureParams.Builder().setAspectRatio(new Rational(1, 2)).build();
+        final PictureInPictureParams p = new PictureInPictureParams.Builder()
+                .setAspectRatio(new Rational(1, 2)).build();
         assertTrue(mWm.mAtmService.enterPictureInPictureMode(record.token, p));
         waitUntilHandlersIdle();
         assertNotNull(o.mInfo);
         assertNotNull(o.mInfo.pictureInPictureParams);
 
-        final PictureInPictureParams p2 =
-            new PictureInPictureParams.Builder().setAspectRatio(new Rational(3, 4)).build();
+        final PictureInPictureParams p2 = new PictureInPictureParams.Builder()
+                .setAspectRatio(new Rational(3, 4)).build();
         mWm.mAtmService.setPictureInPictureParams(record.token, p2);
         waitUntilHandlersIdle();
         assertNotNull(o.mChangedInfo);
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
index 71b35b6..65fb2c0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
@@ -657,4 +657,16 @@
         win0.mActivityRecord.getStack().setFocusable(false);
         assertTrue(win0.cantReceiveTouchInput());
     }
+
+    @Test
+    public void testNeedsRelativeLayeringToIme_notAttached() {
+        WindowState sameTokenWindow = createWindow(null, TYPE_BASE_APPLICATION, mAppWindow.mToken,
+                "SameTokenWindow");
+        mDisplayContent.mInputMethodTarget = mAppWindow;
+        sameTokenWindow.mActivityRecord.getStack().setWindowingMode(
+                WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+        assertTrue(sameTokenWindow.needsRelativeLayeringToIme());
+        sameTokenWindow.removeImmediately();
+        assertFalse(sameTokenWindow.needsRelativeLayeringToIme());
+    }
 }
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index bbe9851..5b5d57bf 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -1577,15 +1577,27 @@
         }
 
         @Override
-        public boolean isAppInactive(String packageName, int userId) {
+        public boolean isAppInactive(String packageName, int userId, String callingPackage) {
+            final int callingUid = Binder.getCallingUid();
             try {
                 userId = ActivityManager.getService().handleIncomingUser(Binder.getCallingPid(),
-                        Binder.getCallingUid(), userId, false, false, "isAppInactive", null);
+                        callingUid, userId, false, false, "isAppInactive", null);
             } catch (RemoteException re) {
                 throw re.rethrowFromSystemServer();
             }
+
+            // If the calling app is asking about itself, continue, else check for permission.
+            if (packageName.equals(callingPackage)) {
+                final int actualCallingUid = mPackageManagerInternal.getPackageUidInternal(
+                        callingPackage, 0, userId);
+                if (actualCallingUid != callingUid) {
+                    return false;
+                }
+            } else if (!hasPermission(callingPackage)) {
+                return false;
+            }
             final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller(
-                    Binder.getCallingUid(), userId);
+                    callingUid, userId);
             final long token = Binder.clearCallingIdentity();
             try {
                 return mAppStandby.isAppIdleFiltered(
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index 747c8d9..7595e3f 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -41,6 +41,7 @@
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.debug.AdbManagerInternal;
+import android.debug.AdbNotifications;
 import android.debug.AdbTransportType;
 import android.debug.IAdbTransport;
 import android.hardware.usb.ParcelableUsbPort;
@@ -1180,7 +1181,6 @@
         protected void updateAdbNotification(boolean force) {
             if (mNotificationManager == null) return;
             final int id = SystemMessage.NOTE_ADB_ACTIVE;
-            final int titleRes = com.android.internal.R.string.adb_active_notification_title;
 
             if (isAdbEnabled() && mConnected) {
                 if ("0".equals(getSystemProperty("persist.adb.notify", ""))) return;
@@ -1191,38 +1191,10 @@
                 }
 
                 if (!mAdbNotificationShown) {
-                    Resources r = mContext.getResources();
-                    CharSequence title = r.getText(titleRes);
-                    CharSequence message = r.getText(
-                            com.android.internal.R.string.adb_active_notification_message);
-
-                    Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
-                            | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-                    PendingIntent pi = PendingIntent.getActivityAsUser(mContext, 0,
-                            intent, 0, null, UserHandle.CURRENT);
-
-                    Notification notification =
-                            new Notification.Builder(mContext,
-                                    SystemNotificationChannels.DEVELOPER_IMPORTANT)
-                                    .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
-                                    .setWhen(0)
-                                    .setOngoing(true)
-                                    .setTicker(title)
-                                    .setDefaults(0)  // please be quiet
-                                    .setColor(mContext.getColor(
-                                            com.android.internal.R.color
-                                                    .system_notification_accent_color))
-                                    .setContentTitle(title)
-                                    .setContentText(message)
-                                    .setContentIntent(pi)
-                                    .setVisibility(Notification.VISIBILITY_PUBLIC)
-                                    .extend(new Notification.TvExtender()
-                                            .setChannelId(ADB_NOTIFICATION_CHANNEL_ID_TV))
-                                    .build();
+                    Notification notification = AdbNotifications.createNotification(mContext,
+                            AdbTransportType.USB);
                     mAdbNotificationShown = true;
-                    mNotificationManager.notifyAsUser(null, id, notification,
-                            UserHandle.ALL);
+                    mNotificationManager.notifyAsUser(null, id, notification, UserHandle.ALL);
                 }
             } else if (mAdbNotificationShown) {
                 mAdbNotificationShown = false;
diff --git a/startop/iorap/functional_tests/Android.bp b/startop/iorap/functional_tests/Android.bp
index ad85f14..8a5bd34 100644
--- a/startop/iorap/functional_tests/Android.bp
+++ b/startop/iorap/functional_tests/Android.bp
@@ -15,7 +15,7 @@
 android_test {
     name: "iorap-functional-tests",
     srcs: ["src/**/*.java"],
-    data: ["test_data/*"],
+    data: [":iorap-functional-test-apps"],
     static_libs: [
         // Non-test dependencies
         // library under test
diff --git a/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java b/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java
index c35dd3b..5352be6 100644
--- a/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java
+++ b/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java
@@ -397,7 +397,7 @@
     public LogcatTimestamp() throws Exception{
       long currentTimeMillis = System.currentTimeMillis();
       epochTime = String.format(
-          "%d.%d", currentTimeMillis/1000, currentTimeMillis%1000);
+          "%d.%03d", currentTimeMillis/1000, currentTimeMillis%1000);
       Log.i(TAG, "Current logcat timestamp is " + epochTime);
     }
 
diff --git a/startop/iorap/functional_tests/test_data/iorap_test_app_v1.apk b/startop/iorap/functional_tests/test_data/iorap_test_app_v1.apk
deleted file mode 120000
index 1c1a437..0000000
--- a/startop/iorap/functional_tests/test_data/iorap_test_app_v1.apk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../packages/modules/ArtPrebuilt/iorap/test/iorap_test_app_v1.apk
\ No newline at end of file
diff --git a/startop/iorap/functional_tests/test_data/iorap_test_app_v2.apk b/startop/iorap/functional_tests/test_data/iorap_test_app_v2.apk
deleted file mode 120000
index 7cd41c4..0000000
--- a/startop/iorap/functional_tests/test_data/iorap_test_app_v2.apk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../packages/modules/ArtPrebuilt/iorap/test/iorap_test_app_v2.apk
\ No newline at end of file
diff --git a/startop/iorap/functional_tests/test_data/iorap_test_app_v3.apk b/startop/iorap/functional_tests/test_data/iorap_test_app_v3.apk
deleted file mode 120000
index 7f4e996..0000000
--- a/startop/iorap/functional_tests/test_data/iorap_test_app_v3.apk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../packages/modules/ArtPrebuilt/iorap/test/iorap_test_app_v3.apk
\ No newline at end of file
diff --git a/startop/iorap/src/com/google/android/startop/iorap/DexOptEvent.java b/startop/iorap/src/com/google/android/startop/iorap/DexOptEvent.java
new file mode 100644
index 0000000..72c5eaa
--- /dev/null
+++ b/startop/iorap/src/com/google/android/startop/iorap/DexOptEvent.java
@@ -0,0 +1,114 @@
+/*
+ * 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.google.android.startop.iorap;
+
+import android.annotation.NonNull;
+import android.os.Parcelable;
+import android.os.Parcel;
+
+import android.annotation.IntDef;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Objects;
+
+/**
+ * Notifications for iorapd specifying when a package is updated by dexopt service.<br /><br />
+ *
+ * @hide
+ */
+public class DexOptEvent implements Parcelable {
+    public static final int TYPE_PACKAGE_UPDATE = 0;
+    private static final int TYPE_MAX = 0;
+
+    /** @hide */
+    @IntDef(flag = true, prefix = { "TYPE_" }, value = {
+            TYPE_PACKAGE_UPDATE,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Type {}
+
+    @Type public final int type;
+    public final String packageName;
+
+    @NonNull
+    public static DexOptEvent createPackageUpdate(String packageName) {
+        return new DexOptEvent(TYPE_PACKAGE_UPDATE, packageName);
+    }
+
+    private DexOptEvent(@Type int type, String packageName) {
+        this.type = type;
+        this.packageName = packageName;
+
+        checkConstructorArguments();
+    }
+
+    private void checkConstructorArguments() {
+        CheckHelpers.checkTypeInRange(type, TYPE_MAX);
+        Objects.requireNonNull(packageName, "packageName");
+    }
+
+    @Override
+    public String toString() {
+        return String.format("{DexOptEvent: packageName: %s}", packageName);
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        } else if (other instanceof DexOptEvent) {
+            return equals((DexOptEvent) other);
+        }
+        return false;
+    }
+
+    private boolean equals(DexOptEvent other) {
+        return packageName.equals(other.packageName);
+    }
+
+    //<editor-fold desc="Binder boilerplate">
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeInt(type);
+        out.writeString(packageName);
+    }
+
+    private DexOptEvent(Parcel in) {
+        this.type = in.readInt();
+        this.packageName = in.readString();
+
+        checkConstructorArguments();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public static final Parcelable.Creator<DexOptEvent> CREATOR
+            = new Parcelable.Creator<DexOptEvent>() {
+        public DexOptEvent createFromParcel(Parcel in) {
+            return new DexOptEvent(in);
+        }
+
+        public DexOptEvent[] newArray(int size) {
+            return new DexOptEvent[size];
+        }
+    };
+    //</editor-fold>
+}
diff --git a/startop/iorap/src/com/google/android/startop/iorap/IorapForwardingService.java b/startop/iorap/src/com/google/android/startop/iorap/IorapForwardingService.java
index 0c25cfb..8f1d0ad 100644
--- a/startop/iorap/src/com/google/android/startop/iorap/IorapForwardingService.java
+++ b/startop/iorap/src/com/google/android/startop/iorap/IorapForwardingService.java
@@ -324,6 +324,11 @@
             String[] updated = updatedPackages.toArray(new String[0]);
             for (String packageName : updated) {
                 Log.d(TAG, "onPackagesUpdated: " + packageName);
+                invokeRemote(mIorapRemote,
+                    (IIorap remote) ->
+                        remote.onDexOptEvent(RequestId.nextValueForSequence(),
+                                DexOptEvent.createPackageUpdate(packageName))
+                );
             }
         }
     }
diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java
index 4e14fd3..d960552 100644
--- a/telecomm/java/android/telecom/Conference.java
+++ b/telecomm/java/android/telecom/Conference.java
@@ -106,6 +106,7 @@
     private int mCallerDisplayNamePresentation;
     private int mCallDirection;
     private boolean mRingbackRequested = false;
+    private boolean mIsMultiparty = true;
 
     private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
         @Override
@@ -998,8 +999,8 @@
     public void onExtrasChanged(Bundle extras) {}
 
     /**
-     * Set whether Telecom should treat this {@link Conference} as a conference call or if it
-     * should treat it as a single-party call.
+     * Set whether Telecom should treat this {@link Conference} as a multiparty conference call or
+     * if it should treat it as a single-party call.
      * This method is used as part of a workaround regarding IMS conference calls and user
      * expectation.  In IMS, once a conference is formed, the UE is connected to an IMS conference
      * server.  If all participants of the conference drop out of the conference except for one, the
@@ -1020,6 +1021,7 @@
     @TestApi
     @RequiresPermission(MODIFY_PHONE_STATE)
     public void setConferenceState(boolean isConference) {
+        mIsMultiparty = isConference;
         for (Listener l : mListeners) {
             l.onConferenceStateChanged(this, isConference);
         }
@@ -1043,6 +1045,20 @@
         }
     }
 
+    /**
+     * Determines if the {@link Conference} is considered "multiparty" or not.  By default all
+     * conferences are considered multiparty.  A multiparty conference is one where there are
+     * multiple conference participants (other than the host) in the conference.
+     * This is tied to {@link #setConferenceState(boolean)}, which is used for some use cases to
+     * have a conference appear as if it is a standalone call, in which case the conference will
+     * no longer be multiparty.
+     * @return {@code true} if conference is treated as a conference (i.e. it is multiparty),
+     * {@code false} if it should emulate a standalone call (i.e. not multiparty).
+     * @hide
+     */
+    public boolean isMultiparty() {
+        return mIsMultiparty;
+    }
 
     /**
      * Sets the address of this {@link Conference}.  Used when {@link #setConferenceState(boolean)}
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java
index 73296986..1b60e48 100755
--- a/telecomm/java/android/telecom/ConnectionService.java
+++ b/telecomm/java/android/telecom/ConnectionService.java
@@ -2505,6 +2505,11 @@
             mAdapter.addConferenceCall(id, parcelableConference);
             mAdapter.setVideoProvider(id, conference.getVideoProvider());
             mAdapter.setVideoState(id, conference.getVideoState());
+            // In some instances a conference can start its life as a standalone call with just a
+            // single participant; ensure we signal to Telecom in this case.
+            if (!conference.isMultiparty()) {
+                mAdapter.setConferenceState(id, conference.isMultiparty());
+            }
 
             // Go through any child calls and set the parent.
             for (Connection connection : conference.getConnections()) {
diff --git a/telecomm/java/android/telecom/GatewayInfo.java b/telecomm/java/android/telecom/GatewayInfo.java
index 0faa4fd..31c24d5 100644
--- a/telecomm/java/android/telecom/GatewayInfo.java
+++ b/telecomm/java/android/telecom/GatewayInfo.java
@@ -111,7 +111,7 @@
     @Override
     public void writeToParcel(Parcel destination, int flags) {
         destination.writeString(mGatewayProviderPackageName);
-        mGatewayAddress.writeToParcel(destination, 0);
-        mOriginalAddress.writeToParcel(destination, 0);
+        Uri.writeToParcel(destination, mGatewayAddress);
+        Uri.writeToParcel(destination, mOriginalAddress);
     }
 }
diff --git a/telecomm/java/android/telecom/ParcelableCall.java b/telecomm/java/android/telecom/ParcelableCall.java
index 415a817..182dc8b 100644
--- a/telecomm/java/android/telecom/ParcelableCall.java
+++ b/telecomm/java/android/telecom/ParcelableCall.java
@@ -629,7 +629,7 @@
             int capabilities = source.readInt();
             int properties = source.readInt();
             long connectTimeMillis = source.readLong();
-            Uri handle = source.readParcelable(classLoader);
+            Uri handle = Uri.CREATOR.createFromParcel(source);
             int handlePresentation = source.readInt();
             String callerDisplayName = source.readString();
             int callerDisplayNamePresentation = source.readInt();
@@ -711,7 +711,7 @@
         destination.writeInt(mCapabilities);
         destination.writeInt(mProperties);
         destination.writeLong(mConnectTimeMillis);
-        destination.writeParcelable(mHandle, 0);
+        Uri.writeToParcel(destination, mHandle);
         destination.writeInt(mHandlePresentation);
         destination.writeString(mCallerDisplayName);
         destination.writeInt(mCallerDisplayNamePresentation);
diff --git a/telephony/framework-telephony-jarjar-rules.txt b/telephony/framework-telephony-jarjar-rules.txt
deleted file mode 100644
index 212eba1..0000000
--- a/telephony/framework-telephony-jarjar-rules.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-rule android.telephony.Annotation* android.telephony.framework.Annotation@1
-rule android.util.RecurrenceRule* android.telephony.RecurrenceRule@1
-rule com.android.i18n.phonenumbers.** com.android.telephony.framework.phonenumbers.@1
-rule com.android.internal.os.SomeArgs* android.telephony.SomeArgs@1
-rule com.android.internal.util.BitwiseInputStream* android.telephony.BitwiseInputStream@1
-rule com.android.internal.util.BitwiseOutputStream* android.telephony.BitwiseOutputStream@1
-rule com.android.internal.util.Preconditions* android.telephony.Preconditions@1
-rule com.android.internal.util.IndentingPrintWriter* android.telephony.IndentingPrintWriter@1
-rule com.android.internal.util.HexDump* android.telephony.HexDump@1
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 7f6e123..d2de19a 100755
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -505,6 +505,15 @@
     public static final String KEY_CARRIER_VT_AVAILABLE_BOOL = "carrier_vt_available_bool";
 
     /**
+     * Flag specifying whether to show an alert dialog for 5G disable when the user disables VoLTE.
+     * By default this value is {@code false}.
+     *
+     * @hide
+     */
+    public static final String KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL =
+            "volte_5g_limited_alert_dialog_bool";
+
+    /**
      * Flag specifying whether the carrier wants to notify the user when a VT call has been handed
      * over from WIFI to LTE.
      * <p>
@@ -2529,6 +2538,16 @@
             "parameters_use_for_5g_nr_signal_bar_int";
 
     /**
+     * There are two signal strengths, NR and LTE signal strength, during NR (non-standalone).
+     * Boolean indicating whether to use LTE signal strength as primary during NR (non-standalone).
+     * By default this value is true.
+     *
+     * @hide
+     */
+    public static final String KEY_SIGNAL_STRENGTH_NR_NSA_USE_LTE_AS_PRIMARY_BOOL =
+            "signal_strength_nr_nsa_use_lte_as_primary_bool";
+
+    /**
      * String array of default bandwidth values per network type.
      * The entries should be of form "network_name:downstream,upstream", with values in Kbps.
      * @hide
@@ -3074,6 +3093,16 @@
     public static final String KEY_UNMETERED_NR_NSA_SUB6_BOOL = "unmetered_nr_nsa_sub6_bool";
 
     /**
+     * Whether NR (non-standalone) should be unmetered when the device is roaming.
+     * If false, then the values for {@link #KEY_UNMETERED_NR_NSA_BOOL},
+     * {@link #KEY_UNMETERED_NR_NSA_MMWAVE_BOOL}, {@link #KEY_UNMETERED_NR_NSA_SUB6_BOOL},
+     * and unmetered {@link SubscriptionPlan} will be ignored.
+     * @hide
+     */
+    public static final String KEY_UNMETERED_NR_NSA_WHEN_ROAMING_BOOL =
+            "unmetered_nr_nsa_when_roaming_bool";
+
+    /**
      * Whether NR (standalone) should be unmetered for all frequencies.
      * If either {@link #KEY_UNMETERED_NR_SA_MMWAVE_BOOL} or
      * {@link #KEY_UNMETERED_NR_SA_SUB6_BOOL} are true, then this value will be ignored.
@@ -3693,6 +3722,7 @@
         sDefaults.putBoolean(KEY_CARRIER_SETTINGS_ENABLE_BOOL, false);
         sDefaults.putBoolean(KEY_CARRIER_VOLTE_AVAILABLE_BOOL, false);
         sDefaults.putBoolean(KEY_CARRIER_VT_AVAILABLE_BOOL, false);
+        sDefaults.putBoolean(KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL, false);
         sDefaults.putBoolean(KEY_NOTIFY_HANDOVER_VIDEO_FROM_WIFI_TO_LTE_BOOL, false);
         sDefaults.putBoolean(KEY_ALLOW_MERGING_RTT_CALLS_BOOL, false);
         sDefaults.putBoolean(KEY_NOTIFY_HANDOVER_VIDEO_FROM_LTE_TO_WIFI_BOOL, false);
@@ -4095,6 +4125,7 @@
                 });
         sDefaults.putInt(KEY_PARAMETERS_USE_FOR_5G_NR_SIGNAL_BAR_INT,
                 CellSignalStrengthNr.USE_SSRSRP);
+        sDefaults.putBoolean(KEY_SIGNAL_STRENGTH_NR_NSA_USE_LTE_AS_PRIMARY_BOOL, true);
         sDefaults.putStringArray(KEY_BANDWIDTH_STRING_ARRAY, new String[]{
                 "GPRS:24,24", "EDGE:70,18", "UMTS:115,115", "CDMA-IS95A:14,14", "CDMA-IS95B:14,14",
                 "1xRTT:30,30", "EvDo-rev.0:750,48", "EvDo-rev.A:950,550", "HSDPA:4300,620",
@@ -4123,6 +4154,7 @@
         sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_BOOL, false);
         sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_MMWAVE_BOOL, false);
         sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_SUB6_BOOL, false);
+        sDefaults.putBoolean(KEY_UNMETERED_NR_NSA_WHEN_ROAMING_BOOL, false);
         sDefaults.putBoolean(KEY_UNMETERED_NR_SA_BOOL, false);
         sDefaults.putBoolean(KEY_UNMETERED_NR_SA_MMWAVE_BOOL, false);
         sDefaults.putBoolean(KEY_UNMETERED_NR_SA_SUB6_BOOL, false);
diff --git a/telephony/java/android/telephony/CellIdentity.java b/telephony/java/android/telephony/CellIdentity.java
index 390a79a..33a43c1 100644
--- a/telephony/java/android/telephony/CellIdentity.java
+++ b/telephony/java/android/telephony/CellIdentity.java
@@ -45,8 +45,10 @@
      */
     public static final int MCC_LENGTH = 3;
 
-    private static final int MNC_MIN_LENGTH = 2;
-    private static final int MNC_MAX_LENGTH = 3;
+    /** @hide */
+    public static final int MNC_MIN_LENGTH = 2;
+    /** @hide */
+    public static final int MNC_MAX_LENGTH = 3;
 
     // Log tag
     /** @hide */
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index 2bb4eb1..1376cdd 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -82,6 +82,8 @@
     // Effectively final. Timestamp is set during construction of SignalStrength
     private long mTimestampMillis;
 
+    private boolean mLteAsPrimaryInNrNsa = true;
+
     CellSignalStrengthCdma mCdma;
     CellSignalStrengthGsm mGsm;
     CellSignalStrengthWcdma mWcdma;
@@ -188,6 +190,10 @@
     private CellSignalStrength getPrimary() {
         // This behavior is intended to replicate the legacy behavior of getLevel() by prioritizing
         // newer faster RATs for default/for display purposes.
+
+        if (mLteAsPrimaryInNrNsa) {
+            if (mLte.isValid()) return mLte;
+        }
         if (mNr.isValid()) return mNr;
         if (mLte.isValid()) return mLte;
         if (mCdma.isValid()) return mCdma;
@@ -268,6 +274,10 @@
 
     /** @hide */
     public void updateLevel(PersistableBundle cc, ServiceState ss) {
+        if (cc != null) {
+            mLteAsPrimaryInNrNsa = cc.getBoolean(
+                    CarrierConfigManager.KEY_SIGNAL_STRENGTH_NR_NSA_USE_LTE_AS_PRIMARY_BOOL, true);
+        }
         mCdma.updateLevel(cc, ss);
         mGsm.updateLevel(cc, ss);
         mWcdma.updateLevel(cc, ss);
diff --git a/telephony/java/android/telephony/TelephonyDisplayInfo.java b/telephony/java/android/telephony/TelephonyDisplayInfo.java
index 2c4d5ae..36fa5cc 100644
--- a/telephony/java/android/telephony/TelephonyDisplayInfo.java
+++ b/telephony/java/android/telephony/TelephonyDisplayInfo.java
@@ -154,7 +154,14 @@
         return Objects.hash(mNetworkType, mOverrideNetworkType);
     }
 
-    private static String overrideNetworkTypeToString(@OverrideNetworkType int type) {
+    /**
+     * Convert override network type to string.
+     *
+     * @param type Override network type
+     * @return Override network type in string format
+     * @hide
+     */
+    public static String overrideNetworkTypeToString(@OverrideNetworkType int type) {
         switch (type) {
             case OVERRIDE_NETWORK_TYPE_NONE: return "NONE";
             case OVERRIDE_NETWORK_TYPE_LTE_CA: return "LTE_CA";
@@ -168,6 +175,6 @@
     @Override
     public String toString() {
         return "TelephonyDisplayInfo {network=" + TelephonyManager.getNetworkTypeName(mNetworkType)
-                + ", override=" + overrideNetworkTypeToString(mOverrideNetworkType);
+                + ", override=" + overrideNetworkTypeToString(mOverrideNetworkType) + "}";
     }
 }
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index f623649..835ef59 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -13250,4 +13250,21 @@
     public static void enableServiceHandleCaching() {
         sServiceHandleCacheEnabled = true;
     }
+
+    /**
+     * Whether device can connect to 5G network when two SIMs are active.
+     * @hide
+     * TODO b/153669716: remove or make system API.
+     */
+    public boolean canConnectTo5GInDsdsMode() {
+        ITelephony telephony = getITelephony();
+        if (telephony == null) return true;
+        try {
+            return telephony.canConnectTo5GInDsdsMode();
+        } catch (RemoteException ex) {
+            return true;
+        } catch (NullPointerException ex) {
+            return true;
+        }
+    }
 }
diff --git a/telephony/java/android/telephony/data/DataCallResponse.java b/telephony/java/android/telephony/data/DataCallResponse.java
index a116c07..242c2e9 100644
--- a/telephony/java/android/telephony/data/DataCallResponse.java
+++ b/telephony/java/android/telephony/data/DataCallResponse.java
@@ -80,7 +80,6 @@
     private final int mMtu;
     private final int mMtuV4;
     private final int mMtuV6;
-    private final int mVersion;
 
     /**
      * @param cause Data call fail cause. {@link DataFailCause#NONE} indicates no error.
@@ -126,9 +125,7 @@
                 ? new ArrayList<>() : new ArrayList<>(gatewayAddresses);
         mPcscfAddresses = (pcscfAddresses == null)
                 ? new ArrayList<>() : new ArrayList<>(pcscfAddresses);
-        mMtu = mtu;
-        mMtuV4 = mMtuV6 = 0;
-        mVersion = 0;
+        mMtu = mMtuV4 = mMtuV6 = mtu;
     }
 
     /** @hide */
@@ -136,7 +133,7 @@
             @LinkStatus int linkStatus, @ProtocolType int protocolType,
             @Nullable String interfaceName, @Nullable List<LinkAddress> addresses,
             @Nullable List<InetAddress> dnsAddresses, @Nullable List<InetAddress> gatewayAddresses,
-            @Nullable List<InetAddress> pcscfAddresses, int mtuV4, int mtuV6, int version) {
+            @Nullable List<InetAddress> pcscfAddresses, int mtu, int mtuV4, int mtuV6) {
         mCause = cause;
         mSuggestedRetryTime = suggestedRetryTime;
         mId = id;
@@ -151,10 +148,9 @@
                 ? new ArrayList<>() : new ArrayList<>(gatewayAddresses);
         mPcscfAddresses = (pcscfAddresses == null)
                 ? new ArrayList<>() : new ArrayList<>(pcscfAddresses);
-        mMtu = 0;
+        mMtu = mtu;
         mMtuV4 = mtuV4;
         mMtuV6 = mtuV6;
-        mVersion = version;
     }
 
     /** @hide */
@@ -177,7 +173,6 @@
         mMtu = source.readInt();
         mMtuV4 = source.readInt();
         mMtuV6 = source.readInt();
-        mVersion = source.readInt();
     }
 
     /**
@@ -247,7 +242,7 @@
      */
     @Deprecated
     public int getMtu() {
-        return mVersion < 5 ? mMtu : 0;
+        return mMtu;
     }
 
     /**
@@ -256,7 +251,7 @@
      * Zero or negative values means network has either not sent a value or sent an invalid value.
      */
     public int getMtuV4() {
-        return mVersion < 5 ? 0 : mMtuV4;
+        return mMtuV4;
     }
 
     /**
@@ -264,7 +259,7 @@
      * Zero or negative values means network has either not sent a value or sent an invalid value.
      */
     public int getMtuV6() {
-        return mVersion < 5 ? 0 : mMtuV6;
+        return mMtuV6;
     }
 
     @NonNull
@@ -282,10 +277,9 @@
            .append(" dnses=").append(mDnsAddresses)
            .append(" gateways=").append(mGatewayAddresses)
            .append(" pcscf=").append(mPcscfAddresses)
-           .append(" mtu=").append(mMtu)
-           .append(" mtuV4=").append(mMtuV4)
-           .append(" mtuV6=").append(mMtuV6)
-           .append(" version=").append(mVersion)
+           .append(" mtu=").append(getMtu())
+           .append(" mtuV4=").append(getMtuV4())
+           .append(" mtuV6=").append(getMtuV6())
            .append("}");
         return sb.toString();
     }
@@ -315,15 +309,14 @@
                 && mPcscfAddresses.containsAll(other.mPcscfAddresses)
                 && mMtu == other.mMtu
                 && mMtuV4 == other.mMtuV4
-                && mMtuV6 == other.mMtuV6
-                && mVersion == other.mVersion;
+                && mMtuV6 == other.mMtuV6;
     }
 
     @Override
     public int hashCode() {
         return Objects.hash(mCause, mSuggestedRetryTime, mId, mLinkStatus, mProtocolType,
                 mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses, mPcscfAddresses,
-                mMtu, mMtuV4, mMtuV6, mVersion);
+                mMtu, mMtuV4, mMtuV6);
     }
 
     @Override
@@ -346,7 +339,6 @@
         dest.writeInt(mMtu);
         dest.writeInt(mMtuV4);
         dest.writeInt(mMtuV6);
-        dest.writeInt(mVersion);
     }
 
     public static final @android.annotation.NonNull Parcelable.Creator<DataCallResponse> CREATOR =
@@ -403,8 +395,6 @@
 
         private int mMtuV6;
 
-        private int mVersion;
-
         /**
          * Default constructor for Builder.
          */
@@ -563,29 +553,14 @@
         }
 
         /**
-         * Set the IRadio version for this DataCallResponse
-         * @hide
-         */
-        public @NonNull Builder setVersion(int version) {
-            mVersion = version;
-            return this;
-        }
-
-        /**
          * Build the DataCallResponse.
          *
          * @return the DataCallResponse object.
          */
         public @NonNull DataCallResponse build() {
-            if (mVersion >= 5) {
-                return new DataCallResponse(mCause, mSuggestedRetryTime, mId, mLinkStatus,
-                        mProtocolType, mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses,
-                        mPcscfAddresses, mMtuV4, mMtuV6, mVersion);
-            } else {
-                return new DataCallResponse(mCause, mSuggestedRetryTime, mId, mLinkStatus,
-                        mProtocolType, mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses,
-                        mPcscfAddresses, mMtu);
-            }
+            return new DataCallResponse(mCause, mSuggestedRetryTime, mId, mLinkStatus,
+                    mProtocolType, mInterfaceName, mAddresses, mDnsAddresses, mGatewayAddresses,
+                    mPcscfAddresses, mMtu, mMtuV4, mMtuV6);
         }
     }
 }
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 43aeb19..f5cd68f 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -2268,4 +2268,9 @@
      * @return operatorinfo on success
      */
     String getManualNetworkSelectionPlmn(int subId);
+
+    /**
+     * Whether device can connect to 5G network when two SIMs are active.
+     */
+    boolean canConnectTo5GInDsdsMode();
 }
diff --git a/tests/AppLaunch/Android.bp b/tests/AppLaunch/Android.bp
index f90f26f..75db551 100644
--- a/tests/AppLaunch/Android.bp
+++ b/tests/AppLaunch/Android.bp
@@ -8,6 +8,8 @@
         "android.test.base",
         "android.test.runner",
     ],
-    static_libs: ["androidx.test.rules"],
+    static_libs: [
+        "androidx.test.rules",
+        "ub-uiautomator"],
     test_suites: ["device-tests"],
 }
diff --git a/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java b/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
index 2d2f4db..7d750b7 100644
--- a/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
+++ b/tests/AppLaunch/src/com/android/tests/applaunch/AppLaunch.java
@@ -15,6 +15,8 @@
  */
 package com.android.tests.applaunch;
 
+import static org.junit.Assert.assertNotNull;
+
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.app.ActivityManager;
@@ -29,7 +31,9 @@
 import android.os.Bundle;
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteException;
+import android.os.SystemClock;
 import android.os.UserHandle;
+import android.support.test.uiautomator.UiDevice;
 import android.test.InstrumentationTestCase;
 import android.test.InstrumentationTestRunner;
 import android.util.Log;
@@ -46,6 +50,7 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
+import java.nio.file.Paths;
 import java.time.format.DateTimeFormatter;
 import java.time.ZonedDateTime;
 import java.time.ZoneOffset;
@@ -67,6 +72,7 @@
  * in the following format:
  * -e apps <app name>^<result key>|<app name>^<result key>
  */
+@Deprecated
 public class AppLaunch extends InstrumentationTestCase {
 
     private static final int JOIN_TIMEOUT = 10000;
@@ -94,6 +100,9 @@
     private static final String KEY_TRACE_DUMPINTERVAL = "tracedump_interval";
     private static final String KEY_COMPILER_FILTERS = "compiler_filters";
     private static final String KEY_FORCE_STOP_APP = "force_stop_app";
+    private static final String ENABLE_SCREEN_RECORDING = "enable_screen_recording";
+    private static final int MAX_RECORDING_PARTS = 5;
+    private static final long VIDEO_TAIL_BUFFER = 500;
 
     private static final String SIMPLEPERF_APP_CMD =
             "simpleperf --log fatal stat --csv -e cpu-cycles,major-faults --app %s & %s";
@@ -144,14 +153,17 @@
 
     private Map<String, Intent> mNameToIntent;
     private List<LaunchOrder> mLaunchOrderList = new ArrayList<LaunchOrder>();
+    private RecordingThread mCurrentThread;
     private Map<String, String> mNameToResultKey;
     private Map<String, Map<String, List<AppLaunchResult>>> mNameToLaunchTime;
     private IActivityManager mAm;
+    private File launchSubDir = null;
     private String mSimplePerfCmd = null;
     private String mLaunchOrder = null;
     private boolean mDropCache = false;
     private int mLaunchIterations = 10;
     private boolean mForceStopApp = true;
+    private boolean mEnableRecording = false;
     private int mTraceLaunchCount = 0;
     private String mTraceDirectoryStr = null;
     private Bundle mResult = new Bundle();
@@ -166,6 +178,7 @@
     private boolean mCycleCleanUp = false;
     private boolean mTraceAll = false;
     private boolean mIterationCycle = false;
+    private UiDevice mDevice;
 
     enum IorapStatus {
         UNDEFINED,
@@ -222,7 +235,7 @@
         }
 
         try {
-            File launchSubDir = new File(launchRootDir, LAUNCH_SUB_DIRECTORY);
+            launchSubDir = new File(launchRootDir, LAUNCH_SUB_DIRECTORY);
 
             if (!launchSubDir.exists() && !launchSubDir.mkdirs()) {
                 throw new IOException("Unable to create the lauch file sub directory "
@@ -923,9 +936,16 @@
             mLaunchIterations = Integer.parseInt(launchIterations);
         }
         String forceStopApp = args.getString(KEY_FORCE_STOP_APP);
+
         if (forceStopApp != null) {
             mForceStopApp = Boolean.parseBoolean(forceStopApp);
         }
+
+        String enableRecording = args.getString(ENABLE_SCREEN_RECORDING);
+
+        if (enableRecording != null) {
+            mEnableRecording = Boolean.parseBoolean(enableRecording);
+        }
         String appList = args.getString(KEY_APPS);
         if (appList == null)
             return;
@@ -1038,6 +1058,9 @@
     private AppLaunchResult startApp(String appName, String launchReason)
             throws NameNotFoundException, RemoteException {
         Log.i(TAG, "Starting " + appName);
+        if(mEnableRecording) {
+            startRecording(appName, launchReason);
+        }
 
         Intent startIntent = mNameToIntent.get(appName);
         if (startIntent == null) {
@@ -1053,6 +1076,10 @@
         } catch (InterruptedException e) {
             // ignore
         }
+
+        if(mEnableRecording) {
+            stopRecording();
+        }
         return runnable.getResult();
     }
 
@@ -1360,4 +1387,126 @@
         }
 
     }
+
+    /**
+     * Start the screen recording while launching the app.
+     *
+     * @param appName
+     * @param launchReason
+     */
+    private void startRecording(String appName, String launchReason) {
+        Log.v(TAG, "Started Recording");
+        mCurrentThread = new RecordingThread("test-screen-record",
+                String.format("%s_%s", appName, launchReason));
+        mCurrentThread.start();
+    }
+
+    /**
+     * Stop already started screen recording.
+     */
+    private void stopRecording() {
+        // Skip if not directory.
+        if (launchSubDir == null) {
+            return;
+        }
+
+        // Add some extra time to the video end.
+        SystemClock.sleep(VIDEO_TAIL_BUFFER);
+        // Ctrl + C all screen record processes.
+        mCurrentThread.cancel();
+        // Wait for the thread to completely die.
+        try {
+            mCurrentThread.join();
+        } catch (InterruptedException ex) {
+            Log.e(TAG, "Interrupted when joining the recording thread.", ex);
+        }
+        Log.v(TAG, "Stopped Recording");
+    }
+
+    /** Returns the recording's name for part {@code part} of launch description. */
+    private File getOutputFile(String description, int part) {
+        // Omit the iteration number for the first iteration.
+        final String fileName =
+                String.format(
+                        "%s-video%s.mp4", description, part == 1 ? "" : part);
+        return Paths.get(launchSubDir.getAbsolutePath(), description).toFile();
+    }
+
+
+    /**
+     * Encapsulates the start and stop screen recording logic.
+     * Copied from ScreenRecordCollector.
+     */
+    private class RecordingThread extends Thread {
+        private final String mDescription;
+        private final List<File> mRecordings;
+
+        private boolean mContinue;
+
+        public RecordingThread(String name, String description) {
+            super(name);
+
+            mContinue = true;
+            mRecordings = new ArrayList<>();
+
+            assertNotNull("No test description provided for recording.", description);
+            mDescription = description;
+        }
+
+        @Override
+        public void run() {
+            try {
+                // Start at i = 1 to encode parts as X.mp4, X2.mp4, X3.mp4, etc.
+                for (int i = 1; i <= MAX_RECORDING_PARTS && mContinue; i++) {
+                    File output = getOutputFile(mDescription, i);
+                    Log.d(
+                            TAG,
+                            String.format("Recording screen to %s", output.getAbsolutePath()));
+                    mRecordings.add(output);
+                    // Make sure not to block on this background command in the main thread so
+                    // that the test continues to run, but block in this thread so it does not
+                    // trigger a new screen recording session before the prior one completes.
+                    getDevice().executeShellCommand(
+                                    String.format("screenrecord %s", output.getAbsolutePath()));
+                }
+            } catch (IOException e) {
+                throw new RuntimeException("Caught exception while screen recording.");
+            }
+        }
+
+        public void cancel() {
+            mContinue = false;
+
+            // Identify the screenrecord PIDs and send SIGINT 2 (Ctrl + C) to each.
+            try {
+                String[] pids = getDevice().executeShellCommand(
+                        "pidof screenrecord").split(" ");
+                for (String pid : pids) {
+                    // Avoid empty process ids, because of weird splitting behavior.
+                    if (pid.isEmpty()) {
+                        continue;
+                    }
+
+                    getDevice().executeShellCommand(
+                            String.format("kill -2 %s", pid));
+                    Log.d(
+                            TAG,
+                            String.format("Sent SIGINT 2 to screenrecord process (%s)", pid));
+                }
+            } catch (IOException e) {
+                throw new RuntimeException("Failed to kill screen recording process.");
+            }
+        }
+
+        public List<File> getRecordings() {
+            return mRecordings;
+        }
+    }
+
+    public UiDevice getDevice() {
+        if (mDevice == null) {
+            mDevice = UiDevice.getInstance(getInstrumentation());
+        }
+        return mDevice;
+    }
 }
diff --git a/tests/AutoVerify/app1/Android.bp b/tests/AutoVerify/app1/Android.bp
new file mode 100644
index 0000000..548519f
--- /dev/null
+++ b/tests/AutoVerify/app1/Android.bp
@@ -0,0 +1,11 @@
+android_app {
+    name: "AutoVerifyTest",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    min_sdk_version: "26",
+    target_sdk_version: "26",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/AutoVerify/app1/AndroidManifest.xml b/tests/AutoVerify/app1/AndroidManifest.xml
new file mode 100644
index 0000000..d9caad4
--- /dev/null
+++ b/tests/AutoVerify/app1/AndroidManifest.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.test.autoverify" >
+
+    <uses-sdk android:targetSdkVersion="26" />
+
+    <application
+        android:label="@string/app_name" >
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+
+            <intent-filter android:autoVerify="true">
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="http" />
+                <data android:scheme="https" />
+                <data android:host="explicit.example.com" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/AutoVerify/app1/res/values/strings.xml b/tests/AutoVerify/app1/res/values/strings.xml
new file mode 100644
index 0000000..e234355
--- /dev/null
+++ b/tests/AutoVerify/app1/res/values/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright 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.
+-->
+
+<resources>
+    <!-- app icon label, do not translate -->
+    <string name="app_name" translatable="false">AutoVerify Test</string>
+</resources>
diff --git a/core/java/android/view/inline/InlinePresentationSpec.aidl b/tests/AutoVerify/app1/src/com/android/test/autoverify/MainActivity.java
similarity index 78%
rename from core/java/android/view/inline/InlinePresentationSpec.aidl
rename to tests/AutoVerify/app1/src/com/android/test/autoverify/MainActivity.java
index 680ee4e..09ef472 100644
--- a/core/java/android/view/inline/InlinePresentationSpec.aidl
+++ b/tests/AutoVerify/app1/src/com/android/test/autoverify/MainActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -13,11 +13,3 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-package android.view.inline;
-
-/**
- * @hide
- * @removed
- */
-parcelable InlinePresentationSpec;
diff --git a/tests/AutoVerify/app2/Android.bp b/tests/AutoVerify/app2/Android.bp
new file mode 100644
index 0000000..1c6c97b
--- /dev/null
+++ b/tests/AutoVerify/app2/Android.bp
@@ -0,0 +1,11 @@
+android_app {
+    name: "AutoVerifyTest2",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    min_sdk_version: "26",
+    target_sdk_version: "26",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/AutoVerify/app2/AndroidManifest.xml b/tests/AutoVerify/app2/AndroidManifest.xml
new file mode 100644
index 0000000..a008078
--- /dev/null
+++ b/tests/AutoVerify/app2/AndroidManifest.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.test.autoverify" >
+
+    <uses-sdk android:targetSdkVersion="26" />
+
+    <application
+        android:label="@string/app_name" >
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+
+            <intent-filter android:autoVerify="true">
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="http" />
+                <data android:scheme="https" />
+                <data android:host="explicit.example.com" />
+                <data android:host="*.wildcard.tld" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/AutoVerify/app2/res/values/strings.xml b/tests/AutoVerify/app2/res/values/strings.xml
new file mode 100644
index 0000000..e234355
--- /dev/null
+++ b/tests/AutoVerify/app2/res/values/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright 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.
+-->
+
+<resources>
+    <!-- app icon label, do not translate -->
+    <string name="app_name" translatable="false">AutoVerify Test</string>
+</resources>
diff --git a/core/java/android/view/inline/InlinePresentationSpec.aidl b/tests/AutoVerify/app2/src/com/android/test/autoverify/MainActivity.java
similarity index 78%
copy from core/java/android/view/inline/InlinePresentationSpec.aidl
copy to tests/AutoVerify/app2/src/com/android/test/autoverify/MainActivity.java
index 680ee4e..09ef472 100644
--- a/core/java/android/view/inline/InlinePresentationSpec.aidl
+++ b/tests/AutoVerify/app2/src/com/android/test/autoverify/MainActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -13,11 +13,3 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-package android.view.inline;
-
-/**
- * @hide
- * @removed
- */
-parcelable InlinePresentationSpec;
diff --git a/tests/AutoVerify/app3/Android.bp b/tests/AutoVerify/app3/Android.bp
new file mode 100644
index 0000000..70a2b77
--- /dev/null
+++ b/tests/AutoVerify/app3/Android.bp
@@ -0,0 +1,11 @@
+android_app {
+    name: "AutoVerifyTest3",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    min_sdk_version: "26",
+    target_sdk_version: "26",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/AutoVerify/app3/AndroidManifest.xml b/tests/AutoVerify/app3/AndroidManifest.xml
new file mode 100644
index 0000000..efaabc9
--- /dev/null
+++ b/tests/AutoVerify/app3/AndroidManifest.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.test.autoverify" >
+
+    <uses-sdk android:targetSdkVersion="26" />
+
+    <application
+        android:label="@string/app_name" >
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+
+            <!-- does not request autoVerify -->
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="http" />
+                <data android:scheme="https" />
+                <data android:host="explicit.example.com" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/AutoVerify/app3/res/values/strings.xml b/tests/AutoVerify/app3/res/values/strings.xml
new file mode 100644
index 0000000..e234355
--- /dev/null
+++ b/tests/AutoVerify/app3/res/values/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright 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.
+-->
+
+<resources>
+    <!-- app icon label, do not translate -->
+    <string name="app_name" translatable="false">AutoVerify Test</string>
+</resources>
diff --git a/core/java/android/view/inline/InlinePresentationSpec.aidl b/tests/AutoVerify/app3/src/com/android/test/autoverify/MainActivity.java
similarity index 78%
copy from core/java/android/view/inline/InlinePresentationSpec.aidl
copy to tests/AutoVerify/app3/src/com/android/test/autoverify/MainActivity.java
index 680ee4e..09ef472 100644
--- a/core/java/android/view/inline/InlinePresentationSpec.aidl
+++ b/tests/AutoVerify/app3/src/com/android/test/autoverify/MainActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -13,11 +13,3 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-package android.view.inline;
-
-/**
- * @hide
- * @removed
- */
-parcelable InlinePresentationSpec;
diff --git a/tests/AutoVerify/app4/Android.bp b/tests/AutoVerify/app4/Android.bp
new file mode 100644
index 0000000..fbdae11
--- /dev/null
+++ b/tests/AutoVerify/app4/Android.bp
@@ -0,0 +1,11 @@
+android_app {
+    name: "AutoVerifyTest4",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    min_sdk_version: "26",
+    target_sdk_version: "26",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/AutoVerify/app4/AndroidManifest.xml b/tests/AutoVerify/app4/AndroidManifest.xml
new file mode 100644
index 0000000..1c975f8
--- /dev/null
+++ b/tests/AutoVerify/app4/AndroidManifest.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.test.autoverify" >
+
+    <uses-sdk android:targetSdkVersion="26" />
+
+    <application
+        android:label="@string/app_name" >
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+
+            <!-- intentionally does not autoVerify -->
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="http" />
+                <data android:scheme="https" />
+                <data android:host="explicit.example.com" />
+                <data android:host="*.wildcard.tld" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/AutoVerify/app4/res/values/strings.xml b/tests/AutoVerify/app4/res/values/strings.xml
new file mode 100644
index 0000000..e234355
--- /dev/null
+++ b/tests/AutoVerify/app4/res/values/strings.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright 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.
+-->
+
+<resources>
+    <!-- app icon label, do not translate -->
+    <string name="app_name" translatable="false">AutoVerify Test</string>
+</resources>
diff --git a/core/java/android/view/inline/InlinePresentationSpec.aidl b/tests/AutoVerify/app4/src/com/android/test/autoverify/MainActivity.java
similarity index 78%
copy from core/java/android/view/inline/InlinePresentationSpec.aidl
copy to tests/AutoVerify/app4/src/com/android/test/autoverify/MainActivity.java
index 680ee4e..09ef472 100644
--- a/core/java/android/view/inline/InlinePresentationSpec.aidl
+++ b/tests/AutoVerify/app4/src/com/android/test/autoverify/MainActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * 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.
@@ -13,11 +13,3 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-package android.view.inline;
-
-/**
- * @hide
- * @removed
- */
-parcelable InlinePresentationSpec;
diff --git a/tests/DozeTest/src/com/android/dreams/dozetest/DozeTestDream.java b/tests/DozeTest/src/com/android/dreams/dozetest/DozeTestDream.java
index f4f610b..fa292bd 100644
--- a/tests/DozeTest/src/com/android/dreams/dozetest/DozeTestDream.java
+++ b/tests/DozeTest/src/com/android/dreams/dozetest/DozeTestDream.java
@@ -100,7 +100,6 @@
     public void onAttachedToWindow() {
         super.onAttachedToWindow();
         setInteractive(false);
-        setLowProfile(true);
         setFullscreen(true);
         setContentView(R.layout.dream);
         setScreenBright(false);
diff --git a/tests/RollbackTest/MultiUserRollbackTest/src/com/android/tests/rollback/host/MultiUserRollbackTest.java b/tests/RollbackTest/MultiUserRollbackTest/src/com/android/tests/rollback/host/MultiUserRollbackTest.java
index 4c29e72e..a4c81d5 100644
--- a/tests/RollbackTest/MultiUserRollbackTest/src/com/android/tests/rollback/host/MultiUserRollbackTest.java
+++ b/tests/RollbackTest/MultiUserRollbackTest/src/com/android/tests/rollback/host/MultiUserRollbackTest.java
@@ -56,8 +56,7 @@
         cleanUp();
         mOriginalUserId = getDevice().getCurrentUser();
         createAndStartSecondaryUser();
-        // TODO(b/149733368): Remove the '-g' workaround when the bug is fixed.
-        installPackage("RollbackTest.apk", "-g --user all");
+        installPackage("RollbackTest.apk", "--user all");
     }
 
     @Test
diff --git a/tests/UiBench/AndroidManifest.xml b/tests/UiBench/AndroidManifest.xml
index c6b4a54..dd255ef 100644
--- a/tests/UiBench/AndroidManifest.xml
+++ b/tests/UiBench/AndroidManifest.xml
@@ -306,5 +306,14 @@
                 <category android:name="com.android.test.uibench.TEST" />
             </intent-filter>
         </activity>
+
+        <activity
+            android:name="WindowInsetsControllerActivity"
+            android:label="WindowInsetsControllerActivity" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.test.uibench.TEST" />
+            </intent-filter>
+        </activity>
     </application>
 </manifest>
diff --git a/tests/UiBench/src/com/android/test/uibench/WindowInsetsControllerActivity.java b/tests/UiBench/src/com/android/test/uibench/WindowInsetsControllerActivity.java
new file mode 100644
index 0000000..e4b89cd
--- /dev/null
+++ b/tests/UiBench/src/com/android/test/uibench/WindowInsetsControllerActivity.java
@@ -0,0 +1,53 @@
+/*
+ * 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.test.uibench;
+
+import static android.view.WindowInsetsAnimation.Callback.DISPATCH_MODE_STOP;
+
+import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.view.WindowInsets;
+import android.view.WindowInsetsAnimation;
+import android.widget.EditText;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import java.util.List;
+
+public class WindowInsetsControllerActivity extends AppCompatActivity {
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        EditText text = new EditText(this);
+        text.setText("WindowInsetsController");
+        setContentView(text);
+        getWindow().setDecorFitsSystemWindows(false);
+
+        text.setWindowInsetsAnimationCallback(
+                new WindowInsetsAnimation.Callback(DISPATCH_MODE_STOP) {
+            @NonNull
+            @Override
+            public WindowInsets onProgress(@NonNull WindowInsets insets,
+                    @NonNull List<WindowInsetsAnimation> runningAnimations) {
+                return WindowInsets.CONSUMED;
+            }
+        });
+    }
+}
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
index f1dd1de..b7f5b15 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
@@ -16,14 +16,11 @@
 
 package com.android.test.voiceinteraction;
 
-import android.content.ComponentName;
 import android.content.Intent;
-import android.os.Bundle;
 import android.service.voice.AlwaysOnHotwordDetector;
 import android.service.voice.AlwaysOnHotwordDetector.Callback;
 import android.service.voice.AlwaysOnHotwordDetector.EventPayload;
 import android.service.voice.VoiceInteractionService;
-import android.service.voice.VoiceInteractionSession;
 import android.util.Log;
 
 import java.util.Arrays;
@@ -68,7 +65,8 @@
         Log.i(TAG, "Creating " + this);
         Log.i(TAG, "Keyphrase enrollment error? " + getKeyphraseEnrollmentInfo().getParseError());
         Log.i(TAG, "Keyphrase enrollment meta-data: "
-                + Arrays.toString(getKeyphraseEnrollmentInfo().listKeyphraseMetadata()));
+                + Arrays.toString(getKeyphraseEnrollmentInfo().listKeyphraseMetadata().toArray(
+                new android.hardware.soundtrigger.KeyphraseMetadata[0])));
 
         mHotwordDetector = createAlwaysOnHotwordDetector(
                 "Hello There", Locale.forLanguageTag("en-US"), mHotwordCallback);
diff --git a/tests/net/java/android/net/CaptivePortalDataTest.kt b/tests/net/common/java/android/net/CaptivePortalDataTest.kt
similarity index 67%
rename from tests/net/java/android/net/CaptivePortalDataTest.kt
rename to tests/net/common/java/android/net/CaptivePortalDataTest.kt
index 0071438..bd1847b 100644
--- a/tests/net/java/android/net/CaptivePortalDataTest.kt
+++ b/tests/net/common/java/android/net/CaptivePortalDataTest.kt
@@ -16,17 +16,22 @@
 
 package android.net
 
+import android.os.Build
 import androidx.test.filters.SmallTest
-import androidx.test.runner.AndroidJUnit4
 import com.android.testutils.assertParcelSane
 import com.android.testutils.assertParcelingIsLossless
+import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo
+import com.android.testutils.DevSdkIgnoreRunner
+import org.junit.Assert.assertFalse
+import org.junit.Assert.assertTrue
 import org.junit.Test
 import org.junit.runner.RunWith
 import kotlin.test.assertEquals
 import kotlin.test.assertNotEquals
 
 @SmallTest
-@RunWith(AndroidJUnit4::class)
+@RunWith(DevSdkIgnoreRunner::class)
+@IgnoreUpTo(Build.VERSION_CODES.Q)
 class CaptivePortalDataTest {
     private val data = CaptivePortalData.Builder()
             .setRefreshTime(123L)
@@ -63,6 +68,46 @@
         assertNotEqualsAfterChange { it.setCaptive(false) }
     }
 
+    @Test
+    fun testUserPortalUrl() {
+        assertEquals(Uri.parse("https://portal.example.com/test"), data.userPortalUrl)
+    }
+
+    @Test
+    fun testVenueInfoUrl() {
+        assertEquals(Uri.parse("https://venue.example.com/test"), data.venueInfoUrl)
+    }
+
+    @Test
+    fun testIsSessionExtendable() {
+        assertTrue(data.isSessionExtendable)
+    }
+
+    @Test
+    fun testByteLimit() {
+        assertEquals(456L, data.byteLimit)
+        // Test byteLimit unset.
+        assertEquals(-1L, CaptivePortalData.Builder(null).build().byteLimit)
+    }
+
+    @Test
+    fun testRefreshTimeMillis() {
+        assertEquals(123L, data.refreshTimeMillis)
+    }
+
+    @Test
+    fun testExpiryTimeMillis() {
+        assertEquals(789L, data.expiryTimeMillis)
+        // Test expiryTimeMillis unset.
+        assertEquals(-1L, CaptivePortalData.Builder(null).build().expiryTimeMillis)
+    }
+
+    @Test
+    fun testIsCaptive() {
+        assertTrue(data.isCaptive)
+        assertFalse(makeBuilder().setCaptive(false).build().isCaptive)
+    }
+
     private fun CaptivePortalData.mutate(mutator: (CaptivePortalData.Builder) -> Unit) =
             CaptivePortalData.Builder(this).apply { mutator(this) }.build()
 
diff --git a/tests/net/common/java/android/net/NetworkProviderTest.kt b/tests/net/common/java/android/net/NetworkProviderTest.kt
new file mode 100644
index 0000000..b7c47c2
--- /dev/null
+++ b/tests/net/common/java/android/net/NetworkProviderTest.kt
@@ -0,0 +1,187 @@
+/*
+ * 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 android.net
+
+import android.app.Instrumentation
+import android.content.Context
+import android.net.NetworkCapabilities.TRANSPORT_TEST
+import android.os.Build
+import android.os.HandlerThread
+import android.os.Looper
+import android.net.NetworkProviderTest.TestNetworkCallback.CallbackEntry.OnUnavailable
+import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequested
+import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequestWithdrawn
+import androidx.test.InstrumentationRegistry
+import com.android.testutils.ArrayTrackRecord
+import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo
+import com.android.testutils.DevSdkIgnoreRunner
+import java.util.UUID
+import kotlin.test.assertEquals
+import kotlin.test.assertNotEquals
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+private const val DEFAULT_TIMEOUT_MS = 5000L
+private val instrumentation: Instrumentation
+    get() = InstrumentationRegistry.getInstrumentation()
+private val context: Context get() = InstrumentationRegistry.getContext()
+private val PROVIDER_NAME = "NetworkProviderTest"
+
+@RunWith(DevSdkIgnoreRunner::class)
+@IgnoreUpTo(Build.VERSION_CODES.Q)
+class NetworkProviderTest {
+    private val mCm = context.getSystemService(ConnectivityManager::class.java)
+    private val mHandlerThread = HandlerThread("${javaClass.simpleName} handler thread")
+
+    @Before
+    fun setUp() {
+        instrumentation.getUiAutomation().adoptShellPermissionIdentity()
+        mHandlerThread.start()
+    }
+
+    @After
+    fun tearDown() {
+        mHandlerThread.quitSafely()
+        instrumentation.getUiAutomation().dropShellPermissionIdentity()
+    }
+
+    private class TestNetworkProvider(context: Context, looper: Looper) :
+            NetworkProvider(context, looper, PROVIDER_NAME) {
+        private val seenEvents = ArrayTrackRecord<CallbackEntry>().newReadHead()
+
+        sealed class CallbackEntry {
+            data class OnNetworkRequested(
+                val request: NetworkRequest,
+                val score: Int,
+                val id: Int
+            ) : CallbackEntry()
+            data class OnNetworkRequestWithdrawn(val request: NetworkRequest) : CallbackEntry()
+        }
+
+        override fun onNetworkRequested(request: NetworkRequest, score: Int, id: Int) {
+            seenEvents.add(OnNetworkRequested(request, score, id))
+        }
+
+        override fun onNetworkRequestWithdrawn(request: NetworkRequest) {
+            seenEvents.add(OnNetworkRequestWithdrawn(request))
+        }
+
+        inline fun <reified T : CallbackEntry> expectCallback(
+            crossinline predicate: (T) -> Boolean
+        ) = seenEvents.poll(DEFAULT_TIMEOUT_MS) { it is T && predicate(it) }
+    }
+
+    private fun createNetworkProvider(): TestNetworkProvider {
+        return TestNetworkProvider(context, mHandlerThread.looper)
+    }
+
+    @Test
+    fun testOnNetworkRequested() {
+        val provider = createNetworkProvider()
+        assertEquals(provider.getProviderId(), NetworkProvider.ID_NONE)
+        mCm.registerNetworkProvider(provider)
+        assertNotEquals(provider.getProviderId(), NetworkProvider.ID_NONE)
+
+        val specifier = StringNetworkSpecifier(UUID.randomUUID().toString())
+        val nr: NetworkRequest = NetworkRequest.Builder()
+                .addTransportType(TRANSPORT_TEST)
+                .setNetworkSpecifier(specifier)
+                .build()
+        val cb = ConnectivityManager.NetworkCallback()
+        mCm.requestNetwork(nr, cb)
+        provider.expectCallback<OnNetworkRequested>() { callback ->
+            callback.request.getNetworkSpecifier() == specifier &&
+            callback.request.hasTransport(TRANSPORT_TEST)
+        }
+
+        val initialScore = 40
+        val updatedScore = 60
+        val nc = NetworkCapabilities().apply {
+                addTransportType(NetworkCapabilities.TRANSPORT_TEST)
+                removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
+                removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+                addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED)
+                addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING)
+                addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
+                setNetworkSpecifier(specifier)
+        }
+        val lp = LinkProperties()
+        val config = NetworkAgentConfig.Builder().build()
+        val agent = object : NetworkAgent(context, mHandlerThread.looper, "TestAgent", nc, lp,
+                initialScore, config, provider) {}
+
+        provider.expectCallback<OnNetworkRequested>() { callback ->
+            callback.request.getNetworkSpecifier() == specifier &&
+            callback.score == initialScore &&
+            callback.id == agent.providerId
+        }
+
+        agent.sendNetworkScore(updatedScore)
+        provider.expectCallback<OnNetworkRequested>() { callback ->
+            callback.request.getNetworkSpecifier() == specifier &&
+            callback.score == updatedScore &&
+            callback.id == agent.providerId
+        }
+
+        mCm.unregisterNetworkCallback(cb)
+        provider.expectCallback<OnNetworkRequestWithdrawn>() { callback ->
+            callback.request.getNetworkSpecifier() == specifier &&
+            callback.request.hasTransport(TRANSPORT_TEST)
+        }
+        mCm.unregisterNetworkProvider(provider)
+        // Provider id should be ID_NONE after unregister network provider
+        assertEquals(provider.getProviderId(), NetworkProvider.ID_NONE)
+        // unregisterNetworkProvider should not crash even if it's called on an
+        // already unregistered provider.
+        mCm.unregisterNetworkProvider(provider)
+    }
+
+    private class TestNetworkCallback : ConnectivityManager.NetworkCallback() {
+        private val seenEvents = ArrayTrackRecord<CallbackEntry>().newReadHead()
+        sealed class CallbackEntry {
+            object OnUnavailable : CallbackEntry()
+        }
+
+        override fun onUnavailable() {
+            seenEvents.add(OnUnavailable)
+        }
+
+        inline fun <reified T : CallbackEntry> expectCallback(
+            crossinline predicate: (T) -> Boolean
+        ) = seenEvents.poll(DEFAULT_TIMEOUT_MS) { it is T && predicate(it) }
+    }
+
+    @Test
+    fun testDeclareNetworkRequestUnfulfillable() {
+        val provider = createNetworkProvider()
+        mCm.registerNetworkProvider(provider)
+
+        val specifier = StringNetworkSpecifier(UUID.randomUUID().toString())
+        val nr: NetworkRequest = NetworkRequest.Builder()
+                .addTransportType(TRANSPORT_TEST)
+                .setNetworkSpecifier(specifier)
+                .build()
+
+        val cb = TestNetworkCallback()
+        mCm.requestNetwork(nr, cb)
+        provider.declareNetworkRequestUnfulfillable(nr)
+        cb.expectCallback<OnUnavailable>() { nr.getNetworkSpecifier() == specifier }
+        mCm.unregisterNetworkProvider(provider)
+    }
+}
\ No newline at end of file
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index b864e37..a478e68 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -5969,6 +5969,9 @@
         final LinkAddress myIpv6 = new LinkAddress("2001:db8:1::1/64");
         final String kNat64PrefixString = "2001:db8:64:64:64:64::";
         final IpPrefix kNat64Prefix = new IpPrefix(InetAddress.getByName(kNat64PrefixString), 96);
+        final String kOtherNat64PrefixString = "64:ff9b::";
+        final IpPrefix kOtherNat64Prefix = new IpPrefix(
+                InetAddress.getByName(kOtherNat64PrefixString), 96);
         final RouteInfo defaultRoute = new RouteInfo((IpPrefix) null, myIpv6.getAddress(),
                                                      MOBILE_IFNAME);
         final RouteInfo ipv6Subnet = new RouteInfo(myIpv6, null, MOBILE_IFNAME);
@@ -6082,6 +6085,24 @@
         }
         reset(mMockNetd);
 
+        // Change the NAT64 prefix without first removing it.
+        // Expect clatd to be stopped and started with the new prefix.
+        mService.mNetdEventCallback.onNat64PrefixEvent(cellNetId, true /* added */,
+                kOtherNat64PrefixString, 96);
+        networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
+                (lp) -> lp.getStackedLinks().size() == 0);
+        verify(mMockNetd, times(1)).clatdStop(MOBILE_IFNAME);
+        assertRoutesRemoved(cellNetId, stackedDefault);
+
+        verify(mMockNetd, times(1)).clatdStart(MOBILE_IFNAME, kOtherNat64Prefix.toString());
+        networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
+                (lp) -> lp.getNat64Prefix().equals(kOtherNat64Prefix));
+        clat.interfaceLinkStateChanged(CLAT_PREFIX + MOBILE_IFNAME, true);
+        networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
+                (lp) -> lp.getStackedLinks().size() == 1);
+        assertRoutesAdded(cellNetId, stackedDefault);
+        reset(mMockNetd);
+
         // Add ipv4 address, expect that clatd and prefix discovery are stopped and stacked
         // linkproperties are cleaned up.
         cellLp.addLinkAddress(myIpv4);
@@ -6096,7 +6117,7 @@
         networkCallback.expectCallback(CallbackEntry.LINK_PROPERTIES_CHANGED, mCellNetworkAgent);
         LinkProperties actualLpAfterIpv4 = mCm.getLinkProperties(mCellNetworkAgent.getNetwork());
         LinkProperties expected = new LinkProperties(cellLp);
-        expected.setNat64Prefix(kNat64Prefix);
+        expected.setNat64Prefix(kOtherNat64Prefix);
         assertEquals(expected, actualLpAfterIpv4);
         assertEquals(0, actualLpAfterIpv4.getStackedLinks().size());
         assertRoutesRemoved(cellNetId, stackedDefault);
@@ -6115,7 +6136,7 @@
 
         // Stopping prefix discovery causes netd to tell us that the NAT64 prefix is gone.
         mService.mNetdEventCallback.onNat64PrefixEvent(cellNetId, false /* added */,
-                kNat64PrefixString, 96);
+                kOtherNat64PrefixString, 96);
         networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
                 (lp) -> lp.getNat64Prefix() == null);
 
@@ -6158,6 +6179,111 @@
         mCm.unregisterNetworkCallback(networkCallback);
     }
 
+    private void expectNat64PrefixChange(TestableNetworkCallback callback,
+            TestNetworkAgentWrapper agent, IpPrefix prefix) {
+        callback.expectLinkPropertiesThat(agent, x -> Objects.equals(x.getNat64Prefix(), prefix));
+    }
+
+    @Test
+    public void testNat64PrefixMultipleSources() throws Exception {
+        final String iface = "wlan0";
+        final String pref64FromRaStr = "64:ff9b::";
+        final String pref64FromDnsStr = "2001:db8:64::";
+        final IpPrefix pref64FromRa = new IpPrefix(InetAddress.getByName(pref64FromRaStr), 96);
+        final IpPrefix pref64FromDns = new IpPrefix(InetAddress.getByName(pref64FromDnsStr), 96);
+        final IpPrefix newPref64FromRa = new IpPrefix("2001:db8:64:64:64:64::/96");
+
+        final NetworkRequest request = new NetworkRequest.Builder()
+                .addCapability(NET_CAPABILITY_INTERNET)
+                .build();
+        final TestNetworkCallback callback = new TestNetworkCallback();
+        mCm.registerNetworkCallback(request, callback);
+
+        final LinkProperties baseLp = new LinkProperties();
+        baseLp.setInterfaceName(iface);
+        baseLp.addLinkAddress(new LinkAddress("2001:db8:1::1/64"));
+        baseLp.addDnsServer(InetAddress.getByName("2001:4860:4860::6464"));
+
+        reset(mMockNetd, mMockDnsResolver);
+        InOrder inOrder = inOrder(mMockNetd, mMockDnsResolver);
+
+        // If a network already has a NAT64 prefix on connect, clatd is started immediately and
+        // prefix discovery is never started.
+        LinkProperties lp = new LinkProperties(baseLp);
+        lp.setNat64Prefix(pref64FromRa);
+        mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI, lp);
+        mCellNetworkAgent.connect(false);
+        final Network network = mCellNetworkAgent.getNetwork();
+        int netId = network.getNetId();
+        callback.expectAvailableCallbacksUnvalidated(mCellNetworkAgent);
+        inOrder.verify(mMockNetd).clatdStart(iface, pref64FromRa.toString());
+        inOrder.verify(mMockDnsResolver, never()).startPrefix64Discovery(netId);
+        callback.assertNoCallback();
+        assertEquals(pref64FromRa, mCm.getLinkProperties(network).getNat64Prefix());
+
+        // If the RA prefix is withdrawn, clatd is stopped and prefix discovery is started.
+        lp.setNat64Prefix(null);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, null);
+        inOrder.verify(mMockNetd).clatdStop(iface);
+        inOrder.verify(mMockDnsResolver).startPrefix64Discovery(netId);
+
+        // If the RA prefix appears while DNS discovery is in progress, discovery is stopped and
+        // clatd is started with the prefix from the RA.
+        lp.setNat64Prefix(pref64FromRa);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, pref64FromRa);
+        inOrder.verify(mMockNetd).clatdStart(iface, pref64FromRa.toString());
+        inOrder.verify(mMockDnsResolver).stopPrefix64Discovery(netId);
+
+        // Withdraw the RA prefix so we can test the case where an RA prefix appears after DNS
+        // discovery has succeeded.
+        lp.setNat64Prefix(null);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, null);
+        inOrder.verify(mMockNetd).clatdStop(iface);
+        inOrder.verify(mMockDnsResolver).startPrefix64Discovery(netId);
+
+        mService.mNetdEventCallback.onNat64PrefixEvent(netId, true /* added */,
+                pref64FromDnsStr, 96);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, pref64FromDns);
+        inOrder.verify(mMockNetd).clatdStart(iface, pref64FromDns.toString());
+
+        // If the RA prefix reappears, clatd is restarted and prefix discovery is stopped.
+        lp.setNat64Prefix(pref64FromRa);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, pref64FromRa);
+        inOrder.verify(mMockNetd).clatdStop(iface);
+        inOrder.verify(mMockDnsResolver).stopPrefix64Discovery(netId);
+        inOrder.verify(mMockNetd).clatdStart(iface, pref64FromRa.toString());
+        inOrder.verify(mMockDnsResolver, never()).startPrefix64Discovery(netId);
+
+        // If the RA prefix changes, clatd is restarted and prefix discovery is not started.
+        lp.setNat64Prefix(newPref64FromRa);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        expectNat64PrefixChange(callback, mCellNetworkAgent, newPref64FromRa);
+        inOrder.verify(mMockNetd).clatdStop(iface);
+        inOrder.verify(mMockNetd).clatdStart(iface, newPref64FromRa.toString());
+        inOrder.verify(mMockDnsResolver, never()).stopPrefix64Discovery(netId);
+        inOrder.verify(mMockDnsResolver, never()).startPrefix64Discovery(netId);
+
+        // If the RA prefix changes to the same value, nothing happens.
+        lp.setNat64Prefix(newPref64FromRa);
+        mCellNetworkAgent.sendLinkProperties(lp);
+        callback.assertNoCallback();
+        assertEquals(newPref64FromRa, mCm.getLinkProperties(network).getNat64Prefix());
+        inOrder.verify(mMockNetd, never()).clatdStop(iface);
+        inOrder.verify(mMockNetd, never()).clatdStart(eq(iface), anyString());
+        inOrder.verify(mMockDnsResolver, never()).stopPrefix64Discovery(netId);
+        inOrder.verify(mMockDnsResolver, never()).startPrefix64Discovery(netId);
+
+        // The transition between no prefix and DNS prefix is tested in testStackedLinkProperties.
+
+        callback.assertNoCallback();
+        mCellNetworkAgent.disconnect();
+        mCm.unregisterNetworkCallback(callback);
+    }
+
     @Test
     public void testDataActivityTracking() throws Exception {
         final TestNetworkCallback networkCallback = new TestNetworkCallback();
diff --git a/tests/net/java/com/android/server/connectivity/DnsManagerTest.java b/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
index a392ae3..0a603b8 100644
--- a/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
+++ b/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
@@ -18,6 +18,8 @@
 
 import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
 import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
+import static android.net.NetworkCapabilities.MAX_TRANSPORT;
+import static android.net.NetworkCapabilities.MIN_TRANSPORT;
 import static android.net.NetworkCapabilities.TRANSPORT_VPN;
 import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
 import static android.provider.Settings.Global.PRIVATE_DNS_DEFAULT_MODE;
@@ -30,6 +32,7 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.reset;
@@ -44,16 +47,19 @@
 import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.net.Network;
+import android.net.NetworkCapabilities;
 import android.net.ResolverOptionsParcel;
 import android.net.ResolverParamsParcel;
 import android.net.RouteInfo;
 import android.net.shared.PrivateDnsConfig;
 import android.provider.Settings;
 import android.test.mock.MockContentResolver;
+import android.util.SparseArray;
 
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.internal.util.MessageUtils;
 import com.android.internal.util.test.FakeSettingsProvider;
 
 import org.junit.Before;
@@ -354,4 +360,23 @@
         expectedParams.resolverOptions = new ResolverOptionsParcel();
         assertResolverParamsEquals(actualParams, expectedParams);
     }
+
+    @Test
+    public void testTransportTypesEqual() throws Exception {
+        SparseArray<String> ncTransTypes = MessageUtils.findMessageNames(
+                new Class[] { NetworkCapabilities.class }, new String[]{ "TRANSPORT_" });
+        SparseArray<String> dnsTransTypes = MessageUtils.findMessageNames(
+                new Class[] { IDnsResolver.class }, new String[]{ "TRANSPORT_" });
+        assertEquals(0, MIN_TRANSPORT);
+        assertEquals(MAX_TRANSPORT + 1, ncTransTypes.size());
+        // TRANSPORT_UNKNOWN in IDnsResolver is defined to -1 and only for resolver.
+        assertEquals("TRANSPORT_UNKNOWN", dnsTransTypes.get(-1));
+        assertEquals(ncTransTypes.size(), dnsTransTypes.size() - 1);
+        for (int i = MIN_TRANSPORT; i < MAX_TRANSPORT; i++) {
+            String name = ncTransTypes.get(i, null);
+            assertNotNull("Could not find NetworkCapabilies.TRANSPORT_* constant equal to "
+                    + i, name);
+            assertEquals(name, dnsTransTypes.get(i));
+        }
+    }
 }
diff --git a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
index d0ebb52..5046b65 100644
--- a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
+++ b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
@@ -58,8 +58,10 @@
 
     static final String BASE_IFACE = "test0";
     static final String STACKED_IFACE = "v4-test0";
+    static final LinkAddress V6ADDR = new LinkAddress("2001:db8:1::f00/64");
     static final LinkAddress ADDR = new LinkAddress("192.0.2.5/29");
     static final String NAT64_PREFIX = "64:ff9b::/96";
+    static final String OTHER_NAT64_PREFIX = "2001:db8:0:64::/96";
     static final int NETID = 42;
 
     @Mock ConnectivityService mConnectivity;
@@ -81,6 +83,14 @@
         };
     }
 
+    private void markNetworkConnected() {
+        mNai.networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
+    }
+
+    private void markNetworkDisconnected() {
+        mNai.networkInfo.setDetailedState(NetworkInfo.DetailedState.DISCONNECTED, "", "");
+    }
+
     @Before
     public void setUp() throws Exception {
         mLooper = new TestLooper();
@@ -92,6 +102,7 @@
         mNai.linkProperties.setInterfaceName(BASE_IFACE);
         mNai.networkInfo = new NetworkInfo(null);
         mNai.networkInfo.setType(ConnectivityManager.TYPE_WIFI);
+        markNetworkConnected();
         when(mNai.connService()).thenReturn(mConnectivity);
         when(mNai.netAgentConfig()).thenReturn(mAgentConfig);
         when(mNai.handler()).thenReturn(mHandler);
@@ -139,7 +150,7 @@
             for (NetworkInfo.DetailedState state : supportedDetailedStates) {
                 mNai.networkInfo.setDetailedState(state, "reason", "extraInfo");
 
-                mNai.linkProperties.setNat64Prefix(new IpPrefix("2001:db8:0:64::/96"));
+                mNai.linkProperties.setNat64Prefix(new IpPrefix(OTHER_NAT64_PREFIX));
                 assertRequiresClat(false, mNai);
                 assertShouldStartClat(false, mNai);
 
@@ -176,11 +187,20 @@
         }
     }
 
-    @Test
-    public void testNormalStartAndStop() throws Exception {
+    private void makeClatUnnecessary(boolean dueToDisconnect) {
+        if (dueToDisconnect) {
+            markNetworkDisconnected();
+        } else {
+            mNai.linkProperties.addLinkAddress(ADDR);
+        }
+    }
+
+    private void checkNormalStartAndStop(boolean dueToDisconnect) throws Exception {
         Nat464Xlat nat = makeNat464Xlat();
         ArgumentCaptor<LinkProperties> c = ArgumentCaptor.forClass(LinkProperties.class);
 
+        mNai.linkProperties.addLinkAddress(V6ADDR);
+
         nat.setNat64PrefixFromDns(new IpPrefix(NAT64_PREFIX));
 
         // Start clat.
@@ -200,6 +220,7 @@
         assertRunning(nat);
 
         // Stop clat (Network disconnects, IPv4 addr appears, ...).
+        makeClatUnnecessary(dueToDisconnect);
         nat.stop();
 
         verify(mNetd).clatdStop(eq(BASE_IFACE));
@@ -217,11 +238,23 @@
         verifyNoMoreInteractions(mNetd, mNms, mConnectivity);
     }
 
+    @Test
+    public void testNormalStartAndStopDueToDisconnect() throws Exception {
+        checkNormalStartAndStop(true);
+    }
+
+    @Test
+    public void testNormalStartAndStopDueToIpv4Addr() throws Exception {
+        checkNormalStartAndStop(false);
+    }
+
     private void checkStartStopStart(boolean interfaceRemovedFirst) throws Exception {
         Nat464Xlat nat = makeNat464Xlat();
         ArgumentCaptor<LinkProperties> c = ArgumentCaptor.forClass(LinkProperties.class);
         InOrder inOrder = inOrder(mNetd, mConnectivity);
 
+        mNai.linkProperties.addLinkAddress(V6ADDR);
+
         nat.setNat64PrefixFromDns(new IpPrefix(NAT64_PREFIX));
 
         nat.start();
@@ -344,10 +377,11 @@
         verifyNoMoreInteractions(mNetd, mNms, mConnectivity);
     }
 
-    @Test
-    public void testStopBeforeClatdStarts() throws Exception {
+    private void checkStopBeforeClatdStarts(boolean dueToDisconnect) throws Exception {
         Nat464Xlat nat = makeNat464Xlat();
 
+        mNai.linkProperties.addLinkAddress(new LinkAddress("2001:db8::1/64"));
+
         nat.setNat64PrefixFromDns(new IpPrefix(NAT64_PREFIX));
 
         nat.start();
@@ -356,6 +390,7 @@
         verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
 
         // ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...)
+        makeClatUnnecessary(dueToDisconnect);
         nat.stop();
 
         verify(mNetd).clatdStop(eq(BASE_IFACE));
@@ -377,9 +412,20 @@
     }
 
     @Test
-    public void testStopAndClatdNeverStarts() throws Exception {
+    public void testStopDueToDisconnectBeforeClatdStarts() throws Exception {
+        checkStopBeforeClatdStarts(true);
+    }
+
+    @Test
+    public void testStopDueToIpv4AddrBeforeClatdStarts() throws Exception {
+        checkStopBeforeClatdStarts(false);
+    }
+
+    private void checkStopAndClatdNeverStarts(boolean dueToDisconnect) throws Exception {
         Nat464Xlat nat = makeNat464Xlat();
 
+        mNai.linkProperties.addLinkAddress(new LinkAddress("2001:db8::1/64"));
+
         nat.setNat64PrefixFromDns(new IpPrefix(NAT64_PREFIX));
 
         nat.start();
@@ -388,6 +434,7 @@
         verify(mNetd).clatdStart(eq(BASE_IFACE), eq(NAT64_PREFIX));
 
         // ConnectivityService immediately stops clat (Network disconnects, IPv4 addr appears, ...)
+        makeClatUnnecessary(dueToDisconnect);
         nat.stop();
 
         verify(mNetd).clatdStop(eq(BASE_IFACE));
@@ -398,6 +445,57 @@
         verifyNoMoreInteractions(mNetd, mNms, mConnectivity);
     }
 
+    @Test
+    public void testStopDueToDisconnectAndClatdNeverStarts() throws Exception {
+        checkStopAndClatdNeverStarts(true);
+    }
+
+    @Test
+    public void testStopDueToIpv4AddressAndClatdNeverStarts() throws Exception {
+        checkStopAndClatdNeverStarts(false);
+    }
+
+    @Test
+    public void testNat64PrefixPreference() throws Exception {
+        final IpPrefix prefixFromDns = new IpPrefix(NAT64_PREFIX);
+        final IpPrefix prefixFromRa = new IpPrefix(OTHER_NAT64_PREFIX);
+
+        Nat464Xlat nat = makeNat464Xlat();
+
+        final LinkProperties emptyLp = new LinkProperties();
+        LinkProperties fixedupLp;
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromDns(prefixFromDns);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(prefixFromDns, fixedupLp.getNat64Prefix());
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromRa(prefixFromRa);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(prefixFromRa, fixedupLp.getNat64Prefix());
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromRa(null);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(prefixFromDns, fixedupLp.getNat64Prefix());
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromRa(prefixFromRa);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(prefixFromRa, fixedupLp.getNat64Prefix());
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromDns(null);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(prefixFromRa, fixedupLp.getNat64Prefix());
+
+        fixedupLp = new LinkProperties();
+        nat.setNat64PrefixFromRa(null);
+        nat.fixupLinkProperties(emptyLp, fixedupLp);
+        assertEquals(null, fixedupLp.getNat64Prefix());
+    }
+
     static void assertIdle(Nat464Xlat nat) {
         assertTrue("Nat464Xlat was not IDLE", !nat.isStarted());
     }
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index 6e63313..a1bb0d5 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -60,14 +60,13 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.AlarmManager;
 import android.app.usage.NetworkStatsManager;
 import android.content.Context;
@@ -95,8 +94,6 @@
 import android.os.Messenger;
 import android.os.PowerManager;
 import android.os.SimpleClock;
-import android.telephony.PhoneStateListener;
-import android.telephony.ServiceState;
 import android.telephony.TelephonyManager;
 
 import androidx.test.InstrumentationRegistry;
@@ -109,7 +106,7 @@
 import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
 import com.android.server.net.NetworkStatsService.NetworkStatsSettings.Config;
 import com.android.testutils.HandlerUtilsKt;
-import com.android.testutils.TestableNetworkStatsProvider;
+import com.android.testutils.TestableNetworkStatsProviderBinder;
 
 import libcore.io.IoUtils;
 
@@ -126,6 +123,7 @@
 import java.time.Clock;
 import java.time.ZoneOffset;
 import java.util.Objects;
+import java.util.concurrent.Executor;
 
 /**
  * Tests for {@link NetworkStatsService}.
@@ -168,14 +166,13 @@
     private @Mock NetworkStatsSettings mSettings;
     private @Mock IBinder mBinder;
     private @Mock AlarmManager mAlarmManager;
-    private @Mock TelephonyManager mTelephonyManager;
+    @Mock
+    private NetworkStatsSubscriptionsMonitor mNetworkStatsSubscriptionsMonitor;
     private HandlerThread mHandlerThread;
 
     private NetworkStatsService mService;
     private INetworkStatsSession mSession;
     private INetworkManagementEventObserver mNetworkObserver;
-    @Nullable
-    private PhoneStateListener mPhoneStateListener;
 
     private final Clock mClock = new SimpleClock(ZoneOffset.UTC) {
         @Override
@@ -203,8 +200,8 @@
         mHandlerThread = new HandlerThread("HandlerThread");
         final NetworkStatsService.Dependencies deps = makeDependencies();
         mService = new NetworkStatsService(mServiceContext, mNetManager, mAlarmManager, wakeLock,
-                mClock, mTelephonyManager, mSettings,
-                mStatsFactory, new NetworkStatsObservers(), mStatsDir, getBaseDir(mStatsDir), deps);
+                mClock, mSettings, mStatsFactory, new NetworkStatsObservers(), mStatsDir,
+                getBaseDir(mStatsDir), deps);
 
         mElapsedRealtime = 0L;
 
@@ -224,12 +221,6 @@
                 ArgumentCaptor.forClass(INetworkManagementEventObserver.class);
         verify(mNetManager).registerObserver(networkObserver.capture());
         mNetworkObserver = networkObserver.getValue();
-
-        // Capture the phone state listener that created by service.
-        final ArgumentCaptor<PhoneStateListener> phoneStateListenerCaptor =
-                ArgumentCaptor.forClass(PhoneStateListener.class);
-        verify(mTelephonyManager).listen(phoneStateListenerCaptor.capture(), anyInt());
-        mPhoneStateListener = phoneStateListenerCaptor.getValue();
     }
 
     @NonNull
@@ -239,6 +230,14 @@
             public HandlerThread makeHandlerThread() {
                 return mHandlerThread;
             }
+
+            @Override
+            public NetworkStatsSubscriptionsMonitor makeSubscriptionsMonitor(
+                    @NonNull Context context, @NonNull Executor executor,
+                    @NonNull NetworkStatsService service) {
+
+                return mNetworkStatsSubscriptionsMonitor;
+            }
         };
     }
 
@@ -678,10 +677,9 @@
 
     // TODO: support per IMSI state
     private void setMobileRatTypeAndWaitForIdle(int ratType) {
-        final ServiceState mockSs = mock(ServiceState.class);
-        when(mockSs.getDataNetworkType()).thenReturn(ratType);
-        mPhoneStateListener.onServiceStateChanged(mockSs);
-
+        when(mNetworkStatsSubscriptionsMonitor.getRatTypeForSubscriberId(anyString()))
+                .thenReturn(ratType);
+        mService.handleOnCollapsedRatTypeChanged();
         HandlerUtilsKt.waitForIdle(mHandlerThread, WAIT_TIMEOUT);
     }
 
@@ -1118,7 +1116,8 @@
         expectNetworkStatsUidDetail(buildEmptyStats());
 
         // Register custom provider and retrieve callback.
-        final TestableNetworkStatsProvider provider = new TestableNetworkStatsProvider();
+        final TestableNetworkStatsProviderBinder provider =
+                new TestableNetworkStatsProviderBinder();
         final INetworkStatsProviderCallback cb =
                 mService.registerNetworkStatsProvider("TEST", provider);
         assertNotNull(cb);
@@ -1176,7 +1175,8 @@
         mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states), new VpnInfo[0]);
 
         // Register custom provider and retrieve callback.
-        final TestableNetworkStatsProvider provider = new TestableNetworkStatsProvider();
+        final TestableNetworkStatsProviderBinder provider =
+                new TestableNetworkStatsProviderBinder();
         final INetworkStatsProviderCallback cb =
                 mService.registerNetworkStatsProvider("TEST", provider);
         assertNotNull(cb);
diff --git a/tools/protologtool/Android.bp b/tools/protologtool/Android.bp
index d1a86c2..ce551bd 100644
--- a/tools/protologtool/Android.bp
+++ b/tools/protologtool/Android.bp
@@ -6,7 +6,7 @@
     static_libs: [
         "protolog-common",
         "javaparser",
-        "protolog-proto",
+        "platformprotos",
         "jsonlib",
     ],
 }
diff --git a/tools/stats_log_api_gen/Collation.cpp b/tools/stats_log_api_gen/Collation.cpp
index 526876f..958e94e 100644
--- a/tools/stats_log_api_gen/Collation.cpp
+++ b/tools/stats_log_api_gen/Collation.cpp
@@ -478,7 +478,6 @@
 int collate_atoms(const Descriptor* descriptor, const string& moduleName, Atoms* atoms) {
     int errorCount = 0;
 
-    int maxPushedAtomId = 2;
     for (int i = 0; i < descriptor->field_count(); i++) {
         const FieldDescriptor* atomField = descriptor->field(i);
 
@@ -563,14 +562,8 @@
 
             atoms->non_chained_decls.insert(nonChainedAtomDecl);
         }
-
-        if (atomDecl->code < PULL_ATOM_START_ID && atomDecl->code > maxPushedAtomId) {
-            maxPushedAtomId = atomDecl->code;
-        }
     }
 
-    atoms->maxPushedAtomId = maxPushedAtomId;
-
     if (dbg) {
         printf("signatures = [\n");
         for (SignatureInfoMap::const_iterator it = atoms->signatureInfoMap.begin();
diff --git a/tools/stats_log_api_gen/Collation.h b/tools/stats_log_api_gen/Collation.h
index b513463e..043f8b1 100644
--- a/tools/stats_log_api_gen/Collation.h
+++ b/tools/stats_log_api_gen/Collation.h
@@ -191,7 +191,6 @@
     AtomDeclSet decls;
     AtomDeclSet non_chained_decls;
     SignatureInfoMap nonChainedSignatureInfoMap;
-    int maxPushedAtomId;
 };
 
 /**
diff --git a/tools/stats_log_api_gen/atoms_info_writer.cpp b/tools/stats_log_api_gen/atoms_info_writer.cpp
index 5fe9498..292cb21 100644
--- a/tools/stats_log_api_gen/atoms_info_writer.cpp
+++ b/tools/stats_log_api_gen/atoms_info_writer.cpp
@@ -25,68 +25,13 @@
 namespace android {
 namespace stats_log_api_gen {
 
-static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) {
-    fprintf(out, "static int UNSET_VALUE = INT_MAX;\n");
-    fprintf(out, "static int FIRST_UID_IN_CHAIN = 0;\n");
-
-    fprintf(out, "struct StateAtomFieldOptions {\n");
-    fprintf(out, "  std::vector<int> primaryFields;\n");
-    fprintf(out, "  int exclusiveField;\n");
-    fprintf(out, "  int defaultState = UNSET_VALUE;\n");
-    fprintf(out, "  int resetState = UNSET_VALUE;\n");
-    fprintf(out, "  bool nested;\n");
-    fprintf(out, "};\n");
-    fprintf(out, "\n");
-
+static void write_atoms_info_header_body(FILE* out) {
     fprintf(out, "struct AtomsInfo {\n");
-    fprintf(out,
-            "  const static std::set<int> "
-            "kTruncatingTimestampAtomBlackList;\n");
-    fprintf(out, "  const static std::set<int> kAtomsWithAttributionChain;\n");
-    fprintf(out,
-            "  const static std::map<int, StateAtomFieldOptions> "
-            "kStateAtomsFieldOptions;\n");
     fprintf(out, "  const static std::set<int> kWhitelistedAtoms;\n");
     fprintf(out, "};\n");
-    fprintf(out, "const static int kMaxPushedAtomId = %d;\n\n", atoms.maxPushedAtomId);
 }
 
 static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {
-    std::set<string> kTruncatingAtomNames = {"mobile_radio_power_state_changed",
-                                             "audio_state_changed",
-                                             "call_state_changed",
-                                             "phone_signal_strength_changed",
-                                             "mobile_bytes_transfer_by_fg_bg",
-                                             "mobile_bytes_transfer"};
-    fprintf(out,
-            "const std::set<int> "
-            "AtomsInfo::kTruncatingTimestampAtomBlackList = {\n");
-    for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
-         atomIt++) {
-        if (kTruncatingAtomNames.find((*atomIt)->name) != kTruncatingAtomNames.end()) {
-            const string constant = make_constant_name((*atomIt)->name);
-            fprintf(out, "    %d, // %s\n", (*atomIt)->code, constant.c_str());
-        }
-    }
-
-    fprintf(out, "};\n");
-    fprintf(out, "\n");
-
-    fprintf(out, "const std::set<int> AtomsInfo::kAtomsWithAttributionChain = {\n");
-    for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
-         atomIt++) {
-        for (vector<AtomField>::const_iterator field = (*atomIt)->fields.begin();
-             field != (*atomIt)->fields.end(); field++) {
-            if (field->javaType == JAVA_TYPE_ATTRIBUTION_CHAIN) {
-                const string constant = make_constant_name((*atomIt)->name);
-                fprintf(out, "    %d, // %s\n", (*atomIt)->code, constant.c_str());
-                break;
-            }
-        }
-    }
-
-    fprintf(out, "};\n");
-    fprintf(out, "\n");
 
     fprintf(out, "const std::set<int> AtomsInfo::kWhitelistedAtoms = {\n");
     for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
@@ -100,52 +45,9 @@
     fprintf(out, "};\n");
     fprintf(out, "\n");
 
-    fprintf(out,
-            "static std::map<int, StateAtomFieldOptions> "
-            "getStateAtomFieldOptions() {\n");
-    fprintf(out, "    std::map<int, StateAtomFieldOptions> options;\n");
-    fprintf(out, "    StateAtomFieldOptions* opt;\n");
-    for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end();
-         atomIt++) {
-        if ((*atomIt)->primaryFields.size() == 0 && (*atomIt)->exclusiveField == 0) {
-            continue;
-        }
-        fprintf(out,
-                "\n    // Adding primary and exclusive fields for atom "
-                "(%d)%s\n",
-                (*atomIt)->code, (*atomIt)->name.c_str());
-        fprintf(out, "    opt = &(options[%d /* %s */]);\n", (*atomIt)->code,
-                make_constant_name((*atomIt)->name).c_str());
-        fprintf(out, "    opt->primaryFields.reserve(%lu);\n", (*atomIt)->primaryFields.size());
-        for (const auto& field : (*atomIt)->primaryFields) {
-            fprintf(out, "    opt->primaryFields.push_back(%d);\n", field);
-        }
-
-        fprintf(out, "    opt->exclusiveField = %d;\n", (*atomIt)->exclusiveField);
-        if ((*atomIt)->defaultState != INT_MAX) {
-            fprintf(out, "    opt->defaultState = %d;\n", (*atomIt)->defaultState);
-        } else {
-            fprintf(out, "    opt->defaultState = UNSET_VALUE;\n");
-        }
-
-        if ((*atomIt)->triggerStateReset != INT_MAX) {
-            fprintf(out, "    opt->resetState = %d;\n", (*atomIt)->triggerStateReset);
-        } else {
-            fprintf(out, "    opt->resetState = UNSET_VALUE;\n");
-        }
-        fprintf(out, "    opt->nested = %d;\n", (*atomIt)->nested);
-    }
-
-    fprintf(out, "    return options;\n");
-    fprintf(out, "}\n");
-
-    fprintf(out,
-            "const std::map<int, StateAtomFieldOptions> "
-            "AtomsInfo::kStateAtomsFieldOptions = "
-            "getStateAtomFieldOptions();\n");
 }
 
-int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespaceStr) {
+int write_atoms_info_header(FILE* out, const string& namespaceStr) {
     // Print prelude
     fprintf(out, "// This file is autogenerated\n");
     fprintf(out, "\n");
@@ -158,7 +60,7 @@
 
     write_namespace(out, namespaceStr);
 
-    write_atoms_info_header_body(out, atoms);
+    write_atoms_info_header_body(out);
 
     fprintf(out, "\n");
     write_closing_namespace(out, namespaceStr);
diff --git a/tools/stats_log_api_gen/atoms_info_writer.h b/tools/stats_log_api_gen/atoms_info_writer.h
index ffe9e43..09a4303 100644
--- a/tools/stats_log_api_gen/atoms_info_writer.h
+++ b/tools/stats_log_api_gen/atoms_info_writer.h
@@ -29,7 +29,7 @@
 int write_atoms_info_cpp(FILE* out, const Atoms& atoms, const string& namespaceStr,
                          const string& importHeader);
 
-int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespaceStr);
+int write_atoms_info_header(FILE* out, const string& namespaceStr);
 
 }  // namespace stats_log_api_gen
 }  // namespace android
diff --git a/tools/stats_log_api_gen/main.cpp b/tools/stats_log_api_gen/main.cpp
index fda5736..136933b 100644
--- a/tools/stats_log_api_gen/main.cpp
+++ b/tools/stats_log_api_gen/main.cpp
@@ -229,7 +229,7 @@
             fprintf(stderr, "Unable to open file for write: %s\n", atomsInfoHeaderFilename.c_str());
             return 1;
         }
-        errorCount = android::stats_log_api_gen::write_atoms_info_header(out, atoms, cppNamespace);
+        errorCount = android::stats_log_api_gen::write_atoms_info_header(out, cppNamespace);
         fclose(out);
     }
 
diff --git a/wifi/jarjar-rules.txt b/wifi/jarjar-rules.txt
index 2ecf309..e55a89f 100644
--- a/wifi/jarjar-rules.txt
+++ b/wifi/jarjar-rules.txt
@@ -1,14 +1,41 @@
-# used by wifi-service
-# TODO (b/153596226): Find a solution for networkstack's AIDL parcelables & interfaces.
-# Parcelable class names are serialized in the wire, so renaming them
-# will result in the class not being found for any parcelable received/sent from the
-# wifi-service jar.
+## used by service-wifi ##
 
-# Note: This rule is needed to ensure the rule below does not rename a Parcelable (see TODO above).
-rule android.net.DhcpResultsParcelable* @0
+# Network Stack AIDL interface.
+rule android.net.DhcpResultsParcelable* com.android.wifi.x.@0
+rule android.net.IIpMemoryStore* com.android.wifi.x.@0
+rule android.net.IIpMemoryStoreCallbacks* com.android.wifi.x.@0
+rule android.net.INetd* com.android.wifi.x.@0
+rule android.net.INetdUnsolicitedEventListener* com.android.wifi.x.@0
+rule android.net.INetworkStackConnector* com.android.wifi.x.@0
+rule android.net.InformationElementParcelable* com.android.wifi.x.@0
+rule android.net.InitialConfigurationParcelable* com.android.wifi.x.@0
+rule android.net.InterfaceConfigurationParcel* com.android.wifi.x.@0
+rule android.net.Layer2InformationParcelable* com.android.wifi.x.@0
+rule android.net.Layer2PacketParcelable* com.android.wifi.x.@0
+rule android.net.MarkMaskParcel* com.android.wifi.x.@0
+rule android.net.NattKeepalivePacketDataParcelable* com.android.wifi.x.@0
+rule android.net.PrivateDnsConfigParcel* com.android.wifi.x.@0
+rule android.net.ProvisioningConfigurationParcelable* com.android.wifi.x.@0
+rule android.net.ResolverParamsParcel* com.android.wifi.x.@0
+rule android.net.RouteInfoParcel* com.android.wifi.x.@0
+rule android.net.ScanResultInfoParcelable* com.android.wifi.x.@0
+rule android.net.TetherConfigParcel* com.android.wifi.x.@0
+rule android.net.TetherOffloadRuleParcel* com.android.wifi.x.@0
+rule android.net.TetherStatsParcel* com.android.wifi.x.@0
+rule android.net.UidRangeParcel* com.android.wifi.x.@0
+rule android.net.dhcp.DhcpLeaseParcelable* com.android.wifi.x.@0
+rule android.net.dhcp.DhcpServingParamsParcel* com.android.wifi.x.@0
+rule android.net.ip.IIpClient* com.android.wifi.x.@0
+rule android.net.ip.IIpClientCallbacks* com.android.wifi.x.@0
+rule android.net.ipmemorystore.Blob* com.android.wifi.x.@0
+rule android.net.ipmemorystore.IOnBlobRetrievedListener* com.android.wifi.x.@0
+rule android.net.ipmemorystore.IOnStatusListener* com.android.wifi.x.@0
+rule android.net.ipmemorystore.NetworkAttributesParcelable* com.android.wifi.x.@0
+rule android.net.ipmemorystore.SameL3NetworkResponseParcelable* com.android.wifi.x.@0
+rule android.net.ipmemorystore.StatusParcelable* com.android.wifi.x.@0
+
+# Net utils (includes Network Stack helper classes).
 rule android.net.DhcpResults* com.android.wifi.x.@0
-# Note: This rule is needed to ensure the rule below does not rename a Parcelable (see TODO above).
-rule android.net.InterfaceConfigurationParcel* @0
 rule android.net.InterfaceConfiguration* com.android.wifi.x.@0
 rule android.net.IpMemoryStore* com.android.wifi.x.@0
 rule android.net.NetworkMonitorManager* com.android.wifi.x.@0
@@ -19,8 +46,6 @@
 rule android.net.ip.IpClientUtil* com.android.wifi.x.@0
 rule android.net.ipmemorystore.OnBlobRetrievedListener* com.android.wifi.x.@0
 rule android.net.ipmemorystore.OnStatusListener* com.android.wifi.x.@0
-# Note: This rule is needed to ensure the rule below does not rename a Parcelable (see TODO above).
-rule android.net.ipmemorystore.StatusParcelable* @0
 rule android.net.ipmemorystore.Status* com.android.wifi.x.@0
 rule android.net.networkstack.ModuleNetworkStackClient* com.android.wifi.x.@0
 rule android.net.networkstack.NetworkStackClientBase* com.android.wifi.x.@0
@@ -81,7 +106,7 @@
 # Use our statically linked nanohttpd
 rule fi.iki.elonen.** com.android.wifi.x.@0
 
-# used by both framework-wifi and wifi-service
+## used by both framework-wifi and service-wifi ##
 rule android.content.pm.BaseParceledListSlice* com.android.wifi.x.@0
 rule android.content.pm.ParceledListSlice* com.android.wifi.x.@0
 rule android.net.shared.Inet4AddressUtils* com.android.wifi.x.@0